Node and npm aren't available in Codex's shell path on Windows using a version manager

Open 💬 2 comments Opened Mar 9, 2026 by gradyat
💡 Likely answer: A maintainer (github-actions[bot], contributor) responded on this thread — see the highlighted reply below.

What version of the Codex App are you using (From “About Codex” dialog)?

26.306.11636

What subscription do you have?

Free

What platform is your computer?

Microsoft Windows NT 10.0.26200.0 x64

What issue are you seeing?

A couple of environment quirks showed up: plain npm isn’t available in this shell path, and some parallel reads timed out, so I’m rerunning those pieces in a more direct way. [...] I can’t execute the package scripts in this shell because npm isn’t on the PATH here
node --version also failed because node isn’t recognized, so Node isn’t on the PATH either.

What steps can reproduce the bug?

Run a command in which Codex wants to use node or npm.

If it's relevant, I use fnm to install and manage my Node and npm versions.

What is the expected behavior?

Codex can find and run Node and npm on its shell

Additional information

I use fnm to install and manage my Node and npm versions. I am using a native Windows development environment, not WSL.

View original on GitHub ↗

2 Comments

github-actions[bot] contributor · 5 months ago

Potential duplicates detected. Please review them and close your issue if it is a duplicate.

  • #13566
  • #13845

Powered by Codex Action

jamedeus · 3 months ago

Same issue on macos (codex 26.506.31004 (2604)) with node installed via nvm. Example chain of thought:

npm is not on the default shell path in this desktop environment, so I’m checking the bundled Node/npm paths before running the test.

It then finds a node binary at ~/.cache/codex-runtimes/codex-primary-runtime/dependencies/node/bin/node and uses it to run project node_modules directly with some ugly command like:

$ /Users/jamedeus/.cache/codex-runtimes/codex-primary-runtime/dependencies/node/bin/node node_modules/jest/bin/jest.js src/__tests__/ --runInBand

This works but adds repetitive extra steps and bypasses package.json test scripts.

I do have node/npm in my $PATH but it doesn't seem to inherit that even when running locally.

This would be easy to fix in worktrees with the environments tab in settings but I can't find anything similar for local threads.