herdr
tmux for agents.
herdr is an agent multiplexer that lives in your terminal.
workspaces, tabs, panes. every agent at a glance: blocked, working, done. detach and reattach, agents keep running. attach locally, over ssh, or as a thin client to a remote server.
mouse-native tui: click panes/tabs/workspaces/agents, drag borders, select text, right-click menus.
no gui app, no electron, no mac-only native wrapper. you see the agent's own terminal, not someone's interpretation of it.
curl -fsSL https://herdr.dev/install.sh | sh
| tmux | gui managers | herdr | |
|---|---|---|---|
| persistent sessions | ✓ | — | ✓ |
| detach / reattach | ✓ | — | ✓ |
| panes, tabs, workspaces | ✓ | ✓ | ✓ |
| agent awareness | — | ✓ | ✓ |
| lives in your terminal | ✓ | — | ✓ |
| real terminal views | ✓ | — | ✓ |
| mouse-native | — | ✓ | ✓ |
| lightweight binary | ✓ | — | ✓ |
| agents can orchestrate | ? | ? | ✓ |
herdr runs as a background session server by default. run your agents, split panes, do your work, then press ctrl+b q to detach the client. close your terminal or laptop; the panes keep running. open herdr again and you reattach to the same session.
named sessions give each project or context its own panes, tabs, workspaces, sockets, and runtime state while sharing the same global config.
use herdr where the work lives. most days that is your laptop or desktop. if the code, keys, or agents live on a server, attach there instead.
start a local session on your own machine. detach, reattach, split panes, create tabs, and keep agents running while your terminal comes and goes.
use it like tmux on a remote box. herdr starts the session there, and your panes keep running after you detach.
run herdr on your laptop and target any ssh config host. herdr connects over ssh, bootstraps the remote server, and streams the tui back to your local terminal.
each workspace rolls up to its most urgent state. scan the full list in a glance.
see which agents are running, blocked, or finished. no checking panes one by one.
not a gui window. not a web dashboard. not electron. herdr runs inside whatever terminal you already use. a single rust binary, no dependencies, nothing to configure. it even works inside tmux.
| agent | idle / done | working | blocked |
|---|---|---|---|
| pi | ✓ | ✓ | partial |
| claude code | ✓ | ✓ | ✓ |
| codex | ✓ | ✓ | ✓ |
| droid | ✓ | ✓ | ✓ |
| amp | ✓ | ✓ | ✓ |
| opencode | ✓ | ✓ | ✓ |
| gemini cli | detected, not fully tested | ||
| cursor agent | detected, not fully tested | ||
| cline | detected, not fully tested | ||
agents can use herdr too. the local unix socket lets agents create workspaces, split panes, spawn other agents, read output, and wait for state changes.
available as CLI commands or as a reusable agent skill.
# create a workspace and tab herdr workspace create --cwd ~/project --label "api" herdr tab create --label "logs" # split a pane and run herdr pane split 1-1 --direction right herdr pane run 1-2 "npm test" # wait for an agent herdr wait agent-status 1-1 --status done # read output herdr pane read 1-2 --source recent --lines 50