- Category
- Developer Tools
- Rank
- No. 304Tools index
- Listed in
- #15 Interface with your agents
- Pricing
- Open Source
- Type
- TOOL
- Use case
- Agent Building
- Interfaces
- CLI
- Builder
- herdrdev
- GitHub
- 40.5k stars
- Latest release
- preview-2026-09-21-0ff0f27e2226
- Date
About
A persistent runtime for coding agents: keeps agent terminals alive across disconnects and machine restarts, manages multiple workspaces and agents at once, and shows which are working, blocked, or idle. Works with Claude Code, Codex, Cursor, opencode, and a dozen other agent CLIs.
What it does
Herdr is a terminal workspace manager built around owned pseudo-terminals, tiled panes, tabs, and workspaces. It detects coding agents inside those panes, surfaces their state, and lets people or agents control the workspace through terminal interaction, commands, and a local socket API.
Why it's ranked here
Herdr addresses the coordination layer around agent CLIs without replacing them. Its strongest case is operational clarity: one terminal interface combines persistent sessions, pane management, agent-state detection, worktrees, notifications, remote access, automation, and plugins. The implementation also treats Windows and private local communication as real engineering concerns.
What's good
The single Rust binary avoids an Electron application and works inside an existing terminal. Keyboard and mouse controls share the same tiling model. Agent state can arrive from authoritative hooks or fallback detection. The command surface covers workspaces, worktrees, tabs, panes, agents, plugins, notifications, integrations, and shell completions.
Tradeoffs
Herdr owns terminals but does not improve or replace the coding agents running inside them. Windows support is explicitly beta, uses preview releases, and lacks the stable channel. Linux sound notifications depend on an installed MP3-capable player. Its broad configuration and command surface also introduce setup choices beyond a basic terminal multiplexer.
How to use it well
Use Herdr when several long-running agent sessions, repositories, or worktrees must stay visible and controllable from one terminal workflow. Let hooks provide authoritative state where integrations support them, then use detection as fallback. It fits terminal-heavy local or SSH work. It does not supply an agent model, coding intelligence, or task-planning system.
Technical notes+
Cargo.toml defines a Rust 2021 command-line package and patches portable-pty to a vendored copy. src/main.rs assembles the TUI, server, persistence, remote, plugin, integration, update, and workspace modules. src/cli.rs dispatches commands for servers, APIs, workspaces, worktrees, tabs, panes, agents, plugins, integrations, and terminal sessions. src/pane.rs owns PTY launch environment and agent detection, while src/layout.rs implements a binary split tree for tiling. src/events.rs carries PTY, hook, detection, clipboard, plugin, Git, and worktree events into the main loop. src/ipc.rs uses Unix local sockets or Windows named pipes, including private listener permissions and stale endpoint handling. src/sound.rs embeds notification audio but delegates playback to platform tools.
Observed
- License
- Apache License 2.0
- Primary language
- Rust, using the 2021 edition
- Packaging
- Single Rust binary; install script, Homebrew, mise, and release binaries are documented
- Interfaces
- Terminal UI, command-line interface, local socket API, and plugin system
- Platform support
- Linux and macOS are supported; Windows is documented as beta and preview-only
- Build surface
- Cargo builds the release binary; Just commands run tests and maintenance checks
- Terminal runtime
- Pseudo-terminals are provided through a vendored portable-pty dependency
Read from README.md, Cargo.toml, src/cli.rs, src/main.rs, src/ipc.rs, src/pane.rs, src/sound.rs, src/config.rs, src/events.rs, src/layout.rs.
Tech Stack
Media

Comments (0)
No comments yet
Editorially curated, with community endorsements as a secondary signal. Corrections welcome.
