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
Sessions
Message controls
Prompt optimizer
Voice
Rich output & widgets
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 codesSettingsIDE keyboard shortcuts

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. Crew
  3. Chat
  4. Message controls

Message controls


Chat isn't a one-way stream — every message and every reply has controls attached. Once you know them, you can iterate on complex prompts without starting over.

Send

The basics:

  • Enter — send the message
  • Shift+Enter — newline (multi-line messages)
  • Cmd+Shift+Enter (macOS) / Ctrl+Shift+Enter (Linux) — prompt optimizer: rewrite the vague version into a scoped, actionable one before sending
  • @filename — attach a file from the active project directory (fuzzy search opens automatically)

Concurrent messages are queued FIFO — safe to type-and-send multiple in a row.

Interrupt

While the agent is streaming a response click ⏹ Stop on the tab header. The current turn is cancelled. Any partial response and completed tool calls are preserved; the next queued message runs next.

In Slack, the !stop command does the same.

Edit and resend

Hover any user message and click Edit. The message becomes editable in place.

  • Changing the text and pressing Enter replays the conversation from that point — everything after is discarded and regenerated
  • Cancelling leaves the conversation untouched
  • The original text is kept in local history so you can compare drafts

Use this to iterate on a prompt: send a first attempt, see how the agent responded, edit and refine.

Regenerate

Hover the last agent response and click ⟳ Regenerate to retry the turn.

Regenerated replies are stored as variants on the same message. Use the ◀ ▶ arrows on the reply to flip between attempts.

  • Variants share the same input message
  • Only the currently-displayed variant is part of the conversation the agent sees
  • Deleting a variant deletes it from the local history

Combine with model selection to compare responses across models: switch model, regenerate, flip variants.

Fork

Fork clones the current session into a new tab.

  • Fork with full context — the new tab starts from the current state with the entire conversation carried over
  • Fork tail-only — only the recent messages are carried over (useful when you want the context of the last exchange but not the whole thread)

The forked tab is fully independent from that point — messages sent in one don't reach the other.

Undo / redo tool calls

When a tool call completes, its result appears in the timeline. Hover the tool call:

  • ↶ Undo — for file writes and other reversible operations, restore the pre-tool state
  • ↷ Redo — reapply an undone operation
  • Copy result — copy the tool output to the clipboard

Some tool categories aren't undoable (execute_bash, network calls). Those show a disabled undo button.

Approve / reject tool calls

When approval is required (interactive mode, not auto or trusted):

  • Approve — run the tool call
  • Reject — refuse the tool call; the agent sees the rejection and can try a different approach
  • Trust this command — session-scoped auto-approval for this exact tool + args
  • Trust this tool — session-scoped auto-approval for the tool with any args
  • Yolo — 6-hour global auto-approval

More on trust levels in Security.

Question cards

Some tool calls — specifically AskUserQuestion — render as structured option cards rather than free-text responses. Click a card to answer; your choice is fed back to the agent as the tool result.

Slash commands

Type / at the start of a message to see the slash command menu:

CommandEffect
/agentSwitch or manage the active agent
/changelogShow the release changelog
/chatSave or load a chat session
/clearClear conversation history
/codeOpen code intelligence tools
/compactCompact conversation to free context
/contextManage context files and token usage
/editorCompose your prompt in an external editor
/exitExit the chat session

Full slash command reference: CLI reference.

Editing agent messages

You can also edit agent responses, but with a caveat: this is a local edit only — the LLM's understanding of the conversation still uses the original response until you /compact or the session is reset. Use this to correct a formatting issue in something you're going to copy out, not to change what the agent "thinks" it said.

Injected messages

Some messages arrive from automated sources — cron notifications, subagent completions, or workflow injections. These are marked in the UI:

  • Cron notification — a scheduled job sent a message that triggers an agent turn
  • Subagent completion — a background subagent finished and injected its result
  • Context injection — silent background context added by a hook or app

Injected messages are treated as automated input, not user input.

Widget events

Interactive mcwidgets can send events back to the session:

  • Widget JavaScript calls window.parent.postMessage({type: 'kirocrew:action', ...}, '*')
  • The parent session receives a [Widget action event] message
  • The agent can respond, update the widget, or trigger further tool calls

This lets you build small interactive UIs (buttons, forms, dashboards) that live inside the chat and drive further agent work.

Page updated: August 4, 2026
Sessions
Prompt optimizer