Short answer
To orchestrate Codex and Claude Code together, give each agent a role instead of the same job. A common split is one agent planning, the other implementing, and the agent that did not write the code reviewing the pull request, so a second model reads every change. You can do this by hand with a git worktree per task and two terminals. Orchestrator.inc (formerly Agent Orchestrator) turns the same split into project settings: an orchestrator agent, a worker agent and a reviewer agent per project, with the reviewer's comments sent back to the worker.
At a glance
| By hand | Orchestrator.inc | |
|---|---|---|
| Isolation | Worktrees you create and remove | Worktree and branch per worker, created for you |
| Who plans | You, or one agent writing a plan file | A project orchestrator agent that briefs and spawns workers |
| Cross-vendor review | You copy the diff in and the findings out | A reviewer agent per project; its comments go to the worker |
| CI failures | You notice them and paste them in | Sent to the worker that owns the PR |
| Overview | Terminal tabs | A board placed by session, PR, CI and review state, on desktop and phone |
| Cost | Free | Free and Apache-2.0 on your own machines; optional Cloud plans from $20/month |
The problem in practice
You like how Claude Code plans and how Codex implements, or the reverse, and you want each to check the other's work. With one task that is a few copy and paste steps. With four tasks, you are carrying plans, diffs, review findings and CI failures between eight terminal tabs, and the follow-ups start landing in the wrong session.
The manual way
1. Install and sign in to both CLIs
Install Claude Code and the Codex CLI, and sign in to each once (claude, then codex login). Both use your existing subscription or API key.
2. Give each task its own worktree
Never point two agents at one checkout at the same time. Create a worktree and branch per task:
cd ~/code/web
git worktree add ../web-search -b feature/search
3. Plan with one, implement with the other
Ask Claude Code to write a plan into the worktree, then start Codex in the same worktree and ask it to implement that plan:
cd ../web-search
claude "Read the codebase and write PLAN.md for adding full-text search. Do not write code."
codex "Implement PLAN.md. Run the tests. Commit when they pass."
Handing off in sequence like this, in one worktree, is fine. Running both at once in the same checkout is not.
4. Cross-review the pull request
Push the branch, open a PR, and ask the agent that did not write the code to review it:
gh pr create --fill
claude "Review the diff of this branch against main. List bugs and risky changes with file and line."
Paste the findings back into the Codex session and repeat until both are satisfied.
Where the manual way gets expensive
- You are the message bus. Plans, review findings, CI failures and reviewer comments only move when you copy them.
- Nothing records which agent owns which branch and PR, so follow-ups go to the wrong session.
- With more than two or three tasks you lose track of which ones are waiting on you.
Tips
- Keep the plan in the repository (
PLAN.md, an issue or the PR description) so whichever agent picks up the task reads the same source. - Review with the vendor that did not write the code. A different model reads the change without the assumptions of the one that wrote it.
- Put shared project rules in
AGENTS.mdso both agents follow them.
Doing this with Orchestrator.inc
1. Assign an agent to each role
Install Orchestrator from the download page, add the repository, and choose the worker and orchestrator agents in Project Settings, or from the CLI (per-role agents):
ao project add --path ~/code/web \
--worker-agent codex \
--orchestrator-agent claude-code
The orchestrator is the project's planning agent: you discuss the outcome with it, and it breaks the plan into tasks and spawns workers with the context each one needs. Workers implement one task each in their own worktree and branch, and own the PR.
2. Pick a reviewer from the other vendor
In Project Settings, choose a reviewer agent, for example Claude Code reviewing Codex's PRs, and turn on automatic review (review loop). 22 of Orchestrator's 38 harnesses can act as reviewers. In the project's JSON configuration the same setting is:
{
"reviewers": [{ "harness": "claude-code" }],
"autoReview": true
}
The reviewer posts an inline comment for each change it requires, and Orchestrator sends those comments to the worker. A reviewer agent's approval is not a GitHub approval, and merging stays your decision.
3. Override the agent for one task
Some tasks suit one agent better. Override the project default for a single worker:
ao spawn --project web --name search-ui --agent claude-code \
--prompt "Build the search results page from PLAN.md"
ao spawn --project web --name search-index --agent codex \
--prompt "Add the search index migration and tests"
--agent is an alias for --harness. Each worker gets its own worktree and branch.
4. Get a second opinion on demand
Run an extra review from the other vendor on any worker's PR:
ao review trigger <worker-session-id> --agent codex --rerun
ao review ls <worker-session-id>
ao session ls lists session IDs.
5. Let CI and review come back to the right agent
When a check fails on a worker's PR, Orchestrator sends the failing check names, links and the end of each failed log to that worker. When a person or a reviewer agent requests changes, the unresolved comments go to the same worker. Autonomous PRs explains that loop in more detail.
6. Follow it from anywhere
The board shows every worker and moves its card as the PR goes through CI and review, whichever agent it runs. The iOS and Android app shows the same sessions, with approvals and push notifications.
Frequently Asked Questions
How do I use Claude Code and Codex together?
Give them different roles on the same task: one plans, the other implements, and the one that did not write the code reviews the PR. Give each task its own git worktree so they never edit the same checkout at once. Orchestrator.inc lets you set those roles per project, so the handoffs happen without copy and paste.
Can Claude Code and Codex work on the same branch at the same time?
They should not edit the same checkout at once. Give each task its own worktree. Handing off in sequence in one worktree, plan first and then implement, is fine.
Do I need API keys for both?
No. Orchestrator.inc launches the Claude Code and Codex CLIs you have installed and signed in to, so your existing subscriptions work and usage is billed by each provider as usual.
Which agent should plan and which should implement?
There is no fixed answer; teams pick based on cost and results. Orchestrator.inc lets you set the orchestrator, worker and reviewer agents per project and override the worker agent per task, so you can try both arrangements.
Can a Codex agent review a Claude Code pull request automatically?
Yes. Choose Codex as the project's reviewer and turn on automatic review. Its required changes arrive at the Claude Code worker as inline review comments. To try it, install Orchestrator.inc from orchestrator.inc and follow the review loop guide on docs.orchestrator.inc.