Use Claude Code and Codex together

Have Claude Code build and Codex review. They message each other and report back to you, in threads you can watch side by side.

Download for macOS

You'll need Claude Code and Codex, each signed in once.

Hand this to your agent
Ask me about each of these, one at a time, with a suggested default:
- Task (what to build or fix)
Skip any I've answered. Then sum up the plan in three bullets and wait for my go. My answers override the steps below.
If a wait times out, wait again, up to three times.

Build the task, have Codex review it in its own thread, talk it through with Codex. One review round, then stop.
Guide: https://getbb.app/guides/claude-code-and-codex-together

Do these steps in order and run each check. If a check fails, stop and tell me what you saw. Don't push, open a pull request, or merge unless I ask.

If you aren't Claude Code, tell me to paste this into a Claude Code thread instead, and stop.

1. Get a branch. If you're on the repo's default branch, create a new branch first. Run `BASE=$(git rev-parse HEAD)` and keep the value.
   Check: `git branch --show-current` isn't the default branch.

2. Build the task and commit your work.
   Check: `git status` is clean and `git log -1` shows your commit.

3. Start Codex as the reviewer in its own thread, in this worktree:
   bb thread spawn --json --project "$BB_PROJECT_ID" --environment "$BB_ENVIRONMENT_ID" --parent-self --provider codex --title "<task>" --prompt "Task: <task>. Review git diff <BASE>..HEAD read-only. Don't edit files or commit. List each issue as serious or minor, with file and line."
   Check: the spawn returns a thread ID. If Codex fails to start, stop and ask me to sign in to Codex on this computer.

4. Wait for the review and read it:
   bb thread wait <codex-thread-id>
   bb thread output <codex-thread-id>
   Check: the output lists issues or says there are none. If bb later tells you the reviewer completed, just repeat your final report.

5. Fix every serious issue and commit. If a finding is unclear, ask first: bb thread tell <codex-thread-id> "<your question>", then read the answer with bb thread wait and bb thread output. Don't ask for a second review.
   Check: `git status` is clean and each serious issue has a fix.

6. Stop. Leave the reviewer's thread open so I can read it; don't archive it.

Reply with what you built, what the review found, what you fixed, and what's left for me. Then offer to save these steps as a bb skill in .bb/skills/build-and-review/SKILL.md, with the reviewer filled in, so next time I can just ask for it.

Steps

  1. 1Start a Claude Code thread with your task
  2. 2Claude Code brings in Codex to review
  3. 3Watch them side by side
  4. 4Ask Codex a question through Claude Code
1

Start a Claude Code thread with your task

Claude Code builds it and brings in Codex to review. You talk to Claude Code, and can open Codex's thread anytime.

  1. Choose New thread. Pick a Claude model, like Opus 5.5, and choose Worktree.
  2. Paste the prompt from and send it. Claude Code asks for your task.
2

Claude Code brings in Codex to review

A second model reads the change with fresh eyes and catches what the first one missed.

Once its work is committed, Claude Code starts Codex in a thread of its own, on the same branch, and nests it under its thread in the sidebar. Codex reviews read-only and lists each issue as serious or minor.

3

Watch them side by side

Claude Code hears back as soon as Codex finishes, and fixes what's serious.

  1. In the sidebar, open the Codex thread's menu and choose Open in split.
  2. Type in either thread to step in yourself.
4

Ask Codex a question through Claude Code

When you want a second opinion on a finding, have Claude Code ask. It waits for Codex's answer and tells you what it said.

Ask in the Claude Code thread, like “Ask the reviewer whether the memory growth is worth fixing before this merges.”

Troubleshooting

My agent didn't bring in a reviewer
  1. Agents only start other threads when you ask. Check that the prompt from Copy for agent is in your first message.
  2. Or ask directly, naming the agent and the job, like “Have Codex review this branch, read-only.”
The reviewer's thread failed right away
  1. Open the reviewer's thread and read the error.
  2. Usually that agent isn't signed in on this computer. Sign in to it once, like codex login for Codex.
  3. Send the reviewer's thread a message to start it again.
My agent never heard back from the reviewer
  1. Check the sidebar. Your agent only hears from threads nested under its own.
  2. If the reviewer sits on its own, drag it onto your agent's thread.
  3. Then tell your agent the review is ready, so it reads it now instead of waiting.
The reviewer is stuck waiting
  1. It's asking a question or waiting for permission to run something.
  2. Open its thread and answer it. Your agent is told it's waiting.
Both agents changed the same files
  1. They share one worktree, so they share files. Tell the reviewer to stay read-only, as the prompt from Copy for agent does.
  2. If both need to write, have them take turns, or ask for the second agent in its own worktree.
The reviewer can't see the changes
  1. It started in a separate worktree, so it can't see work that isn't committed.
  2. Ask your agent to commit, then start the reviewer in this same worktree, as the prompt from Copy for agent does.
The reviewer's thread disappeared

If it was archived, open Settings → Archived threads and choose Unarchive.

My agents stopped while my computer slept
  1. Once the computer is back, open the thread and send a message to pick up where it left off.
  2. To keep it awake, open Settings, choose Keep Awake under Plugins, and turn on Prevent idle sleep. It works on macOS and Windows.
  3. Closing a laptop's lid still puts it to sleep. For agents that run all day, run bb on a computer that stays on.

FAQ

Why use Claude Code and Codex together?

A second model catches what the first one missed, and each agent runs on its own subscription. See what it gets you.

When is a second agent worth it?

For most changes, one agent does fine. A second one pays off for:

  • Review. An agent on another model reads the change with fresh eyes.
  • Plan, then hand off. Have your strongest model interview you and write the plan, then hand the build to a faster, cheaper one.
Which agents work?

Claude Code, Codex, and Pi are built in. Cursor, opencode, and other agents that support the Agent Client Protocol, like Grok Build and Hermes Agent, work once they're installed.

How do agents reach each other?

Every thread comes with bb's tools and a short guide to them, so an agent can start, wait for, and message other threads the way you would. A message reaches a busy agent mid-turn, and one sent to an agent that's waiting on a question is delivered once you answer.

Can I step in?

Yes. Type in either thread at any time, or stop one from its message box. A stopped thread keeps its history and worktree. bb doesn't tell the other agent you stopped it, so let it know.

Does it cost anything? Can I keep my plan?

bb is free and open source, and bb connect is free. bb runs your agents on the subscriptions or API keys you already have. Machines you add cost what they do now.

Can Codex build and Claude Code review?

Yes, but this page's prompt is for Claude Code building. Use the prompt in Orchestrate your coding agents in a Codex thread, and name Claude Code as the reviewer.

Get your agents working together

Free and open source. Bring the Claude and ChatGPT plans you already have.

Download for macOSApple Silicon · Also for Linux (Alpha)bb runs on macOS, Windows, and LinuxWindows (Alpha), Intel Macs & remote machines