Developer compares Codex and Claude Code after a week

Developer compares Codex and Claude Code after a week

A developer who spent a week using OpenAI's Codex CLI more than Anthropic's Claude Code wrote up ten specific impressions from the experience, framing it as a quick early read ahead of a fuller weekend analysis. The account is personal and anecdotal rather than a benchmark: it compares how the two coding agents feel to use, not measured output quality.

On setup, the author had tried all year to keep the two tools on par by mirroring plugins and skills between them, but Claude ended up with more skills because sessions kept generating new ones that were never ported to Codex. The stated fix is to point Codex at the Claude skills folder and ask it to convert them. Under time pressure, such as an urgent debugging session, the author still reached for Claude first, describing it as more familiar rather than better, and noting that using tools you already know matters when debugging.

On code output, changes from Codex carried fewer comments in the author's Ruby and Ruby on Rails codebase, which the author liked and plans to write up separately. The Codex agent harness's output read as more technical, which the author compared to a version of Data from Star Trek, versus Claude's output, which felt more like a colleague writing during a paired coding session. The author also wants to run many more short, focused Codex sessions instead of the single long Claude sessions used before, though they note this habit may not be specific to Codex itself.

On speed, Codex felt faster at making the main code changes, but finishing the pull request, rerunning tests, and reviewing took long enough afterward that the author saw no net time savings over Claude, despite liking the thoroughness. On architecture, Codex produced simpler solutions with less added abstraction, while Claude tended to introduce more constructs such as Sorbet signatures and type aliases. In one paired test where both tools implemented the same requirement from the same documents, Claude's code was more complex but handled the cases.

Codex also made mistakes. In a branching scenario where branch A targeted branch B, which in turn targeted main, asking Codex to rebase caused it to rebase against main instead of the intended target, producing a pull request with over 4,000 added lines; the author had to explicitly specify that it should rebase only against the target branch. Claude, by contrast, understood the author's intent to branch off other work and keep branches in sync.

Tool integration also differed. Working with Jira and Atlassian through the CLI, rather than an MCP integration, was clunky with Codex, which kept switching between prompting a browser login and the CLI. For MCP authentication generally, the author preferred Codex's explicit codex mcp login flow, which reliably opened the right authentication screen, over Claude, which sometimes tried to run authentication automatically mid-turn and could get stuck. The author's overall takeaway is that Claude tends to go beyond what is asked, inferring and acting on what the user might want, while Codex behaves more like a companion that does what it is told without overdoing it, stopping at the first sign a task might be complete.

Key facts

  • Codex changes carried fewer code comments in the author's Ruby/Rails codebase than Claude's changes.
  • Asking Codex to rebase a branch that targeted another branch caused it to rebase against main instead, producing a pull request with over 4,000 added lines.
  • Codex felt faster on initial changes, but extra time spent on tests and review afterward erased any net time savings compared with Claude.
  • Claude tended to add more abstractions, such as Sorbet signatures and type aliases, while Codex produced simpler, more contained solutions.
  • The author still opened Claude first for urgent debugging, calling it more familiar rather than better.

Why it matters

Personal, detailed comparisons like this are one of the few real-world data points on how OpenAI's Codex CLI and Anthropic's Claude Code actually differ in daily use, beyond marketing claims or formal benchmarks. Developers increasingly lean on such firsthand accounts to decide which coding agent fits their own workflow.

Who it affects

Software engineers and teams currently choosing between AI coding agents, particularly those working in Ruby or Ruby on Rails codebases, managing chained Git branches, or relying on Jira and Atlassian tooling alongside MCP-based integrations.

How to use it

Practical takeaways from the account: port skills accumulated in Claude over to Codex by pointing it at the Claude skills folder and asking it to convert them; consider running several short, focused Codex sessions rather than one long session; and double check any Codex-driven rebase across a chain of branches by specifying the target branch explicitly, since the tool was observed rebasing against main instead.

How solid is it

The account is one developer's subjective week of use, not a controlled benchmark or blind comparison. The author explicitly frames it as quick, personal impressions and says a fuller analysis is planned for the following weekend. Findings such as Codex writing fewer comments or Claude adding more abstractions describe this author's codebase and prompts, not a universal ranking of the two tools.

Risks and caveats

The most concrete negative was a Codex rebase behavior that produced a pull request with over 4,000 unwanted additions when branches were chained, which required explicit correction to fix. Jira and Atlassian CLI integration with Codex also proved clunky in the author's setup. Because the account is anecdotal and from a single user, the results may not generalize to other languages, codebases, or team workflows.

“I think the main difference I feel between Claude and Codex is that Claude tries to go above and beyond what is asked and guess what you might want and then directly do it, while Codex is more like a companion that does what you tell it but will not overdo it. It will stop at the first sign that it might be done.”

— the post's author, allaboutcoding.ghinda.com