fix: prefer claude.exe over claude.cmd on Windows

Node cannot spawn a .cmd file without a shell, so a claude.cmd found
earlier on PATH would hide a working claude.exe.
This commit is contained in:
Ivanko1608
2026-10-25 01:06:50 +04:00
parent 5c0425901c
commit 76b91dc1e5
2 changed files with 10 additions and 3 deletions
+7
View File
@@ -49,6 +49,13 @@ test("windows looks for claude.cmd and claude.exe", () => {
assert.equal(resolveWith(["C:\\bin\\claude"], env, "win32", winHome), null);
});
test("windows prefers claude.exe anywhere over claude.cmd, which Node cannot spawn without a shell", () => {
const winHome = "C:\\Users\\u";
const env = { PATH: "C:\\bin", APPDATA: `${winHome}\\AppData\\Roaming` };
const executables = ["C:\\bin\\claude.cmd", `${winHome}\\.local\\bin\\claude.exe`];
assert.equal(resolveWith(executables, env, "win32", winHome), `${winHome}\\.local\\bin\\claude.exe`);
});
test("returns null when every location misses", () => {
assert.equal(resolveWith([], { PATH: "/usr/bin:/bin" }), null);
});