Skip to main content
Run a local review from your coding agent:
Or start the same review from a terminal:
Plannotator detects the repository and opens the diff in your browser. When an agent starts the command, it captures your submitted annotations. When you start the command directly, Plannotator prints the result in the terminal. The available comparison modes depend on the source-control system.

Git reviews start with everything since the base branch

In a Git repository, the default All changes view uses Plannotator’s since-base comparison. It shows the change a pull request would contain if you committed and pushed now by comparing the merge base of your branch and its base branch with the current working tree. It includes:
  • Commits on your branch
  • Staged and unstaged changes
  • Untracked files
Plannotator tries the repository’s default branch first, then common main and master references. If it cannot resolve a base branch, it opens the uncommitted changes instead. This fallback avoids hiding committed work behind an invalid comparison. Use the comparison picker to review only uncommitted, staged, or unstaged changes, the last commit, a specific commit, all files at HEAD, or committed branch changes. The base picker can compare against another local or remote reference. The Git status panel groups committed changes, working-tree changes, and untracked files in the default All changes view. Staging controls and the commit-history rail are available only for ordinary local Git reviews.

Choose the source-control provider

Plannotator uses the nearest supported repository root. When a folder contains nested Git, GitButler, or Jujutsu repositories, it can show their workspace changes together with repository-prefixed paths.

Force Git or GitButler

Automatic detection recognizes an active GitButler workspace only when the repository is on the GitButler workspace reference and has a configured GitButler target reference. A leftover GitButler database or reserved branch is not enough. Use a flag when you need to choose explicitly:
--gitbutler fails with a clear error if a compatible but command is not on PATH. It does not silently fall back to Git. On Windows, make the but.exe installed by GitButler Desktop available on PATH. The standalone GitButler CLI supports macOS and Linux. GitButler’s default Workspace view includes applied committed work, assigned and unassigned working-tree changes, and untracked files. Stack shows committed changes through a stack tip. Branch shows one committed branch layer. Assigned working-tree hunks stay in Workspace because GitButler does not provide one authoritative combined diff for a stack plus those hunks. In Stack and Branch views, treat the rendered patch and expanded file content as authoritative. Plannotator disables editor opening, code navigation, semantic diff, and VS Code annotations because the live workspace can contain later branch layers or other applied stacks.

Review Jujutsu changes

Plannotator detects a Jujutsu workspace through the installed jj command. The comparison picker offers:
  • Current for @ compared with its parent
  • Last for the previous change
  • Line for the current line of work back to the selected target
  • Evolution for the current change compared with an older evolution entry
  • All for the repository root through @
Line mode can target local or remote bookmarks. Plannotator does not expose a separate --jj flag.

Review Perforce changelists

Plannotator detects Perforce after Git by running p4 info and reading the current client root. The default view contains files opened in the default changelist. Use the comparison picker to open another pending numbered changelist owned by the current user and client. Perforce support is available in Plannotator’s main CLI-backed agent setups. The Pi extension’s review server does not provide a Perforce provider.

Annotate and return the review

Select changed lines to add comments, quick labels, deletion requests, or an approval mark. Send Feedback produces structured file and line references. Approve produces the configured code-review approval prompt. The agent that opened Plannotator captures that output; a direct terminal launch prints it. See Customize Feedback to change the approval message or the instructions appended after submitted findings. For a GitHub pull request or GitLab merge request, use a URL instead. See Review pull requests and merge requests. Last verified against Plannotator OSS v0.23.1 on July 18, 2026. Maintained by the Plannotator project.
Last modified on July 19, 2026