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
  • Videos
  • Report a bug
  • Suggest an idea
  • Billing support

Social

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

Get Started

InstallationAuthenticationYour first project

Models

OverviewAvailable modelsReasoning effortAWS GovCloud (US) models

Features

How Kiro worksLocal command sandboxACP integrations
Specs
Steering
Hooks
MCP
Permissions
Custom agents
Workflows
Agent Skills
Powers
Cloud sessionsMemoryCompactionKiroignoreCheckpoints 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 modeScheduleConfiguration 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 updatesTLS inspection compatibilityBillingIAMSupported regions
AWS GovCloud (US)

Privacy and Security

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

Guides

OverviewRunning Kiro in the cloud
Language support
Learn by playing

Migration

Migrating from Q DeveloperMigrating from VSCodeUpgrading from Q CLI
  1. Docs
  2. Models
  3. Reasoning effort
View as Markdown

Reasoning effort

View as Markdown

Reasoning effort controls how much thinking the model applies to your prompts. Lower effort levels produce faster, shorter responses and use fewer credits. Higher levels spend more tokens on deeper analysis, multi-step reasoning, and thorough code generation.

CapabilityIDECLIWebMobile
Reasoning effort selection✓✓✓—

Available levels:

LevelBehavior
lowFast, concise responses. Good for simple questions and quick lookups.
mediumBalanced reasoning. Suitable for most development tasks.
highThorough analysis. Better for complex refactoring and architecture decisions.
xhighExtended reasoning. Useful for multi-file changes and nuanced problems.
maxMaximum depth. Best for difficult debugging, security analysis, and intricate logic.

Not all models support every level. The picker only shows levels available for your current model. See reasoning configuration examples for common model schemas.

A model's configuration schema may also declare an internal default level. It is never offered as a choice, and a model that declares only default shows no picker at all, because there is nothing to choose between.

Setting effort level

Click the model button in the chat input bar to open the Model panel. Use Filter models when needed, then select a model or Auto.

When the selected model supports reasoning effort, an Effort slider appears below the model list. Choose a level with the slider; the change applies to this conversation beginning with your next message. To restore the model's default level, choose the Default: <level> reset action. This action is not another effort level.

You can set Effort, and Thinking when the selected model supports it, before you send your first message in a local session. Kiro keeps that choice when the session starts.

The model button shows the selected model or Auto, without the effort level. Hover over it to see the current model and effort level in the tooltip.

In the IDE, Effort controls appear only for local sessions. New-session drafts in Agent Focus Mode and cloud sessions do not show them.

Reasoning configuration examples

Each effort-capable model defines the values it accepts for reasoning-related fields in its configuration schema. The tables below show common schemas and are not an exhaustive support list. Use your surface's model and effort pickers to see the models and levels currently available to you.

In these examples, output_config.effort lists the available effort levels; thinking.type and thinking.display control reasoning behavior and visibility; and max_tokens sets the output length limit.

Claude examples use output_config.effort with thinking.type and thinking.display controls:

Modelthinking.typethinking.displayoutput_config.effortmax_tokens
Claude Opus 5adaptive, disabledsummarized, omittedlow, medium, high, xhigh, max1024–128000
Claude Opus 4.8adaptive, disabledsummarized, omittedlow, medium, high, xhigh, max1024–128000
Claude Opus 4.7adaptive, disabledsummarized, omittedlow, medium, high, xhigh, max1024–64000
Claude Opus 4.6adaptive, disabledsummarized, omittedlow, medium, high, max1024–64000
Claude Sonnet 5.5adaptive, between_toolssummarized, omittedlow, medium, high, xhigh, max1024–64000
Claude Sonnet 5adaptive, disabledsummarized, omittedlow, medium, high, xhigh, max1024–128000
Claude Sonnet 4.6adaptive, disabledsummarized, omittedlow, medium, high, max1024–64000

GPT-5.6 models use reasoning.effort:

Modelreasoning.effort
GPT-5.6 Terranone, low, medium, high, xhigh, max
GPT-5.6 Solnone, low, medium, high, xhigh, max
GPT-5.6 Lunanone, low, medium, high, xhigh, max

GPT-5.6 models default to effort: "high".

Persisting your effort level (CLI)

Your effort choice in /model persists automatically. /effort <level> changes the current session only; run /effort set-current-as-default to save that level for the current model. In V3, --effort and --model apply only to the session Kiro starts with and aren't saved as defaults. Preferences are stored in ~/.kiro/settings/cli.json. See In-session settings for more on how preferences persist.

Persistent defaults (CLI)

To set default model parameters per model - so you don't have to run /effort at the start of every session - add chat.modelDefaults to your settings file:

Claude models (use output_config.effort):

json
{ "chat.modelDefaults": { "claude-sonnet-4.6": { "output_config": { "effort": "high" } }, "claude-opus-4.7": { "output_config": { "effort": "max" } } } }

GPT-5.6 models (use reasoning.effort):

json
{ "chat.modelDefaults": { "gpt-5.6-sol": { "reasoning": { "effort": "max" } }, "gpt-5.6-terra": { "reasoning": { "effort": "low" } } } }

Configuring thinking behavior

Control whether the model uses extended thinking and how it displays reasoning:

json
{ "chat.modelDefaults": { "claude-opus-4.8": { "thinking": { "type": "adaptive", "display": "summarized" } }, "claude-sonnet-4.6": { "thinking": { "type": "disabled" } } } }
  • thinking.type - adaptive enables extended thinking when the model determines it's needed; disabled turns it off entirely on models that support that value. Claude Sonnet 5.5 uses between_tools instead of disabled; it applies the lowest thinking setting between tool calls and supports low, medium, and high effort.
  • thinking.display - summarized shows a condensed version of reasoning; omitted hides it from output. Only applies when type is adaptive.

Configuring max output tokens

Set the maximum number of tokens the model can generate per response:

json
{ "chat.modelDefaults": { "claude-opus-4.8": { "max_tokens": 128000 }, "claude-sonnet-4.6": { "max_tokens": 32000 } } }

Example max_tokens limits:

ModelMinimumMaximum
Claude Opus 4.81024128000
Claude Opus 4.7102464000
Claude Opus 4.6102464000
Claude Sonnet 5.5102464000
Claude Sonnet 51024128000
Claude Sonnet 4.6102464000
GPT-5.6 Terra1024128000
GPT-5.6 Sol1024128000
GPT-5.6 Luna1024128000

Combining all options

You can combine output_config, thinking, and max_tokens in a single model entry:

Claude example:

json
{ "chat.modelDefaults": { "claude-opus-4.8": { "output_config": { "effort": "max" }, "thinking": { "type": "adaptive", "display": "summarized" }, "max_tokens": 128000 } } }

GPT-5.6 example:

json
{ "chat.modelDefaults": { "gpt-5.6-sol": { "reasoning": { "effort": "max" }, "max_tokens": 128000 } } }

To open your settings file in your editor:

bash
kiro-cli settings open

Or place a .kiro/settings/cli.json in your project root to set workspace-level defaults that apply to everyone working in that repository.

Precedence

When determining the effort level for a session, Kiro applies this priority order:

  1. Session override - value set via the Effort setting in /model, /effort <level>, or --effort during the current session. In V3, /clear keeps this value; /chat new starts from the saved defaults below
  2. Workspace defaults - chat.modelDefaults in .kiro/settings/cli.json
  3. User defaults - chat.modelDefaults in ~/.kiro/settings/cli.json
  4. Built-in defaults - the model's standard effort level

When to adjust effort

  • Bump up when the agent is giving shallow answers, missing edge cases, or producing incomplete implementations
  • Bump down when you need quick answers and don't want to wait for extended reasoning
  • Use max for security reviews, complex debugging sessions, or when you need the agent to consider many interacting constraints

Related

  • Models - available models and their capabilities
  • Slash commands reference - quick command reference
  • Settings - all configurable settings
Page updated: October 9, 2026
Available models
AWS GovCloud (US) models