OpenAI’s flagship product is Codex. Its terminal agent competes directly with Claude Code — same category, same job, different provider. That’s why it’s a bit odd to open the Claude Code plugin marketplace and find openai/codex-plugin-cc: a plugin built and maintained by OpenAI itself, with 27k stars, whose sole purpose is to make Codex easier to use from inside Claude Code.
It’s not a new launch — the repo has existed since late March, and the latest tag (v1.0.6) is a routine version bump, not a highlighted feature. But it’s actively maintained (dozens of merged PRs, real contributor activity), genuinely useful, and we haven’t covered it yet. Worth fixing that.
What it does specifically
Once installed, the plugin adds a set of /codex: commands to Claude Code:
/codex:review— a standard, read-only Codex review of your current changes or a branch diff/codex:adversarial-review— a “steerable” review that questions your design decisions, not just your syntax/codex:rescue— delegates a complete task to Codex (investigate a bug, test a fix, do a cheaper pass with a smaller model)/codex:transfer— exports your current Claude Code session to a real Codex thread that you can resume withcodex resume/codex:status,/codex:result,/codex:cancel— manage background jobs/codex:setup— checks if Codex is installed and authenticated, and can install it for you if it’s not
Key detail: it doesn’t run its own Codex runtime. It executes your local Codex CLI and its app server, so it inherits the auth and config you already have — ChatGPT subscription or API key, same config.toml, everything the same.
Installing it
/plugin marketplace add openai/codex-plugin-cc
/plugin install codex@openai-codex
/reload-plugins
/codex:setup
/codex:setup tells you if Codex is ready to go. If it’s missing and you have npm, the plugin offers to install it (npm install -g @openai/codex), and if it’s installed but not logged in, !codex login fixes that.
A clean initial run to check that everything is properly configured:
/codex:review --background
/codex:status
/codex:result
The two review modes are the real feature
/codex:review is what you’d expect: point it at your uncommitted changes or a branch (--base main), and you get the same quality of review as running Codex’s own /review. It’s read-only and doesn’t touch your code.
/codex:adversarial-review is the more interesting one. It’s steerable — you can pass it focus text — and it’s built to question the decision, not just the diff:
/codex:adversarial-review --base main challenge whether this was the right caching and retry design
Use it before shipping anything where a wrong assumption gets expensive: auth flows, payment processing, retry logic, anything that touches data loss. Skip it for boilerplate — a CRUD scaffold doesn’t need a second model interrogating its design philosophy.
Delegate work, not just review it
/codex:rescue is where this stops being a review tool and becomes a delegation tool. You can pass Codex an investigation or a fix directly:
/codex:rescue investigate why the tests started failing
/codex:rescue --model gpt-5.4-mini --effort medium investigate the flaky integration test
/codex:rescue --background investigate the regression
Long tasks should go to --background, and then you check progress with /codex:status and pull the final result with /codex:result — which also gives you the Codex session ID in case you want to reopen that run natively.
/codex:transfer is the exit in the other direction: if a debugging session in Claude Code gets deep enough that you’d prefer to finish it in Codex’s own App or TUI, this exports the thread so you can pick it up there.
There’s also a review gate, and it comes with a warning
/codex:setup --enable-review-gate activates a Stop hook: every time Claude tries to end their turn, it first runs a targeted Codex review, and if it finds issues, the stop gets blocked until Claude resolves them. It’s the closest thing here to fully automated peer review.
The plugin’s own documentation warns that this can create a long loop between Claude and Codex that drains your usage limit fast. Enable it only if you’re going to be actively watching the session.
How it differs from peer review hacks
We already covered the community version of this idea: third-party plugins like claude-review-loop and adversarial-review that connect Claude and Codex in a peer review loop, where disagreements escalate to Perplexity or web search for arbitration.
codex-plugin-cc is a different animal. It’s first-party — built by OpenAI, not a community project — and its scope is broader than review. Session transfer and task delegation aren’t things the community plugins do. If you specifically want automated review between two models, the peer review plugins are more designed for that. If you want a general-purpose bridge between the two ecosystems — review when you ask for it, delegation when you need it, a clean handoff when you’re done — this is what OpenAI built for that job.
The honest trade-off
Each command here consumes Codex usage against your ChatGPT subscription or your API key limits — this isn’t free just because you fire it from Claude Code. And running two models instead of one means real latency and real cost, like any two-model workflow.
But if you were going to turn to Codex anyway, doing it without leaving your terminal is a direct win. And the fact that OpenAI built this to live inside a competitor’s tool, instead of trying to pull you into their own, says something about where the real competition is happening in this space: not in the editors, in the workflows.
Have you tried it yet, or are you still using Codex and Claude Code as separate tools? Tell us your setup in the comments.
