A terminal UI for reviewing GitHub pull requests with Claude Code or Cursor.
prcheck shows the PRs you authored, the ones waiting on your review, and the ones
that mention you, across every repo you can see. Pick one and it runs a review
pipeline that drafts a pending GitHub review for you to read and submit. It never
submits anything on its own.
It is a thin wrapper around the gh and claude (or cursor-agent) CLIs you already
have. It keeps no credentials of its own. All auth lives in those tools.
Screen.Recording.2026-05-29.at.16.43.20.mov
- Three PR queues in tabs: authored, review-requested, mentioned. Grouped by repo, newest activity first.
- Automated review that drafts a pending GitHub review with a summary, an aspect checklist, and inline comments. You submit it yourself.
- Diff viewer with per-file jumping and color.
- CI checks viewer, plus a key to open the checks page in the browser.
- Quick-approve that posts an
LGTMapproval without leaving the list. - Bookmarks and batch review to queue several PRs and review them in a row.
- Filter the list by title, repo, branch, or author.
- New-since-you-last-looked markers so you can tell what changed.
- Stats dashboard: counts per tab, per repo, and stale-PR age.
- Desktop notifications when a review finishes (opt-in).
- Pick your agent: Claude or Cursor, switched live from inside the app.
- Token and cost counter for the session (Claude reports usage; Cursor does not).
- Jira context: pulls the linked issue through Claude's Atlassian MCP server, so the review knows what the PR was supposed to do.
When you run a review on a PR, the pipeline:
- Fetches the diff with
gh pr diff. - Fetches CI check status with
gh pr view. - Looks for a Jira key in the PR body or branch name. If it finds one, it fetches the issue through the agent's Atlassian MCP server (no Jira token stored locally).
- Runs the agent (
claude -p, orcursor-agent) with the diff, the CI failures, and the Jira context. - Posts a pending review to GitHub through
gh: a summary plus inline comments.
Then you open the PR in the browser and submit or edit the review by hand.
- Go 1.26+, to build.
ghCLI, authenticated (gh auth login).- An agent CLI:
claude(Claude Code), authenticated, with the Atlassian MCP server set up if you want Jira context. This is the default and the only one that reports token usage.cursor-agent(Cursor), if you setPRCHECK_AGENT=cursoror switch to it in the app.
go install github.com/KamilSupera/github-pullrequests-checkecker/cmd/prcheck@latestOr build locally:
go build -o prcheck ./cmd/prcheckPrebuilt binaries for Linux, macOS, and Windows are attached to each GitHub Release.
Nothing is required. Everything is optional:
| Variable | Effect |
|---|---|
PRCHECK_AGENT |
Which agent to start with: claude (default) or cursor. You can also switch in the app with A. |
PRCHECK_FOCUS |
Review aspects to emphasize, comma-separated, e.g. security,performance,requirements,tests. Empty means a balanced review. |
PRCHECK_NOTIFY=1 |
Send a desktop notification when a review finishes. |
PRCHECK_DEBUG=1 |
Send subprocess (gh/agent) output to the log for troubleshooting. |
PRCHECK_CACHE_DIR |
Where snapshots, bookmarks, and history are written. Defaults to the OS cache dir (see below). |
First Jira run: if your MCP setup asks for consent the first time a tool is used, run
one claude query that hits an Atlassian tool (ask it to fetch any issue) before your
first review, so the token cache is warm.
prcheck # start the UI
prcheck --version # print version, commit, build dateThe tab bar sits on top. Below it, the PR list is on the left; on the right, the selected PR's detail sits above its comments. The session token and cost counter, any status message, and the key help run along the bottom.
Three panes can hold focus: the list, the detail box, and the comments box. The focused
box gets a bright border, and j/k scroll whichever one is focused. Cycle focus with
h/l or the arrow keys.
| Key | Action |
|---|---|
j / k (or ↓/↑) |
Move the cursor, or scroll the focused pane |
h / l (or ←/→) |
Cycle focus between list, detail, and comments |
g / G |
Jump to top / bottom of the list |
Tab / Shift+Tab |
Switch tab (Mine, Review, Mentioned) |
Space |
Load PR details, and mark it seen |
Enter |
Run the review pipeline on the selected PR |
d |
Open the diff (n/p jump between files, esc to go back) |
c |
Open the CI checks |
a |
Quick-approve (posts LGTM) |
b |
Bookmark, or remove the bookmark |
B |
Review every bookmarked PR in sequence |
R |
Open the PR's checks page in the browser |
s |
Open the stats dashboard |
A |
Switch the agent (Claude / Cursor) |
o |
Open the PR in the browser |
r |
Refresh the current tab |
/ |
Filter the list |
J / K |
Page the comments pane |
] / [ |
Page the detail pane |
esc |
Clear the filter, or dismiss the result view |
q / Ctrl+C |
Quit, or cancel a running pipeline |
The footer wraps onto more lines on a narrow terminal, so every key stays visible.
prcheck reads and sends data on your behalf. Worth knowing before you use it:
- Read from GitHub (via
gh): PR lists, diffs, CI status, comments. - Sent to the agent: the PR diff, the CI failure text, and the Jira issue text go to Claude or Cursor to generate the review. Your PR code leaves the machine the same way it does for any other Claude Code or Cursor usage.
- Jira: fetched through the agent's Atlassian MCP server.
prchecknever touches Jira credentials. - Posted to GitHub (via
gh): a pending review with inline comments. Nothing is submitted automatically. - Stored locally: tab snapshots, bookmarks, seen-markers, and review history, under
your OS cache dir (
~/Library/Caches/prcheckon macOS,$XDG_CACHE_HOME/prcheckor~/.cache/prcheckon Linux), orPRCHECK_CACHE_DIRif set. A failed review POST is dumped to$TMPDIR/prcheck-*.json(mode0600) so the agent's output isn't lost. - No secrets stored:
prcheckholds no API keys or tokens. Auth is delegated toghand the agent.
- Open
prcheck. - Put the cursor on a PR you own.
- Press
Enter. - Wait for
Pending review #N posted. - Press
o. The PR opens in your browser. - On the Files changed tab the pending review is at the top with its inline comments. Submit it by hand.
See CONTRIBUTING.md. Run go build ./..., go vet ./...,
go test -race ./..., and gofmt -l . before opening a PR.
@kaniak274 for QA and for the idea of showing token usage in the UI.
MIT © Kamil Supera