GitHub PRs at local speed.
macOS + Linux
⌥⌘K. Enter.
Everything needed to decide.
Failing checks with logs, merge conflicts, open threads, review state — one screen, painted from the local cache.
Webhook-aware. Locally cached.
Webhook markers trigger targeted GitHub refreshes, then WebSocket invalidations reload the open PR or queue from the refreshed local cache. Your own comments, reviews, and merges paint locally as pending while GitHub confirmation follows.
See the full read/write loop ↓Three lanes. Zero triage.
Ready to merge, your move, waiting — every open PR sorted by what needs you.
Hide tests. See the change.
One key from review to change.
Local GitHub cache. Faster agents. Fewer tokens.
listen waits for PR changes. No polling.
An agent runs pr-cockpit listen. A GitHub webhook refreshes the local cache, then listen returns the change.
Every action has a key.
Under the hood
GitHub stays authoritative. PR Cockpit refreshes only what changed, serves it locally, and sends authenticated writes back to GitHub.
Install.
macOSLinux
curl -fsSL https://raw.githubusercontent.com/theolundqvist/pr-cockpit/main/scripts/bootstrap | bash
One command detects your platform, checks prerequisites, and opens setup. Linux maintenance: pr-cockpit update · $HOME/.pr-cockpit/scripts/uninstall · add --purge to remove local data.
Get the most out of pr-cockpit.
- JustShowMe turns a code change into a visual story worth reviewing.
- gh-img places it straight into the pull request description.
Open source. See them together in a real PR.
Made with JustShowMe · placed in the PR by gh-img
Frequently asked questions.
Does this replace GitHub?
No. Review in Cockpit; your changes go back to GitHub.
How does the local cache stay current?
Webhooks refresh changed PRs. Polling catches missed updates.
What goes through the live-update relay?
Change markers and Actions status—not PR contents or logs. Hosted by default; self-hosting is optional.
What should Linux users know?
The installer handles setup. Wayland uses XWayland; global shortcuts depend on your compositor.
How do I update or remove it?
Update with pr-cockpit update. For removal, see the platform instructions.