This page provides a comprehensive reference for all Kiro CLI commands and their arguments.
These arguments work with any Kiro CLI command:
| Argument | Short | Description |
|---|---|---|
--verbose | -v | Increase logging verbosity (can be repeated: -v, -vv, -vvv) |
--agent | -v | Start a conversation using a specific custom agent configuration |
--help | -h | Show help information |
--version | -V | Show version information |
--help-all | Print help for all subcommands |
Manage agent configurations. Agent name is now a positional argument for create, edit, and other subcommands.
Syntax:
kiro-cli agent [SUBCOMMAND] [AGENT_NAME] [OPTIONS]
Subcommands:
| Subcommand | Description |
|---|---|
list | List the available agents |
create <name> | Create an agent config (name is positional argument, v1.26.0+) |
edit [name] | Edit an existing agent config (defaults to current agent if no name provided, v1.26.0+) |
validate | Validate a config with the given path |
migrate | Migrate profiles to agents (potentially destructive to existing agents) |
set-default | Define a default agent to use when starting a session |
Examples:
kiro-cli agent list # v1.26.0+: Agent name as positional argument kiro-cli agent create my-agent kiro-cli agent edit my-agent kiro-cli agent edit # Defaults to current agent # Previous syntax (still supported) kiro-cli agent validate ./my-agent.json kiro-cli agent set-default my-agent
New in v1.26.0:
kiro-cli agent create my-agent instead of --name my-agent)edit command defaults to editing the current agent when no argument is providedStart an interactive chat session with Kiro. When no subcommand is specified, kiro defaults to kiro-cli chat.
Syntax:
kiro-cli chat [OPTIONS] [INPUT]
Arguments:
| Argument | Description |
|---|---|
--no-interactive | Print first response to STDOUT without interactive mode |
--resume / -r | Resume the previous conversation from this directory |
--resume-picker | Open interactive session picker to choose which session to resume |
--list-sessions | List all saved chat sessions for the current directory |
--delete-session <ID> | Delete a saved chat session by ID |
--agent | Specify which agent to use |
--trust-all-tools | Allow the model to use any tool without confirmation |
--trust-tools | Trust only specified tools (comma-separated list) |
--require-mcp-startup | Exit with code 3 if any MCP server fails to start |
--wrap | Line wrapping mode: always, never, or auto (default) |
INPUT | The first question to ask (positional argument) |
Examples:
# Start interactive chat kiro-cli # Ask a question directly kiro-cli chat "How do I list files in Linux?" # Non-interactive mode with trusted tools kiro-cli chat --no-interactive --trust-all-tools "Show me the current directory" # Resume previous conversation kiro-cli chat --resume # Open session picker to choose which session to resume kiro-cli chat --resume-picker # List all saved sessions kiro-cli chat --list-sessions # Use specific agent kiro-cli chat --agent my-agent "Help me with AWS CLI"
Translate natural language instructions to executable shell commands using AI.
Syntax:
kiro-cli translate [OPTIONS] [INPUT...]
Arguments:
| Argument | Short | Description |
|---|---|---|
--n | -n | Number of completions to generate (max 5) |
INPUT | Natural language description (positional arguments) |
Examples:
kiro-cli translate "list all files in the current directory" kiro-cli translate "find all Python files modified in the last week" kiro-cli translate "compress all log files older than 30 days" kiro-cli translate -n 3 "search for text in files"
Diagnose and fix common installation and configuration issues.
Syntax:
kiro-cli doctor [OPTIONS]
Arguments:
| Argument | Short | Description |
|---|---|---|
--all | -a | Run all diagnostic tests without fixes |
--strict | -s | Error on warnings |
--format | -f | Output format: plain, json, json-pretty |
Examples:
kiro-cli doctor kiro-cli doctor --all kiro-cli doctor --strict
Update Kiro CLI to the latest version.
Syntax:
kiro-cli update [OPTIONS]
Arguments:
| Argument | Short | Description |
|---|---|---|
--non-interactive | -y | Don't prompt for confirmation |
--relaunch-dashboard | Relaunch dashboard after update (default: true) |
Examples:
kiro-cli update kiro-cli update --non-interactive
Get or set the visual theme for the autocomplete dropdown menu.
Syntax:
kiro-cli theme [OPTIONS] [THEME]
Arguments:
| Argument | Description |
|---|---|
--list | List all available themes |
--folder | Show the theme directory path |
THEME | Theme name: dark, light, system |
Examples:
kiro-cli theme --list kiro-cli theme dark kiro-cli theme light kiro-cli theme system
Manage system integrations for Kiro.
Syntax:
kiro-cli integrations [SUBCOMMAND] [OPTIONS]
Subcommands:
| Subcommand | Description |
|---|---|
install [integration] | Install an integration (e.g., kiro-command-router) |
uninstall [integration] | Uninstall an integration |
reinstall [integration] | Reinstall an integration |
status | Check integration status |
Options:
--silent / -s: Suppress status messages--format / -f: Output format (for status command)Examples:
# Install kiro command router (v1.26.0+) kiro-cli integrations install kiro-command-router # Check integration status kiro-cli integrations status # Uninstall silently kiro-cli integrations uninstall --silent
The kiro command router is a unified entry point that routes the kiro command between CLI and IDE based on your preference.
Problem it solves: By default, the kiro command launches Kiro IDE. Many users prefer it to launch the CLI since they use the app icon to open the IDE.
Installation:
# Install the router kiro-cli integrations install kiro-command-router # Set CLI as the default kiro set-default cli # Or set IDE as the default kiro set-default ide
After installation:
kiro - Launches your default (CLI or IDE)kiro-cli - Always launches CLIkiro-ide - Always launches IDEUse cases:
kiro-cli every timeManage inline suggestions (ghost text) that appear as you type.
Syntax:
kiro-cli inline [SUBCOMMAND] [OPTIONS]
Subcommands:
| Subcommand | Description |
|---|---|
enable | Enable inline suggestions |
disable | Disable inline suggestions |
status | Show current status |
set-customization | Select a customization model |
show-customizations | Show available customizations |
Examples:
kiro-cli inline enable kiro-cli inline disable kiro-cli inline status kiro-cli inline set-customization kiro-cli inline show-customizations --format json
Authenticate with Kiro CLI service using Builder ID, Identity Center, or social login (Google, GitHub).
Syntax:
kiro-cli login [OPTIONS]
Options:
| Option | Description |
|---|---|
--license <TYPE> | License type: pro (Identity Center) or free (Builder ID, Google, GitHub) |
--identity-provider <URL> | Identity provider URL (for Identity Center) |
--region <REGION> | AWS region (for Identity Center) |
--social <PROVIDER> | Social provider: google or github |
--use-device-flow | Force device flow (for remote/SSH environments) |
--verbose | Increase logging verbosity (can be repeated) |
--help | Print help information |
Authentication Methods:
Local Environment:
--license, --social) are generally ignored locally; the browser flow controls the methodRemote Environment (SSH/Terminal):
Examples:
# Basic login (opens browser locally, shows device code remotely) kiro-cli login # Identity Center login kiro-cli login --license pro --identity-provider https://my-org.awsapps.com/start --region us-east-1 # Social login kiro-cli login --social google # Force device flow (useful for SSH sessions) kiro-cli login --use-device-flow
Troubleshooting:
kiro-cli logout--use-device-flow flagSign out of Kiro CLI service and clear authentication credentials.
Syntax:
kiro-cli logout
Options:
| Option | Short | Description |
|---|---|---|
--verbose | -v | Increase logging verbosity (can be repeated) |
--help | -h | Print help information |
What Gets Cleared:
What's Preserved:
Example:
kiro-cli logout
Output:
You are now logged out Run kiro-cli login to log back in to Kiro CLI
Note: Logout is user-wide and affects all workspaces.
Display information about the current user and authentication status, including your email address for Builder ID, IAM Identity Center, and Social login types.
Syntax:
kiro-cli whoami [OPTIONS]
Options:
| Option | Short | Description |
|---|---|---|
--format | -f | Output format: plain, json, json-pretty |
--verbose | -v | Increase logging verbosity (can be repeated) |
--help | -h | Print help information |
Output Information:
Examples:
# Check current user kiro-cli whoami # Logged in with Builder ID # Email: user@example.com kiro-cli whoami --format json kiro-cli whoami --format json-pretty
Example Output (Identity Center):
Logged in with IAM Identity Center (https://my-org.awsapps.com/start) Profile: Q-Dev-Amazon-Profile arn:aws:codewhisperer:us-east-1:...:profile/...
Example Output (Builder ID):
Logged in with Builder ID Profile: builder-id-username
Troubleshooting:
kiro-cli loginManage kiro-cli configuration settings.
Syntax:
kiro-cli settings [SUBCOMMAND] [OPTIONS] [KEY] [VALUE]
Arguments:
| Argument | Short | Description |
|---|---|---|
--delete | -d | Delete a setting |
--format | -f | Output format: plain, json, json-pretty |
KEY | Setting key (positional) | |
VALUE | Setting value (positional) |
Subcommands:
| Subcommand | Description |
|---|---|
open | Open settings file in default editor |
list | List configured settings |
list --all | List all available settings with descriptions |
Examples:
# View all settings kiro-cli settings list # View all available settings kiro-cli settings list --all # Get a specific setting kiro-cli settings telemetry.enabled # Set a setting kiro-cli settings telemetry.enabled true # Delete a setting kiro-cli settings --delete chat.defaultModel # Open settings file kiro-cli settings open # JSON output kiro-cli settings list --format json-pretty
Run diagnostic tests and generate system information report for troubleshooting.
Syntax:
kiro-cli diagnostic [OPTIONS]
Options:
| Option | Short | Description |
|---|---|---|
--format | -f | Output format: plain, json, json-pretty (default: plain) |
--force | Force limited diagnostic output (faster, works without app running) | |
--verbose | -v | Increase logging verbosity (can be repeated) |
--help | -h | Print help information |
The plain format outputs Markdown-formatted text.
Behavior:
--force: Requires Kiro CLI app to be running (use kiro-cli launch first). Generates comprehensive diagnostics by connecting to the running app.--force: Standalone command that works without the app running. Generates limited but faster diagnostics.Output Information:
The diagnostic report includes:
Examples:
# Generate full diagnostic report kiro-cli diagnostic # JSON output kiro-cli diagnostic --format json-pretty # Limited output (faster) kiro-cli diagnostic --force
Example Output (TOML format):
[q-details] version = "1.23.0" hash = "97d58722cd90f6d3dda465f6462ee4c6dc104b22" date = "2025-12-18T16:49:27.015389Z (4d ago)" variant = "full" [system-info] os = "macOS 15.7.1 (24G231)" chip = "Apple M1 Pro" total-cores = 10 memory = "32.00 GB" [environment] cwd = "/Users/user/project" cli-path = "/Users/user/.cargo/bin/kiro-cli" os = "Mac" shell-path = "/bin/bash" shell-version = "5.1.16" terminal = "iTerm2" install-method = "cargo" [env-vars] PATH = "..." SHELL = "/bin/zsh" TERM = "xterm-256color"
Troubleshooting:
kiro-cli launch or use --force flag for standalone diagnostics--force for faster limited outputUse Cases:
Create a GitHub issue for feedback or bug reports.
Syntax:
kiro-cli issue [OPTIONS] [DESCRIPTION...]
Arguments:
| Argument | Short | Description |
|---|---|---|
--force | -f | Force issue creation |
DESCRIPTION | Issue description (positional) |
Examples:
kiro-cli issue kiro-cli issue "Autocomplete not working in zsh"
Display version information and changelog.
Syntax:
kiro-cli version [OPTIONS]
Arguments:
| Argument | Description |
|---|---|
--changelog | Show changelog for current version |
--changelog=all | Show changelog for all versions |
--changelog=x.x.x | Show changelog for specific version |
Examples:
kiro-cli version kiro-cli version --changelog kiro-cli version --changelog=all kiro-cli version --changelog=1.5.0
Manage Model Context Protocol (MCP) servers.
Syntax:
kiro-cli mcp [SUBCOMMAND] [OPTIONS]
Subcommands:
Add or replace a configured MCP server.
Arguments:
| Argument | Description |
|---|---|
--name | Server name (required) |
--command | Launch command (required) |
--scope | Scope: workspace or global |
--env | Environment variables: key1=value1,key2=value2 |
--timeout | Launch timeout in milliseconds |
--force | Overwrite existing server |
Example:
kiro-cli mcp add --name my-server --command "node server.js" --scope workspace
Remove an MCP server.
Arguments:
| Argument | Description |
|---|---|
--name | Server name (required) |
--scope | Scope: workspace or global |
Example:
kiro-cli mcp remove --name my-server --scope workspace
List configured MCP servers.
Syntax:
kiro-cli mcp list [SCOPE]
Example:
kiro-cli mcp list kiro-cli mcp list workspace kiro-cli mcp list global
Import server configuration from a file.
Arguments:
| Argument | Description |
|---|---|
--file | Configuration file (required) |
--force | Overwrite existing servers |
SCOPE | Scope: workspace or global |
Example:
kiro-cli mcp import --file config.json workspace
Get the status of an MCP server.
Arguments:
| Argument | Description |
|---|---|
--name | Server name (required) |
Example:
kiro-cli mcp status --name my-server
Kiro CLI automatically saves all chat sessions on every conversation turn. You can resume from any previous chat session at any time.
# Resume the most recent chat session kiro-cli chat --resume # Interactively pick a chat session to resume kiro-cli chat --resume-picker # List all saved chat sessions for the current directory kiro-cli chat --list-sessions # Delete a saved chat session kiro-cli chat --delete-session <SESSION_ID>
Use the /chat command to manage sessions:
# Resume a chat session (interactive selector) /chat resume # Save current session to a file /chat save <FILE_PATH> # Load a session from a file /chat load <FILE_PATH>
The .json extension is optional when loading - Kiro will try both with and without the extension.
You can use custom scripts to control where chat sessions are saved to and loaded from. This allows you to store sessions in version control systems, cloud storage, databases, or any custom location.
# Save session via custom script (receives JSON via stdin) /chat save-via-script <SCRIPT_PATH> # Load session via custom script (outputs JSON to stdout) /chat load-via-script <SCRIPT_PATH>
Tips:
Kiro CLI maintains log files for troubleshooting:
Locations:
$TMPDIR/kiro-log/$XDG_RUNTIME_DIR or /tmp/kiro-log/Environment Variables:
Control logging behavior with these environment variables:
| Variable | Values | Description |
|---|---|---|
KIRO_LOG_LEVEL | error, warn, info, debug, trace | Set logging verbosity (default: error) |
KIRO_LOG_NO_COLOR | 1, true, yes | Disable colored log output (v1.26.0+) |
Log Levels:
Set via KIRO_LOG_LEVEL environment variable:
error: Only errors (default)warn: Warnings and errorsinfo: Info, warnings, and errorsdebug: Debug info and abovetrace: All messages including detailed tracesExamples:
# Enable debug logging export KIRO_LOG_LEVEL=debug kiro-cli chat # Disable colored output (useful for CI/CD, v1.26.0+) export KIRO_LOG_NO_COLOR=1 kiro-cli chat # Combined export KIRO_LOG_LEVEL=debug export KIRO_LOG_NO_COLOR=true kiro-cli chat # For fish shell set -x KIRO_LOG_LEVEL debug set -x KIRO_LOG_NO_COLOR 1 kiro-cli chat
New in v1.26.0: KIRO_LOG_NO_COLOR environment variable to disable colored log output, useful for CI/CD pipelines and log file processing.
Warning: Log files may contain sensitive information including file paths, code snippets, and command outputs. Be cautious when sharing logs.
CLI commands