---
title: "Review mode"
description: "ctrl+r opens a full-screen whole-file diff whose line comments go back to the agent as one review prompt."
canonical: "https://agent-manager.dev/docs/review/"
last-updated: "2026-08-22"
section: "Documentation"
source: "agent-manager"
---

# Review mode

`ctrl+r` on a session hands the whole screen to its repo, with a keymap of its own: changed files and +/- counts on the left, the entire file on the right, syntax highlighted with changed lines tinted, so every edit reads in full context. It refreshes as the agent keeps editing, and `esc` returns you to the list where you left it.

![Animated demo of the review screen: line comments written on two changed Go files, each marked reviewed as it is finished, sent to the agent as review round one, then a further comment sent as round two.](/assets/demo-diff.gif)

_Fig. 3ctrl+r · review mode_

## Comments go back to the agent

`c` writes a note on any line and `d` drops one. Comments stay on the review screen until you send them: `C` flattens every one into a single prompt, asks you to confirm, and delivers it into the agent's pane, so the agent starts addressing your notes while you watch the diff update.

## Keys

| Key | Action |
| --- | --- |
| ↑↓ / j k | Scroll the file. `ctrl+d` and `ctrl+u` move half a page, `g` and `G` jump to the ends. |
| J / K | Next, previous file. `tab` and `shift+tab` do the same. |
| n / N | Jump between changes. |
| u | Toggle unified and side by side, holding the cursor on the same source line. |
| s | Cycle the scope: uncommitted, versus target, last commit, staged. |
| r | Pick the repo when the session's directory holds several. Type to filter. |
| b | Pick the branch from the repo's worktrees. |
| B | Pick the target the "versus target" scope compares against. |
| space | Mark a file reviewed. |
| f | Show code files only, hiding images, compiled assets and lock files; press again to show them. |
| c / d | Write, drop a line comment. |
| C | Send every comment to the agent as one review prompt. |
| esc / q | Close the review. |

Each changeable value in the header wears its own key, so the scope, layout, repo and target pills read as `s`, `u`, `r`, `B` legends at a glance.

![The review screen, side by side, with changed lines tinted inside the full file.](/assets/screenshot-review.png)

_Fig. 4side by side_

## Which repo it opens

A session's working directory is often an umbrella folder holding many repos, so review cannot simply guess. An agent that knows which repo it is in says so by calling the [`review`](/docs/mcp/#tools) tool, or by running the subcommand from a shell inside its session:

```bash
agent-manager review-repo /path/to/repo
agent-manager review-base main
```

The path is checked to be inside a git repo and resolved to the repo root, so a declaration is a fact rather than a guess. Review then resolves its target in a fixed order:

- a repo you picked by hand with `r` or `b`, for as long as the manager runs,
- then the agent's declared repo,
- then the ranking: dirty working trees first, then the most recent commit.

> **Worktrees** Linked worktrees are discovered wherever they live on disk, so one declaration names both the repo and the branch under review. A stored base ref that stops resolving surfaces as an error in review, and `B` opens a picker to set or clear it.
