{
"id": "agent-host-transport:terminal-cli",
"_kind": "AgentHostTransport",
"_file": "compute/agent-host-transports/from-agent-catalog.yaml",
"_cluster": "compute",
"attributes": {
"displayName": "Interactive terminal CLI",
"kind": "stdio-pty",
"description": "The agent runs as an interactive CLI in a pseudo-terminal: stdin\nis a TTY, stdout/stderr render ANSI sequences, and the host can\ninject keystrokes (including raw-mode bindings) and observe the\nrendered terminal session. Used by agent-mux when wrapping\ninteractive harnesses such as Claude Code, Codex, Cursor CLI,\nGemini CLI, and Copilot CLI.\n",
"inboundMessageFormat": "Free-form text typed into the TTY plus optional CLI-argument\nbootstrap. Hosts that drive the session programmatically use\nstdin injection (newline-terminated lines or raw keystrokes\nincluding `^C`, arrow keys, etc.). No standard JSON envelope.\n",
"outboundMessageFormat": "Rendered ANSI terminal output on stdout/stderr. Agents may also\nemit structured events via auxiliary mechanisms (sidecar files,\nadditional file descriptors, or `--output-format` flags), but the\nprimary surface is human-readable terminal text.\n",
"signalForwarding": "Standard POSIX signals (SIGINT for cancel, SIGTERM/SIGKILL for\nshutdown). On Windows the host sends `CTRL_C_EVENT` via\n`GenerateConsoleCtrlEvent`. Closing the master PTY also signals\nend-of-session.\n",
"ptySemantics": "Full PTY: `isatty()` returns true, raw mode and ANSI control\nsequences are honoured, and the host typically allocates a\nmaster/slave PTY pair (`openpty(3)` / ConPTY on Windows).\n"
},
"outgoingEdges": [
{
"from": "agent-host-transport:terminal-cli",
"to": "agent-version:claude-code@1.x",
"kind": "used_by"
},
{
"from": "agent-host-transport:terminal-cli",
"to": "agent-version:codex@1.x",
"kind": "used_by"
}
],
"incomingEdges": []
}