Herdr shipped v0.9.0 on September 7, 2026 at 19:21 UTC, and the headline feature is that a single Herdr window can now hold the agents running on every machine you own. You add one with herdr machine add workbox, point it at an SSH target, and its agents join a combined list alongside your local ones. The Apache-2.0 Rust project is at 37,066 GitHub stars, up from the 25,000 it had just crossed when we covered its relicense from AGPL on August 6. But the feature everyone is quoting is downstream of an architectural change buried in the "Changed" section of the release notes, and that change is the more interesting story, because it also explains exactly what this release cannot do.
Background: The Runtime Agents Live On
Herdr describes itself as "the runtime your coding agents live on." In practice it is a terminal multiplexer built specifically for long-running CLI agents such as Claude Code and Codex, rather than a general-purpose one like tmux. It organizes work into projects, tabs, and agent panes, holds each agent's state and connectivity, and keeps a run alive when you close the laptop.
Before v0.9.0, reaching a second machine meant a second Herdr client in a second terminal tab. The remote story was herdr --remote user@host: one client, one server, one machine. That is fine when you have a laptop and a VPS. It stops being fine the moment you have a workstation, a build box, and two cloud instances each running overnight agents, which is increasingly what a serious agent setup looks like now that unattended CI runs are a normal way to use these tools.

Deep Analysis: The Rewrite Behind the Feature
The outer UI moved into the client
The load-bearing change is item #3487: "The terminal UI now runs in each client." Previously Herdr rendered everything server-side. Herdr's own write-up on the release, Connecting the Machines, is direct about why that had to change: server-side rendering does not scale to several independent servers, because there is no obvious place for the composite view to be drawn. Moving the outer UI into the client lets each server keep owning its own sessions while the client does the aggregating.
That choice avoids building a server-to-server mesh, which would have meant a coordination protocol, a leader, and a new class of failure. It is why the release notes can state that "a disconnected machine does not interrupt the others." Nothing is aggregating on the server side, so nothing breaks when one server goes away. The side benefits are real too: themes, menus, and copy mode are now local to the machine you are looking at, and redraw work drops in busy multi-client sessions.
What federation does not do, in Herdr's own words
This is the part missing from the coverage. Because aggregation happens in the client, anything that runs on the server side still sees only its own machine. Herdr says so plainly: "The agent CLI still works within one server. It doesn't yet see the agents running on your other machines."
The practical consequence is that the unified view is a human interface, not an automation surface. If you script against Herdr to ask "what are all my agents doing," you still have to ask each machine separately. Anyone hoping v0.9.0 turns a fleet of boxes into one programmable pool should read that sentence before rearchitecting anything. The second stated limit is narrower but worth planning around: "For now, those machines need to be reachable over SSH." A laptop behind CGNAT or a corporate network without inbound SSH is not addressable, which is the gap Herdr says it intends to close with a forthcoming Herdr Cloud offering carrying end-to-end encrypted terminal traffic.
The upgrade path stops killing running agents
Item #3509 is the operational win that nobody put in a headline. Client updates can now leave compatible servers and their running agents untouched, and a missing server feature disables only the affected action instead of refusing the connection outright. Replacing a remote server asks before stopping its pane processes, with No as the default answer.
For a tool whose entire premise is that a run survives your laptop closing, "upgrading the client kills the overnight job" was a contradiction at the heart of the product. Version skew between client and server is now a degraded feature, not a dead connection. The one-time cost is that servers older than what Herdr calls endpoint generation 1 need an upgrade before this applies.
A breaking change for anyone building on the API
Item #1270 changes lifecycle event subscriptions to start with live events rather than replaying retained history, and the notes carry an instruction: "API clients should subscribe before taking their initial snapshot to avoid missing changes."
Read that in the other direction. Any existing integration that takes a snapshot first and subscribes second now has a window where changes are silently dropped. It will not error. It will just be quietly wrong under load, occasionally, in a way that looks like a bug in your own code. If you have built anything on top of Herdr's API, this single line is the most consequential thing in the release, and it is sitting seventh in a "Changed" list under a feature announcement.

Impact on Creators and Builders
The shape of agent work has been drifting toward fleets for months. Copilot routing across models, agents defined as code, and portable agent memory all point the same way: the unit of work is no longer one agent in one terminal. What has lagged is the boring part, which is looking at all of them at once without a wall of terminal tabs.
For anyone running a build pipeline on top of coding agents, the practical read is that Herdr is now viable as the operator console for a small fleet, and not yet viable as the control plane for one. Use it to watch, to intervene, and to move between machines. Do not build orchestration on the assumption that one Herdr client can address every agent programmatically, because the agent CLI cannot. That distinction also matters for the self-hosted crowd assembling local capacity out of pooled GPUs or local coding models: Herdr federates the sessions, not the compute.
The smaller additions are aimed at the same fleet problem. Muse agent detection (#2489) reports idle, working, approval, and question states, and sidebar tokens (#3693) can now change color, weight, and dimming based on their values. Together those are the beginnings of an at-a-glance answer to the question that actually matters when eight agents are running: which one is stuck waiting for me.

Key Takeaways
- v0.9.0 landed September 7, 2026. One client can now hold agents from Local and any saved SSH machine, added with
herdr machine add, with machine-scoped navigation, notifications, and automatic reconnects. - The enabling change is that the outer TUI moved from server-side to client-side rendering. Aggregation happens in the client, which is why one machine going offline does not disturb the others.
- The limit is stated by Herdr, not inferred: the agent CLI still works within one server and does not see agents on other machines. This is an operator view, not a programmable fleet.
- Machines must be reachable over SSH today. Herdr Cloud is the announced answer for machines that are not.
- API integrations need attention: lifecycle subscriptions no longer replay retained history, so subscribe before snapshotting or lose changes silently.
What to Watch
The question v0.9.0 leaves open is whether the agent CLI catches up with the UI. Right now Herdr has a client that knows about every machine and a command line that does not, and that asymmetry is the natural thing to close next. If it closes, Herdr stops being a multiplexer with a nice remote story and becomes a plausible open-source control plane for agent fleets, which is a category currently served mostly by proprietary cloud consoles.
The second thing to watch is Herdr Cloud. An Apache-2.0 runtime with a hosted connectivity layer is a familiar commercial shape, and the founder has previously committed to the runtime itself staying free. How the SSH requirement gets replaced, and what stays in the open-source client when it does, is the fork in the road for anyone planning to depend on this. For the wider picture of where agent tooling sits, our AI coding tools guide tracks the surrounding stack.
Frequently Asked Questions
What is new in Herdr v0.9.0?
The headline is multi-machine management: Local and saved SSH machines appear in one Herdr window with a combined agent list, machine-scoped navigation, notifications, and automatic reconnects. It also adds independent workspaces and tabs for multiple clients, Muse agent state detection, value-driven sidebar styling, and separate light and dark theme overrides. It was published September 7, 2026.
Can Herdr control agents on all my machines from one command line?
No. Herdr states that "the agent CLI still works within one server" and "doesn't yet see the agents running on your other machines." The unified view exists in the client interface only. Scripting against multiple machines still means talking to each one separately.
Why did the terminal UI move to the client?
Because server-side rendering does not scale to several independent servers. With the outer UI in the client, each server keeps owning its own sessions and the client aggregates them, which avoids building server-to-server coordination. It also means a disconnected machine does not interrupt the others, and keeps themes and copy mode local to the viewing machine.
Will upgrading Herdr kill my running agents?
Not from v0.9.0 forward. Client updates can now leave compatible servers and their running agents untouched, and a missing server feature disables only that action rather than blocking the connection. Replacing a remote server prompts before stopping its pane processes, defaulting to No. Servers older than endpoint generation 1 need one upgrade first.
Does anything in this release break existing integrations?
Yes, quietly. New lifecycle event subscriptions start with live events instead of replaying retained history. Clients that take an initial snapshot before subscribing will silently miss any changes that occur in the gap. The fix is to subscribe first, then snapshot.