Loading image...Kiro

Product

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

For

  • Enterprise
  • Startups
  • Students

Community

  • Overview
  • Ambassadors
  • 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
  • Enterprise
  • Pricing
  • Docs
SIGN INDOWNLOADS
Loading image...Kiro

Get Started

InstallationAuthenticationYour first project

Models

OverviewAvailable modelsReasoning effort

Features

How Kiro works
Specs
Steering
Hooks
MCP
Permissions
Custom agents
Agent Skills
Powers
CompactionKiroignoreCheckpoints 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 3.0
Setup & First Run
Terminal UI
Chat
Headless modeACPAuto complete
Experimental
2.x reference

Crew

Quick startInstallationRunning 24/7
Chat
Agent Capabilities
Features
Interfaces
Apps
ConfigurationSecurityTroubleshooting

Web - Preview

Setup & First RunIdentity Center
Connect your repositories
Working with the agent
Autonomous modeAutomations
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
Subscribe 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

Agent Client Protocol (ACP)


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

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

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: August 4, 2026
Headless mode
Auto complete