PRPeek app icon

PRPeek

Your GitHub pull requests, in the menu bar.

A native macOS app that watches your open PRs — across your personal repos and every org you're in — and tells you, at a glance, which ones are waiting on you.

macOS 26 (Tahoe)+ · Swift 6 · MIT · ad-hoc signed (not notarized)

PRPeek 3 need you

See it in your menu bar

One click from the menubar icon — your PRs grouped by who they're waiting on, each with commits, CI, and review comments a hover away.

PRPeek menubar dropdown — PRs grouped into Needs me, Mine, and Others
A PR expanded to show its commits and review comments The always-on desktop panel and the keyboard-first Search window

Everything that matters, glanceable

No browser tab-hopping. One color-coded count in your menu bar — red when something needs you, calm at inbox zero.

🔴

Glanceable badge

A red pill with the count of PRs waiting on you; monochrome when none; a checkmark at inbox zero. The badge doesn't lie.

🎯

Precise "waiting on me"

Excludes drafts, honors live review requests (incl. team requests via CODEOWNERS), and your own PRs with failing required checks.

💬

Shows why

Each row says the reason inline — review requested, team review, CI failing — so the badge is more than a binary signal.

🔕

Snooze & mute

Hush a noisy PR for 1h, 4h, or until it next changes. A "hide until updated" snooze re-notifies once when the PR actually moves.

🔎

Search everything

A keyboard-first window (⌘F) over all loaded PRs — filter live by repo, number, title, or author. ↑↓ to move, Enter to open.

🔔

Native notifications

Fires only on the transition — review requested, your CI fails — deduped, no storm on launch. Click to open the PR.

🎨

Make it yours

Themes (System / Light / Dark / Catppuccin), configurable refresh, an optional always-on-desktop panel, and launch-at-login.

🏢

GitHub Enterprise

Point it at your GHES host; the rest is the same. Two ways to sign in: a read-only PAT, or OAuth device flow.

🔋

Cheap & laptop-aware

ETag conditional requests make idle polls nearly free. Pauses on sleep, refreshes once on wake, holds cached when offline.

Install in a minute

No App Store, no account. Download, drag, open.

⚠︎ First launch: PRPeek is ad-hoc signed, not notarized, so macOS Gatekeeper blocks it once ("PRPeek is damaged / can't be opened"). Right-click ▸ Open ▸ Open in the dialog — or clear the quarantine flag from Terminal:
xattr -dr com.apple.quarantine /Applications/PRPeek.app
  1. Download PRPeek.dmg from the latest release and drag PRPeek to Applications.
  2. Clear Gatekeeper once — see the note above — then open PRPeek from Applications.
  3. Sign in: paste a read-only fine-grained PAT (least privilege), or use OAuth device flow. Your token lives in the macOS Keychain.
  4. Done. The badge turns red with your "needs me" count. Click any PR to open it; expand for commits + review comments.

Prefer to build it yourself? git clone · bash Scripts/make-app.sh · open PRPeek.app. Requires Xcode 26+.

Read-only by design

PRPeek talks only to GitHub, holds one credential, and ships zero analytics or network telemetry.

🔐

Token in the Keychain

Stored as a generic password, never in the on-disk cache. The cache holds only PR metadata — titles, repo, author, CI state.

Least privilege

The app makes no write calls. A read-only fine-grained PAT is all it needs; granting write is unnecessary.

📦

No dependencies

Zero SwiftPM deps — no transitive CVE or install-script supply-chain surface. CI actions pinned to commit SHAs.