Terminal app on Homebrew
prtop
I wanted my merge requests where I already work, in a terminal, and Claude Code to be woken when one of them needs me.
htop for your merge requests. Your GitLab MRs and GitHub PRs, from review to production, live in your terminal. Built to wake Claude Code.

Install with Claude Code, for Claude Code
Paste this into Claude Code:
Set up prtop for me: follow https://raw.githubusercontent.com/TomyCesaille/prtop/main/examples/claude-code/SETUP.md
Claude installs prtop for you and for itself. It checks your GitLab or GitHub
sign-in and fits the settings to your projects, then sets itself up to use prtop:
a /prs command, and watching your merge requests in the background while it
works. It asks you at each step.
Install manually
brew install TomyCesaille/tap/prtop # macOS, Linux
choco install prtop # Windows
Both install glab and gh alongside prtop. Elsewhere, with Python 3.14 or
later: uv tool install git+https://github.com/TomyCesaille/prtop, plus glab,
gh or both.
prtop reads GitLab through glab and GitHub through gh, signed in as you. Sign
in to the ones you use:
glab auth login --hostname gitlab.example.com
gh auth login
Then tell prtop what to read, in ~/.config/prtop/.env (%APPDATA%\prtop\.env
on Windows):
# gitlab (the default), github, or gitlab,github for both
PRTOP_FORGES=gitlab,github
PRTOP_GITLAB_HOST=gitlab.example.com
On Windows, run prtop in Windows Terminal, the default terminal on Windows 11: the older console shows the emoji as boxes and cannot open links.
Use
prtop
In a terminal, prtop takes the screen and fetches again every 30 seconds. The top line names the forges it reads, the time of the last fetch and the countdown to the next one; the bottom line lists the keys. On macOS and Linux it keeps the mouse the way htop does: the wheel does not scroll the terminal’s history, and selecting text takes Option in iTerm2, Shift in most other terminals.
| Key | Does |
|---|---|
q, F10, Ctrl+C | quit |
h, ?, F1 | show or hide the help: prtop’s version, the keys and what the marks mean |
| Ctrl+L | fetch now |
Z | pause or resume fetching |
| Option | Does |
|---|---|
-d SECONDS | seconds between fetches (default 30) |
-n N | stop after N fetches and leave the last table in the terminal; prtop -n 1 prints one table |
--demo | show made-up merge requests, without reading any forge |
When its output is not a terminal (a pipe, a file, a script, an AI agent), prtop prints the table once and exits. Errors go to stderr, so the output stays one table.
Several prtops running at once share their fetches: one about to fetch less than 10 seconds after another fetched, with the same settings, shows that fetch instead of calling GitLab or GitHub again.
How to read prtop
