From dc8a63cb8bb325228779dce4f2813b0612d4e139 Mon Sep 17 00:00:00 2001 From: Jhin Date: Sun, 1 Feb 2026 01:08:47 +0000 Subject: [PATCH] fix: skip extension append if command already has one Addresses review feedback - now checks path.extname() before appending .cmd to avoid producing invalid paths like npm.cmd.cmd --- src/process/exec.ts | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/process/exec.ts b/src/process/exec.ts index 2af4ee99cd..8514eec233 100644 --- a/src/process/exec.ts +++ b/src/process/exec.ts @@ -16,6 +16,11 @@ function resolveCommand(command: string): string { return command; } const basename = path.basename(command).toLowerCase(); + // Skip if already has an extension (.cmd, .exe, .bat, etc.) + const ext = path.extname(basename); + if (ext) { + return command; + } // Common npm-related commands that need .cmd extension on Windows const cmdCommands = ["npm", "pnpm", "yarn", "npx"]; if (cmdCommands.includes(basename)) {