AO compiles agent adapters into the daemon. It uses your locally installed agent CLI and its existing authentication; it does not bundle provider credentials or install adapters from npm.
Shipped terminal harnesses
The daemon registry currently advertises 27 worker harnesses:
claude-code | codex | opencode | grok |
cursor | qwen | copilot | kimi |
muse | droid | amp | agy |
crush | aider | goose | auggie |
continue | devin | cline | kiro |
kilocode | vibe | pi | kimchi |
prime-agent | autohand | omp |
Run the catalog instead of relying on a static page when scripting:
ao agent ls --refresh
ao agent ls --refresh --json
The readiness probe reports whether a harness is supported, installed, and authenticated. Spawn still performs authoritative validation.
Chat versus Terminal UI
All advertised harnesses can run through their native terminal interface. Four also have structured Chat drivers:
| Harness | Chat transport |
|---|---|
codex | Codex native app-server |
claude-code | claude-agent-acp using the user's Claude executable |
opencode | Native ACP |
droid | Native ACP |
Every other harness is Terminal UI-only. Choose the initial interface with ao spawn --mode chat|tui. Compatible Claude Code and Codex sessions can hand off between Chat and Terminal UI while retaining the AO session and worktree.
Choosing and configuring a harness
ao project set-config my-app --worker-agent codex
ao spawn --project my-app --name auth-fix --agent claude-code --mode chat
--agent and --harness are aliases. Project configuration may also specify model, permission mode, environment, prompt rules, and separate worker/orchestrator defaults. Use ao project set-config --help for the typed fields.