-
Notifications
You must be signed in to change notification settings - Fork 472
spawn codex ENOENT on Windows — app-server.mjs missing shell: true #96
Copy link
Copy link
Open
Description
Bug
All plugin commands (/codex:review, /codex:adversarial-review, /codex:rescue) fail on Windows with:
spawn codex ENOENT
Environment
- Windows 11
- Node.js 22.x
- Codex CLI 0.118.0 (installed globally via npm, works fine from terminal)
- Claude Code (latest)
Root Cause
scripts/lib/app-server.mjs line 188 spawns codex without shell: true:
this.proc = spawn("codex", ["app-server"], {
cwd: this.cwd,
env: this.options.env,
stdio: ["pipe", "pipe", "pipe"]
});On Windows, npm install -g @openai/codex creates codex.cmd (not a bare codex binary). Node's spawn without shell: true cannot resolve .cmd wrappers — only shell: true or execSync/spawnSync with shell mode can.
The fix already exists in the same codebase — scripts/lib/process.mjs line 11 correctly handles this:
shell: process.platform === "win32"But app-server.mjs doesn't apply the same pattern.
Fix
- this.proc = spawn("codex", ["app-server"], {
- cwd: this.cwd,
- env: this.options.env,
- stdio: ["pipe", "pipe", "pipe"]
- });
+ this.proc = spawn("codex", ["app-server"], {
+ cwd: this.cwd,
+ env: this.options.env,
+ stdio: ["pipe", "pipe", "pipe"],
+ shell: process.platform === "win32"
+ });This is the only spawn("codex", ...) call in the codebase, so this one-line change fixes all commands for Windows users.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels