From 1a4fade2f77383f8a17f578f4f8c0d0528ccf119 Mon Sep 17 00:00:00 2001 From: Peter Steinberger Date: Thu, 22 Jan 2026 08:33:42 +0000 Subject: [PATCH] fix: honor Windows Path casing --- src/infra/exec-approvals.ts | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/infra/exec-approvals.ts b/src/infra/exec-approvals.ts index e962ca706..af0142ebc 100644 --- a/src/infra/exec-approvals.ts +++ b/src/infra/exec-approvals.ts @@ -358,14 +358,20 @@ function resolveExecutablePath(rawExecutable: string, cwd?: string, env?: NodeJS const candidate = path.resolve(base, expanded); return isExecutableFile(candidate) ? candidate : undefined; } - const envPath = env?.PATH ?? process.env.PATH ?? ""; + const envPath = env?.PATH ?? env?.Path ?? process.env.PATH ?? process.env.Path ?? ""; const entries = envPath.split(path.delimiter).filter(Boolean); const hasExtension = process.platform === "win32" && path.extname(expanded).length > 0; const extensions = process.platform === "win32" ? hasExtension ? [""] - : (env?.PATHEXT ?? process.env.PATHEXT ?? ".EXE;.CMD;.BAT;.COM") + : ( + env?.PATHEXT ?? + env?.Pathext ?? + process.env.PATHEXT ?? + process.env.Pathext ?? + ".EXE;.CMD;.BAT;.COM" + ) .split(";") .map((ext) => ext.toLowerCase()) : [""];