herdr

tmux for agents.

herdr is an agent multiplexer that lives in your terminal.

workspaces, tabs, panes. mouse-native: click, drag, split. 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. 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
github · docs · api · linux · macos · agpl-3.0

how it compares

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 ? ?

persistence

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.

$ herdr --session work
$ herdr session attach side-project
separate sessions, same config, persistent agents.

from anywhere

once the session is running, attach to it three ways. keep the work on the machine that has the code, the keys, and the agents. connect from wherever you are.

server

ssh in, run herdr

use it like tmux on a remote box. herdr starts the session there, and your panes keep running after you detach.

$ ssh you@server
$ herdr
phone

ssh from mobile

narrow terminals get a responsive tui instead of a squeezed desktop layout. spaces, tabs, and agents stay reachable from a phone ssh client.

$ ssh you@server
$ herdr
thin client

herdr --remote host

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.

$ herdr --remote workbox
herdr responsive terminal view over ssh on a phone
terminal view over ssh
herdr mobile switcher showing spaces tabs and agents on a phone
responsive switcher

agent awareness

workspaces

workspaces

each workspace rolls up to its most urgent state. scan the full list in a glance.

agents

agents

see which agents are running, blocked, or finished. no checking panes one by one.

blocked
working
done
idle

lives in your terminal

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.

ghostty alacritty kitty wezterm iterm2 tmux

supported agents

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

socket api

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