Permission rule delegates fail on Windows for .cmd/.bat programs and can't take arguments
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 55/100
- Tipo de issue
- Error
- Claridad
- Bastante claro
- Estado de actividad
- Activo
- Stack tecnológico
- node.js, typescript
Línea de trabajo
Start with src/main/agent/permissions.ts and inspect runDelegate around line 71, then trace its permission-rule callers and existing tests. Reproduce the Windows .cmd/.bat spawn failure and the to: "node check.js" case; add tests for both supported argument forms. Done when those cases work as intended and the tests pass.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Found in the 2026-10-07 code review and confirmed: spawning a .cmd without a shell throws spawn EINVAL on current Node.js.
Problem
runDelegate (src/main/agent/permissions.ts:71) calls spawn(program, [], …) without a shell. On Windows, .cmd/.bat files can't be spawned that way since the CVE-2024-27980 fix. Every matching tool call is then "Blocked by a permission rule … failed: spawn EINVAL". A value like to: "node check.js" fails with ENOENT on every OS, because the whole string is treated as the program name.
Fix
Accept to as { program, args } (or an argv array), or run .cmd/.bat through cmd.exe /d /s /c with properly quoted arguments. Document that to names a single executable. Add tests for both forms.
- Lenguaje dominante
- TypeScript
- Estrellas
- 2
- Forks
- 2
- Merge medio
- 8 h 28 min
- PR fusionados (30 d)
- 26
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Sin plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de PierrunoYT/patch
-
enhancement priority: low severity: low
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
PierrunoYT/patch#305 ·
Los mantenedores suelen responder en 1 día
-
security: isAppPageUrl checks devRendererUrl with startsWith instead of comparing parsed URL originsAbiertopriority: low security severity: low
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
PierrunoYT/patch#300 ·
Los mantenedores suelen responder en 1 día
-
Claude Code chats: tool calls made inside Claude Code subagents leave cards that end as "(stopped)"Abiertobug priority: low severity: low
Dificultad 2/5 1-3 horas Aptitud para principiantes 83/100
PierrunoYT/patch#289 ·
Los mantenedores suelen responder en 1 día
-
bug priority: medium severity: low
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
PierrunoYT/patch#285 ·
Los mantenedores suelen responder en 1 día
-
priority: medium security severity: low
Dificultad 2/5 1-3 horas Aptitud para principiantes 74/100
PierrunoYT/patch#283 ·
Los mantenedores suelen responder en 1 día
Todos los issues de PierrunoYT/patch
Issues similares
-
e2e-failure ready-to-code
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
redhat-developer/rhdh-plugin-export-overlays#4460 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 77/100
Los mantenedores suelen responder en 1 día
-
docs(api): openapi.yaml still documents gif-tools optimize colors as 2-256 instead of 2, 4, 16, 256Abiertoarea: backend documentation priority: low
Dificultad 2/5 1-3 horas Aptitud para principiantes 84/100
snapotter-hq/SnapOtter#2919 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 77/100
obsidianmd/pele#39 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
biomejs/biome#12475 · 1 comentario ·
Los mantenedores suelen responder en 1 día