Keyword: EFFORT
From @learningwithcole
Claude Code's helpers run at your session's effort level unless something names another one. One environment variable changes that, so search and lookup work stops running at the level you picked for hard thinking.
The launch line
CLAUDE_CODE_SUBAGENT_EFFORT=low claude
- You need Claude Code 2.1.316 or later (October 31, 2026).
- It sets the level subagents run at when nothing else names one.
- Your main session keeps its own level. Only the delegated work changes.
The changelog doesn't list accepted values for this variable, and the environment variables docs page didn't have a row for it when I checked on October 31. I use the official effort levels: low, medium, high, xhigh, max. Which ones are available depends on the model.
Which level I give which helper
These are my picks, not official advice.
| Helper | Level | Why |
|---|---|---|
| Search and lookup | low |
It finds things. You judge what comes back |
| The agent doing the real review | high |
This is where a miss costs you |
| Debugging a hard problem | xhigh or max |
Only for the hard ones. The docs warn max may show diminishing returns and is prone to overthinking |
So low goes on the launch line, and anything that needs more names its own level in its agent file.
Give one agent its own level
Add effort to the frontmatter of the agent file:
---
name: reviewer
description: Reviews code changes before I merge them
effort: high
---
That agent runs at high, whatever the launch line says.
What still overrides it
The variable only covers subagents nothing else names. In order, strongest first:
CLAUDE_CODE_EFFORT_LEVEL, if you set it, beats everything below. If it is set, your helpers run at that level instead.- The
effortparameter, when you ask Claude to run a subagent at a specific level for one run. - The
effortfield in the agent file. CLAUDE_CODE_SUBAGENT_EFFORT, for everything left.
A maxEffortLevel setting or an organization effort cap still limits the level a subagent runs at.
Why it matters
From the official subagents docs: a subagent "sends its own requests, which count toward the same usage limits as your main conversation."
Opus 5.5, Sonnet 5.5 and Haiku 5.5 default to medium, so the gap is biggest when you have raised your session above that.
Check it worked
Run /tasks. Claude Code names the model on the subagent's row and adds the effort level set for that subagent, if any.
That’s the whole guide.
Want the next tool when it posts?
Get new guides by email. The guides stay free here either way.