Skip to main content
Termix supports four CLI coding agents out of the box, plus any custom CLI tool you want to add.

How It Works

Each agent runs in its own real terminal (PTY). Termix 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). Termix receives these signals locally and uses them to show you:
What Termix ShowsHow It Knows
Working / idle statusI/O rate heuristics + telemetry events
Last message previewReads terminal output buffer (output markers per agent)
Session ID for resumeCaptured from telemetry logs or plugin events
NotificationsDetects working-to-idle transitions
Termix never reads what you type to the agent or what the agent writes back to you through telemetry. Status detection uses I/O byte rates and burst timing — not content analysis.

Supported Agents

AgentTelemetry MethodAuto-SetupResume
Claude CodeOTLP (built-in)Automaticclaude --resume
CodexOTLP (config file)One-clickcodex resume
Gemini CLIOTLP (config file)One-clickgemini --resume
OpenCodePlugin bridgeManual (one-time)opencode --session

Telemetry Methods

OTLP (OpenTelemetry) — Claude Code, Codex, and Gemini CLI emit OpenTelemetry logs over HTTP. Termix runs a local OTLP receiver at POST /v1/logs on port 4000. When you launch an agent from Termix, it sets the right environment variables so the agent sends its logs to Termix. Plugin bridge — OpenCode uses a JavaScript plugin that sends events to Termix over HTTP. This provides the same status and preview information as OTLP, just through a different mechanism.

Working / Idle Detection

Termix uses I/O heuristics to determine if an agent is working or idle:
  • Output rate — How many bytes the agent is writing per second
  • Burst tracking — How long the current burst of output has been going (resets after 2 seconds of silence)
  • Input rate — Whether the user is actively typing
This is intentionally separate from telemetry. Telemetry captures session IDs and confirms connectivity. The stats-based heuristics are the source of truth for working/idle — they’re faster and more reliable than waiting for telemetry events. The exception is OpenCode, which sends explicit busy/idle status events through its plugin bridge.

Adding More Agents

You can add any CLI tool as a session type. See Custom Agents for how to configure your own.