Tool · beginner
Herdr: one terminal for the whole herd
A practical first look at Herdr, a terminal-native multiplexer for keeping coding agents, shells and long-running work together.
If you run one coding agent at a time, a normal terminal is enough. The friction starts when several agents, test servers, logs and shells need to stay alive together — especially when the work moves to a remote machine.
Herdr is a terminal-native multiplexer for that situation. It keeps real terminal panes running in a background session, lets clients attach and detach, and adds agent-aware state on top of the layout. The result feels closer to tmux or Zellij than to a project-management dashboard, but it is designed to understand the agents inside those panes.
What Herdr changes
Herdr separates the session from the terminal window that is currently displaying it. Close your terminal, disconnect from SSH or move to another device; the session can keep running and you can attach again later.
It also makes the layout useful for agent work:
- panes remain real PTY sessions, so shells, tests and agents keep their normal terminal behavior;
- agent state can show which work is active, blocked, done or waiting;
- the same session can be reached locally, through SSH, or with Herdr’s remote thin client;
- its CLI and local socket API give scripts and agents a way to inspect or control workspaces and panes.
That combination is the point. tmux gives you persistence, and a desktop agent app may give you agent awareness. Herdr tries to keep both inside the terminal you already use.
Start locally
Install Herdr with a package manager, then start it from a project directory. The official install guide documents Homebrew, mise, Nix and direct downloads.
brew install herdr
herdr
Herdr starts or attaches to a local background session. Run a shell, an agent, a dev server or a test command in its panes as you normally would.
- Open one workspace for the project.
- Give each agent or long-running process its own pane.
Keep a small monitoring pane for tests, logs or the current git state.
Detach with
Ctrl+Bfollowed byQ.Run
herdragain later to reattach.
Take the session over SSH
The simplest remote path is still ordinary SSH:
ssh you@server
herdr
The server, panes and agents all run on the remote machine. Disconnect, reconnect and run herdr again. The same persistent session returns, which makes this practical from a small laptop or a phone SSH client.
Herdr also supports a local thin client for remote sessions:
herdr --remote workbox
Use this when you want the remote project to feel local while keeping the agents and files on the server. Herdr’s remote-work guide explains the trade-off between SSH-first work and local remote attach.
Where it earns its place
Herdr is a strong fit when:
- several coding agents need to run beside each other;
- work must survive terminal closures or SSH disconnects;
- the project lives on a server, VM or another machine;
- you want scripts or agents to inspect panes and wait for state changes;
- you prefer keyboard-and-terminal workflows over a hosted dashboard.
It is less compelling when you only need a persistent shell, have one short-lived agent, or specifically want a visual application that hides the terminal. In those cases, tmux, Zellij or an existing desktop tool may be the smaller answer.
A useful first experiment
Create one Herdr session for a real project. Put your coding agent in one pane, tests in another and a plain shell in a third. Detach while work is running, reconnect from another terminal, and ask whether the session tells you what needs attention faster than your current setup.
That is the real test. Herdr does not need to replace your terminal emulator or every part of your workflow. It only needs to make persistent, multi-agent terminal work easier to see and resume.