Summary
Codex CLI panics on startup when launched from a git worktree under /tmp/. The error message is:
The application panicked (crashed).
Message: plugin cache root should be absolute: No such file or directory (os error 2)
Reproduction
- Have plugins enabled in
~/.codex/config.toml (any openai-curated plugin)
- Create a git worktree in
/tmp/:
git worktree add /tmp/codex-worktree-test -b test-branch
- Launch Codex from that worktree:
cd /tmp/codex-worktree-test
codex --yolo
- Codex panics immediately after the SessionStart hook completes.
Expected behavior
Codex should resolve its plugin cache root to ~/.codex/plugins/cache/ (absolute) regardless of the current working directory.
Actual behavior
The plugin cache root is resolved relative to CWD. When CWD is a worktree under /tmp/, the path doesn't exist and Codex panics. On macOS, /tmp is a symlink to /private/tmp, which may compound the issue.
Environment
- Codex CLI version: 0.118.0
- OS: macOS 15.5 (Darwin 25.4.0), Apple Silicon
- Enabled plugins: google-calendar, gmail, canva, github, google-drive (all
openai-curated)
- Plugin cache location:
~/.codex/plugins/cache/openai-curated/ (exists and populated)
Context
This blocks using Codex in isolated worktree workflows (e.g., Claude Code's Codex plugin dispatching work to a temp worktree). The workaround is disabling all plugins before running in a worktree, but that shouldn't be necessary.
Summary
Codex CLI panics on startup when launched from a git worktree under
/tmp/. The error message is:Reproduction
~/.codex/config.toml(anyopenai-curatedplugin)/tmp/:cd /tmp/codex-worktree-test codex --yoloExpected behavior
Codex should resolve its plugin cache root to
~/.codex/plugins/cache/(absolute) regardless of the current working directory.Actual behavior
The plugin cache root is resolved relative to CWD. When CWD is a worktree under
/tmp/, the path doesn't exist and Codex panics. On macOS,/tmpis a symlink to/private/tmp, which may compound the issue.Environment
openai-curated)~/.codex/plugins/cache/openai-curated/(exists and populated)Context
This blocks using Codex in isolated worktree workflows (e.g., Claude Code's Codex plugin dispatching work to a temp worktree). The workaround is disabling all plugins before running in a worktree, but that shouldn't be necessary.