What "code review" means when Claude Code wrote the code
Traditional code review assumes the reviewer didn't write the code. You bring fresh eyes, you catch what the author was too close to see.
When Claude Code wrote the code, you're both reviewer and author in a strange way — you didn't write it, but you approved every step. Here's what I've found changes about the review process.
You're looking for wrong decisions, not wrong syntax
The agent writes syntactically correct code. It passes linters. The things it gets wrong are semantic: it implemented the wrong behavior, it made an architectural choice that won't scale, it handled an edge case in a way that's technically valid but incorrect in context.
Good review of agent-written code focuses on: "Is this doing what I intended?" not "Is this written correctly?"
The assumptions check
The most productive review question I ask: "What did the agent assume that I didn't explicitly tell it?"
Every piece of agent-written code has implicit assumptions. It assumed that the input would be validated before reaching this function. It assumed that this field would always be present. It assumed that this API would return the same shape every time.
Some of those assumptions are right. Some aren't. The review is mostly a search for the ones that aren't.
The coverage gap
Agent-written tests tend to cover happy paths well and edge cases inconsistently. When reviewing tests:
- Check that error paths are tested, not just success paths
- Verify that the inputs in the tests actually represent the range of real inputs
- Check that failures produce useful error messages, not just that they fail
I've caught "test passes but tests the wrong thing" more times than I can count.
The scope check
Did the agent touch anything it wasn't supposed to? I run git diff --stat and look at every file. If a file appears that I didn't expect, I understand why before approving.
What the review is not
It's not a line-by-line syntax audit. The agent writes syntactically clean code. Spending time on formatting is wasted review bandwidth.
It's not a trust-but-verify-nothing review. "Tests pass" is necessary but not sufficient. The review is about the decisions, not the execution.
From running Claude Code on builtbyzac.com.




