mrkeyoor.com_
Wed 02 Sept 07:10 UTC
Dev Toolsevaluationupdated 02 Sept 2026

herdr review

Herdr is a persistent terminal workspace built around coding agents. It keeps agents in real panes, marks them working, blocked, done, idle, or unknown, and gives people and other agents a CLI and socket API for creating panes, sending prompts, and waiting for state changes.

Verdict

Our Herdr install fetched 174 packages in 32 seconds, but both build and test failed because build.rs could not execute Zig for libghostty-vt. Try the prebuilt v0.8.2 binary if agent-aware panes solve a real supervision problem, then test detection, detach, restart, and remote behavior with your own agents. Keep plain tmux if persistence is enough, and do not base unattended automation on status labels until their rules match your exact CLI versions.

We ran it

Lab card: what happened when we ran herdrScreenshot of herdr (herdr.dev)
Install✓ · 32s174 packages
Build✗ · 49s
Tests✗ · 15sran, no count parsed
Repo1220 files~264,532 lines of source · 21.5 MB · 9 CI workflows · tests dir

Answers from our run

Does herdr build from source?

Dependencies installed in 32 seconds (174 packages), and the build failed. We cloned commit 5158ada into a clean Debian container with 3 CPUs and no project-specific setup.

Do herdr's tests pass?

The test command failed in our container, and its output did not report a pass or fail count.

Who should not use herdr?

Source builders expecting Rust alone to be enough: our build and test both stopped when build.rs could not execute Zig for the vendored libghostty-vt.

What are the alternatives to herdr?

Agent of Empires, tmux, Zellij. Our Herdr install fetched 174 packages in 32 seconds, but both build and test failed because `build.

Setup2/532-second install; build and tests stopped on missing Zig
Docs5/5Install, state, restore, agents, plugins, and socket behavior are explicit
Community5/534,490 stars with daily issue, pull request, and push activity
Maturity3/5v0.8.2 moves quickly, with open remote and detection defects

Who it’s for

Developers running several Claude Code, Codex, OpenCode, or other coding-agent sessions at once.
Terminal users who want persistent panes plus mouse controls, agent status, workspaces, and remote attachment.
Teams willing to verify agent-state rules and session restore for the exact CLIs they use.
Plugin authors who understand that Herdr plugins execute as ordinary local programs with the user's permissions.

Who it’s NOT for

Source builders expecting Rust alone to be enough: our build and test both stopped when build.rs could not execute Zig for the vendored libghostty-vt.
External developers planning to contribute code without prior approval: CONTRIBUTING says unsolicited pull requests are closed automatically unless the account is a maintainer or approved contributor.
Operators who need agent status to be infallible: issue 3120 reproduces Grok 1.0.4+ working turns being marked idle by v0.8.2 rules.
Large remote sessions where an attachment freeze is unacceptable: open P1 issue 3519 reports an orphaned SSH client's 80x24 resize blocking a 46-pane server for 11 minutes.
Users who assume a machine or server restart preserves arbitrary processes: the session guide says restart restores layout, while old processes are gone unless a stronger agent-specific restore path applies.

Setup reality

Our sandbox installed 174 Rust packages in 32 seconds. The build failed with exit 101 after 49 seconds, and tests failed with exit 101 after 15 seconds. Both logs end at build.rs: it tried to execute Zig for the vendored libghostty-vt and received No such file or directory.

Prebuilt releases avoid that source path. Herdr documents an install script, Homebrew, mise, Nix, release binaries, and a Windows installer. Basic local use needs no Herdr account. Remote attach uses normal OpenSSH authentication.

The commit 5158ada checkout was 21.5 MB with 1,220 files and about 264,532 source lines. Our scan found 9 CI workflow files, no Dockerfile, and a tests directory. Stable binaries cover Linux, macOS, and Windows x86_64; remote hosts are Linux or macOS. Plugins are unsandboxed programs and should be treated as trusted code.

Herdr 0.8.2 makes agent state part of the terminal workspace

Herdr 0.8.2 runs a background server that owns terminal panes. Workspaces contain tabs, tabs contain panes, and recognized agents add status to those processes. One blocked pane can mark the project as needing attention. A client may detach while shells and agents continue, then attach locally or through SSH.

Herdr defines 5 states: blocked, working, done, idle, and unknown. It derives them from processes, integrations, titles, and screen manifests. The CLI and local socket can create panes, send input, prompt an agent, or wait for state. A bundled skill teaches Claude Code and Codex to use that surface.

What happened when we ran it

Our sandbox installed 174 Rust packages in 32 seconds, then the build failed with exit 101 after 49 seconds. Tests failed with exit 101 after 15 seconds. We ran commit 5158ada in an unprivileged Debian container with 3 CPUs and 12 GB of RAM. The 21.5 MB checkout had 1,220 files and roughly 264,532 source lines.

Both failures ended in build.rs. It tried to execute zig build for the vendored libghostty-vt; the operating system returned code 2, No such file or directory, and Rust panicked. The log showed ZIG among the watched environment variables. It showed no later compiler or test result. The measured finding is that an available Zig executable was missing from our image.

Prebuilt v0.8.2 binaries avoid the failed source path

Version 0.8.2 provides binaries for Linux, macOS, and Windows x86_64. Installation options include a shell script, Homebrew, mise, Nix, PowerShell, and manual downloads. Direct installs can select stable or preview updates. Stable downloads and remote helper assets have published SHA-256 digests that Herdr verifies.

The README's source path shows cargo build --release, then just test or just check, without mentioning Zig. At commit 5158ada, the build script invokes Zig for its vendored terminal library. Start a trial with the binary. Source contributors should inspect build.rs, supply its external tool, and run just ci.

Detach preserves processes; server restart restores only shape

The v0.8.2 session guide distinguishes 4 cases. Detach preserves processes because the server keeps running. A server restart loses them, then restores workspace and pane shape. Optional history restores recent screen contents, and supported agent integrations may resume conversations. Experimental live handoff attempts to move running panes to a replacement server.

Pane history is off by default because output may hold secrets, tokens, or prompts. When enabled, Herdr saves it beside session state. Remote attach uses OpenSSH authentication. Windows clients can attach to Linux or macOS hosts; Windows cannot be the remote host. Test restart and remote behavior before depending on either.

Five status labels depend on changing agent screens

The 5-state model depends on its status authority recognizing the agent. Lifecycle integrations win where available. Other agents use manifests against the live bottom buffer, and a known agent can fall back to idle when no blocked rule matches. Remote manifest updates can repair rules, while local overrides take precedence.

Open issue 3120 reproduces a v0.8.2 miss. Grok CLI 1.0.4 and 1.0.5 removed braille glyphs expected by bundled working-state rules, so an active [stop] turn appeared idle. The report says waits can be affected too. Run herdr agent explain against a saved screen whenever an agent changes its footer or approval UI.

Plugin v1 runs with the user's permissions

Plugin v1 packages declare commands, actions, events, and panes. A command may be Bash, JavaScript, Rust, or any executable on the host. It inherits the user's environment and can call the full Herdr CLI. Herdr previews install commands and validates manifests, but it neither reviews nor sandboxes plugin code.

The socket is newline-delimited JSON over a Unix socket or Windows named pipe. It can launch processes, move panes, create worktrees, and prompt agents. Plugins receive its location plus workspace and pane IDs. Pin revisions, read executable code, and keep credentials in the plugin config directory rather than its managed source checkout.

Issue 3519 shows a large remote session can become unreachable

Open P1 issue 3519 reports an orphaned SSH client sending an 80x24 resize to a v0.8.2 server with 46 panes across 8 workspaces. Reflow blocked the server for 11 minutes, held the main thread at 100% CPU, and raised reported memory from about 1 GB to 4.4 GB. The panes survived, but clients and management commands could not reach them.

GitHub showed 34,490 stars and 280 combined issues and pull requests. The last push was September 1, 2026, and v0.8.2 shipped August 19. Same-day closures and new work show active maintenance. The P1 report still strikes at the reason for using Herdr remotely, so large scrollback-heavy sessions should reproduce that path or wait for a fix.

Version 0.8.2 restricts implementation pull requests

Herdr closes unsolicited implementation pull requests unless the author is a verified maintainer or approved contributor. Bug reports must cover a personally reproduced problem with a short reproduction and environment. Feature ideas go to Discussions. Outside developers who expect an ordinary fork-and-PR path should choose another project.

Herdr deserves a trial when several agents make terminal tabs hard to supervise. Use the prebuilt 0.8.2 release because our source run stopped at missing Zig. Verify state with agent explain, confirm restart behavior, and test SSH detach with realistic pane history. If status and automation are optional, tmux or Zellij provides persistence with fewer moving parts.

Alternatives

ProjectWhat it isPick it when
Agent of Empires gh↗A TUI and web manager for supervising multiple coding-agent sessions.pick this instead when a web view and mobile access matter more than Herdr's terminal-runtime design.
tmux gh↗A mature terminal multiplexer for persistent sessions, panes, and remote attachment.pick this instead when durable terminals are enough and agent detection or orchestration would add unwanted machinery.
Zellij gh↗A terminal workspace with panes, layouts, plugins, and more visible controls than tmux.pick this instead when a general terminal workspace is the goal and agent-specific state is unnecessary.

What people are saying

  1. [velocity-scout] herdrdev/herdr
  2. [hackernews] Herdr is joining Y Combinator. The runtime stays open

Sources

  1. Herdr repository and README
  2. Herdr 0.8.2 release
  3. Herdr agent detection documentation
  4. Herdr session state documentation
  5. Herdr plugin security documentation
  6. Herdr contribution policy
  7. Remote resize stall issue 3519
  8. Grok state misclassification issue 3120

More dev tools reviews

shadPS4 · loguru · poetry · croc · brew · workmux · the whole board →