Run Codex insideClaude Code.
One plans, the other executes, in the same terminal. No tab switching, and no copying code between two chats.
OpenAI ships an official plugin for this. It takes four commands, and it works whether you pay for ChatGPT or not.
How it is wired
Nothing leaves your machine that would not have left it anyway. Codex runs where you run it, on the files you already have open. The two never talk to each other behind your back: every hand-off is a command you typed.
Eight commands, inside the session you already use.
Codex stops being another window to open. It becomes something you call when you need it, and it reads the same files you are working on.
Two things, and you probably have one already.
- 1A ChatGPT account. The free tier works. What you run counts against your Codex usage limits, same as if you used Codex directly. An OpenAI API key works too.
- 2Node.js 18.18 or later. If you followed the setup guide, you already have it. Type
node -vin your terminal to check.
Four commands, in this order.
Type them inside Claude Code, one after the other. Each one waits for the previous to finish.
Add the marketplace
This tells Claude where to find the plugin. It is the official OpenAI repository, nothing third party.
/plugin marketplace add openai/codex-plugin-ccInstall the plugin
This pulls the commands and the Codex subagent into your setup.
/plugin install codex@openai-codexReload
Without this, the new commands do not show up yet.
/reload-pluginsCheck it is ready
This one tells you whether Codex is installed and logged in. If Codex is missing, it offers to install it for you.
/codex:setupnpm install -g @openai/codex in your terminal. If it is installed but not logged in, run codex login.
Give it something real straight away.
Open a project you are working on, then ask Codex to review what you changed. It runs in the background, so you keep working while it reads.
/codex:review --backgroundWhen it is done, /codex:result shows you what it found.
Hand over the whole conversation, not a summary of it.
This is the part that makes it one setup instead of two tools sitting next to each other. You are twenty exchanges into a job with Claude and you want Codex on it. You re-explain nothing and you paste nothing.
/codex:transferIt reads the transcript of the session you are actually in, imports it into Codex as an ordinary Codex thread, and hands you back the thread id along with the command that opens it.
codex resume <thread-id>Run that in a terminal and Codex is standing in the same conversation, holding what the two of you had already worked out. Not a briefing written for it. The history itself. From that point on it behaves like any other Codex thread, so you pick it up again whenever you want.
The other direction exists too. /codex:rescue keeps its own thread, so --resume carries on where the last rescue left off instead of starting the explanation again.
They are not interchangeable.
After a few weeks of running both, this is roughly how the work splits for me.
Building and deciding
Writing the thing, holding the plan across many files, talking through what to do next. It stays in the conversation with you.
Checking and rescuing
Reviewing before a push, and taking over a bug that has resisted two attempts. A second reader who was not in the room when the decision was made catches things the author cannot.
