Effort
Also called Reasoning effort · Extended thinking · Thinking budget · Ultrathink
How hard the model thinks before replying. Turn it up for tricky problems and pay in tokens and wait; turn it down for routine edits.
Effort sets how much private thinking a model is allowed before it commits to an answer. At higher settings the model writes out a longer chain of intermediate thinking, checks itself, and explores alternatives before producing the visible reply. Those thinking tokens are output tokens, so higher effort costs more money and more wall-clock time per model provider request.
The trade-off is real in both directions. Low effort on a tricky refactor produces confident, fast, wrong code. High effort on 'rename this variable' burns a minute and a pile of tokens for a change that needed none. Much of what people report as 'the model is dumb today' or 'the model is slow today' is an effort setting that doesn't match the task.
Match effort to the job. Planning (in plan mode or on paper), debugging a subtle failure, and anything touching concurrency or security deserve high effort. Mechanical edits, formatting and boilerplate don't. Many harnesses let you flip it per request rather than per session, so the habit is: raise it when you're about to ask something hard, then drop it back down.
- Claude CodeExtended thinking is triggered per request; phrases like 'think hard' raise the thinking budget, and newer models expose an effort level directly.
- Codex
model_reasoning_effortin the config sets low, medium or high; you can also change it from the model picker. - CursorReasoning-capable models appear as separate 'thinking' variants or a thinking toggle in the model list.
“It's been thinking for two minutes on a one-line change.”
“Drop the effort. Save the high setting for the migration plan, not for renaming a prop.”
Course 01 puts every one of these terms to work: you install Claude Code, run the loop, and ship a real project — permission modes, compaction, hooks and all.
Start Course 01 →