A small Textual TUI that lists every open GitHub PR where you're a requested reviewer,
then hands the one you pick off to claude, codex, or gemini —
driven by the
PR Review Toolkit plugin on Claude,
or the same six review criteria loaded as native Skills on Codex and Gemini.
Every open PR where you're a requested reviewer, fetched across every repo
gh can see, in one keyboard-driven table — then handed off to Claude Code, Codex, or Gemini.
Wraps gh search prs --review-requested=@me --state=open and presents repo, number, title, author, age, and a draft flag in a scrollable table.
Pick a PR, confirm the modal, and the TUI clones (or fetches), checks out the PR branch via gh pr checkout, and launches your selected CLI inside the working tree.
Same six review dimensions everywhere — Comment Analyzer, Test Analyzer, Silent Failure Hunter, Type Design Analyzer, Code Reviewer, Code Simplifier. Claude runs them as PR Review Toolkit sub-agents; Codex and Gemini load them as native Skills.
Press c to cycle the global default claude → codex → gemini → claude (persisted across sessions), or ^L inside the confirm modal to override for a single launch.
Toggle ^T in the modal to ask the CLI to publish findings as inline review comments via a single gh api POST, grouped under one review.
Repos are stored as $GH_PR_WORKSPACE/<owner>/<repo>. Second review of the same repo reuses the clone — just a git fetch before checkout.
Optional codegraph MCP integration cuts review token usage: a prompt nudge toward six core graph tools, auto-codegraph sync after checkout, an opt-in init helper on x, and affected-tests injection for the test analyzer. Setup state is verified at startup — wired, binary-only, or not installed.
Six checkboxes in the confirm modal let you disable review agents that don't fit this PR — ^A flips them all at once. Launch is refused with zero selected, so you never fire an empty review.
Every CLI launch — on success and on abort or crash — writes one row to a local review_telemetry table: CLI, affected paths, post-inline, approx prompt tokens, duration, and exit code. Cost-and-outcome trends, never leaving your machine.
Press a to cycle the refresh interval off → 15m → 30m → 1h (persisted). The queue reloads on the timer — skipping while a CLI is running or a modal is open — and toasts plus rings the terminal bell the moment a new review-requested PR lands.
Set slack_webhook_url and a clean CLI exit posts the completed review to your channel. It reads the latest verdict straight from GitHub and only fires when a genuinely new review appears — no duplicate pings on no-op exits.
The confirmation modal shows the target PR plus the active CLI. On ↵/^Y, the TUI hands the shell over and, in order:
If the repo isn't in $GH_PR_WORKSPACE, it's cloned. Otherwise the existing clone is updated.
--force so a stale local branch never blocks the checkout. If CodeGraph is wired up, the index is synced here so the review can lean on it.
The CLI starts inside the PR's checkout, so it has full file-level context. Claude runs in --permission-mode auto, which auto-approves edits and bash commands while still gating risky operations — so the review never stalls on a mid-run prompt. Codex and Gemini are launched in the closest equivalent auto-edit modes, and the same six review criteria are copied into .agents/skills/ as native Skills and removed on exit.
/exit and you're backWhen you exit the CLI, press Enter once and the TUI resumes — your queue is still there, ready for the next PR.
Two contexts: the main queue and the confirmation modal. The filter modal has its own arrow-key affordances on top.
uv tool upgradegh api. Defaults to on each time the modal opens..review_state.db.GH_PR_WORKSPACE~/gh-pr-workspace$GH_PR_WORKSPACE/<owner>/<repo> so a second review reuses the clone.$ away.
Every prerequisite is validated at startup via check_prereqs(); the TUI refuses to launch until they're satisfied.
# Install globally via uv $ uv tool install cc-pr-reviewer # Run it from anywhere $ cc-pr-reviewer
# 1 — gh CLI must be installed and logged in $ gh auth login # 2 — at least one coding-agent CLI on PATH $ which claude # or: codex / gemini # 3 — for Claude: PR Review Toolkit plugin (checked at launch) $ claude plugin install pr-review-toolkit # 4 — git on PATH (for git fetch on repeats) $ git --version
Installed and logged in via gh auth login.
One of claude, codex, or gemini must be on your PATH. If the persisted default isn't on this machine, the TUI transparently falls back to the next available one.
For Claude Code: install with claude plugin install pr-review-toolkit. Checked at launch time — Codex and Gemini load the same review criteria as native Skills instead and don't need it.
On your PATH. Used for git fetch on repeat reviews.
Twenty-seven releases in, one keystroke between you and a thorough PR review. Install once and live in the queue.