A lot of (carefully hedged) pro Codex posts on HN read suspect to me. I've had mixed results with both CC and Codex and these kinds of glowing reviews have the air of marketing rather than substance.
This blog post lacks almost any form of substance.
It could've been shortened to: Codex is more hands off, I personally prefer that over claude's more hands-on approach. Neither are bad. I won't bring you proof or examples, this is just my opinion based on my experience.
I do feel like the Codex CLI is quite a bit behind CC. If I recall correctly it took months for Codex to get the nice ToDo Tool Claude Code uses in memory to structure a task into substeps. Also I‘m missing the ability to have the main agent invoke subagents a lot.
All this of course can be added using MCPs, but it’s still friction. The Claude Code SDK is also way better than OpenAI Agents, it’s almost no comparison.
Also in general when I experienced bugs with Codex I was always almost sure to find an open GitHub issue with people already asking about a fix for months.
Still I like GPT-5.2 very much for coding and general agent tasks, and there is EveryCode which is a nice fork of Codex that mitigates a lot of shortcomings
Respectfully I don’t think the author appreciates that the configurability of Claude Code is its performance advantage. I would much rather just tell it what to do and have it go do it, but I am much more able to do that with a highly configured Claude Code than with Codex which is pretty much just set at the out of the box quality level.
I spend most of my engineering time these days not on writing code or even thinking about my product, but on Claude Code configuration (which is portable so should another solution arise I can move it). Whenever Claude Code doesn’t oneshot something, that is an opportunity for improvement.
It's hard to compare the two tools because they change so much and so fast.
Right now, as an example, claude code with opus 4.5 is a beast, but before that, with sonnet 4.0, codex was much better.
Gemini-cli, on the other hand, with gemini-flash-3.0 (which is strangely good for the "small and fast" model), it's very good (but the cli and the user experience are not on par with codex or claude yet).
So we need to be in constant observations of those tools. Currently (after gemini-flash-3.0 came out), I tend to submit the same task to claude (with opus) and gemini to understand the behaviour. gemini is surprising me.
This is an interesting opinion but I would like to see some proof or at least more details.
What plans are you using, what did you build, what was the output from both on similar inputs, what's an example of a prompt that took you two hours to write, what was the output, etc?
I've noticed a lot of these posts tend to go codex vs claude, but as author is someone who does AI workshops curious why Cursor is left out of this post (and more generally posts like this).
From my personal experience I find cursor to be much more robust because rather than "either / or" its both and can switch depending on the time or the task or whatever the newest model is.
It feels like the same way people often try to avoid "vendor lock in" in software world that Cursor allows freedom for that, but maybe I'm on my own here as I don't see it naturally come up in posts like these as much.
I've been using Claude code most of the year, and codex since soon after it released:
It's important to separate vibes coding from vibes engineering here. For production coding, I create fairly strict plans -- not details, but sequences, step requirements, and documented updating of the plan as it goes. I can run the same plan in both, and it's clear that codex is poor at instruction following because I see it go off plan most of the time. At the same time it can go on its own pretty far in an undirected way.
The result is when I'm doing serious planned work aimed for production PRs, I have to use Claude. When it's experimental and I don't care about quality but speed and distance, such as for prototyping or debugging, codex is great.
Edit: I don't think codex being poor at instruction following is inherent, just where they are today
Spec dev can certainly be effective, but having used Claude Code since its release, I’ve found the pattern of continuous refactoring of design and code produces amazing results.
And I’ll never use OpenAI dev tools because the company insists on a complete absence of ethical standards.
I’ve checked out codex after the glowing reviews here around September / October and it was, all in all, a letdown (this was writing greenfield modules in a larger existing codebase).
Codex was very context efficient, but also slow (though I used the highest thinking effort), and didn’t adapt do the wider codebase almost at all (even if I pointed it at the files to reference / get inspired by). Lots of defensive programming, hacky implementations, not adapting to the codebase style and patterns.
With Claude Code and starting each conversation by referencing a couple existing files, I am able to get it to write code mostly like I would’ve written it. It adapts to existing patterns, adjusts to the code style, etc. I can steer it very well.
And now with the new cheaper faster Opus it’s also quite an improvement. If you kick off sonnet with a long list of constraints (e.g. 20) it would often ignore many. Opus is much better at “keeping more in mind” while writing the code.
Note: yes, I do also have an agent.md / claude.md. But I also heavily rely on warming the context up with some context dumping at conversation starts.
The process you have described for Codex is scary to me personally.
it takes only one extra line of code in my world(finance) to have catastrophic consequences.
even though i am using these tools like claude/cursor, i make sure to review every small bit it generated to a level, where i ask it create a plan with steps, and then perform each step, ask me for feedback, only when i give approval/feedback, it either proceeds for the next step or iterate on previous step, and on top of that i manually test everything I send for PR.
because there is no value in just sending a PR vs sending a verified/tested PR
with that said, I am not sure how much of your code is getting checked in without supervision, as it's very difficult for people to review weeks worth of work at a time.
I think the author glosses over the real reason why tons of people use Codex over CC: limits. If you want to use CC properly you must use Opus 4.5 which is not even included in the Claude Pro plan. Meanwhile you can use Codex with gpt-5.2-codex on the ChatGPT Plus plan for some seriously long sessions.
Looks like Gemini plans have even more generous limits on the equivalently priced plans (Google AI Pro). I'd be interested in the experiences of people who used Google Antigravity/Gemini CLI/Gemini Code Assist for nontrivial tasks.
I don't think the comparison to programming languages holds, maybe very tenuously at best. Coding assistants evolve constantly, you can't even be talking about "Codex" without specifying the time range (ie, Codex 2025-10) because it's different from quarter to quarter. Same with CC.
I believe this is the main source of disagreement / disappointment when people read opinions / reviews, then proceed to have an experience very different from expected.
Ironically, this constant improvement/evolution erodes product loyalty -- personally, I'm a creature of habit and will stay with a tool past its expiry date; with coding assistants / sota llms, I cancel and switch subscriptions all the time.
I tried so hard to make Codex work, after the glowing reviews (not just from Internet randos/potential-shills, though; people I know well, also).
It's objectively worse for me on every possible axis than Claude Code. I even wondered if maybe I was on some kind of shadow-ban nerf-list for making fun of Sam Altman's WWDC outfit in a tweet 20 years ago. (^_^)
I don't love Claude's over-exuberant personality, and prefer Codex's terse (arguably sullen) responses.
But they both fuck up often (as they all do), and unlike Claude Code (Opus, always), Codex has been net-negative for me. I'm not speed-sensitive, I round-robin among a bunch of sessions, so I use the max thinking option at all times, but Codex 5.1 and 5.2 for me are just worse code, and worse than that, worse at code review to the point that it negated whatever gains I had gotten from it.
While all of them miss a ton of stuff (of course), and LLM code review just really isn't good unless the PR is tiny — Claude just misses stuff (fine; expected), while Codex comes up with plausible edge-case database query concurrency bugs that I have to look at, and squint at, and then think hmm fuck and manually google with kagi.com for 30 minutes (LIKE AN ANIMAL) only to conclude yeah, not true, you're hallucinating bud, to which Codex is just like. "Noted; you are correct. If you want, I can add a comment to that effect, to avoid confusion in future."
So for me, head-to-head, Claude murders Codex — and yet I know that isn't true for everybody, so it's weird.
What I do like Codex for is reviewing Claude's work (and of course I have all of them review my own work, why not?). Even there, though, Codex sometimes flags nonexistent bugs in Claude's code — less annoying, though, since I just let them duke it out, writing tests that prove it one way or the other, and don't have to manually get involved.
I must be doing something wrong. When I last tried to use Codex 5.2 (via Cursor), no amount of prompting could get it to stop aggressively asking me for permission to do things. This seems to be the opposite of the article's claim, which is that Codex is better for long-running, hands off tasks.
With claude code I'll ask it to read a couple of files and do x similar to existing thing y. It takes a few moments to read files and then just does it. All done in a minute or so.
I tried something similar with codex and it took 20 minutes reading around bits of file and this and that. I didn't bother letting it finish. Is this normal? Do I have something misconfigured? This was a couple of months ago.
I think a big part is which model seems to work better with your language/stack. My language is Elixir, which is somewhat niche, and only Claude has been able to produce usable Elixir code so far. None of the other things mentioned in the article mattered, because of this. I wonder if others have this experience that some models just struggle with some languages/stacks?
I switched from OpenAI models to using Anthropic ones some time ago, and every once in a while I briefly check in again just in case. I continue to be amazed at how infuriating OpenAI's agents are. They do things I never asked for, make decisions I didn't ask them to make, impute assumptions I never suggested, and just generally rapidly piss me off. I find it maddening, and then I immediately switch back to using Claude and it's like an immediate wave of relief washes over me because Claude just always seems to follow along with me and do what I actually want.
22 comments
[ 4.7 ms ] story [ 35.1 ms ] threadIt could've been shortened to: Codex is more hands off, I personally prefer that over claude's more hands-on approach. Neither are bad. I won't bring you proof or examples, this is just my opinion based on my experience.
All this of course can be added using MCPs, but it’s still friction. The Claude Code SDK is also way better than OpenAI Agents, it’s almost no comparison.
Also in general when I experienced bugs with Codex I was always almost sure to find an open GitHub issue with people already asking about a fix for months.
Still I like GPT-5.2 very much for coding and general agent tasks, and there is EveryCode which is a nice fork of Codex that mitigates a lot of shortcomings
I spend most of my engineering time these days not on writing code or even thinking about my product, but on Claude Code configuration (which is portable so should another solution arise I can move it). Whenever Claude Code doesn’t oneshot something, that is an opportunity for improvement.
Right now, as an example, claude code with opus 4.5 is a beast, but before that, with sonnet 4.0, codex was much better.
Gemini-cli, on the other hand, with gemini-flash-3.0 (which is strangely good for the "small and fast" model), it's very good (but the cli and the user experience are not on par with codex or claude yet).
So we need to be in constant observations of those tools. Currently (after gemini-flash-3.0 came out), I tend to submit the same task to claude (with opus) and gemini to understand the behaviour. gemini is surprising me.
What plans are you using, what did you build, what was the output from both on similar inputs, what's an example of a prompt that took you two hours to write, what was the output, etc?
From my personal experience I find cursor to be much more robust because rather than "either / or" its both and can switch depending on the time or the task or whatever the newest model is.
It feels like the same way people often try to avoid "vendor lock in" in software world that Cursor allows freedom for that, but maybe I'm on my own here as I don't see it naturally come up in posts like these as much.
It's important to separate vibes coding from vibes engineering here. For production coding, I create fairly strict plans -- not details, but sequences, step requirements, and documented updating of the plan as it goes. I can run the same plan in both, and it's clear that codex is poor at instruction following because I see it go off plan most of the time. At the same time it can go on its own pretty far in an undirected way.
The result is when I'm doing serious planned work aimed for production PRs, I have to use Claude. When it's experimental and I don't care about quality but speed and distance, such as for prototyping or debugging, codex is great.
Edit: I don't think codex being poor at instruction following is inherent, just where they are today
And I’ll never use OpenAI dev tools because the company insists on a complete absence of ethical standards.
Codex was very context efficient, but also slow (though I used the highest thinking effort), and didn’t adapt do the wider codebase almost at all (even if I pointed it at the files to reference / get inspired by). Lots of defensive programming, hacky implementations, not adapting to the codebase style and patterns.
With Claude Code and starting each conversation by referencing a couple existing files, I am able to get it to write code mostly like I would’ve written it. It adapts to existing patterns, adjusts to the code style, etc. I can steer it very well.
And now with the new cheaper faster Opus it’s also quite an improvement. If you kick off sonnet with a long list of constraints (e.g. 20) it would often ignore many. Opus is much better at “keeping more in mind” while writing the code.
Note: yes, I do also have an agent.md / claude.md. But I also heavily rely on warming the context up with some context dumping at conversation starts.
it takes only one extra line of code in my world(finance) to have catastrophic consequences.
even though i am using these tools like claude/cursor, i make sure to review every small bit it generated to a level, where i ask it create a plan with steps, and then perform each step, ask me for feedback, only when i give approval/feedback, it either proceeds for the next step or iterate on previous step, and on top of that i manually test everything I send for PR.
because there is no value in just sending a PR vs sending a verified/tested PR
with that said, I am not sure how much of your code is getting checked in without supervision, as it's very difficult for people to review weeks worth of work at a time.
just my 2 cents
Looks like Gemini plans have even more generous limits on the equivalently priced plans (Google AI Pro). I'd be interested in the experiences of people who used Google Antigravity/Gemini CLI/Gemini Code Assist for nontrivial tasks.
I believe this is the main source of disagreement / disappointment when people read opinions / reviews, then proceed to have an experience very different from expected.
Ironically, this constant improvement/evolution erodes product loyalty -- personally, I'm a creature of habit and will stay with a tool past its expiry date; with coding assistants / sota llms, I cancel and switch subscriptions all the time.
It's objectively worse for me on every possible axis than Claude Code. I even wondered if maybe I was on some kind of shadow-ban nerf-list for making fun of Sam Altman's WWDC outfit in a tweet 20 years ago. (^_^)
I don't love Claude's over-exuberant personality, and prefer Codex's terse (arguably sullen) responses.
But they both fuck up often (as they all do), and unlike Claude Code (Opus, always), Codex has been net-negative for me. I'm not speed-sensitive, I round-robin among a bunch of sessions, so I use the max thinking option at all times, but Codex 5.1 and 5.2 for me are just worse code, and worse than that, worse at code review to the point that it negated whatever gains I had gotten from it.
While all of them miss a ton of stuff (of course), and LLM code review just really isn't good unless the PR is tiny — Claude just misses stuff (fine; expected), while Codex comes up with plausible edge-case database query concurrency bugs that I have to look at, and squint at, and then think hmm fuck and manually google with kagi.com for 30 minutes (LIKE AN ANIMAL) only to conclude yeah, not true, you're hallucinating bud, to which Codex is just like. "Noted; you are correct. If you want, I can add a comment to that effect, to avoid confusion in future."
So for me, head-to-head, Claude murders Codex — and yet I know that isn't true for everybody, so it's weird.
What I do like Codex for is reviewing Claude's work (and of course I have all of them review my own work, why not?). Even there, though, Codex sometimes flags nonexistent bugs in Claude's code — less annoying, though, since I just let them duke it out, writing tests that prove it one way or the other, and don't have to manually get involved.
With claude code I'll ask it to read a couple of files and do x similar to existing thing y. It takes a few moments to read files and then just does it. All done in a minute or so.
I tried something similar with codex and it took 20 minutes reading around bits of file and this and that. I didn't bother letting it finish. Is this normal? Do I have something misconfigured? This was a couple of months ago.
How many people use none of this?
Then author describes a website theme toggle feature.
Get out of here!!!!