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. Plannotator compares the merge base of your branch and its base branch with the current working tree. This comparison approximates the change that a pull request would contain if you committed and pushed now. 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.

Large untracked files

Plannotator loads and diffs an untracked text file only when it is 5 MiB or smaller. A larger untracked file appears as a binary addition, and its full content is not available in the review. This limit prevents a single generated or data file from consuming the review session.

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

Use a flag when you need to choose explicitly:
Automatic detection opens Workspace, which includes all applied committed work, working-tree changes, and untracked files. --gitbutler fails clearly if but is missing or older than v0.21.0; it does not silently fall back to Git. See Review GitButler Workspaces, Stacks, and Branches for the exact detection rules, committed-only views, session limits, escape hatches, annotations, agent reviews, and troubleshooting.

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.25.0 on July 27, 2026. Maintained by the Plannotator project.
Last modified on August 9, 2026