Kiro CLI is Kiro’s terminal-based coding agent, with commands for interactive chats, file and shell work, agents, Skills, MCP servers, hooks, specs, workflows, and headless automation.
Use this Kiro CLI cheat sheet as a quick reference for the commands you need during everyday development.
It collects startup flags, chat controls, agent and MCP commands, permissions, shortcuts, configuration paths, CI options, and maintenance commands in compact tables for fast lookup.
Kiro CLI Cheat Sheet
Install, Sign In, and Start Chat
On macOS or Linux, run:
curl -fsSL https://cli.kiro.dev/install | bashOn Windows 11, use PowerShell in Windows Terminal:
irm 'https://cli.kiro.dev/install.ps1' | iex| Command or control | Purpose and conditions |
|---|---|
kiro-cli login | Open browser-based sign-in. |
kiro-cli login --use-device-flow | Sign in through a device code. External identity providers do not support this flow. |
kiro-cli whoami | Show the signed-in identity. |
kiro-cli logout | Sign out. |
kiro-cli chat | Start an interactive session in the current directory. |
kiro-cli chat "Explain this repository" | Start chat with an initial prompt. |
Shell Commands and Startup Flags
Kiro CLI has V2 and V3 agent harnesses. Their saved session formats are incompatible. Resume a session with the harness that created it. Commands marked V3 require the V3 harness.
| Command or control | Purpose and conditions |
|---|---|
-h, --help | Show help for the current command. |
--help-all | Show help for all commands. |
-v, --verbose | Increase diagnostic logging. Repeat the flag for more detail. |
-V, --version | Show the client version. |
--v2, --v3 | Select the agent harness for this invocation. Available at the root and on chat. Do not combine them. A chat-level choice takes precedence. |
kiro-cli --tui | Force the terminal UI for this session. The terminal UI is the default interactive experience. |
kiro-cli --classic | Use the deprecated Classic UI for a V2 session. |
kiro-cli chat --agent <name> | Start with a named agent. |
kiro-cli chat --resume, -r | Resume the previous local conversation in this directory. |
kiro-cli chat --resume-picker | Choose a local conversation to resume. |
kiro-cli chat --resume-id <ID> | Resume a local conversation by ID. |
kiro-cli chat --list-sessions | List local sessions. |
kiro-cli chat --delete-session <ID> | Delete a local session by ID. |
kiro-cli chat --list-models | List available models. Add --format json for structured output. |
kiro-cli chat --effort <level> | Set reasoning effort. Values: low, medium, high, xhigh, max. Supported levels depend on the model. |
kiro-cli chat --wrap <mode> | Set wrapping to always, never, or auto. Default: auto. |
Core Chat and Context Commands
Sessions and History
| Command or control | Purpose and conditions |
|---|---|
/help | Show interactive command help. |
/chat new [prompt] | Start a new local conversation. |
/chat resume | Choose a saved local conversation. |
/chat save <path> | Save a resumable local session archive. |
/chat load <path> | Load a local session archive. |
/session-id | Show the current session ID. |
/sessions | Open the V3 session dashboard. Also available at startup with kiro-cli chat --sessions. |
/clear | Clear the active conversation state without starting a new session. |
/rewind [turn] | Fork the conversation from an earlier turn. Preserve the original conversation. Files on disk remain unchanged by the rewind operation. Unavailable in cloud sessions. |
/transcript | Open the conversation transcript. |
/transcript save <path> --plain | Export plain text. Use --json for JSON. The flag controls the format, not the filename extension. |
/quit, /exit, /q | Exit chat. Cloud sessions can offer to continue in the background. |
Context, Models, and Input
| Command or control | Purpose and conditions |
|---|---|
/context show | Show session context rules. This is the only /context subcommand available in cloud sessions. |
/context add <path-or-glob> | Add temporary session context. |
/context remove <path-or-glob> | Remove a session context rule. |
/context clear | Clear temporary context rules. |
/compact | Summarize older conversation history to free context space. |
/model [model-id] | Open the model picker or choose a model by ID. |
/model set-current-as-default | Save the current model as the default for future sessions. |
/effort <level> | Change reasoning effort for the current session. Available levels depend on the model. |
/effort set-current-as-default | Save the current effort as the default for this model. |
/editor | Edit the prompt in the editor selected by EDITOR. |
/reply | Open the editor with the previous assistant response quoted for reply. |
/paste | Attach a clipboard image. |
/copy | Copy the last assistant response to the clipboard. |
/fullscreen | Toggle full-screen and Lite views in the terminal UI. |
/usage | Show usage information. |
/prompts list | List available prompts. |
/prompts get <name> | Retrieve a saved prompt. |
@<prompt-name> | Insert a saved prompt. File-based prompts do not substitute arguments. |
@<path> | Reference a file or directory. Quote paths with spaces as @"path with spaces". Use @./filename to disambiguate a file from a prompt name. |
!<command> | Run a local shell command yourself. Unavailable in cloud sessions. |
Help, UI, and Configuration
| Command or control | Purpose and conditions |
|---|---|
/guide | Switch to the Guide agent for documentation-grounded CLI help and onboarding. |
/feedback | Submit feedback from the terminal UI. |
/theme | Change terminal UI theme colors. |
/title [text], /title --clear | Show, set, or clear the terminal window title. Enable Terminal title under /settings display. |
/config [category] | V3: inspect configured agents, MCP servers, Powers, Steering, Skills, and Hooks. |
Keyboard and Terminal Controls
These bindings apply to the terminal UI. Newline bindings depend on the terminal. Use /settings terminal to inspect terminal options.
| Binding | Action |
|---|---|
Shift+Enter, Ctrl+J, Alt/Option+Enter | Insert a newline where supported. |
Up, Down | Navigate prompt history. |
Ctrl+R | Search prompt history backward. |
Ctrl+W, Alt+Backspace | Delete the previous word. |
Ctrl+K, Ctrl+U | Delete from the cursor to the end or start of the line. |
Ctrl+Y | Paste text from the kill buffer. |
Ctrl+_ | Undo an input edit. |
Ctrl+L | Clear the terminal display. This does not clear conversation context. |
Ctrl+O | Expand tool output and thinking details. |
Ctrl+T | Open the transcript view. |
Ctrl+X | Open the activity tray, or review checkpoints in the spec execution view. |
Ctrl+G | Open the crew monitor for subagents and spawned sessions. |
Ctrl+D, Ctrl+U | Move between subagents while the crew monitor is open. |
q | Close the crew monitor. |
Shift+Tab | Toggle Plan mode. |
Ctrl+S | Switch between steering and queued input while the agent works. |
Esc | Close the active menu or cancel a streamed response, depending on focus. |
Ctrl+C, Ctrl+D | Exit from the chat input view. With a steering message queued, Ctrl+C cancels current work and sends that message. |
Ctrl+Z twice | Suspend the session. The double press prevents accidental suspension during streaming. |
Tab, arrow keys, Enter | Complete input or navigate and confirm menus and approvals. |
Plan, Specs, Workflows, and V3 Sessions
| Command or control | Purpose and conditions |
|---|---|
/plan [prompt] | Enter read-only planning. The agent can read and search, but cannot write files or use shell or MCP tools. Automatic handoff to execution requires V3. |
/spec | Open the local spec workflow. Specs live in .kiro/specs/. Cloud sessions do not support this workflow. |
/spec new <name> | Create a spec. |
/spec view <name> [document] | View a spec document. Document values: requirements, design, tasks. |
/spec run <name> | Execute spec tasks. The full-screen task view requires V3. |
/spec <name> | Resume spec work. |
/tangent [name] | V3: switch to or create a named conversation branch. |
/tangent ls, /tangent root | V3: list branches or return to the root conversation. |
/goal [--max <n>] <objective> | Pursue an objective through a bounded iteration loop. Default maximum: 5 iterations. |
/goal clear | Stop the goal loop. Completed changes remain. |
/workflow | V3: open workflow history and the workflow monitor. Enable Workflows under /settings features and restart Kiro CLI first. |
/workflow run [recipe] [inputs] | Start a workflow recipe. Run without a recipe name to use the picker. |
/workflow new <description> | Create a reusable workflow recipe from a goal description. |
/workflow list, /workflow status <ID> | List workflow runs or print the status of a known run. |
/workflow pause <ID>, /workflow resume <ID> | Request a pause at the next safe boundary or continue a paused run. |
/workflow cancel <ID> | Stop a run. File changes already made remain on disk. |
/workflow retry <ID> [nodeId] | Retry failed or aborted work while preserving completed sibling work. |
kiro-cli --cloud --repo <owner/repo> | Start a V3 cloud session with a repository. Cloud sessions are a preview feature. |
/repo [owner/repo] | Choose or change the repository in a cloud session. |
/disconnect | Detach from a cloud session while it continues to run. |
Agents, Skills, and Steering
| Command or control | Purpose and conditions |
|---|---|
kiro-cli agent list | List agents. |
kiro-cli agent create <name> | Create an agent profile. |
kiro-cli agent edit [name] | Edit a profile. Built-in agents cannot be edited. |
kiro-cli agent validate <path> | Validate an agent configuration file. |
kiro-cli agent set-default <name> | Set the default agent. |
/agent list, /agent swap <name> | List agents or switch during chat. A switch preserves the current model unless the new agent specifies one. |
/agent schema | Show the agent configuration schema. |
/spawn [--name <label>] <task> | Start a separate session for parallel work. This differs from agent-managed sub-agent delegation. |
/<skill-name> [text] | Invoke an installed Skill. Skill commands are dynamic, not fixed built-in slash commands. |
/powers | V3: list installed Powers available to the local session. |
/powers install <name|path>, kiro-cli powers install <name|path> | V3: install a Power from the catalog or a local directory. |
/powers uninstall <name>, kiro-cli powers uninstall <name> | V3: remove an installed Power. |
| Path or field | Purpose |
|---|---|
.kiro/agents/, ~/.kiro/agents/ | Workspace and user agent profiles in JSON or Markdown. A same-name workspace profile takes precedence. |
.kiro/skills/<name>/SKILL.md | Workspace Skill. Include name and description in YAML frontmatter. User Skills live under ~/.kiro/skills/. A same-name workspace Skill takes precedence. |
.kiro/steering/, ~/.kiro/steering/ | Workspace and user Steering documents. Instructions from both scopes are combined. Workspace instructions take precedence when they conflict. |
AGENTS.md | Repository instructions. V3 also discovers nested workspace files. |
model | Agent-profile field for the preferred model. |
resources | Agent-profile field for explicit file and Skill resources. |
For an agent that needs project Steering and Skills, configure explicit resources:
{
"name": "project-helper",
"resources": [
"file://.kiro/steering/**/*.md",
"skill://.kiro/skills/*/SKILL.md"
]
}Local V3 Permissions and Workspace Trust
Persistent V3 policy uses capability rules in permissions.yaml. User rules live at ~/.kiro/settings/permissions.yaml. Workspace rules live outside the repository at ~/.kiro/workspace-roots/<hash>/permissions.yaml.
| Rule or control | Meaning |
|---|---|
allow, ask, deny | Rule effects. The most restrictive matching effect wins across scopes: deny, then ask, then allow. |
fs_read, fs_write | File read and write capabilities. Filesystem patterns support * within one path component and ** across directories. |
shell | Shell execution. Each part of a compound command is evaluated separately. |
web_fetch, web_search | Web access capabilities. |
mcp | MCP tools. Match a server/tool pattern. |
subagent, skill, power | Delegation and extension capabilities. |
/tools, /tools schema | Inspect runtime tool controls and their schema. |
/tools reset | Reset runtime permissions to defaults. |
/tools trust-all | V3: grant a session-wide override. The default flow displays a warning and asks for confirmation. Hard denies remain in force. |
/tools trust <tool>, /tools untrust <tool> | V2: change trust for an individual tool. |
A rule has a capability, an effect, and optional match and exclude patterns. For example, this user-level rule asks before shell execution:
rules:
- capability: shell
effect: askShell, web, and MCP patterns support *. A matching allow rule cannot override a matching deny. V3 prompts for workspace trust on first open. Untrusted workspaces have restricted shell execution and writes.
V3 Hooks
Store standalone hook files in .kiro/hooks/<id>.json or ~/.kiro/hooks/<id>.json. They activate when the session starts. Use /hooks to inspect configured hooks.
| Trigger or field | Purpose |
|---|---|
SessionStart | Run when a new V3 session starts. |
SessionEnd | V3: run when the session shuts down. |
UserPromptSubmit | Run when the user submits a prompt. |
PreToolUse | Run before a tool executes. A command action that exits with code 2 blocks the tool call. |
PostToolUse | Run after a tool executes. |
Stop | Run after the agent finishes a response. |
action.type: "command" | Run a command from the project root. Event JSON is supplied on standard input. |
action.type: "agent" | Supply an instruction through action.prompt. |
matcher | Optional regular expression for matching tool events. |
timeout | Command-action timeout in seconds. Default: 60. Set to 0 to disable the timeout. Ignored for agent actions. |
enabled | Whether the hook is active. Default: true. |
This hook prints repository status when a prompt is submitted:
{
"version": "v1",
"hooks": [
{
"name": "repository-status",
"trigger": "UserPromptSubmit",
"action": {
"type": "command",
"command": "git status --short"
},
"timeout": 60,
"enabled": true
}
]
}MCP Servers and ACP
| Command or control | Purpose and conditions |
|---|---|
kiro-cli mcp add --name <name> --command "<command>" --scope workspace | Add a local MCP server. Use global for user scope. |
--env KEY=value, --timeout <ms>, --force | MCP add options for environment values, startup timeout, and overwrite. Multiple environment pairs can be comma-separated. |
kiro-cli mcp list [scope] | List configured servers. Optional scope: workspace or global. |
kiro-cli mcp remove --name <name> --scope workspace | Remove a server configuration. |
kiro-cli mcp import --file <path> workspace | Import server configurations from a JSON file. Use global for user scope. |
kiro-cli mcp status --name <name> | Show server status. |
/mcp | Inspect MCP servers during chat. |
/mcp auth <server> | Start server OAuth authentication. |
/mcp cancel-auth <server>, /mcp logout <server> | Cancel authentication or clear the server’s OAuth login. |
/mcp add, /mcp remove | Manage registry servers when an organization has configured an MCP registry through IAM Identity Center. |
@<server>/<prompt> <required-arg> [optional-arg] | Invoke an MCP prompt with arguments. |
/logdump --mcp | Create a diagnostic log archive that includes MCP logs. |
kiro-cli acp --agent <name> | Run the Agent Client Protocol server over standard input/output for an editor integration. |
Workspace MCP configuration lives in .kiro/settings/mcp.json. User configuration lives in ~/.kiro/settings/mcp.json. Local servers use command, args, and env under mcpServers. Remote HTTP servers use url and optional headers. Use disabled: true to disable a server or disabledTools to disable selected tools.
Configure MCP credentials separately from Kiro authentication. Export required environment variables before launch. Project .env files no longer load automatically into chats, tools, or MCP servers. ACP clients should use the full path to kiro-cli and communicate through JSON-RPC 2.0.
Headless Commands and CI
Headless runs require KIRO_API_KEY. API keys are available with Pro, Pro+, Pro Max, and Power access. Managed organizations must enable API-key generation. Store the key in the CI system’s secret store and expose it as an environment variable.
kiro-cli chat --v2 --no-interactive --trust-tools=read,grep --output-format stream-json "Summarize this repository"Supply a positional prompt or standard input. A positional prompt takes precedence if both are present:
cat task.txt | kiro-cli chat --v3 --no-interactive| Flag | Behavior |
|---|---|
--no-interactive | Run without interactive input or pickers. |
--output-format stream-json | Emit JSON Lines events. Supported by V2 and V3. |
--agent-engine <version> | Select v1, v2, or v3. Do not combine with --v2 or --v3. |
--trust-tools=read,grep | V2: trust selected tool categories for the run. |
--trust-all-tools | Grant a session-wide trust override, including in V3. Hard denies remain in force. |
--require-mcp-startup | V2/V3: wait for MCP startup before sending the prompt. In V3, failed, unknown, or missing startup state after 30 seconds causes exit code 3. |
| Exit code | Meaning |
|---|---|
0 | Successful completion. |
1 | General failure. |
3 | MCP startup failure with --require-mcp-startup. Keep the V3 startup conditions above in mind. |
Settings, Paths, and Environment Variables
| Command, path, or key | Purpose |
|---|---|
kiro-cli settings list | List explicitly configured settings. Add --all to include defaults. |
kiro-cli settings <key> | Read a setting. |
kiro-cli settings <key> <value> | Write a setting. |
kiro-cli settings --delete <key> | Delete a setting. Short flag: -d. |
kiro-cli settings open | Open the global settings file. |
/settings | Open interactive settings. Submenus include theme, terminal, display, features, history, and keybindings. |
/settings features | Enable account-available features, including Workflows. Restart Kiro CLI after enabling Workflows. |
~/.kiro/settings/cli.json | Global CLI settings. |
chat.defaultAgent, chat.defaultModel | Defaults for new sessions. |
chat.historyMode | session by default. Set global for shared prompt history in subsequent sessions. |
chat.ui | tui by default. classic selects the deprecated Classic UI for interactive V2. |
chat.showThinking | Show thinking details. Default: true. Changes apply at session startup. |
chat.disableAutoCompaction | Control automatic context compaction. |
chat.keybindings.quit | Customize the quit binding. The interactive keybindings page is read-only. |
kiro-cli settings chat.keybindings.quit "ctrl+shift+q"| Variable | Purpose |
|---|---|
KIRO_HOME | Override the global Kiro data directory. |
KIRO_CHAT_UI | Override the saved UI choice. Startup flags take precedence over this variable, followed by chat.ui. |
EDITOR | External prompt/configuration editor. |
PAGER | Transcript pager. Default: less on macOS/Linux and notepad on Windows. |
KIRO_LOG_LEVEL | Logging level: error, warn, info, debug, or trace. Default: error. |
KIRO_CHAT_LOG_FILE | Override the chat log path. |
KIRO_ASCII_MODE=1 | Use ASCII terminal output. |
NO_COLOR | Disable color output when set. |
Code Intelligence, Knowledge, and Maintenance
| Command or control | Purpose and conditions |
|---|---|
/code status | Show Code Intelligence and language-server status. |
/code overview [--silent] | Show an overview of the current workspace. |
/code logs | Inspect language-server logs. Use level, count, or export options when needed. |
/code init [-f] | Initialize optional language-server configuration. Language servers must be installed separately. |
.kiro/settings/lsp.json | Language-server configuration. |
/knowledge show | Inspect the Knowledge index. Available in V3. In V2, enable the experimental feature with kiro-cli settings chat.enableKnowledge true. |
/knowledge add --name <name> --path <path> | Add a local source to Knowledge. |
/knowledge search "<query>" | Search indexed Knowledge. |
/voice | Use voice input when the build includes voice support and a microphone is available. |
kiro-cli update | Update a standalone installation. RPM installations use sudo dnf upgrade kiro-cli. |
kiro-cli doctor --all | Run all diagnostic checks. Add --strict to treat warnings as errors. |
kiro-cli doctor --format json | Return structured diagnostic results. |
kiro-cli diagnostic | Generate system diagnostics and validate the CLI environment. |
kiro-cli diagnostic --force | Generate a limited diagnostic report without requiring the CLI app to be running. |
kiro-cli version --changelog | Show recent release notes. |
kiro-cli uninstall | Remove a standalone installation. Package-managed installations require the corresponding package manager. |
/upgrade-agent diagnostics, /upgrade-agent run | V3: inspect or migrate an agent profile. Migration backs up the original JSON file. |
Related Resources
- 10 Best CLI AI Coding Agents: Open-Source & Commercial
- Claude Code Commands Cheat Sheet
- OpenAI Codex Commands Cheat Sheet










