Files
msd-core/.changeset/windows-npm-shell-fix.md
Fabio ad0747ccac fix(hooks): scope shell:true to Windows + add changeset
Address adversarial review feedback on PR #3102:

1. shell:true is now conditional (process.platform === 'win32')
   - POSIX path unchanged: no shell spawn, no overhead, original
     signal/exit-code semantics and windowsHide effect preserved
   - Windows path: still routes through cmd.exe to resolve npm.cmd
     via PATHEXT (the actual fix for ENOENT)

2. Added .changeset/windows-npm-shell-fix.md (Fixed type)

Reviewed feedback resolved:
- Cross-platform regression risk → shell now Windows-only
- Missing changeset → added
2026-05-05 21:16:36 +02:00

453 B

type
type
Fixed

Windows update-check no longer silently fails — gsd-check-update-worker now passes shell: true only on Windows, allowing execFileSync('npm', ...) to resolve npm.cmd via PATHEXT. POSIX path (Linux/macOS) is unchanged. Without this fix, the worker failed with ENOENT, latest stayed null, update_available became null, and the statusline ⬆ /gsd-update indicator never rendered for Windows users. Fixes #3103.