DEV Community

Alook
Alook

Posted on Originally published at alook.ai

How to Make Claude Code and Codex Work as One Team

Claude Code and Codex can share a repository without sharing context, ownership, or a next step. This guide shows a practical builder-reviewer workflow with explicit handoffs and a human merge boundary.

Illustration of two separate coding-agent runtimes (Builder and Reviewer) connected by a gold coordination layer with handoffs and human merge approval

What it is: Claude Code and Codex on the same repository as one team means stable roles, structured handoffs, shared status, and a human approval boundary for merge and release.

What it is not: One shared brain, one chat history, or “open two terminals and hope.” Each runtime keeps its own session. Without an explicit crossing, you become the hidden router between them.

Yes, you can use Claude Code and Codex together on the same repository. Pick who implements and who reviews (either direction works). Design the handoff so review findings and next owners do not depend on you pasting between terminals.

Why two coding-agent terminals are not one team

Opening Claude Code in one terminal and Codex in another is not coordination. It is parallel access to the same repository with two separate brains.

Each runtime keeps its own conversation history, tool permissions, and working context. When the Codex session does not see what the Claude Code session decided yesterday, you paste summaries. When the implementer does not see review comments until you forward them, you paste again.

That pattern is the subject of AI team vs AI tools: isolated assistants can be powerful, but the human often becomes the copy-paste layer between them.

A team, in the useful sense, means stable ownership, an explicit next step, and a record that survives when either session closes. Two runtimes running at once do not provide that by default.

How Claude Code and Codex organize work

This section describes public product models, not a ranking of which tool is "better" at implementation or review.

Claude Code

Claude Code reads and edits a codebase, runs commands, and operates from the terminal, IDE integrations, desktop, and browser surfaces Anthropic documents.

Inside a single Claude Code session, you can delegate to specialized subagents. Subagents run in separate context windows, work on scoped tasks, and return results to the main session. That is orchestration within one runtime. For how that nested model differs from independent agents, see Claude Code subagents vs independent agents.

Claude Code can also run dynamic workflows for large parallel jobs inside the same ecosystem. We covered how that differs from persistent cross-session coordination in our guide to Claude Code dynamic workflows vs async coordination. This article focuses on a different problem: coordinating Claude Code with an independent Codex runtime.

Codex

OpenAI ships Codex as a local CLI and as a broader Codex experience that includes an app for managing multiple agents, parallel threads, and longer-running tasks. In that model, different agents can work in separate threads while you inspect diffs, leave comments, and return to your editor.

That is orchestration inside Codex's own environment. It does not, by itself, define how a Codex agent hands work to a Claude Code agent with a durable identity on the other side.

Where the cross-runtime gap opens

Layer What the runtime handles
Runtime-internal orchestration Claude Code subagents and workflows; Codex agents and threads
Cross-runtime coordination Identity, roles, handoffs, status, and history across Claude Code and Codex

Both tools can organize agentic work internally. The gap opens when work must move from one runtime into the other and stay owned by someone specific.

Four ways to use Claude Code and Codex together

1. Manual routing

You copy objectives, diffs, and review notes between terminals or threads.

When it works. Small tasks, early experiments, or cases where you want full control over every message.

Where it breaks. Every handoff depends on you remembering what changed, what was rejected, and what still needs a human decision. Context compounds faster than copy-paste can keep up.

2. Shared repository, Git, and pull requests

Both runtimes work against the same repo. Branches, commits, and PRs carry the code changes.

When it works. Teams already disciplined about branch ownership, small scopes, and review before merge.

Where it breaks. Git coordinates code well. It does not record who should act next, why a decision was made, or which agent owns an unresolved question. Problems appear when both sessions act on stale assumptions or lack visibility into the other session's decisions. See when agents don't share context for how that drift shows up.

3. Runtime-native agent orchestration

You use Claude Code subagents or Codex's multi-agent threads inside each product's own model.

When it works. The entire job stays inside one vendor stack. You do not need a Claude Code agent and a Codex agent on the same long-running workflow.

Where it breaks. The moment you want Claude Code to implement and Codex to review as peer runtimes with persistent roles, native orchestration on each side does not connect the two worlds.

4. Cross-runtime coordination layer

Agents on different runtimes get stable identities, roles, tasks, and communication paths outside either CLI.

When it works. You run multiple local coding agents regularly and want cross-runtime work to survive session restarts without rebuilding context.

Where it breaks. If the job is a one-off question, a coordination layer adds setup you may not need yet.

What a cross-runtime AI agent team needs

Before you pick tools, define what "same team" means in practice.

Stable roles. Someone implements. Someone reviews. Research or ops can sit on a separate seat when the workflow needs it. Labels can change, but ownership should not shuffle every message.

Explicit ownership. At any moment, one agent (or one human) should own the next action.

Structured handoff. The next participant needs the objective, the current branch or commit, decisions already made, checks already run, open questions, and the requested next step.

Shared status. You should not need to read two terminals to learn whether review is waiting on fixes or merge is blocked on a human call.

Human approval boundary. Merge, release, customer-facing changes, and permission changes stay with a person.

Example workflow: Claude Code implements, Codex reviews

The split below is illustrative. You can reverse the roles depending on your subscriptions, repository layout, and preference. Nothing here claims Claude Code is inherently the implementer or Codex the reviewer.

Human assigns a scoped feature
        ↓
Claude Code agent implements on a feature branch
        ↓
Handoff includes commit, changed files, assumptions, and open questions
        ↓
Codex agent reviews the diff and runs checks
        ↓
Review findings return to the implementer
        ↓
Human approves the final merge
Enter fullscreen mode Exit fullscreen mode

Vertical workflow from human task assignment through Builder implementation, structured handoff, Reviewer review, and human merge approval

A minimal handoff package:

  • Objective — what "done" means for this slice
  • Branch or commit — where to look
  • Files changed — scope of the edit
  • Decisions made — options chosen and rejected
  • Checks already run — tests, linters, or manual steps completed
  • Open questions — anything blocking a clean review
  • Requested next action — review, fix, or escalate to human

That list overlaps with the handoff minimum in shared context between agents. The difference here is the handoff crosses runtimes, including cases where each role lives outside a single chat. For what survives when a CLI session closes, see keeping context across coding agent sessions.

Running Claude Code and Codex through Alook

Alook is an open-source platform for rooms where people and local AI coding agents work together. Agents still run on your machine. You can register at alook.ai and connect a local runtime, or self-host from the GitHub repository. Public product surfaces list Claude Code, Codex, Cursor, OpenCode, and Pi as supported local runtimes today.

When Alook fits

Alook fits when you already run more than one local coding agent and want cross-runtime work to keep names, roles, and shared history instead of living only in your head and two terminals. In a room with people and agents, the handoff can stay visible after either CLI session closes.

It is a poor fit for a single quick question inside one runtime, or for work that never leaves Claude Code's own subagent model.

Publicly documented setup

Two paths:

  1. Hosted: Register at alook.ai, pair your machine with the generated daemon command, and connect the local environments where Claude Code and Codex run.

  2. Self-hosted: Run npx @alook/app onboard to start four Wrangler services plus the local daemon. Note: self-host disables OAuth login (email/password required) and email sending/receiving is unavailable.

  3. Create agents with distinct roles so each runtime has a clear owner for implementation, review, or research.

  4. Put people and agents in the same room (channels, threads, or DMs) so the next owner can see the handoff without you pasting between terminals.

Exact UI steps can change between releases. Treat the list above as the documented shape of the product, not a click-by-click manual.

Example team configuration

A minimal cross-runtime team could be configured like this:

  • Builder agent — connected to Claude Code — owns implementation tasks on feature branches
  • Reviewer agent — connected to Codex — owns diff review and check runs against the same repo
  • You — own scope, merge approval, and anything that changes production or customer expectations

Work flows: you assign a scoped task to Builder → Builder commits and sends a handoff with branch, files, and open questions → Reviewer receives the task → Reviewer returns findings → Builder addresses them → you merge when satisfied.

That pattern mirrors the example workflow earlier. Alook supplies the shared room, identities, and message history; each runtime still executes commands and edits files locally.

Org chart with a human owner, a Builder agent on Claude Code, and a Reviewer agent on Codex connected by handoff arrows

What Alook coordinates

  • Agent identity across rooms
  • Role ownership across runtimes
  • Durable threads that outlive a single CLI session
  • Ownership and status visible in messages and marks
  • Cross-runtime handoff routing

What Claude Code and Codex still control

  • Model behavior and reasoning quality
  • File reading, editing, and command execution
  • Context-window limits inside each session
  • Account, subscription, and CLI-specific constraints
  • Whether the generated code is correct for your repo

Alook does not replace either runtime. It sits between them so you stop being the only integration point.

Current limits

Alook is a coordination layer, not a merged IDE. You still maintain two runtimes, two sets of credentials, and your own review standards. Features and onboarding flows evolve; confirm runtime support and setup steps in the current docs before you plan a production workflow around them.

For broader team design, see AI agent orchestration, how to build an AI agent team, and how to delegate tasks to AI agents.

Claude Code and Codex FAQ

How do you use Claude and Codex together? Run both against the same repo, assign stable roles, move code through Git, and pass handoffs the next runtime can act on. When sessions close, add identities, threads, or marks so review findings and implementation updates do not depend on you pasting between terminals.

Codex vs Claude Code: which should you use? Neither wins every job. Pick by task, subscription, and habit. Many teams keep both and split implementation from review instead of forcing every slice into one runtime.

Can Claude Code delegate to Codex? Yes, when delegation means a structured handoff: objective, branch or commit, files changed, decisions, checks run, open questions, and the requested next action. Claude Code does not automatically push context into Codex's session; you or a coordination layer carries the package.

What is a Claude Code handoff to Codex? A handoff is the package the next runtime needs: objective, branch or commit, files changed, decisions made, checks already run, open questions, and the requested next action. Delegating inside one Claude Code session to Codex still needs that package if the work leaves the first runtime.

Can Claude Code and Codex work on the same repository? Yes. Branches, commits, and pull requests are the usual shared surface. The harder part is coordinating who acts next and how review findings return without you rebuilding context in each terminal.

Does Alook replace Claude Code or Codex? No. Alook coordinates roles, handoffs, and visibility across runtimes. Claude Code and Codex still execute commands and edit files on your machine.

When keeping them separate is simpler

You may not need a cross-runtime team yet.

  • The task fits comfortably in one runtime and one session
  • You are still learning Claude Code or Codex on its own
  • Manual copy-paste has not become a daily tax
  • There is no recurring split between implementation and review across vendors
  • Runtime-native subagents or Codex threads already cover the whole job

Start simple. Add coordination when the cost of routing work yourself shows up every week.


Claude Code and Codex can each manage agentic work inside their own ecosystems. The cross-runtime question is narrower and harder: who owns the next step when work leaves one runtime and lands in another?

Define roles, pack small handoffs, and use Git for code. When routing between sessions becomes the job, a coordination layer is the category answer. Connect your agents, assign the split that fits your repo, and keep merge authority where it belongs: with you.

Related

Top comments (0)