cd /news/developer-tools/show-hn-critter-tui-for-reviewing-gi… · home topics developer-tools article
[ARTICLE · art-112651] src=github.com ↗ pub= topic=developer-tools verified=true sentiment=· neutral

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.

read3 min views1 publishedAug 27, 2026
Show HN: Critter TUI for reviewing GitHub PRs and agent changes
Image: Michielbdejong (auto-discovered)

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, the GitHub CLI, 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.

reviewer

reviewer 447

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:

reviewer pr-tmux --wait

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.

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
<Space>l
Toggle the file sidebar
:
Open the command palette
Esc
Go back
q
Quit

Critter can also run a deeper background review through pi

:

reviewer peer-review -R owner/repo 42
reviewer peer-review-status -R owner/repo 42

It never starts an AI review automatically. Results are cached locally and appear inside the TUI.

Run reviewer --help

for every command and reviewer --version

for the installed version.

Add Critter as a gh-dash keybinding:

- key: R
  name: review
  command: reviewer {{.PrNumber}}
── more in #developer-tools 4 stories · sorted by recency
── more on @andy hamilton 3 stories trending now
sponsored brought to you by zahid.host 4,200+ EU-deployed projects
reading about agents? ship yours in a single git push.

Run your AI side-project on zahid.host

EU-based hosting, git-push deploys, automatic HTTPS, no cold starts. Free tier with a custom domain — perfect for shipping the agent you just read about.

$git push zahid main
Live at https://your-agent.zahid.host
Get free account → Pricing
from €0/mo · no card required
LIVE [news/show-hn-critter-tui-…] indexed:0 read:3min 2026-08-27 ·