Eight commands bring Codex into Claude Code
The plugin documents 8 slash commands: review, adversarial review, rescue, transfer, setup, status, result, and cancel. A normal review inspects uncommitted work or compares a branch with a base reference. Adversarial review accepts a focus prompt and questions a chosen design or risk area. Rescue sends investigation or implementation work to a Codex-backed subagent.
Background mode is the main reason to add the bridge instead of opening another terminal. A Codex job can continue while Claude Code remains available, and the status, result, and cancel commands manage it. Finished jobs retain a Codex session ID. Transfer can import the current Claude Code conversation into a persistent Codex thread, which saves you from retelling a long debugging history.
The local Codex CLI supplies the runtime and account
Node.js 18.18 or later is required, along with Claude Code and Codex access through a ChatGPT subscription or OpenAI API key. The plugin does not run a separate hosted Codex service. It calls the global codex binary and reuses that installation's authentication, user configuration, project configuration, repository checkout, and machine environment.
Setup happens through Claude Code's plugin marketplace, followed by /codex:setup. If Codex is missing and npm is present, setup may offer to install it. Project-level .codex/config.toml settings apply only when Codex trusts the project, so model and reasoning choices can differ between repositories. Usage also counts against the same Codex limits you already have.
What happened when we ran it
Our run at commit db52e28 installed 3 npm packages in 16 seconds and used 27 MB on disk. The checkout itself held 63 files, about 9,397 lines of source, and occupied 0.4 MB. Npm audit reported 0 known vulnerabilities: 0 critical, 0 high, 0 moderate, and 0 low.
The build failed with exit code 127 after 9 seconds. Its prebuild created a generated-types directory and invoked codex app-server generate-ts. The log then said sh: 1: codex: not found. That message proves the executable was absent from our sandbox; it does not establish anything beyond that. A source build therefore needs the Codex command available before TypeScript compilation starts.
Tests ran separately and finished in 57 seconds. Node's test runner reported 91 passed and 0 failed out of 91. The repository has a tests directory and 1 CI workflow file, with no Dockerfile. Those results cover the checked-out JavaScript logic in our 3-CPU, 8 GB Debian container. They do not exercise a signed-in Claude Code session talking to a signed-in Codex runtime.
The Stop-hook gate can report success while staying inactive
The optional review gate asks Codex to review Claude's response when a Stop hook fires. If Codex finds a problem, Claude is supposed to continue working. The README warns that this can create a long Claude and Codex loop and consume usage limits quickly, which makes active supervision part of the feature rather than an optional precaution.
Open issue 684 describes a sharper failure on plugin version 1.0.6. After installation and reload during an existing session, setup can write the enabled flag under a temporary state root while the Stop hook reads a plugin-data root. Setup reports success, yet the gate stays inactive. A quality gate that may fail open is unsuitable as the only release check until the path is fixed and retested.
Background rescue and Windows shells have open failures
Issue 686 records 5 stuck background tasks over 2 days on macOS, plus an isolated case where 2 sibling wait loops kept matching each other after the Codex process ended. The reporter did not claim a clean-profile deterministic reproduction. The mechanism and observed session still matter if you expect rescue jobs to run unattended, especially because cleanup failures are easy to overlook.
Windows has a different report. Issue 336 describes Claude Code running from Git Bash on Windows 11, with the Microsoft Store pwsh.exe stub selected for Codex shell calls. Every attempted local Git command failed with error 1312, and the review returned approval without inspecting the changes. That setup needs a real trial before anyone trusts the review result.
Model selection has a smaller current snag. Issue 687 shows the documented spark alias failing for review and adversarial review while the full model identifier succeeds on the same ChatGPT account. Rescue normalizes the alias, but those 2 review paths pass the short name through. The full model ID is a practical workaround, though the alias should behave consistently.
July code and release dates sit beside August issue work
GitHub reported 32,430 stars and 439 open issues and pull requests when fetched. The latest release was v1.0.6 on July 8, 2026, and the repository's last-push field showed the same date. Issue and pull-request updates continued through August 27, including proposed fixes for background waits, state handling, and review aliases. The combined open count is not a bug count.
That split matters for judging health. The July push date alone looks quiet, while the August queue shows active testing and proposed changes around real integrations. The plugin is easiest to recommend as a human-supervised convenience for people already paying the mental and account cost of both tools. Run Codex directly if session transfer, slash commands, and Claude-side background control do not save you time.

