Skip to main content

Overview

Autopilot uses an in‑process desktop runtime. The app sends user actions to the Codex app‑server client and renders normalized event streams for UI updates. Note: Current desktop builds connect to Codex via the app‑server client. Other agent adapters exist in the repo but are not enabled by default.

Core Messages

  • UserAction::NewChat — start a new session and thread
  • UserAction::Message — send a prompt to the active thread
  • UserAction::Interrupt — stop an active turn

Session ID Flow

Autopilot uses a two-phase session ID:
  1. Temporary session ID from connect_unified_agent
  2. Actual ACP session ID emitted via SessionStarted
All messages must use the actual ACP session ID.

Event Streams

Normalized agent events are surfaced to the UI, including:
  • message/turn start and completion
  • tool call updates
  • token usage and rate limits
For full type definitions, see the Autopilot Desktop API docs in the OpenAgents repo.