How It Works
Each agent runs in its own real terminal (PTY). CliDeck doesn’t modify the agent, inject middleware, or intercept your commands. The agent thinks it’s running in a normal terminal. The intelligence comes from telemetry — lightweight signals the agent already emits (or can be configured to emit). CliDeck receives these signals locally and uses them to show you:CliDeck never reads what you type or what the agent writes back through telemetry. It sees event timing — not content.
Supported Agents
Telemetry Methods
OTLP (OpenTelemetry) — Claude Code, Codex, and Gemini CLI emit OpenTelemetry logs over HTTP. CliDeck runs a local OTLP receiver atPOST /v1/logs on port 4000. When you launch an agent from CliDeck, it sets the right environment variables so the agent sends its logs to CliDeck.
Plugin bridge — OpenCode uses a JavaScript plugin that sends events to CliDeck over HTTP. This provides the same status and preview information as OTLP, just through a different mechanism.
Working / Idle Detection
For Claude Code, Codex, and Gemini CLI, status is fully telemetry-driven. CliDeck reads the timing of telemetry events to know exactly when the agent starts processing and when it finishes — no guessing from terminal output.
Telemetry-driven status is faster and more reliable than I/O heuristics. It reflects what the agent is actually doing, not just whether text is appearing on screen.