Herdr
Parent: Integrations.
Herdr is a terminal workspace that hosts agent panes. When Rho runs inside a Herdr pane, integration turns on by itself. You do not install a plugin, run an init command, or edit Rho config.
Herdr support is Unix-only. On other platforms Rho ignores Herdr environment variables.
What you get
| Feature | Behavior |
|---|---|
| Agent state | Rho reports idle, working, and blocked so Herdr can show pane status |
| Session identity | Rho reports the active session id (and the attach run id in rho attach) |
| Subagent panes | Click a subagent row in the activity rail to open a sibling pane that runs rho attach <id> |
| Image paste | A single-line paste of an image path becomes an attachment instead of plain text |
| Image previews | Kitty placements when Herdr can paint them; halfblock fallback when host cell metrics are missing |
Nothing extra is required after you start Rho under Herdr.
How Rho detects Herdr
Rho enables Herdr when all of these are true:
- the process runs on Unix
HERDR_ENV=1HERDR_SOCKET_PATHis a non-empty path to Herdr's local socketHERDR_PANE_IDis a non-empty pane id
Herdr sets those variables for processes it launches. You normally do not set them by hand.
Rho talks to Herdr over that Unix socket with short timeouts. Failed or timed-out reports are ignored so a stuck host never blocks the session.
Agent state
Rho keeps Herdr in sync with the session:
| State | When |
|---|---|
working | A model turn or tool run is in progress, or an attached subagent is still running |
blocked | Rho waits on you (approval, questionnaire), auth is missing, a goal is blocked, or an attached run failed |
idle | The session is resting and not waiting on user input |
On exit, Rho releases the agent marker for the pane.
Interactive sessions and rho run both report state when they detect Herdr. rho attach <id> reports state for the watched run and releases on detach.
Watch a subagent in a sibling pane
Outside Herdr, activating a subagent row copies rho attach <id> so you can paste it elsewhere.
Inside Herdr, the same action opens a sibling pane to the right and submits the attach command there. Rho prefers the current executable path so a cargo-built or downloaded binary still starts when rho is not on PATH. If the pane split fails, Rho falls back to copying the attach command.
Detaching from the attach TUI does not stop the delegated run. See attachment and artifacts.
Images and graphics
Hosts such as Herdr may paste clipboard images as a filesystem path. Rho treats a single-line paste of a PNG, JPEG, GIF, or WebP path as an image attachment. Details: attachments.
For in-feed image previews, Rho probes whether Herdr can paint Kitty placements for the pane:
- paintable host metrics → Kitty placements through Herdr
- missing metrics → halfblock preview so reserved rows are not blank
See documents and images.
Check the integration
In the interactive TUI, run /doctor. The Herdr row reports:
| Status | Meaning |
|---|---|
not configured | Rho is not running inside Herdr (healthy when you are outside Herdr) |
connected | Herdr env is set and the socket accepted a connection |
unreachable | Herdr env is set but the socket did not accept a connection |
unavailable | Herdr is configured but reachability could not be determined |
Related
- Integrations - other built-in integrations
- Interactive TUI - session UI,
/doctor, andrho attach - Subagent attachment - run artifacts and detach behavior
- Attachments - image and document paste
- Documents and images - thumbnail paint paths
- Development - use PTY tests for regressions; use Herdr for exploratory checks