herdr is a terminal multiplexer for AI coding agents. Think of it as tmux redesigned for agents: each agent runs in a real terminal, while herdr organizes them into workspaces, tabs, and panes, and shows whether each agent is blocked, working, done, or idle.
If you use Claude Code, Codex, OpenCode, Devin, Cursor Agent, or other CLI agents at the same time, the hard part is not launching them. The hard part is remembering which one is waiting, which one is still running, and whether a disconnected terminal can be recovered. herdr focuses on that multi-agent scheduling problem.
What herdr is
The official description is: an agent multiplexer that lives in your terminal.
It is not an Electron GUI and it does not redraw terminals inside a separate app window. herdr is a local Rust binary that runs in your existing terminal. Each agent gets a real terminal, which helps full-screen TUIs, interactive prompts, mouse support, Unicode, and complex output behave normally.
Key ideas:
- single Rust binary;
- real terminal per agent;
- workspace, tab, pane;
- agent state detection;
- detach / reattach;
- SSH remote;
- local socket API;
- no account, no telemetry.
The project is mainly Rust, uses master as the default branch, has herdr.dev as its site, and the latest release is v0.7.1.
What problem it solves
tmux is powerful, but it does not know whether a pane is running an AI agent or waiting for user confirmation. GUI agent managers can show state, but they are separate apps and often give up some native terminal behavior.
herdr sits between them:
- sessions persist like tmux;
- agent status is visible like a GUI manager;
- it still lives in the terminal and works over SSH;
- it does not replace Claude Code, Codex, or other agents;
- it exposes a socket API so agents can control herdr.
That matters when Codex is debugging one issue, Claude Code is editing a module, and OpenCode is exploring another branch. The sidebar can show who is blocked, finished, or still working.
Main features
One real terminal per agent
herdr gives each agent a real pane instead of simulating a terminal. Full-screen TUIs, interactive input, multiline paste, colors, and wide characters should be more reliable than inside a GUI-embedded terminal view.
Clear agent state
The sidebar groups agents into:
- blocked;
- working;
- done;
- idle.
The README says detection defaults to process-name matching plus terminal-output heuristics, so every agent does not need a hook. Some official integrations provide more native session restore and semantic state.
Workspace, tab, pane
You can split work by repository, project, or task using workspaces, tabs, and panes. herdr supports mouse clicks, drag and drop, pane splits, and keyboard shortcuts.
Detach while tasks keep running
herdr has a background server. After detach, panes and agents keep running; running herdr again reattaches. This also fits server workflows over SSH.
Remote mode
Plain ssh + tmux can lose some modern terminal capabilities such as image paste or richer protocol features. herdr provides --remote, where the local terminal acts as a client for a remote herdr server.
|
|
If your agents run on a remote development machine, this is one of herdr’s most useful features.
Socket API and scripting
herdr exposes a local Unix socket API. Agents can create workspaces, split panes, launch helpers, read output, and subscribe to state changes instead of scraping the screen.
It also provides a reusable skill:
|
|
That makes herdr not only a human multiplexer, but also a component in agent workflows.
Installation
The recommended script is:
|
|
Windows preview beta:
|
|
Other options:
|
|
You can also download stable Linux/macOS binaries from GitHub releases. For v0.7.1, the assets include:
herdr-linux-aarch64;herdr-linux-x86_64;herdr-macos-aarch64;herdr-macos-x86_64.
Script installs can update with:
|
|
Homebrew, mise, and Nix versions should be updated through their package managers.
Quick start
Start herdr:
|
|
It starts or connects to the background server and opens a workspace. Then launch agents in panes:
|
|
The default prefix is ctrl+b: press ctrl+b, release it, then press the action key.
| Action | Shortcut |
|---|---|
| New workspace | ctrl+b, then shift+n |
| Split pane vertically or horizontally | ctrl+b, then v or minus |
| New tab | ctrl+b, then c |
| Switch workspace | ctrl+b, then w |
| Detach | ctrl+b, then q |
| Show all shortcuts | ctrl+b, then ? |
After detach, agents keep running. Run this to return:
|
|
Supported agents
The README lists many supported agents:
- pi;
- Claude Code;
- Codex;
- Droid;
- Amp;
- OpenCode;
- Grok CLI;
- Hermes Agent;
- Kilo Code CLI;
- Devin CLI;
- Cursor Agent;
- Antigravity CLI;
- Kimi Code CLI;
- GitHub Copilot CLI;
- Qoder CLI;
- Kiro CLI.
Gemini CLI and Cline are marked as detected but not fully tested. Other terminal programs can still run as ordinary panes, though state accuracy may be lower without a dedicated integration.
Install official integrations with:
|
|
The README mentions integrations for pi, omp, claude, codex, copilot, devin, droid, kimi, opencode, kilo, hermes, qodercli, and cursor.
How to choose against tmux and GUI managers
tmux is still excellent if you mostly run shells on servers. If you use only one agent and do not need status overview, herdr may not add much.
herdr fits better when you run multiple agents, need to see who is waiting, want detach/reattach, work over SSH, dislike GUI wrappers, or want agents to orchestrate terminal state through the socket API.
GUI managers suit desktop-product workflows. herdr is more for terminal users and remote development environments.
Building from source
|
|
Tests and checks:
|
|
Most users should use the install script or release binary instead of building from source.
Notable updates in v0.7.1
v0.7.1 was released on 2026-06-24. Highlights include:
[update].version_checkand[update].manifest_checkto disable background version and remote agent-detection manifest checks;HERDR_AGENT=<agent>for Linux cases where wrappers, VMs, Bubblewrap, orfencehide the real agent;ui.pane_bordersandui.pane_gaps;- the Agents panel now shows all agents by default after removing workspace/all filters;
- user keybindings no longer leave two actions on the same key when overriding defaults;
- fixes for Windows Terminal multiline paste, ConPTY, CJK branch-name truncation, and remote handshake latency.
The release shows active work around Windows support and multi-agent lifecycle details.
License notes
herdr is dual licensed:
- open source under GNU Affero General Public License v3.0 or later;
- commercial licensing for organizations that cannot meet AGPL requirements.
Personal or internal trial use is usually straightforward. Product integration, hosted services, or modified distribution should review AGPL obligations carefully.
Practical advice
Treat herdr as a multi-agent parallel workbench, not just a terminal decoration.
A natural workflow is:
- one repository per workspace;
- one task per pane;
- one agent per pane;
- use the sidebar for state;
- use detach/reattach for long tasks;
- use
herdr --remoteon remote development machines; - add official integrations or the socket API after the workflow is stable.
If you already run Codex, Claude Code, and OpenCode in tmux, herdr’s appeal is direct: it keeps terminal freedom while adding an agent-status layer.