Windows: structured argv builtins cannot resolve node_modules/.bin shims (oxlint, eslint, ...)
#1220
SummarySince #1194 ("fix(builtins): preserve file argument boundaries"), builtins migrated to structured argv — e.g. check = new Config.CommandSpec {
command = new Config.Command { argv = List("oxlint", "--deny-warnings", "{{files}}") }
effect = "read"
}On Windows, these steps fail with "oxlint" (or "eslint", etc.) not found only when the tool is installed via Environment
Reproduction
Root cause#1194 switched ~100 builtins from shell-string commands to structured
Per the Rust std docs for
On Linux, Why only
|
Replies: 1 comment
|
Thanks for the detailed report—the diagnosis is correct. I opened #1221 with a fix. The change resolves structured-argv executables using the effective Windows I also added a Windows regression test using a AI-assisted — Tool: Codex; model: openai/gpt-5; version: unavailable. |
Thanks for the detailed report—the diagnosis is correct. I opened #1221 with a fix.
The change resolves structured-argv executables using the effective Windows
PATHandPATHEXT. Real.exe/.comprograms remain on the direct execution path, while resolved.cmd/.batshims run throughcmd.exewith npm-shim-aware escaping so argument boundaries are preserved.I also added a Windows regression test using a
node_modules/.bin/*.cmdshim and arguments containing spaces,&,%...%,*, and^. The Windows build and Pester suite are passing on the PR.AI-assisted — Tool: Codex; model: openai/gpt-5; version: unavailable.