Herdr: The Rust-Powered Agent Multiplexer That Runs All Your AI Coding Agents in One Terminal
Herdr is an open-source, Rust-powered terminal multiplexer purpose-built for running multiple AI coding agents simultaneously. Get real-time state awareness, persistent sessions, and zero-config detection for Claude Code, Codex, Copilot, and 16+ agents — all in a single ~10MB binary.
Quick Answer: Herdr is an open-source, Rust-powered terminal multiplexer purpose-built for running multiple AI coding agents simultaneously. Think of it as tmux rebuilt for the AI era — it gives each agent its own real terminal, shows you at a glance who's blocked, working, or done, and keeps everything alive even when you disconnect. A single ~10MB binary with zero dependencies.
If you've ever juggled Claude Code in one terminal window, Codex in another, and Copilot in a third — frantically alt-tabbing to check which one finished or got stuck — Herdr was built for you.
Created by Turkish developer Oğuz Çelik (ogulcancelik), Herdr has rocketed to 11,000+ GitHub stars and is trending globally. It solves a problem that didn't exist two years ago: how do you orchestrate a fleet of AI coding agents working in parallel, without losing your mind or your terminal sessions?
In this deep dive, we'll explore what makes Herdr different from tmux, how it detects agent states automatically, and why thousands of developers are making it their daily driver for AI-augmented development.
Running multiple AI agents in parallel requires purpose-built terminal tooling — Herdr fills that gap.
What Is Herdr and Why Does It Exist?
Herdr is a terminal multiplexer with agent awareness. It runs as a single Rust binary (~10MB) that manages multiple terminal panes — each hosting a different AI coding agent — and tracks their state in real-time.
The name is a play on "herder" — you're herding your AI agents. And if you've ever tried to coordinate five AI agents working on different parts of your codebase simultaneously, you know exactly why that metaphor fits.
The Problem: tmux Wasn't Built for Agents
Before AI coding agents, developers used tmux or screen to manage multiple terminal sessions. These tools are excellent for what they do — persistent terminal multiplexing — but they have no concept of agent state.
When you have Claude Code waiting for your input in pane 3, Codex compiling in pane 1, and Copilot finished in pane 2, tmux treats all three identically. You have to visually inspect each pane to know what's happening. At scale — say, 8-10 agents across multiple repos — this becomes unmanageable.
The Solution: Agent-Native Terminal Management
Herdr's core innovation is zero-config agent state detection. Using process-name matching and terminal-output heuristics, it automatically classifies each agent into one of four states:
- 🔴 Blocked — the agent is waiting for your input or approval
- 🟡 Working — actively processing, generating, or compiling
- 🔵 Done — task completed, results ready to review
- 🟢 Idle — waiting for a new task
These states surface in a sidebar that gives you a fleet-level overview at a glance. No hooks, no plugins, no configuration files — it just works out of the box.
Supported Agents: 16+ and Counting
Herdr ships with first-class support for the major AI coding agents in use today:
| Agent | Idle/Done | Working | Blocked |
|---|---|---|---|
| Claude Code | ✅ | ✅ | ✅ |
| OpenAI Codex | ✅ | ✅ | ✅ |
| Pi (pi.dev) | ✅ | ✅ | Partial |
| Droid (Factory.ai) | ✅ | ✅ | ✅ |
| Amp | ✅ | ✅ | ✅ |
| GitHub Copilot CLI | ✅ | ✅ | ✅ |
| Devin CLI | ✅ | ✅ | ✅ |
| Grok CLI | ✅ | ✅ | ✅ |
| OpenCode | ✅ | ✅ | ✅ |
| Kilo Code CLI | ✅ | ✅ | ✅ |
Any agent that runs in a terminal works with Herdr as a basic multiplexer. Official integrations add native session restore and semantic state reporting via herdr integration install <agent>.
Architecture: What Makes Herdr Different
Single Binary, Zero Dependencies
Herdr is a ~10MB Rust binary. No Electron wrapper, no Node.js runtime, no GUI framework. It runs inside your existing terminal — iTerm2, Alacritty, Kitty, GNOME Terminal, whatever you prefer.
# Install in one line
curl -fsSL https://herdr.dev/install.sh | sh
# Or via Homebrew
brew install herdr
# Or via Nix
nix run github:ogulcancelik/herdr
Background Server Architecture
When you run herdr, it starts (or attaches to) a background server process. This server owns all your panes, tabs, and workspaces. Your terminal is just a client — a viewport into the server's state.
This means:
- Detach safely: Press
Ctrl+BthenQto detach. All agents keep running. - Reattach from anywhere: Run
herdragain from any terminal — your laptop, a VPS over SSH, even your phone. - Close the laptop: Your agents don't die. They keep working until they're done or blocked.
# Start or attach to a session
herdr
# Detach (agents keep running)
# Ctrl+B, then Q
# Reattach later
herdr
# Connect to a remote server
herdr --remote ssh://you@yourserver:2222
Mouse-Native, Keyboard-Friendly
Unlike tmux's keyboard-heavy paradigm, Herdr is mouse-native. Click to switch panes, drag to resize, click-drag to rearrange tabs. But it also supports a tmux-style prefix key system for keyboard power users:
Ctrl+BthenShift+N— new workspaceCtrl+BthenVor-— split panesCtrl+BthenC— new tabCtrl+BthenW— switch workspacesCtrl+Bthen?— show all keybindings
Real-World Example: Running a Multi-Agent Development Workflow
Let's walk through a practical scenario. You're refactoring a large Node.js monorepo and want to parallelize the work across multiple AI agents:
# Start Herdr
herdr
# Create a workspace for your project
# Ctrl+B, then Shift+N → name it "monorepo-refactor"
# Split into 4 panes (Ctrl+B, then V to split)
# Pane 1: Claude Code handles the API module
claude-code
> "Refactor the /api directory to use the new service layer pattern"
# Pane 2: Codex works on tests
codex
> "Update all test files in /tests to match the new API structure"
# Pane 3: Copilot handles documentation
copilot
> "Update README.md and all JSDoc comments for the refactored modules"
# Pane 4: You monitor and handle blockers
# Watch the sidebar: 🔴 means an agent needs your attention
As agents work, the sidebar updates in real-time. When Claude Code hits an ambiguity and needs clarification, it goes 🔴 Blocked. You click that pane, answer the question, and it goes back to 🟡 Working. Meanwhile, Codex finishes its task and turns 🔵 Done — you review the changes while the other agents continue.
When it's time for lunch, you detach (Ctrl+B, Q) and close your laptop. Your agents keep running. When you come back and reattach, two are done, one is blocked, and one is still working. Zero context lost.
Socket API: Let Agents Orchestrate Each Other
Herdr exposes a local Unix socket API that agents can use to create workspaces, split panes, read output, and subscribe to state changes. This enables agent-to-agent orchestration:
# Install the reusable agent skill
npx skills add ogulcancelik/herdr --skill herdr -g
An agent can programmatically spawn a helper agent in a new pane, monitor its progress, and read its output — all without human intervention. This is where Herdr transcends being a multiplexer and becomes an agent runtime.
Key Benefits
- Zero-config agent awareness — automatically detects blocked, working, done, and idle states for 16+ AI coding agents without any hooks or plugins
- Persistent sessions — close your laptop, disconnect from SSH, kill your terminal; agents keep running and you can reattach from anywhere
- Single ~10MB Rust binary — no Electron, no Node.js, no GUI framework, no telemetry, no account required
- Mouse-native interface — click, drag, split, and resize panes with your mouse while retaining full keyboard shortcut support
- Workspaces, tabs, and panes — organize agents by repo, project, or task with a visual hierarchy that makes sense
- Real terminal views — each agent gets its own real terminal, so full-screen TUIs render correctly (unlike GUI wrappers that fake it)
- Socket API for orchestration — agents can drive Herdr programmatically to spawn helpers, read output, and coordinate work
- Works everywhere — Linux, macOS, Windows (beta); local or remote via SSH
- Open source (AGPL-3.0) — fully auditable, self-hostable, with commercial licensing available for enterprise use
Herdr vs. tmux vs. GUI Agent Managers
| Feature | tmux | GUI Managers | Herdr |
|---|---|---|---|
| Persistent sessions | ✅ | ❌ | ✅ |
| Detach / Reattach | ✅ | ❌ | ✅ |
| Runs over SSH | ✅ | ❌ | ✅ |
| Agent state awareness | ❌ | ✅ | ✅ |
| Real terminal views | ✅ | ❌ | ✅ |
| Mouse-native | ❌ | ✅ | ✅ |
| Lightweight binary | ✅ | ❌ | ✅ |
| Agent orchestration | ❌ | ❌ | ✅ |
Frequently Asked Questions
Is Herdr free to use?
Yes. Herdr is open source under the AGPL-3.0 license, which means you can use it freely for personal and commercial projects. Commercial licenses are available for organizations that cannot comply with AGPL requirements.
Does Herdr work with any terminal?
Herdr runs inside your existing terminal emulator — iTerm2, Alacritty, Kitty, GNOME Terminal, Windows Terminal, and others. It doesn't replace your terminal; it manages panes within it. The only requirement is a terminal that supports standard escape sequences.
Can I use Herdr for non-AI-agent workflows?
Absolutely. Herdr is a fully functional terminal multiplexer that works like tmux. You can use it for any multi-pane terminal workflow — running servers, monitoring logs, managing SSH sessions. The agent awareness is a bonus layer on top.
How does Herdr detect agent states without configuration?
Herdr uses process-name matching combined with terminal-output heuristics. It recognizes the stdout patterns of known agents (like Claude Code's "waiting for input" prompt or Codex's progress indicators) and classifies them accordingly. Official integrations add deeper semantic state reporting.
What happens to my agents if my computer crashes?
If the Herdr server process is killed (power loss, crash), running agents will also terminate. However, Herdr supports restart restore — when you restart Herdr, it can re-launch agents with their previous configurations. For critical long-running tasks, consider running Herdr on a VPS with UPS-backed power.
Can agents communicate with each other through Herdr?
Yes, via the local Unix socket API. An agent can create new panes, spawn helper agents, read another agent's output, and subscribe to state changes. This enables sophisticated multi-agent orchestration patterns where agents coordinate work autonomously.
Does Herdr collect telemetry or require an account?
No. Herdr requires no account, sends no telemetry, and makes no network calls unless you explicitly use the remote connection feature. It's a fully local, privacy-respecting tool — just a Rust binary running on your machine.