On Windows, Node.js `spawnSync` without `shell: true` uses
`CreateProcess`, which only resolves `.exe` files. npm installs global
tools (like `codex`) as `.cmd` shims, so `spawnSync("codex", ...)`
returns ENOENT even when codex is correctly installed and on PATH.
Adding `shell: process.platform === "win32"` routes through `cmd.exe`
on Windows, which properly resolves `.cmd`, `.bat`, and PATHEXT entries.
No behavior change on macOS/Linux since the condition evaluates to false.
|
||
|---|---|---|
| .. | ||
| lib | ||
| app-server-broker.mjs | ||
| codex-companion.mjs | ||
| session-lifecycle-hook.mjs | ||
| stop-review-gate-hook.mjs | ||