Orkas Orkas
Home Blog Guide
Guide

How to Run Claude Code and Codex Together — One Chat to Orchestrate Both

Claude Code and Codex each win at different things. Here's how to run them together — the manual way with terminals and git worktrees, and the simpler way: one Orkas Commander that drives both from a single chat.

If you write code with AI in 2026, there's a good chance you keep both Claude Code and OpenAI Codex within reach. They are both terminal-based coding agents, and it's tempting to frame it as Claude Code vs Codex — which is better? In practice the more useful question is: how do I run Claude Code and Codex together, without becoming the human message bus copying context between two terminals?

Short answer: you can, and there are three ways to do it. The manual way — two terminals, a shared context file, and git worktrees — works today. If you already work inside Claude Code, OpenAI's official Codex plugin lets you call Codex from there. And the simplest way to run both as equals is to put one orchestrator in front of them. This post covers all three.

The short version One chat, both CLIs Orkas drives Claude Code and Codex from the same conversation, on your machine, with your own keys. See also Orkas vs Claude Code.
Download Orkas — free

Three ways to run Claude Code and Codex together

Here is how the three compare before the details. Each one has its own section below.

WayHow it worksBest forWatch out for
Two terminalsYou run both CLIs side by side and share context through a file and git worktrees.An occasional cross-review on one repositoryYou carry the context and merge the results by hand.
OrkasA desktop app runs both CLIs as agents in one chat, and a Commander hands them work in parallel.Both agents working at once on separate pieces, plus the non-code work around themAgents don't get their own git worktree automatically, and the app has to stay open.
OpenAI's Codex plugin for Claude CodeClaude Code stays your session, and slash commands call Codex for a review or a task you hand over.People who already work inside Claude CodeThis file-based handoff works independently of the plugin. For conversation import instead, follow the official plugin section below. A separate plan must have usable quota; switching agents does not extend either plan's limits.
Illustration of Claude Code and Codex collaborating in one Orkas conversation
Illustration: plan, implement, cross-review — Claude Code and Codex in one Orkas conversation.

Claude Code vs Codex: which is better at what

Neither one dominates the other; they have different shapes, and running them together means using each for its strength:

  • Claude Code tends to shine at understanding an existing codebase: reading unfamiliar code, explaining architecture, making careful multi-file edits, and reviewing a diff for what it will actually break.
  • Codex tends to shine at fast, well-scoped execution: scaffolding a new feature, generating boilerplate, and grinding through a clearly-defined ticket quickly.

So "which is better" is the wrong question. The interesting workflow is planning and review with one, execution with the other — and, ideally, each catching the other's mistakes.

Weighing Codex against OpenCode instead? Codex vs OpenCode, side by side →

The manual way: two terminals, one shared context

Sequential handoff: use the same directory, one agent at a time. Save the plan in PROJECT_CONTEXT.md and completed work, remaining steps and verification in PROGRESS.md. Stop the first agent before the next reads those files and continues.

Parallel work: split independent tasks and assign different files. Start from a clean Git repository with an initial commit. The following commands create two new branches; their names must not already exist.

npm install -g @anthropic-ai/claude-code
npm install -g @openai/codex

Each worktree has its own copy of PROJECT_CONTEXT.md: changes do not synchronize automatically. Commit the agreed specification before creating the worktrees. Keep a separate progress note in each worktree; the integrator reads both by their explicit paths, or receives a deliberate copy of each update.

git worktree add -b feature/claude ../feature-claude
git worktree add -b feature/codex ../feature-codex

Claude Code:

cd ../feature-claude
claude

Codex:

cd ../feature-codex
codex

After both tasks stop, review and commit each worktree's changes on its own branch. Return to the original directory and a clean integration branch, merge feature/claude and then feature/codex, resolve any conflicts, and rerun the full checks. Worktrees prevent simultaneous file writes; they do not eliminate logical conflicts.

git merge feature/claude
git merge feature/codex

git worktree

A workflow that actually works: plan → execute → cross-review

The most reliable pattern people land on is a small assembly line across the two agents:

1. Claude Code  — read the code, write a plan (files, steps, risks)
2. Codex        — implement the plan fast, produce a diff
3. Claude Code  — review Codex's diff: correctness, edge cases, style
4. loop on anything the review flags

Two independent models reviewing each other's work catches a class of mistakes that a single agent, marking its own homework, will happily miss. The cost is coordination overhead — which is exactly the part worth automating.

This plan → implement → review route is sequential: finish each step before starting the next. Use the parallel route only for independent tasks, then integrate and verify their combined result.

The friction: you're the orchestrator

Everything above works, and for a one-off task it's fine. Done daily, the manual approach quietly turns you into the orchestrator: routing each task to the right agent, carrying context between them, reconciling two diffs, and keeping a mental model of who did what. That's real work, and it's the same coordination problem whether you're juggling two coding agents or twenty.

How Orkas runs Claude Code and Codex together

Orkas is an open-source, local-first desktop app that turns that manual dance into a built-in feature. It can run local CLI coding agents for you — Claude Code, Codex, OpenClaw, OpenCode, and Hermes — and coordinate them from one chat. Setup is short:

1. Install and sign in to the `claude` and `codex` CLIs on your machine
2. In Orkas: new chat → add an agent → "External" tab → pick a CLI
   (Orkas only lists the CLIs it detects on your PATH)
3. Do it twice — one Claude Code agent, one Codex agent
4. Optionally set a project directory per agent, and a model
   (leave the model blank to use each CLI's own default)

Orkas doesn't reimplement or wrap the models. It runs your real, already-installed claude and codex binaries as subprocesses, using the credentials you've already logged into them with. It manages the coordination, not the keys.

One Commander, both agents, in parallel

This plan → implement → review route is sequential: finish each step before starting the next. Use the parallel route only for independent tasks, then integrate and verify their combined result.

The plan and its implementation depend on each other, so run those steps in order. For actual parallel work, configure Claude Code's directory as ../feature-claude and Codex's as ../feature-codex, assign independent changes, and designate one integrator. Orkas does not create or merge those worktrees automatically.

There's a bonus two bare terminals can't give you: when Orkas runs Claude Code or Codex, it also exposes itself back to them over a local bridge. The coding agent can reach Orkas's connected tools and knowledge — your GitHub, Notion, or Google Workspace connectors and your knowledge base — from inside its own run, not just the files in the repo.

A reproducible handoff: the csvstat example

Unzip the sample pack. For sequential handoff, set both agents to the same csvstat-demo directory via AI Team → agent → Project directory → Change, then start a new conversation so the directory takes effect. Leave the model field blank to use the CLI default. Use only TASK.md and sample.csv in a fresh folder to repeat the build; final/ contains the reference result.

In this directory, ask Claude Code to implement only steps 1–2 in TASK.md, add tests, write PROGRESS.md, and stop. After it finishes, ask Codex to read TASK.md and PROGRESS.md, preserve the recorded decisions, implement steps 3–4, and run the complete test suite. Run these stages in order. Return the changed files and verification results.

Download task, handoff note, final files and verification instructions

csvstat-demo/
  TASK.md
  sample.csv
  handoff/PROGRESS.md
  final/csvstat.py
  final/test_csvstat.py
  final/sample.csv
  final/PROGRESS.md
  VERIFICATION.txt
  README.txt

The October 20, 2026 run used Claude Code 2.1.294 and Codex 0.153.4 in a controlled CLI handoff, with 14 tests passing. The first agent was deliberately stopped; no real quota exhaustion was induced. The published reference files were rerun on November 5. The verification log below is that deterministic replay, not an Orkas UI end-to-end test; the Orkas directory instructions were checked against the implementation.

Verification log screenshot: the published reference files rerun on November 5; not a live two-agent session.
Verification log screenshot: the published reference files rerun on November 5; not a live two-agent session.
cd csvstat-demo/final
python3 -m unittest -v test_csvstat
python3 csvstat.py sample.csv temp

count: 3
min: 3.0
max: 21.0
mean: 14.0

When Claude Code or Codex hits its usage limit

Both CLIs run on usage limits tied to your plan, and a long task can hit one halfway through. You can wait for the reset. If you pay for both, you can also hand the task to the other agent: Claude Code's limits and Codex's come from two separate plans, so when one runs out, the other usually still has room.

This file-based handoff works independently of the plugin. For conversation import instead, follow the official plugin section below. A separate plan must have usable quota; switching agents does not extend either plan's limits. Reproduce the example.

In Orkas the same hand-off happens in one conversation. Both agents work in the same project folder, both get the project's goals and rules and its memory with every run, and both can read the project's to-dos. When Claude Code stops with “Current usage limit reached”, @-mention your Codex agent and ask it to carry on from the note. It also sees the conversation's recent messages, so you don't paste anything across.

Two things Orkas doesn't do: it doesn't add usage to either plan, and it doesn't switch agents for you; you decide when to hand over. With recent versions of both CLIs, each agent's page in Orkas shows how much of every usage window is left and when it resets.

The official shortcut: OpenAI's Codex plugin for Claude Code

If Claude Code is where you already work, OpenAI has shortened part of this loop. Its Codex plugin for Claude Code (codex-plugin-cc, Apache-2.0) installs from inside a Claude Code session:

/plugin marketplace add openai/codex-plugin-cc
/plugin install codex@openai-codex
/reload-plugins
/codex:setup

It adds /codex:review for a read-only review of your current changes, /codex:adversarial-review for a review you point at a specific design decision, and /codex:rescue to hand a task to Codex, plus /codex:status, /codex:result and /codex:cancel for work running in the background. It runs through the Codex CLI and app server on your own machine — the same install, login and checkout you would use directly — and needs a ChatGPT plan (the Free plan included) or an OpenAI API key.

That turns the cross-review above into a command instead of a copy-paste. It does not change the shape of the setup: Claude Code stays the session you work in, and Codex is called into it for a review or for a task you hand over. OpenAI's README also warns that the plugin's optional review gate can keep the two looping and use up your limits quickly. If you would rather have both agents working as peers — each on its own task, at the same time, reporting to one place — that is the Orkas setup described above.

What changed with Claude Code Projects

Since September 17, 2026, Claude Code has a Projects beta: a coordinator hands a goal to parallel threads, and each thread is a Claude Code cloud session on its own branch. That covers running several Claude Code agents at once. It does not bring Codex in. Every thread is Claude Code, and the threads run in Anthropic's cloud rather than on your machine. If you want Claude Code and Codex on the same job, you still need one of the three ways in this post.

More on how Projects works and where it stops: Claude Code Projects explained →

For session handoff, the official plugin also provides /codex:transfer. Run it in Claude Code, then run the printed codex resume <session-id> command in your terminal. It imports the conversation into a persistent Codex thread. This requires a Codex version with external-session import; upgrade older versions. This route does not add quota, and we have not tested it after an actual usage-limit stop.

Claude Code:

/codex:transfer

Codex CLI:

codex resume <session-id>

Official Projects announcement; checked November 5, 2026

A few things to get right

  • You bring the CLIs and their logins. Orkas spawns claude and codex; it does not manage API keys or sign-in. Install them and log in first, on a recent version (roughly Claude Code 2.0+ and Codex 0.100+).
  • Point them at different directories to parallelize safely. Orkas doesn't isolate each agent in its own git worktree — if both point at the same folder and run at once, they edit the same files concurrently. Give each its own project directory or repo for true parallel work.
  • You choose how much they do on their own. Each CLI agent runs at a permission level you set in AI Team > agent > Runtime settings > Permission level: Use CLI default, Ask for permission, or Full access. Use CLI default preserves the CLI's own permission settings. Ask for permission enables approval requests; Full access skips the CLI's approval prompts. Connector permissions are separate: sensitive actions ask for approval unless you already authorized that connection for the task or enabled Trusted mode in Orkas.

So — Claude Code or Codex?

Both. Use Claude Code for understanding, architecture, and review; use Codex for fast, well-scoped execution; and let one Commander route between them so you're steering the work instead of shuttling it. That's the point of running them together rather than picking a winner.

Local-first means your repository and your keys stay on your machine — see What Is Local-First AI? To skip the two-terminals dance, download Orkas and point one Commander at both Claude Code and Codex.

Claude Code and Codex together: FAQ

Can you use Codex and Claude Code together?

Yes. They are separate CLIs with separate session state, so nothing stops you running both against the same repository. The work is keeping them from editing the same files at the same time — either with git worktrees, or by letting one commander hand each task to one agent.

Do Claude Code and Codex talk to each other?

Not on their own. Claude Code reads CLAUDE.md and Codex reads AGENTS.md, and neither watches the other's session. The exception is OpenAI's Codex plugin for Claude Code, which lets a Claude Code session call Codex for a review or a delegated task. Otherwise, anything they share has to go through a file you both write to, or through an orchestrator that carries the result of one into the prompt of the other. For session handoff, the official plugin also provides /codex:transfer. Run it in Claude Code, then run the printed codex resume <session-id> command in your terminal. It imports the conversation into a persistent Codex thread. This requires a Codex version with external-session import; upgrade older versions. This route does not add quota, and we have not tested it after an actual usage-limit stop.

Is there a Codex plugin for Claude Code?

Yes. OpenAI publishes one, codex-plugin-cc. Inside Claude Code, run /plugin marketplace add openai/codex-plugin-cc and /plugin install codex@openai-codex, then /codex:setup. It adds commands for Codex reviews and for handing Codex a task, runs through the Codex CLI on your machine, and needs a ChatGPT plan (Free included) or an OpenAI API key. For session handoff, the official plugin also provides /codex:transfer. Run it in Claude Code, then run the printed codex resume <session-id> command in your terminal. It imports the conversation into a persistent Codex thread. This requires a Codex version with external-session import; upgrade older versions. This route does not add quota, and we have not tested it after an actual usage-limit stop.

What is the best way to use Codex and Claude Code together?

Split by strength rather than by file: let Claude Code plan and review, let Codex execute a scoped change, then have the other one read the diff. The review pass catches more than running either agent twice.

How do you make Codex and Claude Code work together?

For sequential work, use the same directory and let one agent finish before the other starts. For parallel work, use separate worktrees and explicitly transfer context and merge results. In Orkas a Commander coordinates the local CLI agents in one conversation; you still configure their directories.

Can you run Claude Code and Codex at the same time on the same project?

You can run them in parallel, but don't point both at the same folder at once — they will edit the same files concurrently. Give each agent its own git worktree or its own project directory. Orkas does not isolate agents into separate worktrees for you, so that step is yours either way.

Can you run Claude Code and Codex in one terminal?

Not as two interactive sessions — each CLI wants its own TTY. In practice you either split the terminal with tmux, or let an orchestrator run both as local sessions and collect their output in one place. Orkas takes the second route: both CLIs run under one Commander and report into the same chat.

Can you orchestrate more than just Claude Code and Codex?

Yes. Orkas drives five local CLI agents — Claude Code, Codex, OpenCode, OpenClaw, and Hermes. Whichever ones you have installed show up, and a single Commander can mix them on the same project.

Does Claude Code Projects work with Codex?

No. Claude Code Projects coordinates Claude Code cloud sessions only. To run Claude Code and Codex on the same task you need the Codex plugin, a manual setup with git worktrees, or an orchestrator such as Orkas that runs both on your computer.

Do you need paid plans for both Claude Code and Codex?

Each CLI uses its own login and its own plan. Orkas only spawns the binaries you already have — it does not manage API keys, sign-in, or billing for either one.

What do you do when Claude Code or Codex hits its usage limit?

Wait for the limit to reset, or hand the task to the other agent, since the two limits come from separate plans. Keep a short progress note in the project folder (what is done, what is left, which decisions to keep) so the other agent can pick up from it. In Orkas both agents share the project folder and the conversation, so you @-mention the other one to continue. For session handoff, the official plugin also provides /codex:transfer. Run it in Claude Code, then run the printed codex resume <session-id> command in your terminal. It imports the conversation into a persistent Codex thread. This requires a Codex version with external-session import; upgrade older versions. This route does not add quota, and we have not tested it after an actual usage-limit stop.