Thinking process
Before tCode acts, the model reasons about what it is looking at and what it plans to do next. How much of that reasoning happens, and how carefully, is controlled by the thinking effort level, which you can see and change at any time with /effort.
/effort /effort low /effort medium /effort high
Running /effort with no argument shows the current level. Effort is sent to the model as an instruction for how deeply to reason before responding, not as a separate technical parameter with its own billing behavior, which is why it is something you can change freely mid-session depending on what the next request actually needs, rather than something tied to your account or plan.
Low
Speed first. Small, well-defined fixes; mechanical renames.
Medium
The everyday default. Enough deliberation without slowing things down.
High
Ambiguous, multi-part, or costly-to-get-wrong tasks.
- The three levels and what each one favors
- What actually changes at a higher effort level
- Set per session, remembered as your default
- Developing a feel for the difference
- Why it is session-wide, not per message
- Why it does not change what still needs approval
- No level skips reasoning entirely
- Which level to start with
The three levels
Low effort favors speed: useful for a task you already understand well and mostly want done quickly, a small, well-defined fix, a mechanical rename, a question you could answer yourself but would rather not type out by hand.
What actually changes
The effect of a higher effort level shows up less in what you see directly and more in the choices tCode makes along the way: which file it decides to check first, whether it stops to search for other call sites before editing something, whether it notices an edge case a lower-effort pass might have missed.
Set per session, remembered as your default
Effort is set per session and remembered as your default going forward, so you do not need to set it again every time you start tCode; changing it with /effort mid-session only affects turns from that point on, not ones that already ran.
Developing a feel for the difference
A practical way to develop a feel for the difference is to deliberately run the same kind of ambiguous request at two different effort levels on separate occasions and compare what tCode noticed along the way, whether it checked for an existing test before writing a new one, whether it considered more than one plausible cause for a bug before picking the first thing it found.
Why it is session-wide, not per message
Effort is a session-wide setting rather than something you specify per message, which reflects that it describes how carefully to approach work in general during this session, not a property of any one request.
Why it does not change what still needs approval
Raising the effort level does not change what tools are available or what tCode is allowed to do without asking, the permission system described in Permissions and safety applies identically regardless of effort.
No level skips reasoning entirely
There is no effort level that skips the reasoning behind a decision entirely, even low effort still involves the model considering what it is looking at before acting; the levels shift how much deliberation happens, not whether any happens at all.
Which level to start with
If you are not sure which level a given task calls for, medium is a reasonable place to start, and adjusting up or down based on how the first response looks is faster than trying to judge the right level from the request alone before seeing anything.