The /effort command controls how much reasoning the model applies to your prompts. Lower effort levels produce faster, shorter responses. Higher levels spend more tokens on deeper analysis, multi-step reasoning, and thorough code generation.
# Open interactive picker /effort # Set directly /effort high
Available levels:
| Level | Behavior |
|---|---|
low | Fast, concise responses. Good for simple questions and quick lookups. |
medium | Balanced reasoning. Suitable for most development tasks. |
high | Thorough analysis. Better for complex refactoring and architecture decisions. |
xhigh | Extended reasoning. Useful for multi-file changes and nuanced problems. |
max | Maximum 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.
Set a default effort level per model so you don't have to run /effort at the start of every session. Add chat.modelDefaults to your settings file:
{ "chat": { "modelDefaults": { "claude-sonnet-4": { "output_config": { "effort": "high" } }, "claude-opus-4": { "output_config": { "effort": "max" } } } } }
The output_config.effort key matches the model's configuration schema. To open this file in your editor:
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.
When determining the effort level for a session, Kiro applies this priority order:
/effort during the current sessionchat.modelDefaults in .kiro/settings/cli.jsonchat.modelDefaults in ~/.kiro/settings/cli.jsonmax for security reviews, complex debugging sessions, or when you need the agent to consider many interacting constraints
Effort