Here is a simple but good example of how Codex tends to handle tasks better than Claude Code.
A user reported that some actions in http://tidewave.ai had keyboard shortcuts but were not displaying them on mouseover. I asked Codex to find and fix the missing cases.
Codex found all of them and additionally introduced a small helper called shortcutLabel that maps a ShortcutAction to its label (see code screenshot). The benefits are two:
* It uses the ShortcutAction type to ensure we don't accidentally forget the label of any shortcut
* The helper was added to shortcut.ts, colocating labels with the shortcuts themselves, making future additions more foolproof
Codex also updated the other places where we listed shortcuts to use the new helper. I didn't ask Codex to create the helper but it was the right call. Maybe we would have suggested it during code review, maybe we would not. But I'd say Codex left the codebase in a better state than it found it.
I gave Claude Code the exact same prompt three different times. In every case, it just inlined the shortcuts in the templates, duplicating information across multiple files. I rarely feel Claude Code improves the codebase unless I explicitly tell it to do so.
Now the flipside is that sometimes Codex is going to go ahead and create abstractions when they are not needed, but so far I have seen more hits than misses.

