Running several coding agents at once quickly creates a wish: closing the window should not stop the work. Whether that means "the processes keep running" or merely "the layout and conversations come back" changes how you operate the system.
Some coverage describes Herdr as a desktop app. The official repository and documentation describe something else: a Rust terminal multiplexer, not an Electron application. The README says "one rust binary, no electron" and "runs in whatever terminal you already use." That distinction matters because it sets expectations for session lifetime.
What actually survives
Herdr puts each agent in a real terminal pane with a PTY. Detaching the client leaves a background server holding the panes and their processes. But if the Herdr server itself restarts, the original pane processes are gone. The official session-state guide lays out the cases.
| Situation | Processes keep running | Layout returns | Recent screen returns | Agent conversation resumes |
|---|---|---|---|---|
| Detach and reattach | Yes | Yes | Yes, from the live terminal | Yes, because the process never stopped |
| Herdr server restart | No | Yes | Only with pane screen history | Only with native agent session restore |
Update without --handoff |
Compatible servers keep running; restart-required servers may stop | Yes after restart | Only with pane screen history | Only with native agent session restore |
Update with --handoff |
Best effort on supported running servers | Yes | From the live terminal if handoff succeeds | Yes, if handoff succeeds |
So "close the window and the core keeps working" is accurate for the detach path. It is not accurate to say that a reboot restores the programs that were running. The layout comes back, and a supported agent may reopen its own conversation with a --resume command, but the original build process or test runner is a new process.
That distinction matters for long jobs. If a test suite was running before a server restart, restoring the layout does not restore the test. You have to start it again. The UI's appearance of continuity and the execution state are separate facts.
One window for several agents
The interesting part is not pane splitting. Herdr tracks which panes contain agents, rolls their state up through tabs and workspaces, and shows working, blocked or idle so you can find the pane that needs attention. It does not wrap or replace Claude Code, Codex, Cursor Agent CLI, OpenCode or Copilot CLI; it owns their terminals.
The state model is documented. For agents Herdr supports, it inspects the live bottom of the pane, not the scrollback position, and infers state from what the agent is drawing. Agents with an official integration can report state directly, and those reports take priority. blocked is deliberately strict: it appears only when the visible bottom matches known approval, question or permission UI. If no rule matches for a known agent, Herdr falls back to idle and records default_known_agent_idle_fallback in explain output.
The benefit is broad CLI coverage without a custom protocol. The cost is dependence on screen text: a new prompt design or theme can confuse detection. The documentation warns about the consequence directly. Automation that trusts a mistaken idle can type into an approval dialog, so idle is not authorization to approve an action.
A contract to test before adoption
If you adopt Herdr, test the failure paths before the feature list. The table below is a CodeBridge checklist derived from the official docs. We did not install and run Herdr for this article.
| Test | Expected contract | How to check |
|---|---|---|
| Detach and reattach | The original process keeps running | Start a long sleep, detach, compare its PID |
| Server restart | Processes stop; layout returns | Stop the server, confirm the PID is gone and the pane is restored |
| Agent conversation restore | Only supported agents resume natively | Check integration version and the documented --resume command |
| Remote SSH reconnect | Local and remote sessions reconnect independently | Drop the network and inspect each side |
| Screen history | Off by default; may persist secrets when enabled | Check pane_history and file permissions |
| Status detection | idle is not approval |
Ensure automation never types into a pending approval prompt |
| Updates | --handoff is experimental and can fail |
Check server support, install method and pane-count limits |
Remote access and screen history deserve a security review. The docs explain that pane history is off by default because pane output can contain secrets, tokens, prompts and command output. Session snapshots contain layout and agent session references rather than running processes, but they are still private session data. Treat backups and shared copies with the same care as terminal history.
Who it suits
Herdr fits developers who already switch between Claude Code and Codex in a terminal more than people looking for a GUI desktop app. It combines tmux-style prefix keys with mouse control, keeps panes from multiple machines in one window, and exposes CLI and socket APIs so agents can spawn panes, prompt each other and wait for another agent to become blocked.
It is not a replacement for GUI project management, visual diffs or click-to-approve workflows. Because agent state is partly inferred from the screen, important approvals should still be checked by a person looking at the pane.
The "desktop app" description in the briefing does not match the official documentation. Herdr is a runtime that lives in the terminal, and its strongest persistence applies to detaching a client. The longer you run multiple agents, the more important it becomes to ask what restarts, not just what is restored.
The paid course below covers designing roles and handoffs across multiple agents. It does not teach Herdr installation or reproduce this checklist, and the link is promotional.