Multiplex AI agents in persistent terminal sessions
Rust terminal runtime for coding agents: persistent panes that survive disconnects, working, blocked or idle status, multi-machine view and agent-driven CLI.
0.9.3Add to Favorites
Why it matters
Run multiple AI agents simultaneously in a terminal multiplexer that persists sessions across disconnects and restarts, enabling agents to coordinate work through a socket API while providing real-time visibility into each agent's status and output.
Outcomes
What it gets done
Monitor multiple agent processes in split terminal panes with live status updates
Detach and reattach to running agent sessions from any terminal or SSH connection
Enable agents to spawn panes, read output, and coordinate through socket API
Extend agent workflows with plugins from the marketplace
Source
Get it from source
Spark does not host a copy of it.
Open sourceReports
Agent outcome reports
No reports yet
Overview
herdr is a single Rust binary that owns the terminals of your coding agents. It keeps them running in a background server, marks each pane working, blocked, or idle, and lets agents control panes through a CLI and socket API. Use it when you run multiple coding agents or work over SSH and need sessions to survive a closed terminal or lost connection.
What it does
herdr describes itself as the runtime your coding agents live on. It is a single Rust binary, with no Electron, that runs inside whatever terminal you already use and owns the terminals of the coding agents you run. It does not wrap or replace those agents. It names Claude Code, Codex, Cursor, OpenCode, and Grok "and the rest" as examples of what it runs.
The main behaviors listed are:
- Detach without stopping work: herdr keeps terminals running in a background server when you close the client or lose your SSH connection. After a server or machine restart, it restores the saved layout and can resume supported agent sessions, but the original processes do not survive.
- Several machines, one window: local work and saved SSH machines sit together with a combined agent list and independent reconnects.
- Status at a glance: every pane is marked working, blocked, or idle, and when an agent stops and needs an answer, herdr says so, so you never hunt for the stuck one.
- Agent-native control: agents drive herdr through its command line and a socket API. They can spawn panes, prompt each other, and wait until another agent is genuinely blocked.
- Input styles: tmux-style prefix keys and mouse actions (click, drag, split) are both first-class, chosen per moment rather than per tool.
- Plugins: extend panes and workflows through a plugin marketplace.
When to use - and when NOT to
Use it when you run several coding agents at once, work over SSH or across more than one machine, and need long-running sessions to survive a closed terminal or dropped connection. It is also a fit when you want one agent to be able to start and coordinate another through a CLI rather than by hand.
Be aware of its stated limit: after a server or machine restart the layout is restored and supported agent sessions can be resumed, but the original processes are gone, so it is not a way to keep a computation alive across a reboot. Sessions can only be resumed for supported agents, and the docs keep a supported agents page.
Inputs and outputs
The input is your normal terminal workflow: you start herdr where the work lives, run your agents, and split panes. The output is a persistent multi-pane workspace with status marks per pane. The prefix key ctrl+b q detaches, and running herdr again reattaches. Installation on macOS or Linux is one line:
curl -fsSL https://herdr.dev/install.sh | sh
Alternatives listed are brew install herdr, mise use -g herdr, a PowerShell install script for Windows, and prebuilt binaries on the GitHub releases page. Then start it with the command herdr.
Integrations
herdr works alongside the coding agents you already use and connects saved SSH machines into one window. Agents integrate through the CLI and socket API, and an agent skill is documented. Extensions arrive through plugins from its marketplace. Development uses cargo build --release, with just test for unit tests and just check for formatting, tests, and maintenance checks.
Who it's for
It is for developers who run several terminal-based coding agents in parallel, work on remote machines, and want their sessions to persist, with clear visibility of which agent is working, blocked, or idle. The project is licensed under Apache 2.0, and full documentation lives at herdr.dev.
Source README
herdr
https://github.com/user-attachments/assets/043ec09f-4bdd-41d5-aee0-8fda6b83e267
the runtime your coding agents live on.
- detach without stopping work - herdr keeps terminals running in a background server when you close the client or lose your SSH connection. after a server or machine restart, herdr restores the saved layout and can resume supported agent sessions; the original processes do not survive. session state →
- several machines, one window - keep local work and saved ssh machines together, with a combined agent list and independent reconnects. remote machines →
- never hunt for the stuck one - every pane is marked working, blocked, or idle. when an agent stops and needs an answer, herdr says so.
- agent-native - agents drive herdr through the cli and socket api: they can spawn panes, prompt each other, and wait until another agent is genuinely blocked. agent skill →
- runs what you already run - claude code, codex, cursor, opencode, grok and the rest. herdr doesn't wrap or replace them; it owns their terminals. building an agent? add herdr support →
- keyboard and mouse, both first-class - tmux-style prefix keys and click, drag, split. pick per moment, not per tool.
- plugins - extend panes and workflows. browse the marketplace →
- one rust binary, no electron - runs in whatever terminal you already use.
install
curl -fsSL https://herdr.dev/install.sh | sh
or brew install herdr · mise use -g herdr · windows: powershell -ExecutionPolicy Bypass -c "irm https://herdr.dev/install.ps1 | iex" · endpoint-protected Windows · binaries
then start it where the work lives:
herdr
run your agents, split panes, walk away. ctrl+b q detaches, herdr reattaches. quick start →
docs
everything lives at herdr.dev/docs: quick start · concepts · supported agents · keyboard · configuration · session state · connecting machines · remote · integrations · add herdr support to your agent · plugins · socket api
thanks
every past sponsor and backer is listed in SPONSORS.md - thank you 🐑
enterprise / partnership: hey@herdr.dev
agent instructions
if you are an ai agent helping with this repository, read AGENTS.md before making changes and read CONTRIBUTING.md before opening issues or PRs.
development
git clone https://github.com/herdrdev/herdr
cd herdr
cargo build --release
just test # unit tests
just check # formatting, tests, and maintenance checks
FAQ
Common questions
Discussion
Questions & comments · 0
Sign In Sign in to leave a comment.