Show HN: Critter TUI for reviewing GitHub PRs and agent changes Andy Hamilton released Critter, a keyboard-driven TUI for reviewing GitHub pull requests and coding agent changes, installable via `cargo install --git https://github.com/andyhmltn/reviewer`. The tool integrates with GitHub CLI and nvim, supports local reviews without posting to GitHub, and includes a Codex plugin and tmux bindings for agent feedback loops. Give every diff a second look. 👀 Critter brings GitHub's familiar review flow to a fast, keyboard-driven TUI: read diffs, leave inline comments, and submit a review. It also works as a review loop for coding agents—launch Critter, write your feedback, and send it straight back to the agent for another pass. You need Rust https://www.rust-lang.org/tools/install , the GitHub CLI https://cli.github.com/ , and an authenticated GitHub session gh auth login . cargo install --git https://github.com/andyhmltn/reviewer Critter uses nvim to open files by default. Set $EDITOR to use something else. Pick a PR from the current repository reviewer Open a PR directly reviewer 447 Review a repository without cloning it reviewer -R owner/repo 447 Comments stay local until you submit. Press P to approve, request changes, or leave a comment. Run Critter from the agent's tmux session and wait for the submitted feedback: Review the current branch's PR, including uncommitted work reviewer pr-tmux --wait Review the local working tree before a PR exists reviewer local-tmux --wait The command prints your review as a ready-to-use prompt, so the agent can apply the comments and run the loop again. Nothing is posted to GitHub. To narrow a local review: reviewer pr-tmux --wait --unstaged reviewer pr-tmux --wait --last-commit reviewer local-tmux --wait --base main The bundled Codex plugin exposes the same flow as $local-review . To start a review without spending a Codex turn on the plugin, add a tmux binding that opens Critter in its own window. The binding captures the originating pane before opening the review so Critter knows which Codex chat should receive the result. When you submit, the review window closes and the complete feedback is pasted into that chat and sent. Quitting without submitting leaves the Codex chat untouched. Review unstaged tracked changes with prefix + h. bind-key h set-environment -gF REVIEWER CODEX PANE ' {pane id}' \; \ new-window -n reviewer -c ' {pane current path}' \ '~/.cargo/bin/reviewer codex-tmux --target-pane "$REVIEWER CODEX PANE" --unstaged-or-pr' --unstaged-or-pr reviews unstaged tracked changes when there are any and falls back to the current branch pull request when the working tree is clean. Use reviewer codex-tmux --last-commit for the last commit, or omit the scope flag to always review the current branch pull request. | Key | Action | |---|---| j / k | Move between files, change blocks, or lines | h / l | Previous / next file | Enter | Open or comment | Alt+Enter | Insert a newline in a comment | V | Select individual lines | / | Search changed lines | n / N | Next / previous search result | v | Mark file viewed | o | Open the current line in $EDITOR | c | View pending comments | P | Submit or hand off the review | b | Open review intelligence |