You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
--build-sea NodeJS 25.5.0: Error: Couldn't stat executable node #61579
changed the title [-]sea on NodeJS 25.5.0: `Error: Couldn't stat executable node` Windows, Command Prompt[/-][+]sea `--build-sea` on NodeJS 25.5.0: `Error: Couldn't stat executable node` Windows, Command Prompt[/+]on Jan 29, 2026
changed the title [-]sea `--build-sea` on NodeJS 25.5.0: `Error: Couldn't stat executable node` Windows, Command Prompt[/-][+]`--build-sea` NodeJS 25.5.0: `Error: Couldn't stat executable node` Windows, Command Prompt[/+]on Jan 29, 2026
hmm, in retrospect we should've put the libuv error code in there to give more information. Though I suspect the particular failure reported here is likely environment-dependent e.g. permission issues.
I suspect that it might have to do with the fact that currently the configuration treats relative paths as "relative to current working directory", while intuitively users might think it should be "relative to the configuration file's path". I am inclined to change it to the latter, though it's a bit breaking and might warrant semver major.
I see, it might be because in certain shell environments (or depending on how you alias node in your shell), argv[0] is not expanded into the full path of the original executable. We can probably reuse the exec_path computation logic to compute it in that case.
claude wants to add this as the reason for why argv[0] is just node, but I don't understand it fully tbh:
mise activates via a shell hook (mise activate) that adds shims/PATH entries. When you run node, the shell resolves it through $PATH, but process.argv0 preserves the original invocation string "node" rather than the resolved path. --build-sea then tries to stat("node") relative to the current directory, which fails.
changed the title [-]`--build-sea` NodeJS 25.5.0: `Error: Couldn't stat executable node` Windows, Command Prompt[/-][+]`--build-sea` NodeJS 25.5.0: `Error: Couldn't stat executable node`[/+]on Feb 5, 2026
Activity
[-]sea on NodeJS 25.5.0: `Error: Couldn't stat executable node` Windows, Command Prompt[/-][+]sea `--build-sea` on NodeJS 25.5.0: `Error: Couldn't stat executable node` Windows, Command Prompt[/+][-]sea `--build-sea` on NodeJS 25.5.0: `Error: Couldn't stat executable node` Windows, Command Prompt[/-][+]`--build-sea` NodeJS 25.5.0: `Error: Couldn't stat executable node` Windows, Command Prompt[/+]joyeecheung commentedon Jan 29, 2026
hmm, in retrospect we should've put the libuv error code in there to give more information. Though I suspect the particular failure reported here is likely environment-dependent e.g. permission issues.
alexsch01 commentedon Jan 31, 2026
Wait, if I hardcode the full path to node.exe in the "executable" field of
sea-config.json, it works!I think it's an issue of detecting the path on Command Prompt
joyeecheung commentedon Jan 31, 2026
I suspect that it might have to do with the fact that currently the configuration treats relative paths as "relative to current working directory", while intuitively users might think it should be "relative to the configuration file's path". I am inclined to change it to the latter, though it's a bit breaking and might warrant semver major.
sea: print error information when fs operations fail
sea: print error information when fs operations fail
alexsch01 commentedon Feb 3, 2026
it must be this
node/src/node_sea_bin.cc
Lines 390 to 392 in 8e41b8d
joyeecheung commentedon Feb 3, 2026
I see, it might be because in certain shell environments (or depending on how you alias
nodein your shell), argv[0] is not expanded into the full path of the original executable. We can probably reuse theexec_pathcomputation logic to compute it in that case.alexsch01 commentedon Feb 3, 2026
It's interesting,
process.argv[0]shows the full pathSince it's not the main NodeJS version I use on my machine, I am setting the %PATH% variable in command prompt
llimllib commentedon Feb 5, 2026
I also just got this problem with
mise:argv0is justnode, not the full path to the process. To repro:mise use node@25.6.0Compare to the version with
which node:claude wants to add this as the reason for why argv[0] is just
node, but I don't understand it fully tbh:alexsch01 commentedon Feb 5, 2026
Ahh with Windows - Command Prompt
with Windows - PowerShell
with Windows - Git Bash
Ahh with Fedora - bash
[-]`--build-sea` NodeJS 25.5.0: `Error: Couldn't stat executable node` Windows, Command Prompt[/-][+]`--build-sea` NodeJS 25.5.0: `Error: Couldn't stat executable node`[/+]alexsch01 commentedon Feb 5, 2026
@joyeecheung I updated the title since this issue affects many platforms
mariobm commentedon Feb 6, 2026
Same issue on macOS:

NOTE: I'm using nvm. Maybe it's due to the nvm.
EDIT: It's due to nvm, if I give it absolute path it works:

llimllib commentedon Feb 10, 2026
Thanks for jumping on this @alexsch01 ! And Joyee for reviewing the fixes