You've got three AI agents running. One is blocked waiting for you to approve a file write. One finished its task five minutes ago. One is still grinding. You have no idea which is which without tabbing through six terminals.
What it is
herdr is a terminal multiplexer written in Rust โ think tmux, rebuilt with AI agents as a first-class concept. It gives every agent its own real PTY pane, keeps them alive when you disconnect, and shows you at a glance whether each agent is ๐ด blocked, ๐ก working, ๐ต done, or ๐ข idle. No config needed. No hooks to wire up. It reads process names and terminal output to figure it out.
A PTY, or pseudo-terminal, is what your terminal emulator uses to talk to processes. It's the reason full-screen TUIs like Vim or Claude Code's interactive mode render correctly โ they depend on knowing terminal dimensions and control sequences. herdr gives each agent a real PTY, not a stripped-down text pipe, so everything renders the way it would in a regular terminal session.
Why it's worth your time
The gap it fills is real. tmux is excellent at persistence and session management โ but tmux has no idea what's running inside a pane. You end up tabbing through every agent window, hoping to spot the one that needs your input. GUI agent managers solve the state visibility problem but trade it for "app with a real terminal inside it" โ which means broken TUIs, macOS-only, sometimes closed-source, occasionally requiring an account.
herdr splits the difference: a single ~10MB Rust binary that runs in your existing terminal, anywhere you can SSH, no GUI, no Electron, no account, no telemetry. The agent state sidebar is the actual innovation.
The comparison to tmux is intentional. If you already use tmux, you know the workflow: one prefix key, persistent sessions, detach and reattach. herdr keeps all of that and adds the agent awareness layer on top. You don't unlearn anything.
Hands on
Install is one line:
curl -fsSL https://herdr.dev/install.sh | sh
Also available via Homebrew (brew install herdr), mise, Nix, or as a direct binary from the releases page.
Run herdr and it starts a background server and drops you into a workspace. If a session is already running, it attaches. The prefix key is ctrl+b โ the same as tmux โ followed by the action key:
ctrl+bthencโ new tabctrl+bthenvor-โ split panesctrl+bthenshift+nโ new workspacectrl+bthenqโ detach (agents keep running)
Start a few agents in different panes. herdr detects Claude Code, Codex, GitHub Copilot CLI, Cursor, Devin, OpenCode, Grok CLI, and more โ out of the box, without any configuration. When Claude is waiting on you to approve a shell command, the sidebar shows ๐ด blocked. Mid-task: ๐ก working. Finished: ๐ต done. You see it immediately. No tabbing, no guessing.
Remote access is cleaner than plain SSH + tmux:
herdr --remote ssh://you@yourserver:2222
Your local terminal becomes a client of the remote session โ and image pasting still works, which is the thing plain SSH + tmux quietly breaks.
Where it's rough: Detection is heuristic, not a formal protocol, so some agents show partial state support (the "blocked" state specifically doesn't surface for all of them). The Windows port is still in preview beta. Config docs for themes and custom keybindings exist but skip over details you'll hit โ verify against herdr.dev/docs/configuration.
Honest verdict
herdr solves one problem โ knowing where your agents need attention โ and it solves it without making you change how you work. The tmux-familiar UX is intentional and effective. You're not learning a new paradigm; you're getting a sidebar that tells you something tmux never could.
v0.7.1 landed 24 June 2026. The feature set is stable. Over 11,000 GitHub stars in roughly two months, which tells you this isn't a toy that'll disappear. It won't replace tmux for workflows that don't involve agents. For workflows that do, it's already the obvious choice.
Go try it
curl -fsSL https://herdr.dev/install.sh | sh
herdr
Open a pane, run an agent, watch the sidebar.
โ GitHub: github.com/ogulcancelik/herdr
โ Docs: herdr.dev/docs