AI Tools
6 min readJuly 26, 2026

Codex Inside Claude Code: Claude Writes It, Codex Attacks It, $40 a Month

OpenAI shipped a plugin that puts Codex inside Claude Code. Here is the exact setup, all eight commands, and the honest $40 a month it costs.

Paras Tiwari
Paras TiwariFounder, Spectrum AI Labs
A real /codex:adversarial-review run returning a needs-attention verdict on a Stripe charge function that can double charge on retry

Get weekly AI tool reviews

We test tools so you don't have to. No spam.

TL;DR

The short answer. OpenAI publishes a plugin called codex-plugin-cc that runs its Codex model inside Claude Code. You write code with Claude, then run one command, adversarial review, and Codex reads back through it line by line looking for the bugs Claude defended. You read the disagreement and decide what ships. It costs forty dollars a month: twenty for Claude, twenty for the ChatGPT plan Codex needs to run.

Codex inside Claude Code, at a glance
Updated July 26, 2026
  • OpenAI publishes codex-plugin-cc, a free plugin that runs its Codex model inside Claude Code.
  • Claude writes the code, then /codex:adversarial-review turns Codex loose on it and you referee what it finds.
  • The honest cost is $40 a month: $20 for Claude Code and $20 for the ChatGPT plan Codex runs on.
  • The plugin installs eight /codex commands. Adversarial review is the one that matters.

Claude writes my code. Then Codex, the coding model from OpenAI, goes through it hunting for what Claude got wrong. They disagree, I settle it, and I ship what holds up. It already caught a bug that would have charged a customer twice. Twenty dollars for Claude, twenty for the ChatGPT plan Codex runs on.

What it costs, honestly

Three moving parts, one honest total.
PieceWhat it doesCost / month
Claude CodeWrites the code (Anthropic, Pro plan)$20
CodexReviews it and tries to break it (OpenAI, runs on a ChatGPT plan)$20
codex-plugin-ccWires Codex into Claude Code as slash commands (free plugin)$0
TotalWhat you actually pay to run it$40

The plugin runs on any ChatGPT plan, including the free one, but the free Codex limits are too low for real work. That is why the honest number is $40 a month and not $20. Verified July 26, 2026.

The setup, in four steps

Two accounts, one plugin, one command. This is the whole install.

Get it running

  1. 1Get the two accounts. Claude Code on the twenty dollar plan, and a twenty dollar ChatGPT plan so Codex has something to run on. Forty dollars a month, both paid.
  2. 2Sign in to Codex. Authenticate Codex with your ChatGPT account so it is allowed to work inside your terminal.
  3. 3Add the plugin. Inside Claude Code, add the marketplace with /plugin marketplace add openai/codex-plugin-cc, then install it with /plugin install codex@openai-codex. Run /codex:setup once to confirm Codex is wired in and authenticated.
  4. 4Run the fight. Write a feature with Claude, then run /codex:adversarial-review and let them fight over it before any of it ships.
Real output of the codex setup command showing node, npm, Codex CLI, and the ChatGPT login all ready
Run /codex:setup and it tells you what is missing. On my machine everything was already wired up, so it reported ready.

Every command the plugin gives you

The plugin installs eight slash commands. One of them is the reason to bother.

The one command to remember

Everything else is plumbing. /codex:adversarial-review is the reason to install this: Claude defends the code it just wrote, Codex tries to tear it down, and the version that survives is the one you ship.

CommandWhat it does
/codex:adversarial-reviewThe one you came for. Claude defends its code, Codex attacks it, they trade blows for a few rounds, and you walk away with the version that held up.
/codex:setupVerifies the plugin is installed and Codex is authenticated. Run it once right after installing.
/codex:reviewA single pass. Codex reads your current changes once and reports what it would change, no argument.
/codex:rescueHands a problem Claude is stuck on to Codex for a clean fresh attempt.
/codex:transferMoves the current task and its full context from Claude over to Codex to keep working.
/codex:statusShows what Codex is working on right now.
/codex:resultPulls Codex's finished output back into your Claude Code session.
/codex:cancelStops a running Codex job.

The commands run inside Claude Code once the plugin is added. The slugs are literal, so type them exactly.

How the fight actually goes

The method, then a real run where Codex caught a bug in every version I gave it.

The reason this works is plain. Claude will not catch its own bug, because the assumption it made writing the code is the same one it brings to reviewing it. Codex did not write the code and has no stake in defending it, so it goes hunting for whatever Claude waved past. You sit in the middle and decide who is right.

The loop, step by step

  1. 1Claude writes it. You describe the feature in plain English and Claude Code writes the first version. Nothing new here, this is how you already work.
  2. 2You call the review. Instead of trusting it, you run /codex:adversarial-review. Now Codex, which did not write a single line of it, gets to tear into it.
  3. 3Codex attacks. Codex hunts for the bugs, the lazy shortcuts, and the edge cases Claude waved past, and it says so plainly. It has no reason to go easy on Claude's work.
  4. 4They argue. Claude defends its choices or rewrites them, Codex pushes back, and they go a few rounds. That friction is the reason it works, because neither Claude nor Codex gets the last word on its own code.
  5. 5You ship when Codex runs out of objections. Sometimes that is one round. Sometimes it takes a few, and the fix it wants is a real change of approach, not a quick patch. You are the referee, so you decide when the argument is actually settled.

Here is one that actually ran. I gave Codex a Stripe charge function that retried inside its catch block, the kind of code that reads fine at a glance. It came back three times, and it was right three times.

Three real codex adversarial review runs on the same Stripe function, each returning needs-attention with a different finding
Three real /codex:adversarial-review runs on one Stripe function. A different genuine bug in every version, including one Codex proved by running the code.

First pass: no idempotency key, so a charge that times out gets retried and the customer pays twice. I made the key required. Second pass: requiring it broke every caller that still passed three arguments, and Codex ran the function to show it now throws before it ever reaches Stripe. I made the key optional and generated one when it was missing. Third pass: Codex reproduced the failure and found the generated key does not survive a retry of the whole operation, so it still charges twice. The version it would pass needs a key supplied by the caller and tied to a durable operation ID. Three rounds, three real bugs, and it never waved anything through.

Where it falls short

The honest part. It is a sharp review loop, not a guarantee.

The honest part

The free tier is a trap here. The plugin is free and it technically runs on a free ChatGPT account, but the free Codex limits run out fast, too fast to get through a real workday of reviews. To actually ship with it you want the twenty dollar plan, which is why the honest total is forty dollars a month with Claude.

Claude and Codex can both still be wrong. The two picking at each other catches far more than one model nodding at itself, but you make the final call. If they both miss it, it ships, so read what they fight about.

It is a review loop, not a safety net. It catches a lot, but it will not save you from shipping something you never actually understood.

The quick questions

Short answers to what people ask before they set this up.

Is this actually free?

The plugin is free and it will run against a free ChatGPT account, but the free Codex limits run out fast, too fast for real daily work. Claude Code is twenty dollars a month, and in practice you want the twenty dollar ChatGPT plan for Codex, so the real working cost is forty dollars.

Why not just ask Claude to review its own code?

Because it wrote it. When Claude reviews its own work, it defends the same assumptions that produced the bug. The value is Codex, made by OpenAI, which has no stake in defending Claude's choices.

Is Codex really made by OpenAI?

Yes. Codex is OpenAI's coding model, and the plugin that runs it inside Claude Code is published by OpenAI as codex-plugin-cc. Two competing labs, one terminal, checking each other.

What actually ships, Claude's version or Codex's?

Whichever one survives the argument. Sometimes Claude rewrites to satisfy Codex, sometimes Codex concedes the original was fine. You ship the version neither model can still poke a hole in.

Do you need to know how to code?

You need to read what they are fighting about and make the call when they split. You are the referee. It raises the floor on your code, but you still have to know what good looks like.

The tools I test, every week

Every week I put a new AI tool through real work and send what held up, what broke, and what it cost. Nothing gated, unsubscribe in one click.

Paras Tiwari
Written by
Paras Tiwari
Founder, Spectrum AI Labs

Founder of Spectrum AI Labs — testing AI tools and models, and writing up what actually ships.

More about Paras →