supervise multiple coding agents in one terminal.
run Claude Code, Codex, pi, opencode, droid, amp, and plain shells side by side in your existing terminal. see which agent is blocked, done, or still working without leaving the command line.
workspaces, tabs, panes, automatic agent detection, and notifications. no electron, no web dashboard, no separate gui window.
curl -fsSL https://herdr.dev/install.sh | sh
supervise, triage, act
orchestrate, spawn, wait
the sidebar is split into two layers. scan the workspace list for the most urgent signal, then drill into the agents causing it in the selected workspace or across all workspaces.
each workspace shows one aggregate dot — the most urgent state across all its agents. yellow means something is working. you scan the full list in a glance.
the bottom section shows which specific agents are running in the selected workspace, or across all workspaces when you switch the panel scope. pi is working, droid is idle.
one binary, no dependencies. run herdr in your terminal. onboarding takes 10 seconds.
press n to create a workspace. it opens as a terminal context, labels itself from git repo or folder name.
start your agents in panes like you normally would. herdr detects them automatically — no hooks, no config.
herdr detects agents by reading foreground process and terminal output patterns. zero config required.
| agent | idle / done | working | blocked |
|---|---|---|---|
| pi | ✓ | ✓ | partial |
| claude code | ✓ | ✓ | ✓ |
| codex | ✓ | ✓ | ✓ |
| droid | ✓ | ✓ | ✓ |
| amp | ✓ | ✓ | partial |
| opencode | ✓ | ✓ | ✓ |
| gemini cli | detected, not fully tested | ||
| cursor agent | detected, not fully tested | ||
| cline | detected, not fully tested | ||
agents can use herdr too
herdr exposes a local unix socket that agents can talk to directly. create workspaces and tabs, split panes, spawn agents, read output, and wait for state changes.
the same surface is available as CLI commands (herdr workspace, herdr tab, herdr pane, herdr wait) and as a reusable agent skill.
# create a workspace with a label herdr workspace create --cwd ~/project --label "api server" # split a pane and run a command herdr pane split 1-1 --direction right herdr pane run 1-2 "npm test" # wait for an agent to finish herdr wait agent-status 1-1 --status done # read pane output herdr pane read 1-2 --source recent-unwrapped --lines 50