herdrlisted
Install: claude install-skill emateu/sandbox
# herdr
herdr is a terminal workspace manager built to run and supervise multiple coding agents (Claude Code, Codex, Cursor, etc.). Think tmux + an agent-state sidebar + a CLI/socket API that makes everything scriptable.
## Mental model
Hierarchy: **workspace → tab → pane → agent**.
- **Workspace**: top-level project container. Convention: one per repo/task/investigation.
- **Tab**: layout container inside a workspace.
- **Pane**: a real terminal (process preserved across client detach). Splits: `right` or `down`.
- **Agent**: a recognized process in a pane. States: `working`, `blocked` (needs input/approval), `done` (finished, unreviewed), `idle`, `unknown`.
**Client-server**: the server owns panes/processes; the client is just UI. Detach with `ctrl+b q` (everything keeps running), reattach by running `herdr`. Prefix key: `ctrl+b`.
## Detecting you're inside herdr
If `HERDR_ENV=1` is set, you are inside a herdr pane. Also available: `HERDR_PANE_ID`, `HERDR_TAB_ID`, `HERDR_WORKSPACE_ID`, `HERDR_SOCKET_PATH`. This means the `herdr` CLI can control the session you're in.
### Proven pattern: real TTY for interactive prompts
Sandboxed/hookless shells often lack a TTY (e.g. `op signin` fails with "inappropriate ioctl for device"). Fix: spawn a pane next to the user and run the command there — the user types the password in that pane while you wait for the result:
```bash
herdr pane split --pane $HERDR_PANE_ID --direction down --ratio 0.3 --focus
# → returns JSON with the