Herdr

Orchestrator · Last verified 2026-09-30

TL;DR

Herdr is an Apache-2.0 terminal workspace manager written in Rust, developed in the herdrdev organization. It keeps agent terminals running in a background server, shows each pane as working, blocked or idle, and exposes a CLI and socket API so scripts or agents can start other agents. It suits tmux-style users running several coding agents, locally or over SSH.

Key facts

Herdr key facts. Data as of 2026-09-30.
Type Orchestrator
Languages / SDKs Rust
License Apache-2.0
Pricing model Open source, free
Orchestration pattern Other
GitHub stars 41,580 (as of 2026-09-30)
GitHub forks 3,205
Last push 2026-09-30
Latest release v0.9.3
Repository herdrdev/herdr
Website herdr.dev
Documentation herdr.dev
Last verified 2026-09-30

Key features

  • A background server keeps panes and agents running after the client detaches or an SSH connection drops; herdr reattaches to the same session. (source)
  • Each pane is tracked as working, blocked, done, idle or unknown for recognized agents, with notifications when an agent finishes or needs input. (source)
  • Recognizes Claude Code, Codex, OpenCode, Hermes Agent and many others; other programs run as plain terminals. (source)
  • Agent automation commands (agent start, agent prompt, agent wait) let a script or another agent launch agents, send prompts and wait for their state. (source)
  • herdr worktree create/open/remove manages git worktrees as workspaces grouped under the parent repository workspace. (source)
  • Local and saved SSH machines can be used from one window, with a combined agent list and independent reconnects. (source)
  • Integrations installed with herdr integration install <name> report agent state and let supported agents resume their session after a server restart. (source)
  • Local plugins add actions, event hooks and panes; a marketplace lists community plugins. (source)

Architecture and orchestration pattern

Pattern: Other

Herdr is one Rust binary that acts as a session server plus terminal clients. The server owns the terminals (panes), grouped into tabs and workspaces, and keeps them alive when clients detach. It does not wrap or replace the coding agents: the agent runs as an ordinary process in a pane, and Herdr recognizes it from the foreground process, screen-detection manifests, or an installed integration that reports state.

Coordination is done by whoever drives the CLI or socket API. The docs describe three primitives: layout (workspaces, tabs, pane splits), pane (raw terminal control) and agent (a recognized coding agent addressed by name). An agent with the skill file installed can create panes, start other agents, prompt them and wait until they are idle or blocked. Herdr itself does not assign tasks or merge results.

State is the server's live process tree plus a saved layout. After a server or machine restart the layout returns but the original processes do not; agents whose integration reports a resume command can pick up the same session. Herdr does not call any model, so it does not proxy model traffic.

Human in the loop

Agents run in real terminals, so a person can attach, read and type at any time. Herdr marks a pane blocked when the visible screen shows an approval, question or permission prompt, and notifies the user. Scripts can send text or keys to an agent. The docs say a wrong status guess only affects the displayed status and waits, and should not make Herdr send input or take destructive action. There is no built-in diff review or approval step; that stays in the agent and in the user's own git tooling.

Harnesses it can drive

Protocols

MCP, A2A and AG-UI support for Herdr. See the full matrix.
ProtocolSupportNote
MCP Unknown
checked 2026-09-30
Searched the README, all docs pages listed in llms.txt and GitHub code search for 'mcp'. The only hit is a changelog note that Claude Code MCP question prompts show as blocked; that is prompt detection, not MCP support.
A2A Unknown
checked 2026-09-30
Searched the README, docs pages and GitHub code search for 'a2a'; nothing about the Agent2Agent protocol found. Agent-to-agent control goes through Herdr's own CLI and socket API.
AG-UI Unknown
checked 2026-09-30
Searched the README, docs pages and code search for 'ag-ui'; nothing found.

Best for

  • tmux-style users running several Claude Code, Codex or OpenCode sessions in one persistent, mouse-friendly terminal workspace. (shortlist)
  • Letting one agent start and prompt other agents through the CLI and socket API, for example a reviewer agent in a second pane. (shortlist)
  • Keeping long agent runs alive on a remote server and reattaching over SSH.
  • Scripting agent panes and git worktrees from shell scripts or plugins. (shortlist)

Not for

  • Users who want a built-in diff viewer, PR flow or merge tool; the docs describe none.
  • Anyone who needs agent processes to survive a server or machine restart: the layout returns, the processes do not.
  • Users who want a GUI desktop app rather than a terminal program.

Quickstart

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

Install not yet verified by this site. What this means

curl -fsSL https://herdr.dev/install.sh | sh   # or: brew install herdr
herdr                                           # start or attach to the background session

# Scripting: create a workspace, split a pane, start Codex in it, prompt it
created=$(herdr workspace create --cwd ~/project --label api --no-focus)
pane_id=$(printf '%s\n' "$created" | jq -r '.result.root_pane.pane_id')
split=$(herdr pane split "$pane_id" --direction right --no-focus)
review_pane=$(printf '%s\n' "$split" | jq -r '.result.pane.pane_id')
herdr agent start reviewer --kind codex --pane "$review_pane"
herdr agent prompt reviewer "Review the current diff" --wait --timeout 120000

herdr worktree create --cwd ~/project --branch review   # git worktree as a workspace
# detach with ctrl+b q; run `herdr` again to reattach; `herdr server stop` ends the session

Common pitfalls

  • Detaching keeps agents running; herdr server stop ends the session and its panes.
  • After a server or machine restart the layout is restored but the original processes are not; agent session resume needs the agent's integration (herdr integration install <name>).
  • agent start needs an existing pane sitting at a shell prompt.
  • Blocked detection is strict: unusual new prompts may show as idle, and Codex can stay unknown, so waits for idle may time out (see the Agents page).
  • Native Windows is supported but some capabilities differ or are unsupported (for example herdr terminal attach); the installer is a PowerShell command.

Official quickstart

Pros

  • Agents keep running when the client detaches or the SSH link drops. (source)
  • Does not wrap the agents: they run as normal processes in real terminals, so their own permission prompts and logs stay visible. (source)
  • Scriptable: the CLI and socket API expose layout, pane, agent and worktree operations, and the docs include a skill file so an agent can drive Herdr. (source)
  • Single Rust binary with Apache-2.0 licensing; supports macOS, Linux and native Windows. (source)
  • Active releases: v0.9.3 was published on 2026-09-29. (source)

Cons

  • A server or machine restart ends the original processes; only the layout (and, with integrations, agent sessions) come back. (source)
  • State detection is screen-based for many agents; unusual prompts can show as idle and Codex can stay unknown, so scripted waits can time out. (source)
  • Native Windows support has documented gaps, and open issues report problems such as the working directory not being preserved. (source)
  • No built-in review or merge flow is described in the docs; worktree creation is provided, but reviewing diffs and merging is left to the agent and your git tools. (source)

Alternatives

FAQ

Does Herdr support MCP?

Nothing in the README or docs describes MCP support, so the record marks it unknown. Herdr's own control surface is a CLI and a socket API.

Which coding agents does it work with?

The Agents page lists Claude Code, Codex, OpenCode, Hermes Agent and many more as supported, and any other program runs as a plain terminal. OpenClaw is not on that list.

Is Herdr free?

Yes. It is Apache-2.0 licensed. The README lists an enterprise and partnership contact address but no paid plan.

Does it isolate agents with git worktrees?

It can create and open worktrees as workspaces with herdr worktree create, but using them is up to you or your scripts; there is no automatic one-worktree-per-agent rule in the docs.

How is it different from Claude Squad?

Herdr is a persistent terminal multiplexer with agent state tracking and a scripting API, and it runs any program. Claude Squad is a TUI that starts each agent session in its own tmux session and worktree and adds diff and commit shortcuts.

Sources

Unknown fields: protocols.mcp, protocols.a2a, protocols.agui: not found in the README, the docs pages listed in herdr.dev/llms.txt, or GitHub code search (the only 'mcp' hit is a changelog note about Claude Code prompt detection). Whether a paid tier exists is not stated; only an enterprise contact address appears in the README.

Something wrong or out of date, or do you maintain Herdr and want this page removed? Report a correction or request removal.