Bug: pnpm global bin wrapper invokes codex via pnpm instead of node, fails outside project directories
Resolved 💬 0 comments Opened Apr 19, 2026 by carlpaten Closed Apr 19, 2026
Description
When @openai/codex is installed globally via pnpm add -g @openai/codex, pnpm generates a shell wrapper at <pnpm-bin>/codex that invokes bin/codex.js using pnpm as the executor rather than node:
"/path/to/pnpm" "$basedir/global/5/.pnpm/@openai+codex@0.121.0/node_modules/@openai/codex/bin/codex.js" "$@"
Because pnpm looks for a package.json in the current working directory, running codex from any directory that isn't an npm/pnpm project fails with:
ERR_PNPM_NO_IMPORTER_MANIFEST_FOUND No package.json (or package.yaml, or package.json5) was found in "/home/<user>".
Steps to reproduce
pnpm add -g @openai/codexcd ~(or any directory without apackage.json)codex
Expected behavior
codex launches successfully from any directory.
Actual behavior
ERR_PNPM_NO_IMPORTER_MANIFEST_FOUND No package.json (or package.yaml, or package.json5) was found in "/home/<user>".
Workaround
Replace pnpm with node in the generated wrapper script:
node "$basedir/global/5/.pnpm/@openai+codex@0.121.0/node_modules/@openai/codex/bin/codex.js" "$@"
Environment
- pnpm 10.33.0
- @openai/codex 0.121.0
- Linux (WSL2)