mrkeyoor.com_
Tue 01 Sept 17:42 UTC
Dev Toolsevaluationupdated 25 Aug 2026

herdrm review

herdrm is a native macOS console for watching and entering coding-agent terminals managed by the separate herdr daemon. It gathers Claude Code, Codex, Gemini, Grok, OpenCode, and other command-line agents from a local Mac and remote SSH machines into one sidebar, search palette, and terminal window.

+10stars / 7d
Verdict

herdrm requires macOS 14 or newer, a herdr daemon on each machine, and agent bypass permissions are enabled by default, so adoption should begin on non-sensitive development hosts. It is a compelling console for people already juggling several herdr-managed agents, especially across SSH boxes. Everyone else should start with tmux or Zellij until the app gains broader test coverage and a CI gate.

We ran it

Screenshot of herdrm (github.com/missuo/herdrm)

Answers from our run

Did you run herdrm yourself?

No. Its code is Swift, and it carries no manifest our lab installs from, and no Dockerfile, so there was nothing standard to install, build or test. This review is written from the repository's own documentation.

Who should not use herdrm?

Anyone on Windows, Linux, or macOS 13 and older: the app requires macOS 14 or newer.

What are the alternatives to herdrm?

tmux, Zellij, OpenCode. herdrm requires macOS 14 or newer, a herdr daemon on each machine, and agent bypass permissions are enabled by default, so adoption should begin on non-sensitive development hosts.

Setup2/5Simple app install, but every machine also needs herdr
Docs4/5Clear requirements, architecture, shortcuts, and source commands
Community3/5Small audience with rapid recent issue and pull-request activity
Maturity2/5Early-stage app without full coverage or a CI gate

Who it’s for

macOS users running several coding agents across a laptop and remote development machines.
Developers who want live PTY sessions rather than summarized chat transcripts.
Herdr users who prefer a native SwiftUI console to terminal multiplexers.
Operators who need status-based search and notifications when an agent blocks or finishes.

Who it’s NOT for

Anyone on Windows, Linux, or macOS 13 and older: the app requires macOS 14 or newer.
Developers unwilling to install and operate herdr locally and on every remote machine they want to see.
Security-conscious teams that cannot accept bypass-permissions being enabled by default for newly created agents.
Organizations that require a CI gate and full test coverage before adoption: the README calls the app early stage, says coverage is incomplete, and states there is no CI gate yet.
Users who cannot allow remote attachments to be copied into a cache: remote pastes have 7-day retention and a 50 MB cap.
People who want a general terminal multiplexer: herdrm is organized around herdr Spaces and supported coding-agent CLIs.

Setup reality

We did not run herdrm at commit d8ec416 because the lab does not support its Swift ecosystem and the repository has no Dockerfile. There are no install, build, test, dependency, timing, or audit results from our sandbox.

The packaged route needs macOS 14 or newer and a local herdr installation; every remote device also needs herdr plus OpenSSH, Tailscale SSH 1.98.0 or newer, or a Keychain-stored password. Homebrew and signed release downloads are offered.

Source work needs Xcode tooling and XcodeGen. make kit-test requires a running local herdr, and the contribution guide says there is no CI gate. Remote file pastes use a self-pruning cache with 7-day retention and a 50 MB cap.

One sidebar tracks agents across every herdr device

herdrm is the graphical half of a 2-part system. The separate herdr background server owns spaces, agent processes, and their pseudo-terminals. HerdrM connects to the local Unix socket or forwards remote sockets over SSH, then displays every space and agent in a native SwiftUI sidebar. Rows are ordered by urgency, so blocked and completed sessions rise above agents that are working or idle.

That model solves a specific annoyance for developers running several coding agents at once. A normal terminal multiplexer preserves sessions but does not inherently know whether Claude Code needs approval or Codex has finished. herdrm receives that state from herdr, sends a macOS notification, and opens the relevant live terminal when clicked. Command-K searches across devices, and Command-N creates a new agent using CLIs advertised by the selected machine.

Remote sessions need herdr on 2 sides

The README requires macOS 14 or newer plus herdr on the Mac and on each remote machine. SSH authentication can use OpenSSH keys or an agent, Tailscale SSH 1.98.0 or newer, or a password stored in the macOS login Keychain. Tunnels reconnect with backoff, and the UI attempts to explain whether the remote daemon is absent or socket forwarding is misconfigured.

The terminal is an actual PTY attachment rather than a chat rendering. Native selection, URL opening, paste, font controls, and light or dark color handling sit around the agent's existing interface. A dropped connection presents a reconnect path. The release is a universal binary for Apple Silicon and Intel Macs, signed and notarized, with updates delivered through Sparkle. This preserves command-line behavior and makes the app compatible with several agents, but it also means herdrm cannot normalize every agent's prompts, approval screens, or failure messages into one consistent workflow.

What happened when we ran it

The lab entry for commit d8ec416 is NOT RUN. Swift is outside the sandbox's supported ecosystems, and the repository has no Dockerfile that could supply an alternative execution path. As a result, MrKeyoor has no measured install time, build outcome, test count, dependency size, or vulnerability audit for herdrm. Any such number would be invented.

The source instructions call for XcodeGen and Xcode's build tools: make build generates and compiles the macOS application, while make kit-test exercises HerdrKit against a running local herdr. Those commands are project documentation, not lab results. The requirement for a live daemon also means the integration check covers more than Swift compilation. We cannot say whether commit d8ec416 passed it.

The missing run matters because this is native, permission-sensitive software. SSH behavior, Keychain storage, PTY fidelity, notifications, auto-update signing, and dual-architecture packaging need macOS verification. A Linux container would be a poor substitute even if Swift compilation were available. The right follow-up is a controlled Mac test, not a guessed score based on the README.

A 7-day remote paste cache deserves attention

Pasting a local file or image forwards it to the agent. For remote sessions, herdrm copies the item over SSH into a self-pruning cache with 7-day retention and a 50 MB cap. That is convenient for screenshots and documents, but it creates another copy on the remote host. Teams handling source bundles, customer files, or credentials should define which machines may receive attachments and confirm the cache cleanup behavior themselves.

New-agent creation has a sharper default: the README says each agent's bypass-permissions flag is on by default. That may reduce approval interruptions, but it gives the launched coding agent more freedom on its host. Combined with remote machines and paste support, this is not a harmless UI preference. Change the default or isolate the machines if agent commands can touch production credentials, repositories, or deployment tooling.

Version 0.4.5 is active, with early-stage limits

Release v0.4.5 arrived on August 24, 2026, the same date as the repository's last push. GitHub reported 631 stars and 9 open issues and pull requests combined. Activity continued on August 25 around CJK input, Simplified Chinese localization, sidebar clicks, and socket handling. The project is moving quickly, though a one-day burst does not replace sustained maintenance history.

The README explicitly says test coverage is incomplete and there is no CI gate. Contributors are asked to run the build and HerdrKit integration tests locally. That honesty should shape adoption: use herdrm when herdr already matches how you operate several agents and the native overview removes real terminal juggling. If you primarily need durable remote shells, tmux or Zellij has a narrower job, fewer moving pieces, and much longer operational history.

Alternatives

ProjectWhat it isPick it when
tmux gh↗A terminal multiplexer for persistent shells and remote sessions without an agent-specific GUI.pick this instead when portability, scriptability, and ordinary terminal sessions matter more than agent status and native macOS UI.
Zellij gh↗A modern terminal workspace with panes, sessions, layouts, and plugins.pick this instead when you want a cross-platform terminal workspace that is not tied to herdr.
OpenCode gh↗A coding-agent terminal and desktop application with provider and tool configuration.pick this instead when one primary coding agent is enough and you do not need herdr's multi-machine PTY inventory.

What people are saying

  1. [velocity-scout] missuo/herdrm

Sources

  1. herdrm README
  2. herdrm 0.4.5 release
  3. CJK input issue
  4. Socket write fix

More dev tools reviews

workmux · v2rayNG · SecLists · hashcat · eslint · fastfetch · the whole board →