← all posts
// workflow · codex

Codex as your PR reviewer: useful, with caveats

Code review is the obvious next surface for Codex: the diff is already on GitHub, the repo context is one clone away, and reviewer attention is the scarcest resource on most teams. The mechanics are nearly frictionless: tag Codex on a pull request and it reads the change against the full repository rather than just the visible hunks, then leaves comments like any other reviewer would.

What it actually catches

Reading the diff in repo context is what separates this from a linter, and it shows in the findings:

  • Mechanical bugs. Off-by-one boundaries, inverted conditions, unhandled error paths. The class of mistake tired humans skim past late in the day.
  • Edge cases the tests skipped. Empty inputs, timezone boundaries, the enum variant the switch statement forgot. The bot is systematic where humans are selective.
  • Cross-file inconsistency. The call site three files away that still assumes the old behavior. This is the repo-context payoff; a diff-only tool cannot see it.

In my experience this pass is more consistent than most human reviews on pure mechanics. It never skims. It never gets tired, and it never assumes the author probably checked.

What it reliably misses

Codex does not know that this endpoint is scheduled for deletion, that the team agreed to stop extending this module, or that the simple fix is wrong because of a customer commitment nobody wrote down. It reviews the code in front of it; it cannot review the conversation the code came from. Design intent, product context, should-this-exist-at-all. Those live in heads and threads, not in the repository. That ceiling applies to AI code review generally, and Codex does not escape it.

The bot can review the code. Only humans can review the decision to write it.

The fatigue problem

Volume kills these rollouts, not a missed bug. An untuned review bot leaves a dozen comments per PR, most of them nitpicks, and within a month the team scrolls past all of them, including the one real catch. A review bot the team ignores is strictly worse than none, because it trains people to skim review itself.

So tune it like you mean it. Raise the bar so it only comments on findings that would genuinely block a merge. Scope it away from generated files and vendored code. Put your conventions in AGENTS.md so it stops relitigating settled style questions on every PR. Then watch one metric: whether developers reply to its comments or dismiss them. Replies mean it has earned a seat; silence means cut its volume in half and try again.

Deploy it as the first pass, never the last word. Let Codex burn down the mechanical findings before a human looks, so human attention gets spent on design and intent (the column the bot cannot cover). Used that way, it genuinely raises the floor of your review process. Used as a replacement, it quietly lowers the ceiling.

#codex#code-review#github