Herdr controls agents through their terminal PTYs: it submits text and keys and reads terminal output. State/session integrations report back through Herdr's own newline-delimited JSON socket API. This control path does not require ACP or MCP.
Which protocol connects Herdr and an agent?
There are two different paths.
Prompt delivery and output: Herdr owns the agent's terminal. agent prompt writes text and an encoded Enter into that terminal, respecting bracketed paste. Output is the agent's terminal display. This is terminal I/O, rather than a standardized agent conversation protocol. Source: Agent automation.
State and session reporting: integrations call Herdr's local control API. Its transport is newline-delimited JSON over a Unix domain socket on Unix or a named pipe on Windows. Source: Socket transport.
OMP's integration reports lifecycle state and native session identity through that API. Source: OMP integration.
The consequence is that Herdr can operate existing interactive agents while their integrations provide structured status. This does not turn terminal transcripts into structured, task-specific agent results.