Recipes · Chapter 51 of 69
Set the Reasoning Effort
Set Kiro's reasoning effort from low to max, in the IDE effort panel or with /effort and --effort in the CLI, and set defaults in chat.modelDefaults.
All levels 2 min read last reviewed 2026-10-04
◎ Learning objective
Match the reasoning effort to the task and set a sensible default so you stop paying for thinking you do not need.
Reasoning effort decides how much a model thinks before it answers. Kiro exposes five levels, and matching the level to the task is one of the easiest ways to control both speed and credit spend.
When to use this
Lower the effort for mechanical work: renaming things, writing boilerplate, formatting, small edits with a clear right answer. Raise it for design decisions, tricky debugging, and anything where a wrong answer costs more than the extra credits. Leave it alone when you are unsure; the default is reasonable.
Steps
- Learn the ladder. The levels are
low,medium,high,xhigh, andmax. Lower means faster, shorter, and fewer credits. - Check your model supports the level you want. Claude Opus 5, Opus 4.8, Opus 4.7, Sonnet 5.5, and Sonnet 5 support all five. Opus 4.6 and Sonnet 4.6 have no
xhigh. Opus 5.5 is not yet in Kiro’s effort table, so check what the panel offers. The GPT-5.6 models (Sol, Terra, Luna) support every level and default tohigh. - Change it in the IDE by clicking the model name in the chat input. That opens the panel where you pick the effort. In Kiro Web (since September 22, 2026), the effort selector sits next to the model and appears only for models that support it.
- Change it in the CLI with
/model(v2.23.0), which lets you switch models and set effort in one panel./effortstill works independently in V3 sessions and accepts a level directly (/effort low). Start a session with the--effortflag when you already know what the task needs. - Set a default so you stop deciding every time. Put it under
chat.modelDefaultsin~/.kiro/settings/cli.jsonfor a personal default, or.kiro/settings/cli.jsonfor a project default. - Understand which setting wins. The order is session, then workspace, then user, then Kiro’s built-in default. A
/effortchange in a session overrides everything below it. - Watch the credit line. Higher effort means more thinking tokens, and thinking tokens are billed work like anything else.
Check it worked
Ask the same modest question at low and at high and compare. Low should come back faster and shorter. If you see no difference at all, check the model actually supports the level you set, and check nothing at a closer scope is overriding it. A session-level /effort silently wins over the file default.
Common problems
- The level did not apply. Your model does not offer it.
xhighis missing on Opus 4.6 and Sonnet 4.6. - The default is ignored. Something closer in scope is set. Session beats workspace, workspace beats user.
- Credits climb. A high default across every session adds up. Set the default low and raise it per task.
- Answers got worse after you lowered it. That is the trade. Lower effort is for work where the answer is obvious, not for work you find hard.
- You edited the wrong file.
~/.kiro/settings/cli.jsonis your personal file..kiro/settings/cli.jsonis the project one, and it wins for that workspace.
Related
- Change the default model is the other half of the same decision.
- Choosing a Model compares context windows and credit multipliers.
- Credits & Pricing explains how billed work is counted.
Frequently asked questions
What is reasoning effort in Kiro?
Reasoning effort controls how much thinking a model does before it answers. Kiro offers low, medium, high, xhigh, and max. Lower effort is faster, produces shorter responses, and uses fewer credits. Higher effort suits hard problems where a wrong answer costs more than the extra spend.
How do I change reasoning effort in Kiro?
In the IDE, click the model name in the chat input and open the effort panel. In Kiro Web, use the effort selector next to the model. In the CLI, run /model or /effort during a session or pass --effort when you start one. Defaults live under chat.modelDefaults in ~/.kiro/settings/cli.json or .kiro/settings/cli.json.
Which models support xhigh?
Claude Opus 5, Opus 4.8, Opus 4.7, Sonnet 5.5, and Sonnet 5 support all five levels including xhigh. Opus 4.6 and Sonnet 4.6 do not offer xhigh. The GPT-5.6 models support every level and default to high.
☰ Chapter summary
- The levels are low, medium, high, xhigh, and max.
- Opus 5, Opus 4.8, Opus 4.7, Sonnet 5.5, and Sonnet 5 support all five; Opus 4.6 and Sonnet 4.6 have no xhigh.
- GPT-5.6 Terra, Sol, and Luna support all levels (plus none) and default to high.
- In the IDE, click the model name in the chat input and use the effort panel. In Kiro Web, use the effort selector. In the CLI, use /model, /effort, or --effort.
- Defaults live in chat.modelDefaults in ~/.kiro/settings/cli.json or .kiro/settings/cli.json; session beats workspace beats user beats built-in.
All chapter summaries are collected on the revision page.
Related chapters
- RecipesChange the Default ModelChange Kiro's model in the IDE chat input or the CLI, understand what Auto does, and set effort defaults in chat.modelDefaults.
- Core knowledgeChoosing a ModelEvery model in Kiro with its context window and credit multiplier, from Qwen3 at 0.05x to GPT-5.6 Sol at 4.4x. Plus Auto, how to change or set a default model, and effort.
- Core knowledgeCredits & PricingKiro's plans and credits explained: Free $0/50, Pro $20/1,000 up to Power $200/10,000, what a credit buys, model multipliers, and how to avoid overage.
- Hands-onKiro CLI GuideInstall kiro-cli, drive sessions with slash commands, manage agents and context, and take the agent into scripts and CI.