Loading image...Kiro
  • CLI
  • Powers
  • Autonomous agent
  • Enterprise
  • Pricing
  • Docs
SIGN INDOWNLOADS
Loading image...Kiro
Loading image...Kiro
Product
  • About Kiro
  • CLI
  • Powers
  • Autonomous agent
  • Pricing
  • Downloads
For
  • Enterprise
  • Startups
Resources
  • Documentation
  • Blog
  • Changelog
  • FAQs
  • Report a bug
  • Suggest an idea
  • Billing support
Social
Site TermsLicenseResponsible AI PolicyLegalPrivacy PolicyCookie Preferences
  1. Docs
  2. CLI
  3. Acp

Agent Client Protocol (ACP)

On this page
  • What is ACP?
  • Quick start
  • Editor setup
  • JetBrains IDEs
  • Zed
  • Other editors
  • Supported ACP methods
  • Core protocol
  • Agent capabilities
  • Session updates
  • Kiro extensions
  • Slash commands
  • MCP server events
  • Session management
  • Example: Initialize connection
  • Session storage
  • Logging
  • Related

Kiro CLI implements the Agent Client Protocol (ACP), an open standard that enables AI agents to work with any compatible editor. This means you can use Kiro's agentic capabilities in JetBrains IDEs, Zed, and other ACP-compatible editors.

What is ACP?

AI coding agents and editors are tightly coupled, but interoperability isn't the default. Each editor must build custom integrations for every agent, and agents must implement editor-specific APIs. This creates integration overhead, limited compatibility, and developer lock-in.

ACP solves this by providing a standardized protocol for agent-editor communication—similar to how the Language Server Protocol (LSP) standardized language server integration. Agents that implement ACP work with any compatible editor, and editors that support ACP gain access to all ACP-compatible agents.

Quick start

Run Kiro as an ACP agent:

bash
kiro-cli acp

The agent communicates over stdin/stdout using JSON-RPC 2.0. Configure your editor to spawn this command, and you're ready to go.

Editor setup

Kiro CLI can be used as an ACP agent in any editor that supports the protocol.

Info

Use the full path to kiro-cli in your editor configuration. IDEs often don't inherit your shell's PATH, so commands like kiro-cli may not be found. Run which kiro-cli to find the path on your system (commonly ~/.local/bin/kiro-cli on Linux/macOS).

JetBrains IDEs

JetBrains IDEs (IntelliJ IDEA, WebStorm, PyCharm, etc.) support ACP through AI Assistant. See the JetBrains ACP documentation for full details.

To add Kiro as a custom agent:

  1. Open the AI Chat tool window
  2. Click the settings button and select Add Custom Agent
  3. Add the following to ~/.jetbrains/acp.json:
json
{ "agent_servers": { "Kiro Agent": { "command": "/full/path/to/kiro-cli", "args": ["acp"] } } }

The agent will appear in the AI Chat mode selector.

Zed

Zed supports ACP agents natively. See the Zed external agents documentation for full details. Add the following to your Zed settings (~/.config/zed/settings.json):

json
{ "agent_servers": { "Kiro Agent": { "type": "custom", "command": "~/.local/bin/kiro-cli", "args": ["acp"], "env": {} } } }

Select "Kiro Agent" from the agent picker in Zed's AI panel.

Other editors

Any editor supporting ACP can integrate Kiro by spawning kiro-cli acp and communicating via JSON-RPC over stdio. See the ACP specification for protocol details.

Supported ACP methods

Kiro CLI implements the following ACP methods, giving you access to session management, model selection, and streaming responses when using Kiro through any ACP-compatible editor.

Core protocol

MethodDescription
initializeInitialize the connection and exchange capabilities
session/newCreate a new chat session
session/loadLoad an existing session by ID
session/promptSend a prompt to the agent
session/cancelCancel the current operation
session/set_modeSwitch agent mode (e.g., different agent configs)
session/set_modelChange the model for the session

Agent capabilities

The Kiro ACP agent advertises these capabilities during initialization:

  • loadSession: true - Supports loading existing sessions
  • promptCapabilities.image: true - Supports image content in prompts

Session updates

The agent sends these session update types via session/notification:

Update TypeDescription
AgentMessageChunkStreaming text/content from the agent
ToolCallTool invocation with name, parameters, status
ToolCallUpdateProgress updates for running tools
TurnEndSignals the agent turn has completed

Kiro extensions

Kiro extends ACP with custom methods (prefixed with _kiro.dev/ per the ACP spec) to expose Kiro-specific features like slash commands, MCP servers, and context compaction. Clients that don't support these extensions can safely ignore them—they're optional enhancements.

Warning

These extensions are experimental and subject to change in future releases.

Slash commands

MethodTypeDescription
_kiro.dev/commands/executeRequestExecute a slash command (e.g., /agent swap, /context add)
_kiro.dev/commands/optionsRequestGet autocomplete suggestions for a partial command
_kiro.dev/commands/availableNotificationSent after session creation with the list of available commands

MCP server events

MethodTypeDescription
_kiro.dev/mcp/oauth_requestNotificationProvides OAuth URL when an MCP server requires authentication
_kiro.dev/mcp/server_initializedNotificationIndicates an MCP server has finished initializing and its tools are available

Session management

MethodTypeDescription
_kiro.dev/compaction/statusNotificationReports progress when compacting conversation context
_kiro.dev/clear/statusNotificationReports status when clearing session history
_session/terminateNotificationTerminates a subagent session

Example: Initialize connection

Here's how an ACP client initializes a connection with Kiro:

json
// Client sends initialize request { "jsonrpc": "2.0", "id": 0, "method": "initialize", "params": { "protocolVersion": 1, "clientCapabilities": { "fs": { "readTextFile": true, "writeTextFile": true }, "terminal": true }, "clientInfo": { "name": "my-editor", "version": "1.0.0" } } } // Kiro responds with capabilities { "jsonrpc": "2.0", "id": 0, "result": { "protocolVersion": 1, "agentCapabilities": { "loadSession": true, "promptCapabilities": { "image": true } }, "agentInfo": { "name": "kiro-cli", "version": "1.5.0" } } }

After initialization, create a session and start prompting:

json
// Create a new session { "jsonrpc": "2.0", "id": 1, "method": "session/new", "params": { "cwd": "/home/user/my-project", "mcpServers": [] } } // Send a prompt { "jsonrpc": "2.0", "id": 2, "method": "session/prompt", "params": { "sessionId": "sess_abc123", "content": [ { "type": "text", "text": "Explain this codebase" } ] } }

Session storage

ACP sessions are persisted to disk at:

~/.kiro/sessions/cli/

Each session creates two files:

  • <session-id>.json - Session metadata and state
  • <session-id>.jsonl - Event log (conversation history)

Logging

ACP agent logs are written to the standard Kiro log location:

PlatformLocation
macOS$TMPDIR/kiro-log/kiro-chat.log
Linux$XDG_RUNTIME_DIR/kiro-log/kiro-chat.log

Control log verbosity with environment variables:

bash
KIRO_LOG_LEVEL=debug kiro-cli acp KIRO_CHAT_LOG_FILE=/path/to/custom.log kiro-cli acp

Related

  • Interactive Chat - Uses ACP internally
  • MCP Integration - MCP servers can be passed to ACP sessions
  • CLI Commands Reference
Page updated: February 4, 2026
Steering
Experimental