Back to Research

Codex vs Claude Code, from teams running both

Codex vs Claude Code without the benchmark theatre. Where each one wins in day-to-day work, and why most teams end up keeping both installed.

Esquisse de paysage, landscape painting by Théodore Rousseau (1830).
Rogier MullerAugust 15, 20263 min read

They are the same shape now

Both are terminal-first coding agents. Both read and edit files, run commands, and work in a loop until the task is done or they get stuck. Both take repo-level instructions from a markdown file at the project root. Both support MCP servers. Both can run on a pull request as well as on your laptop.

So the comparison people want, which tool is smarter, is the least useful question. Model quality moves every few months and any ranking you write down goes stale. The differences that persist are about defaults, feel, and where each one sits in a company's existing stack.

Where the difference actually shows up

From watching teams do real work with both:

  • Codex leans conservative. It tends to ask before doing something wide, and it stops sooner. Good for people who do not want surprises, mildly annoying for people who want a full feature attempted in one go.
  • Claude Code leans autonomous. Longer runs, more files touched per turn, more willingness to keep going after a failed test. That is an advantage when the task is well specified and a liability when it is not.
  • Codex fits naturally if your review culture already lives in GitHub, because pushing review and task work into the PR is its comfortable path.
  • Claude Code has the richer extension surface for teams that want to encode their own process: skills, subagents, hooks that the harness enforces rather than the model choosing to obey.
  • On plain "fix this failing test in a familiar codebase", you will not reliably tell them apart. We have run that exercise in workshops and people guess wrong about half the time.

Running Codex vs Claude Code as an actual bakeoff

Do not read comparison posts, including this one, as your decision input. Run the same three tasks through both, in your repo, with your test suite. Pick tasks with different shapes:

One narrow bug with a reproducible failure. One feature that touches four or five files. One piece of grunt work, like migrating a deprecated API call across the codebase. Time each, and count the number of times you had to intervene.

The number that matters is not wall-clock. It is corrections per task. A tool that finishes in six minutes and needs three corrections is worse than one that takes twelve and needs none, because the corrections are where your attention goes.

Give both the same starting instructions file. If you hand one tool a carefully written AGENTS.md and the other an empty repo, you are measuring your own preparation, not the tools.

What most teams settle on

Both, split by task. Engineers keep one as the daily driver and reach for the other when the first one gets stuck in a loop, which is more effective than it sounds. A fresh agent with different defaults often breaks a deadlock immediately, because it does not carry the bad framing that got the first one wedged.

The cost of that is real: two sets of instruction files to keep in sync, two configs, two sets of habits. Small teams should probably pick one and go deep. Once you are past about ten engineers, the overhead is worth the escape hatch.

What to do next

Block two hours. Same three tasks, both tools, one engineer, corrections counted on paper. You will have a defensible answer for your codebase by lunch, and it will be more useful than any leaderboard.

If you want help putting this into practice, talk to us.

Related training topics

Related research

Continue through the research archive

Ready to start?

Transform how your team builds software.

Book a 15-minute sync