Skip to content

fix(cli): resolve claude.cmd on Windows in omniroute launch (#8246) - #8283

Merged
diegosouzapw merged 1 commit into
diegosouzapw:release/v3.8.49from
Dingding-leo:fix/windows-claude-launch
Jul 23, 2026
Merged

diegosouzapw merged 1 commit into
diegosouzapw:release/v3.8.49from
Dingding-leo:fix/windows-claude-launch

Conversation

@Dingding-leo

Copy link
Copy Markdown
Contributor

Summary

Fixes #8246. omniroute launch fails on Windows with "The 'claude' CLI was not found in PATH" even though claude.cmd is on PATH.

Root Cause

spawn('claude', ...) without shell: true cannot resolve the .cmd shim that npm installs on Windows (PATHEXT resolution requires a shell). Node reports ENOENT, the code prints a misleading "not found" message, then crashes with a libuv assertion.

launch-codex.mjs already handles this correctly via resolveCodexSpawn() — launch.mjs was missed.

Changes

  • bin/cli/commands/launch.mjs: On win32, spawn claude.cmd with shell: true + windowsHide: true, matching the pattern in launch-codex.mjs. Non-Windows behavior unchanged.

Verification

  • node --check bin/cli/commands/launch.mjs — syntax OK

1 file changed, +8 −1

spawn('claude') without shell:true cannot resolve the .cmd shim
that npm installs on Windows, causing ENOENT and a misleading
'not found in PATH' error. Use claude.cmd + shell:true + windowsHide
on win32, matching the pattern already used in launch-codex.mjs.
Copilot AI review requested due to automatic review settings July 23, 2026 12:29

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot wasn't able to review any files in this pull request.

@diegosouzapw

Copy link
Copy Markdown
Owner

Thanks, @Dingding-leo! 🙏 Merged — resolves claude.cmd on Windows in the omniroute launcher. Validated on the merge-train.

@diegosouzapw
diegosouzapw merged commit d3cdd48 into diegosouzapw:release/v3.8.49 Jul 23, 2026
5 checks passed
@diegosouzapw diegosouzapw mentioned this pull request Jul 28, 2026
HouMinXi pushed a commit to HouMinXi/OmniRoute that referenced this pull request Aug 2, 2026
…zapw#8246) (diegosouzapw#8283)

spawn('claude') without shell:true cannot resolve the .cmd shim
that npm installs on Windows, causing ENOENT and a misleading
'not found in PATH' error. Use claude.cmd + shell:true + windowsHide
on win32, matching the pattern already used in launch-codex.mjs.

Co-authored-by: Austin Liu <austinliu@Austins-MacBook-Air-3.local>
muhamadgalihsaputra pushed a commit to niyatna/NiyatnaRoute that referenced this pull request Sep 27, 2026
…zapw#8246) (diegosouzapw#8283)

spawn('claude') without shell:true cannot resolve the .cmd shim
that npm installs on Windows, causing ENOENT and a misleading
'not found in PATH' error. Use claude.cmd + shell:true + windowsHide
on win32, matching the pattern already used in launch-codex.mjs.

Co-authored-by: Austin Liu <austinliu@Austins-MacBook-Air-3.local>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[BUG] omniroute launch fails with "claude CLI not found in PATH" on Windows (spawn() missing shell:true / .cmd resolution)

3 participants