Compare

diri vs herdr

herdr is a cross-platform terminal multiplexer for agents with a socket API; diri is a native GUI with review, notes and MCP tasks, and sessions that survive Engine restarts.

Checked 2026-10-01Sources linked

herdr is an open-source terminal multiplexer for coding agents: one Rust binary with a TUI, a background server that keeps agent terminals alive when you detach, status detection for over 20 agent CLIs, SSH machines in the same window, plugins, and a socket API agents can drive. diri is an open-source native desktop app with the same core idea, agents that keep running and tell you when they need you, plus a Review panel, notes, account switching and an MCP server for agent-to-agent tasks. Both are Apache-2.0 and written in Rust; the main split is TUI versus GUI.

At a glance

diriherdr
InterfaceNative desktop app (GPUI)TUI in any terminal, keyboard and mouse
PlatformsmacOS 15 or newer (universal), Linux beta on x86_64 Ubuntu, iPhone companion betamacOS, Linux, Windows
LicenseApache-2.0Apache-2.0
Agents20 agents by manifest, plus custom manifestsOver 20 agent CLIs detected by screen manifests, plus agents that self-report their state
StatusHooks for Claude Code, turn notify for Codex, screen rules for the rest; working, needs you, doneScreen reading, replaced by integration reports where available; working, blocked, idle
IsolationOptional git worktree per agentWorktree methods in the socket API open checkouts as workspaces
ReviewReview panel: diff, stage, discard, commit, PR checks and commentsNot documented
Remote hostsSSH; uploads a verified per-session helper, no service installSSH; herdr package and background server on the remote, installable during setup
Agents controlling agentsMCP server: spawn agents in worktrees, tracked tasks with results, wait_any, get_diff, integrateCLI and socket API: start, prompt and wait on agents, split panes, subscribe to events; agent skill files
PersistenceHolder per session; agents survive app quit and Engine restarts and updatesProcesses survive detach; after a server restart, layout returns and supported agents resume, other processes do not
ExtensibilityCustom agent manifestsAgent manifests, plugins and a marketplace
Notes and planningNotes with to-dos that start agents and receive reportsNot documented

Where diri is different

The Engine can restart without killing agents

diri splits the background Engine from the terminals. Each session has its own holder process, so when the Engine restarts or updates, every agent keeps running with its screen intact and the Engine picks it up again. herdr documents that when its server restarts, running pane processes are gone and come back as fresh shells or resumed agent conversations. Both lose processes on a machine reboot. See Sessions.

Review and bring work back

diri's Review panel shows each session's changes against the default branch or HEAD, with stage, discard, commit, and pull request checks and comments. A lead agent can merge a helper's branch into its own checkout with integrate, which leaves everything unchanged on conflict. See Worktrees and review.

Tasks, not just prompts

herdr's API can prompt an agent and wait until it is blocked or idle. diri adds tracked tasks: a task completes only when the helper calls report_task, can be held to a JSON schema, and is delivered at most once even when the caller retries. Write permissions follow the session tree. See MCP server.

Remote without a remote server

diri installs no service or shared background server on the host. Each remote session gets one small helper process that owns its terminal, uploaded and checked by length, SHA-256 and build ID. diri also tests whether the host keeps sessions alive after logout and reports native detach, user supervisor or non-persistent. See Remote hosts.

A GUI for the rest of the work

Notes whose to-dos start agents, a notification inbox with reply from the banner, Claude Code and Codex account switching across every open tab, and usage estimates. See Notes and Accounts and usage.

Where herdr is a better fit

  • Windows, and anywhere a terminal runs. herdr runs on macOS, Linux and Windows and lives inside the terminal you already use. diri needs macOS, or the Linux beta on x86_64 Ubuntu, and a display.
  • Multiplexer model. If you think in tmux-style sessions, panes and tabs with detach and reattach, herdr gives you that model with agent awareness on top.
  • Plugins. herdr has executable workflow plugins with event hooks and a marketplace to share them. diri's extension point is the agent manifest.
  • Broader agent detection. herdr's list includes agents diri has no manifest for, such as Qwen Code and Letta Code, and supports agents that report their own state.

Switching

diri launches the same agent CLIs on the same logins, so the agents carry over unchanged. Your herdr worktrees are ordinary git checkouts you can open as folders in diri.

  • Install diri: Quickstart.
  • Bring your herdr sessions over: open Settings → General → Import and click Import…, or use the import link on diri's welcome screen. Every pane herdr would restore becomes a diri session in the same folder. A pane whose agent reported its conversation id resumes that exact conversation, a pane that only knows its agent starts it fresh, and a plain pane becomes a terminal. diri only reads herdr's files and never changes them.
  • Add the SSH machines you use with herdr under Settings → Remote: Remote hosts.
  • Scripts against herdr's socket map to the dirijor CLI; agent-side automation maps to the MCP tools.
  • Agent pages: Claude Code, Codex, Cursor, OpenCode, Amp.

Sources