Loading image...Kiro

Product

  • About Kiro
  • Agents
  • IDE
  • CLI
  • Web
  • Mobile
  • Crew
  • Pricing
  • Downloads

For

  • Enterprise
  • Startups
  • Students

Community

  • Overview
  • Ambassadors
  • Case studies
  • Discord
  • Events
  • Powers
  • Shop
  • Showcase

Resources

  • Docs
  • Blog
  • Changelog
  • FAQs
  • Report a bug
  • Suggest an idea
  • Billing support

Social

Site TermsLicenseResponsible AI PolicyLegalPrivacy PolicyCookie Preferences
Loading image...Kiro
  • Agents
  • Enterprise
  • Pricing
  • Docs
SIGN INDOWNLOADS
Loading image...Kiro

Get Started

InstallationAuthenticationYour first project

Models

OverviewAvailable modelsReasoning effortAWS GovCloud (US) models

Features

How Kiro worksACP integrations
Specs
Steering
Hooks
MCP
Permissions
Custom agents
Workflows
Agent Skills
Powers
Cloud sessionsCompactionKiroignoreCheckpoints and rewind
Built-in tools
Configuration scopes

IDE 1.x

What's new in 1.0
Setup & First Run
Editor
Chat
Experimental
Troubleshooting0.x reference

CLI

What's new in V3
Setup & First Run
Terminal UI
Chat
Fullscreen modeVoice modeHeadless modeACPAuto complete
Experimental
2.x reference

Crew

Quick startInstallationRunning 24/7
Chat
Agent Capabilities
Features
Interfaces
Apps
System & storageConfigurationSecurityTroubleshooting

Web

Setup & First RunIdentity Center
Connect your repositories
Working with the agent
Autonomous modeAutomationsMemoryConfiguration Sync
Sandbox

Mobile - Preview

Overview

Commands and Reference

CLI commandsSlash commandsBuilt-in toolsExit codesSettings

Billing

OverviewManaging your subscriptionUpgrading your planDowngrading your planCancelling your planPurchasing add-on creditsManaging your paymentsManaging usage notificationsManaging your taxesContacting billing supportDeleting your accountRelated questions

Enterprise

ConceptsOnboarding quickstart
Connecting your identity provider
Deployment optionsSubscribe your teamManage subscriptions
Governance
Monitor and track
SettingsManaged updatesBillingIAMSupported regions

Privacy and Security

OverviewData protectionCode referencesCompliance validationInfrastructure securityIAM permissionsFirewalls, proxies, and data perimetersVPC endpoints (AWS PrivateLink)

Guides

Overview
Language support
Learn by playing

Migration

Migrating from Q DeveloperMigrating from VSCodeUpgrading from Q CLI
  1. Docs
  2. CLI
  3. ACP
View as Markdown

Agent Client Protocol (ACP)

View as Markdown

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.

Info

This page documents editor setup and the legacy CLI v2 ACP server. If you maintain an ACP client that is moving to CLI V3, follow Migrate an ACP client to CLI V3.

What is ACP?

ACP (Agent Client Protocol) standardizes how editors connect to AI agents, the same way the Language Server Protocol (LSP) standardized language server integration. Kiro CLI implements ACP so you can use it in a compatible editor without a custom integration for each agent. See Agent Client Protocol for the client and harness architecture.

Quick start

Run Kiro as an ACP agent:

bash
kiro-cli acp

To use a specific agent configuration:

bash
kiro-cli acp --agent my-agent

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 (CLI v2 only — CLI V3 uses session/set_config_option)

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 (CLI v2 only — CLI V3 settles turns from the session/prompt response)

For CLI v2, a content-filtered final response ends with stopReason: refusal rather than end_turn. ACP clients can present it as a refusal instead of normal completion, without exposing internal details.

Kiro extensions

Kiro extends the CLI v2 ACP server 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 on the v2 server.

Warning

These extensions apply to the CLI v2 ACP server only. CLI V3 replaces them with negotiated extensions advertised through agentCapabilities._meta.kiro.extensionMethods. If you are migrating to CLI V3, see the replacement table in the migration guide.

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

CLI v2 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)
Info

This file layout is specific to the CLI v2 server. Do not read or write these files directly from a CLI V3 client — use session/list and session/load instead.

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

  • Agent Client Protocol (ACP) — how ACP connects clients to the unified agent harness
  • Migrate an ACP client to CLI V3 — migrate from the CLI v2 ACP server
  • Interactive Chat — uses ACP internally
  • MCP Integration — MCP servers can be passed to ACP sessions
  • CLI commands reference
Page updated: October 2, 2026
Headless mode
Auto complete