Skip to content

ACP (Agent Client Protocol)

View Markdown~793 tokens

Run Caudra inside your editor. caudra acp starts an ACP server over stdio, so any ACP-capable editor (like Zed) can drive Caudra as its coding agent.

Terminal window
caudra acp

Add Caudra as a custom agent in Zed's settings.json:

"agent_servers": {
"Caudra": {
"default_config_options": {
"model": "deepseek/deepseek-v4-flash"
},
"type": "custom",
"command": "caudra",
"args": ["acp"],
"env": {}
}
}

The model value is a provider/model-id spec, same format as caudra --model.

  • Sessions persist. Loading a session replays the full conversation in the editor, so you can resume where you left off.
  • Model switching. Pick a model from the editor's dropdown, mid-session. All configured providers show up. Providers that list their models over the wire (OpenRouter and friends) are discovered in the background, so the dropdown keeps filling up for a moment after the session starts, one provider at a time.
  • Modes. Switch between build (full access) and plan (plan-file writes only) from the editor.
  • Permissions. Tool permission prompts appear in the editor. "Allow exact call for conversation" stores only the reviewed input and resources. Broad tool authority is not exposed through ACP.
  • Questions. The question tool becomes a native form in the editor (ACP elicitation). If the client does not support elicitation, the tool is dropped and the model asks in plain text.
  • Live tool calls. Tool progress streams as it happens, including sub-agents and batched calls.
  • Images and context. Prompts can include images and editor-attached files.

Authentication, providers, and permissions come from your normal Caudra config. Set up providers first and ACP sessions just work.

Project MCP startup trust must already be approved through /mcp in the TUI. ACP returns an actionable session error instead of silently omitting a parked server.

ACP supports synchronous subagents and shell commands, but not background work or workflows. The auto execution policies resolve to synchronous execution here. Strict async withholds the affected tool and rejects stale calls rather than changing its execution policy. Choose sync or auto, or use the TUI or stream-JSON SDK for session-owned work that continues after a parent answer.

Terminal window
caudra acp
caudra acp -m anthropic/claude-sonnet-4-6
caudra acp --yolo
caudra --no-jit acp

caudra acp only takes -m / --model and --yolo as subcommand flags. Other flags go before the subcommand, as in caudra --no-jit acp. caudra acp lists the ones that also work after it. --no-jit has an effect only when experimental.lua_plugins is on.

Plan mode in ACP uses the same state-directory plan files as the TUI (…/projects/<project-id>/plans/<slug>.md) rather than the SDK's ./plan.md. A session keeps one plan across mode switches, so returning to plan revises the same document.

Website privacy and analytics