One window for every codebase.
And a straight answer to which terminal needs me right now?
saggar is a native macOS terminal manager built for tending AI coding agents: projects on a menu, terminals organised inside them, every session wearing its status loudly. When an agent blocks on a prompt, the app says so — and so does your phone.
The intro
What it does
Projects on a menu
Every codebase you have open, with its terminals nested inside it and sorted by recency. One window instead of a tab graveyard.
Status you can read across the room
Sessions classify themselves — needs you, working, idle, finished — from what the shell actually prints, so a blocked permission prompt is never something you find twenty minutes later.
A needs-you tray
Everything waiting on a human, in one place, with the answer one click away. Approve one, or approve them all.
Remote control
The same question answered from your phone, while you are out. See the neediest terminal, answer its prompt, type into it — one scan to pair, and it stays paired.
Tending from anywhere
- Sign in on both. The same Marginal Utility account on the Mac and on the phone. That match is what pairing turns on — nothing else on your network can join.
- Scan the QR code. saggar → Settings → Remote control shows it, carrying the address and the live code, so nothing is transcribed. That is the whole ceremony: the Mac checks the account and the device is paired.
- Once, and then not again. Grants do not expire on their own — a phone in a pocket for six weeks is still paired. Signing the Mac out revokes every device at once, and any device can be revoked on its own.
Security that says no by default
Remote control ships on, because a feature you have to find and arm first is one nobody has armed by the time they need it. What says no is the account: nothing pairs that is not signed in as you.
A device pairs only while it is signed in as you — checked on every request.
If no identity can be made, nothing listens — never plaintext behind https.
One scan, and it holds. Signing the Mac out revokes every device at once.
Traffic crosses your own network or VPN — never someone else's server.
Documentation
The app
Getting started
Install the Mac app, add a codebase, open your first terminal.
Projects and terminals
The rail, what nests inside it, and how it tidies itself.
Status and triage
The four bands, what decides them, and how the app asks for you.
Keyboard and the palette
⌘K, the jump keys, and finding things inside a terminal.
Agents
How saggar spots a coding agent, and the handshake that beats guessing.
Commands, startups, and jobs
The files a project commits so the next person gets the same buttons.
Remote control
Remote control
Arm the server, choose its reach, serve the companion.
Pairing a device
Codes, deep links, capability tiers, and the fingerprint check.
Alerts and push
Live updates while the page is open, lock-screen alerts when it isn't.
Security model
The invariants remote control is built on, and what they refuse.
Wire protocol
The endpoints and verbs both ends implement.
Troubleshooting
What each dead end means, and the one thing that fixes it.