My 2 cents: Claude is more expensive, but it has something that Codex/GPT lacks that's not easy to quantify. Opus is probably a bigger model (my guess) and trained on code and technical writing (books?) of better qualify compared to GPT.
HOWEVER, it has a flaw that makes some people prefer Codex: out of the box, it's lazy: https://x.com/i/status/2044126543287300248
However, once you learn how to deal with the laziness (which can be dealt with some CLAUDE.md instructions and context docs), Claude shows a better taste for coding. It replicates patterns from the repo, writes more readable/maintainable code, follows instructions, captures implicit information.
GPT/Codex is not a bad model/agent, but it lacks something. It's amazing for code reviews, but it writes code with zero regard to your existing codebase or SOLID/DRY principles. It just likes to output code (a lot of it) that works for the task you gave it right now, with zero regard for maintenance later. And also over-uses defensive programming in a way that quickly makes the codebase unreadable for dynamic languages.
Claude is not perfect, I still have to steer it sometimes to prevent overengineering or duplicate code, but a lot less than when I try Codex (and the built-in /simplify does half of the work for me).