Your coding agents run for hours while you're away from your desk. Herdr Go puts them in your pocket: a mobile-first gateway in front of herdr that shows you who's working, who's stuck, who's done, and lets you read and reply to a real terminal — all from your phone, without SSH, without a laptop. If herdr goes down, Herdr Go brings it back on its own.
- See at a glance. Every agent's state — working, blocked, done, idle — in one list, scannable in two seconds.
- Reply from anywhere. Tap in, read the real terminal, type back. Full fidelity, not a summary.
- Never babysit it. If herdr goes down, Herdr Go brings it back. One less thing to remember.
- Locked down by default. One token gates everything. Nothing is exposed until you say so.
Monitor
- Live agent list — working / blocked / done / idle status for every agent, grouped by workspace, scannable at a glance.
- Plain shell panes show up too, not just coding-agent panes.
- Every screen (agent list, terminal, login) has its own dedicated, bookmarkable URL — safe to refresh, safe to share.
Terminal
- Full-fidelity terminal view — the real screen, not a summary — with pan, zoom, and pinch-to-zoom.
- Scroll back through history, including coding agents whose own display holds no scrollback of its own.
- Any URL in the output is auto-linkified and tappable.
Reply
- Type a free-text reply, with an Enter-on-submit toggle.
- Send navigation keys (Up/Down/Enter/Left/Right/Space/Esc) for interactive prompts.
- Create a new shell or start a new agent in any open workspace, straight from your phone.
Stay up
- Self-healing supervisor — watches herdr, restarts it if it goes down, never kills the agents themselves.
- Self-update — checksum-verified download, automatic restart, and rollback of both the binary and settings if the new version doesn't come up healthy.
- Optional Telegram notifications when an agent goes blocked or done.
Secure by default
- One login token gates everything; fail-closed auth, nothing exposed until you say so.
- Optional Cloudflare Access JWT as an alternative credential.
Ops
herdr-go doctor— one command to diagnose your setup and fix what it can, inline.herdr-go service <start|stop|restart|status>— cross-platform service control (systemd, launchd, or Scheduled Task).herdr-go --demo— try the whole app against fake data, no install and no account.
Install with one command:
# macOS / Linux
curl -fSL https://raw.githubusercontent.com/vantt/herdr-go/main/install.sh | bash# Windows
irm https://raw.githubusercontent.com/vantt/herdr-go/main/install.ps1 | iexOn macOS and Windows it's live immediately. On Linux, start it once:
herdr-go service start
# or, directly:
systemctl --user start herdr-go.serviceEither way, it's now a background service that survives reboots and restarts itself if it crashes, and it printed a login token the first time — you'll need that to sign in from your phone. Open http://<your-machine>:8787 from your phone on the same network (or your tailnet) and sign in.
herdr-go doctor is the one command for checking and changing your setup:
herdr-go doctorIt runs every diagnostic check, offers an inline guided fix for anything it can fix (a missing config, an empty workspace-roots list, a missing login token), then asks once whether you want to edit any of the 8 config settings or the 3 secrets — no separate config command, no flags to remember. If a fix creates or replaces your login token, doctor offers to restart the running background service right away so your new token takes effect immediately; the Service management section below still applies when you change a setting or secret by hand or through the settings editor.
Want a read-only report instead (safe for scripts and CI)?
herdr-go doctor --checkControl the background service with herdr-go service <verb> — it
auto-detects your platform's service manager (systemd user unit on Linux,
launchd on macOS, Scheduled Task on Windows) and does the right thing:
herdr-go service start # start it
herdr-go service stop # stop it
herdr-go service restart # e.g. after changing a setting or rotating a secret by hand
herdr-go service status # check whether it's runningPrefer to call the platform tool directly, or need the exact underlying command? Here's the same four verbs, one row per platform:
| Verb | macOS (launchd) | Linux (systemd) | Windows |
|---|---|---|---|
| start | launchctl start io.github.vantt.herdr-go |
systemctl --user start herdr-go.service |
Start-ScheduledTask -TaskName HerdrGo |
| stop | launchctl stop io.github.vantt.herdr-go |
systemctl --user stop herdr-go.service |
Stop-ScheduledTask -TaskName HerdrGo |
| restart | launchctl kickstart -k "gui/$(id -u)/io.github.vantt.herdr-go" |
systemctl --user restart herdr-go.service |
Stop-ScheduledTask -TaskName HerdrGo; Start-ScheduledTask -TaskName HerdrGo |
| status | launchctl print "gui/$(id -u)/io.github.vantt.herdr-go" |
systemctl --user status herdr-go.service |
Get-ScheduledTask -TaskName HerdrGo |
Full install details, upgrading, and uninstalling: docs/installation.md
Want to try it first with no install and no account? herdr-go --demo runs the whole app against fake data on loopback. It stays local unless you pass an explicit address, for example herdr-go --demo --bind 0.0.0.0:8787 — only do that once you mean to expose it.
Herdr Go is a small, self-healing gateway that sits in front of herdr — the terminal multiplexer your coding agents already run inside — and gives it a mobile-first face. It doesn't manage your agents (herdr already does that perfectly); it just lets you see and talk to them from a phone.
Tap an agent, and its terminal opens full-screen, landscape, live — the same fidelity you'd get SSH'd in on a laptop, just in your hand.
The important settings — where it binds, what workspaces it can touch, how it protects your login token — live in one small JSON file plus one secrets file, both created for you on first run with sane, safe defaults. Edit them by hand, or use herdr-go doctor above.
Full settings reference, deployment patterns (LAN, tailnet, reverse proxy), and troubleshooting: docs/advanced/
git clone https://github.com/vantt/herdr-go && cd herdr-go
cd web && npm ci && npm run bundle && cd ..
cargo build --releaseFull contributor workflow: docs/advanced/source-build.md