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. Git blame gutter shows who wrote each line.
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 standalone files with --only or piped output with --stdin.
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_PANEcmux new-split + cmux send$CMUX_SURFACE_ID$TERM_PROGRAM$ITERM_SESSION_IDemacsclient$INSIDE_EMACSPriority: tmux → kitty → wezterm/kaku → cmux → ghostty → iTerm2 → Emacs vterm
brew install umputun/apps/revdiffdeb, rpm, archives for linux/darwin amd64/arm64 on GitHub Releases
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