Favicon of Herdr

Herdr

herdr is a Rust terminal multiplexer for managing multiple AI coding agents in persistent, detachable panes with a socket API.

Herdr website screenshot
Herdr GitHub repository preview

herdr is a terminal multiplexer designed around running multiple AI coding agents (like Claude Code or Codex) side by side. It's for developers who juggle several agent sessions at once and want to see real terminal output for each one, detach and reattach without losing state, and let agents coordinate with each other through a socket API. If you've used tmux or screen, the interaction model will feel familiar, but the panes are built with agent workflows in mind rather than generic shell multiplexing.

The tool ships as a single Rust binary with no Electron wrapper, so it runs in whatever terminal you already use. Sessions persist across restarts, which matters when a long-running agent task shouldn't die just because you closed your laptop or lost an SSH connection.

Key features

  • Real terminal views: each agent pane shows actual terminal output (blocked, working, done), not a reinterpreted summary.
  • Detach and reattach: sessions survive restarts and can be reattached from any terminal, including over SSH.
  • Socket API for agents: agents can spawn panes, read output from other panes, and wait on each other programmatically, not just be spawned by a human.
  • Dual input model: supports tmux-style prefix key commands and mouse interaction (click, drag, split) as equally first-class options.
  • Plugin support: panes and workflows can be extended through a plugin marketplace.
  • Single binary distribution: one Rust binary, no bundled runtime or GUI framework, installable via a shell script, Homebrew, or mise.

Ideal use cases

herdr fits well if you're running several AI coding agents concurrently and need a persistent, terminal-native way to check on each one's status without keeping a dozen terminal windows open. It's also useful if you want agents to orchestrate each other: spawning sub-tasks in new panes and waiting on results via the socket API, rather than a human manually switching context between sessions.

It's a good fit for remote or SSH-based workflows too, since sessions detach and reattach cleanly, similar to tmux, so a long agent run started on a remote box doesn't get killed by a dropped connection.

It is not the right tool if you need a GUI dashboard, a web-based interface, or a hosted agent runtime with scheduling and queuing built in. herdr is a terminal-first multiplexer, not an orchestration platform with a UI layer, and it assumes you're comfortable working in a terminal with keyboard shortcuts or mouse-driven pane splits. If your workflow doesn't involve running multiple agent processes at once, a standard terminal or a single agent CLI is probably simpler.

Installation

Install with the official script:

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

Or use a package manager:

brew install herdr
mise use -g herdr

Windows (beta) install:

powershell -ExecutionPolicy Bypass -c "irm https://herdr.dev/install.ps1 | iex"

Prebuilt binaries are also available from the GitHub releases page.

Once installed, start herdr in the directory where your work lives:

herdr

Run your agents in panes, split as needed, and walk away. Use ctrl+b q to detach; run herdr again to reattach to the same session.

To build from source for development:

git clone https://github.com/herdrdev/herdr
cd herdr
cargo build --release

just test        # unit tests
just check       # formatting, tests, and maintenance checks

Full documentation, including the quick start guide, keyboard reference, configuration, remote/session-state behavior, and the socket API, is available at herdr.dev/docs.

Frequently asked questions

Share:

Stars
32.1K
Forks
2.3K
Last commit
23 hours ago
Repository age
5 months
Self-hosted
No
Activity score
83/100
View Repository
Ad
Favicon

 

  
 

Similar to Herdr

Favicon

 

  
 
Favicon

 

  
 
Favicon