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

  1. pnpm add -g @openai/codex
  2. cd ~ (or any directory without a package.json)
  3. 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)

View original on GitHub ↗