Why run both
Claude Code and Codex come from different companies, run different models and make different mistakes. Having Codex review a Claude Code change, or the other way round, gets you a second opinion from a model that didn't write the code.
They also use separate allowances. A Claude plan and a ChatGPT plan run out at different times, so with both signed in, hitting a limit on one doesn't stop your work.
Doing it by hand
You can get part of the way with plain tools:
- Run each CLI in its own git worktree, so they can work on the same repository at once. How worktrees work
- Keep shared rules in
AGENTS.md, which Codex reads, and point to it fromCLAUDE.md, which Claude Code reads. - For a review, give the other agent the diff and ask it to look for problems. Agents usually leave their edits uncommitted, so diff the worktree itself:
git -C ../billing-svc-retry add -N .
git -C ../billing-svc-retry diff main > /tmp/change.diff
codex "Review the change in /tmp/change.diff. List problems with file and line. Do not edit anything."
That's fine for an occasional second opinion, but tedious if you want one on every change.
Three ways to pair them in Offrun
1. Side by side on separate tasks
Start a Claude Code chat on one task and a Codex chat on another. Each gets its own git worktree and branch, and up to four chats fit side by side in one window. Home shows which ones are working and which are waiting on you.
2. One writes, the other reviews
Pick a reviewer for a chat, for example Codex for a Claude Code chat. Review is off until you do. When the coder finishes a turn you asked for, the reviewer reads the uncommitted diff and posts numbered findings in the chat, pointing at files and lines. Press Ask the agent to fix these and the findings go into your message box, for you to edit or send. A review never edits code, commits or merges.
3. Hand over when one runs out
When Claude Code hits its usage limit and you have no spare Claude login, the chat offers Codex, or Antigravity if you are signed in to it. One press switches the chat and sends your message again. The agent that picks it up gets the whole conversation.
Shared instructions and memory
Claude Code reads CLAUDE.md. Codex reads AGENTS.md. Antigravity's agy reads AGENTS.md and GEMINI.md. A rule written for one is invisible to the others, so Offrun tells each agent, by full path, where the instruction files it does not load itself are.
Project memory is shared too. Conventions for the repository sit in one place every agent reads at the start of a session, and each chat keeps its own goal, plan and dead ends, written back as it works. The files live in your project folder under .offrun, where you can read and edit them.
Questions
Do I need both subscriptions?
Only for the agents you use. Each runs on your own plan: a Claude plan for Claude Code, a ChatGPT plan for Codex, a Google account for Antigravity. For what Offrun itself costs, see pricing.
Which one should write and which should review?
Start with the agent you use most as the writer and the other as the reviewer. If the reviews are not useful, swap them. The reviewer is picked per chat.
Can the reviewer change my code?
No. It reads the diff and posts what it found. You decide what happens next.
Is one better than the other?
Each is better at different things, and that shifts with new model releases. The most reliable way to compare them is on your own code.