What herdr is
herdr is an Apache-2.0 Rust binary that runs your agents in its own panes, workspaces and tabs. It detects 22+ agent CLIs, mostly by reading the bottom of each pane, shows who is blocked in a sidebar, keeps agents running when you detach, and connects several machines over SSH. It has a large plugin ecosystem and a socket API. Herdr Cloud, a relay, is on a waitlist.
Side by side
Pilothouse compared with herdr| Feature | Pilothouse | herdr |
|---|
| What it is | Single Go binary: daemon, CLI, terminal inbox, phone web app | Terminal multiplexer and runtime for agents (Rust) |
|---|
| License | ✓Yes: Apache-2.0 | ✓Yes: Apache-2.0 |
|---|
| Price | Free | Free; Herdr Cloud on a waitlist |
|---|
| Platforms | macOS, Linux (Windows on the roadmap) | macOS, Linux, Windows (beta) |
|---|
| Agents | Claude Code, Codex | 22+ agent CLIs |
|---|
| Keep your terminal and how you launch agents | ✓Yes: Yes — official hooks; any terminal, even inside tmux or herdr | ◐Partly: Agents run inside herdr panes |
|---|
| Your rules before every tool call | ✓Yes: YAML + CEL, user and repo files, any deny wins | –No: No documented policy engine |
|---|
| Approve from your phone | ✓Yes: Yes — each device signs its decisions | –No: No first-party mobile client |
|---|
| Phone notifications | ✓Yes: Web Push, ntfy (with buttons), Slack/Discord webhooks, desktop | ◐Partly: Toasts, terminal and macOS notifications; phone only via plugins |
|---|
| Presence-aware (no phone buzz while you’re at the desk) | ✓Yes: Yes — OS idle time; manual override | –No: Not documented |
|---|
| Works without an account | ✓Yes: No account | ✓Yes: No account |
|---|
| How the phone reaches your machine | Your own Tailscale (HTTPS via Tailscale Serve). No ports opened. | SSH between machines; Cloud relay planned |
|---|
| Worktree tasks | ✓Yes: pilothouse task new → worktree + branch + agent | ✓Yes: Yes, from the sidebar |
|---|
| Several machines in one view | ◐Partly: Not yet — one daemon per machine | ✓Yes: Yes, over SSH |
|---|
Where herdr is better
It is a real terminal workspace
Panes, tabs, workspaces and a polished sidebar. Pilothouse does not draw your terminal at all.
More agents
herdr recognises 22+ agent CLIs. Pilothouse v0.1 supports Claude Code and Codex.
Multi-machine today
One window across machines over SSH. In Pilothouse v0.1 each machine runs its own daemon and web app.
Ecosystem
A large plugin ecosystem, a socket API, and momentum: frequent releases and a big community.
Windows
herdr has Windows in beta. Pilothouse is macOS and Linux only for now.
Where Pilothouse is different
Policy before every tool call
Pilothouse checks your YAML/CEL rules on every PreToolUse hook, so “never force-push” holds even when the agent’s own settings would allow it. herdr documents no policy layer.
Approvals that leave the pane
With herdr you answer in the pane. Pilothouse holds the request while you are away and sends it to your phone, signed by that device.
State from hooks, not the screen
Pilothouse reads Claude Code and Codex through their official hooks. herdr’s docs say its Claude Code and Codex hooks only report session identity and state comes from screen rules.
No terminal to move into
Pilothouse works in the terminal you already use. You can even run it inside herdr panes.
Using both
Pilothouse hooks into the agent, not the terminal, so Claude Code or Codex running in a herdr pane shows up in Pilothouse like any other session. Keep herdr for the workspace; use Pilothouse for rules and phone approvals.
Facts about herdr checked on 22 October 2026 from: herdr.dev, herdr agent detection docs, herdr integrations docs, herdr on GitHub. Spotted something out of date? Tell us.