Claude Code and Codex together: one writes, the other reviews
Claude Code and Codex are different agents with different blind spots. Let one write the change and have the other review it, seeing only the diff and the issue.
A reviewer that didn't write the change, from a different model, catches what the author's context hides.
Every agent has habits: the files it reaches for, the tests it trusts, the edge cases it assumes away. A different model has different habits, so its read of the change covers ground the writer never looked at. The value is not a second opinion on style but a check on the assumptions the first agent never wrote down.
That second reader is most useful as a Blind review: it sees the change, not the conversation.
The reviewer should see what the change is meant to do and what it actually does, and nothing about how the writer got there. A reviewer that reads the original conversation inherits its assumptions. Given only the diff and the issue, it judges the change on its own terms. That is a Blind review.
The conversation is where the writer explained away the shortcuts, so a reviewer that reads it starts from the same conclusions. Blind, it has to reconstruct the intent from the issue and check whether the diff delivers it.
Both Providers installed and logged in. One Thread with the writer; when its Turn finishes, start a Blind review and pick the other Provider.
In Oxide: open the Project, start a Thread with Claude Code or Codex, and give it the issue. When the Turn ends, open the diff, start a Blind review and choose the other agent as the reviewer. Codex can review a Claude Code change and Claude Code can review a Codex change; the direction does not matter, as long as the reviewer is not the writer.
The reviewer's findings arrive as Line comments on the Diff. Keep the ones that hold up, dismiss the rest, and send the kept ones back to the writer as one prompt.
Read a finding as a claim to verify, not a fix to apply. Keep it when it names a real problem: a missed edge case, a test that asserts the wrong thing, a change that reaches outside the issue. Dismiss the style preferences the writer's own instructions already cover. Send the kept comments back together, so the writer answers them in a single Turn.
A Blind review spends usage on a second Provider. Use it where it pays: changes that touch sensitive paths, trigger Risk signals, or lack tests.
A review of every Turn doubles the tokens for the Thread and adds a wait before you merge. Spend it on the changes where a miss is expensive: authentication, payments, data migrations, files with no tests, and anything the Verification Dossier flags. For a copy fix or a dependency bump, your own read is usually enough.
You can do this by hand: give the second agent a fresh session with only the diff and the issue, and paste its findings back. Oxide removes the copying and keeps the reviewer from seeing the conversation.
The manual version is the same method with more steps: export the diff and the issue into a fresh session, ask the reviewer to comment line by line, then paste the findings into the writer's conversation. It works. What you lose is the certainty that the reviewer never saw the original Thread, and the time spent moving text between two windows.
If you'd rather start from the review itself, How to review AI-generated code covers the four steps that come before and after a second reviewer.
Take your next Turn all the way to the merge.
Oxide drives the Claude Code, Codex or Antigravity CLI you already use. Open a Project, start a Thread and review what comes back.