# Connect other editors with ACP

> Configure an ACP editor to launch Kaitoi Code over standard input and output, resume saved sessions, and handle authentication, context, and permissions.

Source: https://kaitoi.io/docs/cli/acp/
Section: Kaitoi CLI / Editors and automation
Written for: Developers configuring an ACP-compatible editor.
Prerequisites: Kaitoi CLI installed; An editor that can launch an ACP agent process
Last reviewed: 2026-10-24

---

ACP connects an editor to a local Kaitoi Code process through standard input
and output. The editor launches the agent; you do not start a local HTTP server
or supply a Code server token. This guide covers CLI **0.9.0**.

## Configure the process

Use your editor's ACP configuration with this executable and argument list:

```json
{
	"command": "kaitoi",
	"args": ["code", "acp"]
}
```

These are process values, not a vendor-specific configuration file. Follow the
editor's supported schema and use an absolute executable path if it cannot find
`kaitoi`. The session's working directory must be absolute and exist.

## Follow the session exchange


The editor initializes the agent and creates or loads a session. A prompt starts
work; session updates return text and tool activity. Permission requests travel
back to the editor for a decision. A session/cancel notification requests a
stop. Protocol messages use stdout and stdin; diagnostics use stderr.

The prompt packet crosses from editor to Code. The permission packet travels back and waits for a decision; diagnostics leave on a separate stderr path.

*Figure: ACP is a conversation between an editor and a child process over stdio.*

The transport uses protocol version 1 and JSON-RPC 2.0, with one message per
line. stdout is reserved for protocol messages. Do not put a startup wrapper's
greeting or debug output there; use stderr. Child command processes receive
empty stdin so they cannot consume the editor's protocol stream.

The implementation supports `initialize`, `authenticate`, `session/new`,
`session/load`, `session/prompt`, and `session/set_mode`. Cancellation is the
`session/cancel` **notification**. Modes are Plan, Build, and Crew. Saved logs
can be resumed between terminal Code and ACP sessions.

## Authenticate and answer permissions

Hosted providers need Kaitoi login. The `kaitoi-login` authentication method
opens browser login and refreshes the session credentials and catalog. Local
providers may work without platform login when their endpoint is available.

Folder access offers `trust` or `no-access`. Tool permissions use advertised
choices such as `allow`, `allow-session`, and `deny`; Crew and media requests
remain one-call approvals. These strings differ from the HTTP session API's
decisions. Let the editor present the actual choices instead of automatically
approving every request.

## Know the current boundaries

ACP accepts text, images, and embedded context; audio is not supported.
**Subagents are disabled on ACP.** Editor-supplied `mcpServers` are currently
ignored with a diagnostic, and the agent does not provide ACP HTTP/SSE MCP
transport support. Use Code's supported MCP configuration rather than assuming
an editor's server list was connected.

Project hooks must be approved through the terminal first. Editor interfaces
can expose different subsets of the protocol, so do not assume every terminal
shortcut or feature has an equivalent editor control. Inspect diagnostics and
the editor's actual capabilities when a feature is missing.
