Getting started
Install Herdr
Install Herdr, run it for the first time, and connect your coding agents.
Install
curl -fsSL https://herdr.dev/install.sh | sh
herdr --version
# herdr 0.8.2Homebrew, mise, and Nix are on the install page. Update later with herdr update.
First run
cd ~/path/to/project
herdrHerdr starts a background server, attaches to it, and creates a workspace for the folder. The first run shows a short onboarding.
A workspace is one project. A workspace has tabs, a tab has panes, and a pane is a real terminal. Type claude, codex, or grok in a pane and Herdr detects the agent. The sidebar shows its state.
| State | Meaning |
|---|---|
| working | The agent is busy |
| blocked | The agent waits for an answer or approval |
| done | The agent finished while you were looking elsewhere |
| idle | The agent waits for a prompt and you have seen it |
Close the terminal window, or press prefix+q, and everything keeps running. Run herdr again to reattach. Only herdr server stop stops the agents.
Use the mouse
Click a pane, tab, or workspace to focus it. Drag a split border to resize. Right-click for a menu with split, close, and rename. Drag to select text, then copy. You do not need a single shortcut.
Agent integrations
Herdr recognizes agents from what they draw on screen. An integration adds a hook to the agent's own config, so the agent reports its state directly and Herdr can restore the session after a restart. Run herdr integration to see every supported agent.
herdr integration install claude
herdr integration status
# claude: current (v8) (~/.claude/hooks/herdr-agent-state.sh)Plugins
Plugins add behavior to Herdr. They live on GitHub and install with one command. The marketplace lists them. On Windows, plugins are in preview.
herdr plugin install owner/repo
herdr plugin listDave's setup
Three integrations, one per harness Dave runs.
herdr integration install claude
herdr integration install codex
herdr integration install grokOne plugin. It names each tab after the work happening in it, so the sidebar reads like a task list instead of zsh, zsh, zsh. It is written in Go.
brew install go
herdr plugin install kryptamine/herdr-auto-titleCheck
Open two tabs, start an agent in each, and close the terminal window. Open it again and run herdr. Both agents are still there, in the same layout.