Herdr: an Agent-First tmux

Day one with the runtime my coding agents now live on

Herdr: an Agent-First tmux
Published Voice Engineer Tags ToolsAI

Terminals were built around human attention - one person, watching one screen. Agentic development demands the opposite: a runtime built around managing the attention of many parallel workers. Herdr is the first tool I’ve tried that treats that as the actual job.

What It Is

Herdr is an open-source (Apache 2.0) runtime that holds real terminals open in the background. Close the laptop lid, drop the network - the session survives, and the agent inside keeps working. A machine restart obviously stops the processes, but Herdr restores the layout, and supported agents can resume their conversation from their native session IDs.

It is agent-agnostic: Claude Code, Codex, opencode, whatever CLI you already run. Nothing about the setup changes. What changes is what you can see: for every terminal, Herdr knows whether the agent is working, blocked, done, or idle - and shows all of them in one place.

Install

One line on macOS and Linux:

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

On Windows, PowerShell:

irm https://herdr.dev/install.ps1 | iex

Homebrew, nix and manual installs are in the docs. A single binary, no account, and your existing agent CLIs keep working as they are.

I Already Had tmux for This

I used tmux for years, mostly for one scenario: SSH in from my phone or laptop, attach, continue where things left off.

Herdr does that same job, and for me it is 10x better. The difference is not surviving a disconnected terminal - tmux solved that decades ago. The difference is that tmux keeps a process alive without knowing anything about it. A tmux session with five agents is five identical green rectangles. Which one finished? Which one is stuck waiting on me? Attach and find out.

Herdr answers that question before I ask it. A status per agent, on a pile, at a glance. And sound notifications - when an agent needs me, I hear it. I don’t babysit terminals anymore; they call me.

That is the core of it: with agents doing the typing, my attention is the scarce resource - and the runtime’s job is to spend it well.

The Status Wall

I run four monitors on my main machine, each with a predefined role - chat on one, agents on another, browser, and so on. I’m not giving the monitors up. But Herdr is changing what goes on them: instead of agent terminals spread across everything, I can group them - by machine, most naturally - and collapse the sprawl into one view.

Where this pays off hardest is away from the four monitors. On a laptop screen, the same wall of agents that needed physical desk space now fits in one place. And because the sessions are persistent, coming back later is the default, not a recovery procedure.

The Agent Drives the Runtime

The detail that convinced me the “agent-first” label is real: an agent can operate Herdr from inside Herdr. Split a pane, start another agent, coordinate the work - the runtime is not just a box the agent lives in, it is a tool the agent itself picks up and uses.

That inverts the usual arrangement. Every terminal multiplexer before this was built for human fingers, and agents were taught to fake keystrokes into it. Here the interface is programmable enough that the agent is a first-class operator.

Day One

Full honesty: I have been using Herdr for one day. I am deep in the discovery phase, still learning the shortcuts and still figuring out what my layout wants to be. This is not a review, and you should not treat it as one.

It is not all smooth yet either. I run a lot of work in the background, and with my current skills the notifications over-fire: a ping, I look up, and nothing actually happened - the background agent is simply still working. Whether that is a tuning problem or a me problem, day one hasn’t told me yet. I will keep experimenting and update this post as the answers come in.

But the shift is already obvious. My agents stopped being commands I run and became long-running workers I manage.

tmux kept them alive.

Herdr tells me what they’re doing.