GPT-5.3-Codex is lazy and irrationally terrified of breaking anything

Resolved 💬 3 comments Opened Feb 19, 2026 by mkanat Closed Feb 19, 2026

This is mostly model feedback, so I'm not really sure it's actionable for the Codex team. However, I had a conversation with GPT-5.3-Codex via Codex CLI that was particularly bad, today. I started off asking it to do a larger feature change, then narrowed it down to a simpler refactoring to start. (Well, actually, Codex decided to just delete the second half of my plan, which was okay since I decided to re-do it later anyway, but would have been very annoying if I had intended to preserve it.)

It did the worst job of this refactoring of any task I've asked it to do, and it was really not very complex. I was moving some logic from one file into another, and so the tests also needed to move from that file's tests into another file's tests. I had to give Codex _extensive_ manual feedback on the quality and sanity of what it wrote. It tried to do interaction testing. It flipped all the existing tests to mocks that would bypass what the tests were actually supposed to be testing, for no reason. (They weren't even broken!)

Plus (and this isn't the first time this has happened) when I asked it to do something, one time it just said it could and didn't actually do it---behavior I haven't seen from a model since like early 2025.

This behavior is actually typical of the problems I constantly have with GPT-5.3-Codex, although this was the worst experience so far. In general, the model is randomly lazy in a way that Claude never is, it is hyper-paranoid about breaking anything and so it will add random "compatibility glue" when I'm in the middle of a pure internal refactor of a system that has no external dependents. It will modify tests to vacuously pass if I don't watch it like a hawk.

The model is really great in a lot of areas, and Codex in general is much faster than Claude Code and seems way more token-efficient, but the amount of human attention it's taking from me to get it to behave rationally has become too much.

View original on GitHub ↗

This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗