Docs
Setup
The sender is free and runs on your agentic box. The app is the receiver on your Mac, iPhone, and iPad. They talk directly — over your LAN, a reverse proxy, or Tailscale (recommended).
1. Install the sender
On your agentic machine (macOS or Linux), install the free daemon and let it capture browser links.
brew install jereco/tap/handback
# write a $BROWSER shim (catches gh, gcloud, etc.)
# and, on macOS, register a default-browser helper
handback install --default-browser 2. Pair with the app
Generate this machine's identity and a pairing URI. Pass the address your devices reach it at (a Tailscale name or host:port).
handback pair --host your-box:8765 --qr
# prints a handback://pair?… URI and a scannable QR 3. Run the daemon
Start serving. brew services keeps it alive across reboots; or run it under your own LaunchAgent (macOS) / systemd unit (Linux).
brew services start handback
# or, in the foreground:
handback serve 4. Add it in the app
Open Handback, hit + → Add Machine, and scan the QR or paste the URI. Toggle auto-open per machine if you want links to launch in your browser automatically.
Recover a stuck login
If an OAuth login was started by another tool (not through Handback) and is stranded on a localhost callback, deliver it to its listener from the box:
handback deliver "http://localhost:60211/callback?code=…&state=…"