Codeman logocodeman GitHub →

Codeman vs Herdr: browser dashboard or terminal agent runtime

Updated 2026-09-25

On this pageWhat Herdr isWhat Codeman isSide by sideChoose Herdr if...Choose Codeman if...Using both

Herdr is a terminal multiplexer made for coding agents: one Rust binary with workspaces and panes, agent state detection for more than 20 CLIs, git worktree actions and several SSH machines in one window, all inside the terminal you already use. Codeman does a similar job from a web server, so pick Herdr if you want to stay in a terminal (a phone SSH client included) and Codeman if you want a browser and phone interface with push notifications.

What Herdr is

Herdr describes itself as "the runtime your coding agents live on". A background server owns the panes, so closing the client or losing an SSH connection does not stop the agents. After a server or machine restart it restores the saved layout and can resume supported agents' sessions, though the original processes do not survive. Every pane is marked working, blocked, done or idle, read from the screen or from the agent's own hooks. Its docs list 22 detected agents, Claude Code, Codex and OpenCode among them.

Notifications can appear as in-app toasts, as outer-terminal notifications that also work over SSH, or through the OS, with configurable sounds. From the sidebar you can create, open and delete git worktrees as grouped workspaces. Saved SSH machines appear in one window with a combined agent list. Agents can drive Herdr themselves through its CLI, a socket API and a bundled agent skill: split panes, prompt each other and wait until another agent is blocked. It has a plugin marketplace, works with mouse and keyboard, and runs natively on Windows. On a phone you use any SSH client, and the TUI adapts to narrow screens; third-party projects in its ecosystem add a phone relay with push notifications and a native macOS client. It is Apache-2.0 licensed.

What Codeman is

Codeman is a self-hosted web server that runs agent CLIs inside persistent tmux sessions and streams each real terminal to a browser. It supports nine CLIs (Claude Code, Codex, OpenCode, Gemini CLI, Antigravity, Pi, Grok Build, DeepSeek Harness, OMP) plus plain shells, flags waiting or blocked agents on their tabs and through web push, and for Claude sessions adds auto-resume after a usage limit and live subagent windows. Cron jobs, Docker containers and remote SSH sessions are built in. It needs Node.js 22+ and tmux, runs on macOS and Linux (Windows through WSL2), and is MIT licensed.

Side by side

Herdr Codeman
Interface TUI inside your terminal Web UI in any browser; codeman tui for a terminal list
Install One binary: curl, Homebrew, mise, PowerShell Installer or npm; needs Node.js 22+ and tmux (Installation)
Windows Yes, native WSL2 only
Agents keep running after you disconnect Yes, background server Yes, tmux
After a machine restart Restores layout; native resume for supported agents Offers to rebuild Claude sessions; scrollback is lost
Agent state detection Yes, 22 agents Yes, all nine; finest for Claude, Codex, DeepSeek (Agent CLIs)
Notifications Yes: toast, terminal, OS, sounds Yes: tab alerts, desktop, web push (Notifications)
Phone Partial: any SSH client; no built-in web UI or app, third-party clients exist Yes: touch terminal, installable web app, QR login (Mobile Guide)
Git worktrees Yes: create, open, delete No
Several machines Yes, saved SSH machines in one window Yes, remote SSH cases (Remote SSH Sessions)
Agents driving the tool Yes: CLI, socket API, agent skill Yes: HTTP API, agent skill, Claude Code plugin (Driving Codeman)
Plugins Yes, marketplace No
Resume after a usage limit Not in docs Yes, Claude sessions only
Scheduled jobs Not in docs Yes (Cron Jobs)
Per-project containers Not in docs Yes (Docker Cases)
License Apache-2.0 MIT

Choose Herdr if...

Choose Codeman if...

Using both

They do not conflict: Codeman keeps its agents on its own tmux socket and Herdr runs its own server, so neither sees the other's sessions. A Codeman shell session is an ordinary terminal, so you can start herdr inside one to reach a Herdr session from a browser; nested multiplexers can fight over prefix keys, so test it with your setup first.

Checked against Herdr's README on 2026-09-25 (40,603 stars). Spotted something out of date? Open an issue.