Skip to content

Diff review ​

Route /thread/:id/diff, reached from Review changes in a thread header.

Everything on this screen comes from the thread's own diff events, folded into one row per file. The list on the left is the files; the pane on the right is the change.

Approve and reject are not symmetric ​

Approve is bookkeeping. The change is already on disk — the agent wrote it when it ran the tool — so approving records that a human looked at it and moves on to the next file.

Reject is the real work. The core has no revert command, so the IDE restores the file itself by reverse-applying the patches that file accumulated in this thread. Each hunk's new side is found in the file and swapped back for its old side, searching outward from the hunk header so an earlier hunk or a hand edit that shifted the file does not defeat it. If a patch no longer matches, the file is left alone and the screen says which hunk failed rather than guessing.

Because that write is destructive and cannot be undone from here, Reject asks for confirmation first. Approve does not.

Diagnostics ​

A file the language server complained about carries a ⚠ N chip in the list, red when any of them is an error and yellow when they are only warnings. The number is errors plus warnings; hovering says which is which, and the header of the file on screen spells it out in words.

The chip is there to change what you read first. A file with two errors in it deserves attention ahead of a file with a hundred changed lines and none, and the counts arrive as the agent works rather than when you open this screen.

A file with no chip has no diagnostics — either the server cleared it, or no server serves that language here. The Settings → Tools card says which of the two it is.

The diagnostics themselves, with their messages and line numbers, are in the tool result back in the thread: the write that produced them shows them under its output.

Keyboard ​

A review screen is a keyboard screen.

KeysAction
j / k, ↓ / ↑Move through the file list
aApprove the focused file
rReject the focused file
EscClose the confirmation dialog

The header counts what is left: how many files, how many approved, how many rejected.

Open in Files sends the focused path to the Files screen, which is the way to read the whole file rather than the changed lines. Back to thread returns to the conversation.

MIT licensed. The manual is generated from the product repositories — see the banner on each page.