AACWorkflow Docs

Install an agent runtime

AACWorkflow drives whichever AI coding tools you have on your machine. This page shows you how to install each of the 12 supported tools so the daemon can detect them.

A runtime in AACWorkflow is the daemon on your machine paired with one AI coding tool the daemon found on your PATH. If the onboarding "Connect a runtime" step shows No supported tools detected, it means the daemon scanned PATH and didn't find any of the 12 tools it knows how to drive. Install one (or several) of the tools below, then come back to the step and re-scan — the runtime will show up within a few seconds.

This page is the install-side companion to:

The AACWorkflow server never sees your API keys or the tools themselves. Everything below — installation, authentication, model access — lives on your local machine. If something fails, it's almost always a local problem.

Before you start

Two prerequisites apply to every tool below:

  1. The AACWorkflow daemon must be running. Either run aacworkflow daemon start after installing the AACWorkflow CLI, or use the AACWorkflow desktop app, which launches the daemon automatically. Without a running daemon there is nothing to detect tools.
  2. The tool's binary must be reachable on PATH. The daemon shells out to each tool by name (see the Daemon looks for column in each section). If which <name> doesn't find it in your terminal, the daemon won't find it either. After installing, open a fresh terminal (or restart the daemon) so the new PATH entry is picked up.

After installing a tool, restart the daemon:

aacworkflow daemon restart

Or, in the desktop app, just relaunch the app. The daemon re-scans PATH on every start.

The 12 supported tools

Listed roughly from most to least common. Pick whichever ones you already have credentials for — you don't need all 12.

Claude Code (Anthropic)

The most complete integration. Session resumption works, MCP works, and it consumes the mcp_config field on agents (see the matrix).

Daemon looks forclaude
InstallFollow the official guide at claude.com/claude-code. The standard route is the npm package @anthropic-ai/claude-code (Node.js 18+ required).
AuthenticationRun claude once and follow the in-CLI login flow, or set ANTHROPIC_API_KEY.
NotesFirst-choice recommendation for new users.

Codex (OpenAI)

JSON-RPC 2.0 transport with finer-grained approval gates. MCP config is written into the per-task $CODEX_HOME/config.toml. Session resumption code exists but is currently unreachable — pick Claude Code or one of the ACP family if you need resume.

Daemon looks forcodex
InstallFollow the official guide at github.com/openai/codex. The standard route is the npm package @openai/codex.
Authenticationcodex login (browser-based) or OPENAI_API_KEY.

Cursor (Anysphere)

The CLI counterpart to the Cursor editor. Session resumption is broken — Cursor's CLI doesn't return a session id, so the value you pass on resume is always invalid.

Daemon looks forcursor-agent
InstallInstall the Cursor editor and then the CLI per their docs at docs.cursor.com. The binary name is cursor-agent, not cursor.
AuthenticationSign in through the Cursor editor; the CLI reuses that session.

GitHub Copilot

Model routing goes through your GitHub account entitlement — the tool doesn't pick a model itself; GitHub decides which model you get.

Daemon looks forcopilot
InstallSee GitHub's CLI docs at github.com/github/copilot-cli.
AuthenticationBrowser-based GitHub login through the CLI.
NotesRequires an active GitHub Copilot subscription on the signed-in account.

Gemini (Google)

Supports the Gemini 2.5 and 3 series. No session resumption, no MCP — suitable for one-shot tasks.

Daemon looks forgemini
InstallFollow the official guide at github.com/google-gemini/gemini-cli. The standard route is the npm package @google/gemini-cli.
Authenticationgemini will prompt for a Google account login, or set GEMINI_API_KEY.

OpenCode (SST)

Open-source CLI agent. Dynamically discovers available models from its own configuration file — good fit for users who want to bring their own model catalog. Consumes the agent's mcp_config field through OPENCODE_CONFIG_CONTENT.

Daemon looks foropencode
InstallFollow the official guide at opencode.ai or the GitHub repo at github.com/sst/opencode. The typical route is the install script or the npm package.
AuthenticationConfigure your model provider(s) per OpenCode's docs (Anthropic, OpenAI, etc.).

Kiro CLI (Amazon)

ACP-over-stdio transport. Session resumption works through ACP session/load; MCP config is passed through ACP mcpServers; skills are copied into .kiro/skills/.

Daemon looks forkiro-cli
InstallSee the Kiro docs at kiro.dev. The binary name is kiro-cli, not kiro.
AuthenticationAWS-account-based; follow Kiro's own onboarding.

Kimi (Moonshot)

ACP-protocol agent, primarily aimed at the Chinese market. MCP config is passed through ACP mcpServers; skills live under .kimi/skills/ (native discovery).

Daemon looks forkimi
InstallFollow the official guide at github.com/MoonshotAI/kimi-cli.
AuthenticationMoonshot API key, configured per the vendor's docs.

Hermes (Nous Research)

ACP-protocol agent (shares the transport with Kimi). Session resumption works, and MCP config is passed through ACP mcpServers. The skill injection path falls back to the generic .agent_context/skills/ — verify your skills are loading before relying on them.

Daemon looks forhermes
InstallSee Nous Research's repository at github.com/NousResearch for the latest CLI distribution.
AuthenticationPer the vendor's docs.

OpenClaw

Open-source CLI agent orchestrator. MCP config is materialized through AACWorkflow's per-task config wrapper. Model is bound at the agent layer (openclaw agents add --model) — it can't be overridden per task, and you can't pass --model or --system-prompt from AACWorkflow.

Daemon looks foropenclaw
InstallSee the project at github.com/openclaw-org/openclaw (community-maintained).
AuthenticationConfigure the underlying model provider per OpenClaw's docs.

Pi (Inflection AI)

Minimalist. Session resumption is unusual — the resume id is the path to a session file on disk, not a string id.

Daemon looks forpi
InstallSee Inflection's CLI docs at pi.ai.
AuthenticationPer the vendor's docs.

Antigravity (Google)

Google's Antigravity CLI (agy). Pairs with Google's Antigravity service and runs Gemini-backed models. Session resumption works through --conversation <id>, captured by the daemon from the CLI log file. Model selection is managed inside the Antigravity CLI itself — AACWorkflow disables the per-agent model picker for this provider. Skills are written to .agents/skills/ (the CLI inherits Gemini CLI's workspace skill layout — see Antigravity docs).

Daemon looks foragy
InstallFollow the official guide at antigravity.google/docs/cli-overview. The CLI ships pre-built — run agy install once to wire up PATH and shell aliases.
AuthenticationRun agy once interactively and complete the Google account login, or sign in via the Antigravity desktop app — the CLI reuses the keyring entry the GUI writes.
NotesThe CLI emits plain assistant text on stdout, not a structured event stream; intermediate "I will run X" lines and the final reply are both relayed to AACWorkflow as text.

After installing

  1. Confirm the binary is on PATH. Open a fresh terminal and run which <name> (for example which claude, which cursor-agent, which kiro-cli, which agy). If it prints a path, the daemon will find it. If it prints nothing, fix your shell PATH first (the typical cause is a per-shell rc file that wasn't reloaded).
  2. Restart the daemon. aacworkflow daemon restart, or relaunch the desktop app. The daemon only scans PATH at startup.
  3. Check the Runtimes page. In the AACWorkflow UI, the Runtimes page should now list one row per (workspace × tool) combination. If the row says "offline", see Daemon and runtimes → When a runtime is marked offline.
  4. Go back to onboarding. The "Connect a runtime" step polls and will pick up the new runtime within a few seconds — no need to refresh.

Troubleshooting

  • which finds the binary but the daemon doesn't. The daemon was started with an older PATH. Restart it.
  • The binary exists but launching fails. Run the tool's own --version or --help once from the terminal — most failures here are missing auth, expired tokens, or a Node.js / runtime mismatch.
  • The Runtimes page shows the row, but tasks fail immediately. Check aacworkflow daemon logs -f while triggering a task. The daemon surfaces the tool's own error output.

For broader symptoms, see the Troubleshooting guide.

Next