herdr

herd your agents.

a terminal-native agent multiplexer. workspaces, tiled panes, automatic agent detection, and a socket API. all inside your existing terminal. no electron, no web dashboard, no gui window.

a shared control surface for you and your agents.

$ curl -fsSL https://herdr.dev/install.sh | sh

for you

supervise, triage, act

for your agents

orchestrate, spawn, wait

ambient awareness

the sidebar is split into two layers. scan the workspace list for the most urgent signal, then drill into the agents causing it.

herdr sidebar workspace list

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.

herdr sidebar agent list

agents

the bottom section shows which specific agents are running in the selected workspace, with their individual state. pi is working, droid is idle.

blocked
done
working
idle

how it works

01

install and launch

one binary, no dependencies. run herdr in your terminal. onboarding takes 10 seconds.

02

create workspaces

press n to create a workspace. it opens as a terminal context, labels itself from git repo or folder name.

03

launch agents

start your agents in panes like you normally would. herdr detects them automatically — no hooks, no config.

supported agents

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

socket api

agents can use herdr too

herdr exposes a local unix socket that agents can talk to directly. create workspaces, split panes, spawn agents, read output, wait for state changes.

the same surface is available as CLI commands (herdr workspace, herdr pane, herdr wait) and as a reusable agent skill.

# create a workspace
herdr workspace create --root ~/project

# split a pane and run a command
herdr pane split --workspace 1
herdr pane send --pane 1-2 --text "npm test"

# wait for an agent to finish
herdr wait --pane 1-1 --state idle

# read pane output
herdr pane read --pane 1-2 --lines 50