Code review for AI agents and Claude Code. Annotate diffs, plans, and documents in a TUI. Structured output on quit, ready for AI agents, scripts, or any tool.
brew install umputun/apps/revdiff
Navigate diffs. Annotate lines. Quit. Your annotations go to the AI agent.
Syntax-highlighted diffs with added, removed, and context lines. Collapsed mode shows final text with change markers.
Annotate any line, added, removed, or context. File-level notes too. Annotation list popup to browse all notes across files.
On quit, annotations go to stdout as structured text. Pipe into Claude, scripts, or any tool. Use --output to write to a file.
Vim-style / search with n/N match navigation. Jump between hunks with [/]. Half-page scroll with Ctrl+d/u.
Browse and annotate all git-tracked files with --all-files. Filter with --exclude. Review files outside git with --only.
5 bundled color themes. 21 customizable color keys. Full keybinding remapping. Config file, env vars, or CLI flags.
You annotate. Claude fixes. You verify. Repeat until done.
As a Claude Code plugin, revdiff launches as an overlay on top of your session.
display-popup$TMUXkitty @ launch --type=overlay$KITTY_LISTEN_ONwezterm cli split-pane$WEZTERM_PANE$TERM_PROGRAM$ITERM_SESSION_IDemacsclient$INSIDE_EMACSPriority: tmux → kitty → wezterm → ghostty → iTerm2 → Emacs vterm
brew install umputun/apps/revdiffgo install github.com/umputun/revdiff/cmd/revdiff@latestDownload from GitHub Releases — deb, rpm, archives for linux/darwin amd64/arm64.
Interactive code review directly from a Claude session. Annotate, fix, re-review in a loop.
/plugin marketplace add umputun/revdiff
/plugin install revdiff@umputun-revdiff/revdiff masterOpens revdiff in an overlay. Reviews current branch against master.
Add annotations on lines you want changed. Quit. Claude reads them, plans fixes, applies them. Re-launch to verify.
/revdiff -- smart detection: uncommitted, last commit, or branch diff
/revdiff HEAD~1 -- review last commit
/revdiff main -- review current branch against main
/revdiff HEAD~3 -- review last 3 commits
/revdiff --staged -- review staged changes only
/revdiff all files -- browse all tracked files in the project"review diff" -- same as /revdiff, smart detection
"review diff HEAD~1" -- last commit
"review diff against main" -- branch diff
"review changes from last 2 days" -- Claude resolves the ref
"revdiff for staged changes" -- staged only
"review all files exclude vendor" -- browse project, skip vendor/
"what themes does revdiff support?" -- ask about config without launching
"switch revdiff to dracula theme" -- modify config via conversationStructured, parseable, pipe-friendly.
## handler.go (file-level)
consider splitting this file into smaller modules
## handler.go:43 (+)
use errors.Is() instead of direct comparison
## store.go:18 (-)
don't remove this validation