Atlas
Plain EnglishWhat's new

Claude Code Ultrathink Now Raises Effort to xhigh

Claude Code's ultrathink keyword can now lift one turn to xhigh effort, and subagents get an effort setting. What changed and how to use it well.

The short version

  • Since Claude Code 2.1.311 (26 October 2026), typing the word ultrathink in the terminal can raise that one turn to xhigh effort, the level just below max, on Opus 5.5, Sonnet 5.5, Haiku 5.5 and Fable 5.1 through Anthropic's API.
  • Effort is a dial for how much the model thinks before answering: lower is faster, higher suits work where checking matters. Anthropic warns that max can show diminishing returns and overthink.
  • Version 2.1.316 (31 October 2026) added a setting for the effort level subagents (helper sessions) run at when nothing else names one, and a setting that turns the ultrathink keyword off.
  • A fixed effort set through the CLAUDE_CODE_EFFORT_LEVEL environment variable beats every other way of setting a session's effort. The docs do not say how ultrathink interacts with it, so test before you rely on either.
  • Keep the default for everyday work and ask for more effort on the hard parts of a project, then compare the result and the time taken.
On this page
  1. The short version
  2. What is "effort" in Claude Code?
  3. What changed with ultrathink?
  4. What changed for subagents?
  5. Which setting wins when several are set?
  6. What does this mean for a team building software?
  7. How does Atlas handle effort?
  8. Should you change anything now?
  9. Conclusion
  10. Questions people ask

Claude Code's ultrathink keyword now does more than it used to. Since version 2.1.311, released on 26 October 2026, typing the word in the terminal can raise that one turn to xhigh effort, the level just below the maximum. Five days later, version 2.1.316 added a way to set the effort level for subagents, the helper sessions Claude Code starts for side jobs. Here is what that means if you manage or fund work done by an AI coding agent.

What is "effort" in Claude Code?

Effort is a dial that tells the model how much thinking to do before it answers. Claude Code's documentation lists five levels for current models: low, medium, high, xhigh and max. Two older models, Opus 4.6 and Sonnet 4.6, have four levels and no xhigh. If you pick a level a model does not support, Claude Code uses the highest level it does support at or below your choice. The docs give an example: xhigh runs as high on Opus 4.6.

The defaults matter. According to Anthropic's model configuration page, the default is high on every model that supports effort, with two exceptions: Opus 5.5, Sonnet 5.5 and Haiku 5.5 default to medium, and Opus 4.7 defaults to xhigh. So on the newest models, an agent that "just works" is running at a middle setting.

The docs describe the trade plainly. A lower level means less thinking time and faster answers, but potentially lower quality on complex tasks. A higher level costs time. On the top level, the docs warn that max "may show diminishing returns and is prone to overthinking, so test before adopting it broadly."

What changed with ultrathink?

ultrathink is a keyword you can put anywhere in a prompt. According to the docs, it asks for deeper reasoning on that turn without changing the effort you set for the session. Other phrases such as "think hard" or "think more" are passed through as ordinary text and are not treated as keywords.

The new part came in version 2.1.311. The changelog entry for 26 October 2026 says that in the interactive terminal, ultrathink now runs its turn at xhigh effort on Opus 5.5, Sonnet 5.5, Haiku 5.5 and Fable 5.1 through Anthropic's API. If you type it while Claude is already working, it raises the rest of that turn. The word shows in rainbow colours when it can raise effort, which is your cue that the boost is on. The rainbow does not appear when the word is quoted or is part of a file path.

Three things to note:

  • The boost is for one turn. Your session's effort setting is not changed.
  • It depends on the model and route. The changelog names four models and says "through Anthropic's API". If your team reaches Claude through another provider or a gateway, do not assume it works the same way.
  • It is not only a terminal feature. Version 2.1.316 made ultrathink in the VS Code extension run its turn at xhigh and show in rainbow in the chat box, as in the terminal.

What changed for subagents?

A subagent is a helper session that Claude Code starts to do a side job, such as auditing a large folder, so the main conversation stays tidy.

Before this release, a subagent could already carry its own effort field in its definition. The subagent documentation says that field overrides the session's effort. When you ask Claude to run a subagent at a specific effort, it can also pass an effort for that one run, which beats the definition's field.

The 31 October 2026 changelog entry for 2.1.316 adds a setting called CLAUDE_CODE_SUBAGENT_EFFORT. It sets the effort level subagents run at when nothing else names one, instead of inheriting the session's. In plain terms: it is a fallback for helpers. If you want all helpers that have no setting of their own to run lighter or heavier than your main session, this is the place to say so. The changelog line is short, and I did not find a fuller description of accepted values in the pages I read, so check the current environment-variable reference before you roll it out.

The same release added CLAUDE_CODE_DISABLE_ULTRATHINK, which turns the ultrathink keyword off. That is useful if you do not want people on a team nudging effort upward by habit.

A note on the names above: these are environment variables, which are settings you put in the computer's surroundings before a program starts, rather than choices you make inside the program.

Which setting wins when several are set?

For the session as a whole, the model configuration page says Claude Code takes the first of these that applies:

  1. The CLAUDE_CODE_EFFORT_LEVEL environment variable.
  2. A level you pick in the session, with /effort or the model picker.
  3. The --effort flag used when launching.
  4. Your saved settings.
  5. The model's own default.

For subagents, the subagent page adds that the CLAUDE_CODE_EFFORT_LEVEL variable beats a per-run choice, which beats the definition's effort field, which beats the session level. The new CLAUDE_CODE_SUBAGENT_EFFORT setting only applies when none of those name a level.

The practical point: if your team fixes effort with CLAUDE_CODE_EFFORT_LEVEL, that value wins over /effort and --effort. The docs do not say what ultrathink does in that case, so if predictable effort matters to you, try it on one machine before you assume either way. You can also switch the keyword off.

One more detail: max is applied to the current session only, unless you set it through the environment variable. The saved-settings keys do not accept it. Anthropic is making the top level something you choose on purpose, not a default.

What does this mean for a team building software?

For non-engineers, the question is not how to type a keyword. It is where deeper thinking is worth waiting for.

Reasonable places to ask for more effort:

  • Designing something hard to undo, such as a data model, a payment flow or a permission scheme.
  • Finding the cause of a stubborn bug, especially one that a quicker attempt has already failed to fix.
  • Reviewing risky changes, such as anything touching sign-in, money or personal data.

Poor places:

  • Small edits, such as renaming a button, changing copy or adjusting spacing.
  • Repetitive chores, such as formatting and routine updates.
  • Everything, all the time. Higher effort means slower turns, and the docs say max can overthink.

The docs do not give a token or cost figure for each level, so there is no number to quote. What you can measure is your own plan usage and time.

Fast mode is a different dial. Anthropic's fast mode page says it keeps the same model quality with lower delay at a higher price per token, while a lower effort level means less thinking time and potentially lower quality on complex tasks. The page says you can combine them: fast mode with a lower effort level for straightforward work.

A simple team rule works well: keep the default, and ask for more effort only when a task has already failed once or the cost of being wrong is high.

How does Atlas handle effort?

Atlas is a software team made of AI engineers, built on Claude Code. Each engineer is its own Claude Code session with a written role, and the model and effort are tuned to that role. So the dial is already set per job rather than one setting for everyone.

Atlas does not today let you ask for a deeper-thinking boost on one hard task and then drop back, or show how that boost changed the result. That is coming to Atlas, built in, so it needs no setup on your side. Until then, tell PA, your project assistant, in plain words which part of the work is the risky one. Atlas also gives a change that touches sign-in, payments or stored secrets a security review straight away, and it reviews every build as it finishes, so you can ask for closer attention on the parts that matter.

Should you change anything now?

Probably not much. Update Claude Code if you want the new behaviour: ultrathink at xhigh needs version 2.1.311 or later, and the subagent and keyword-off settings arrived in 2.1.316. Then decide on two things.

  • Do you want people able to raise effort at will? If not, you can turn the keyword off.
  • Are your helper sessions doing hard work or chores? If chores, a lower subagent effort could keep them quick.

Test it on one real task and compare the result and the time taken, not just how it feels.

Conclusion

Effort is now easier to turn up for a single turn and easier to set for helpers. Used sparingly, that helps with the hard parts of a project. Used everywhere, it mostly slows things down. Set a clear rule, and measure the result on real work.

Questions people ask

What does ultrathink do in Claude Code?

Including the word ultrathink in a prompt asks for deeper reasoning on that turn without changing your session's effort setting. Since version 2.1.311, typed in the terminal it can also raise that turn to xhigh effort on Opus 5.5, Sonnet 5.5, Haiku 5.5 and Fable 5.1 through Anthropic's API.

What are the Claude Code effort levels?

Current models offer low, medium, high, xhigh and max. Opus 4.6 and Sonnet 4.6 have no xhigh. The default is high on most models, but medium on Opus 5.5, Sonnet 5.5 and Haiku 5.5, and xhigh on Opus 4.7.

How do I turn ultrathink off?

Version 2.1.316, released on 31 October 2026, added the CLAUDE_CODE_DISABLE_ULTRATHINK setting, which turns the ultrathink keyword off according to the changelog. It is an environment variable, set before Claude Code starts.

Does higher effort always give better results?

No. Anthropic's docs say max may show diminishing returns and is prone to overthinking, so test before adopting it broadly. Lower levels are faster, and the docs say lower effort can mean lower quality on complex tasks, so match the level to the job.

Can I set a different effort for subagents?

Yes. A subagent definition can carry its own effort field, and version 2.1.316 added CLAUDE_CODE_SUBAGENT_EFFORT, which sets the level subagents run at when nothing else names one. The CLAUDE_CODE_EFFORT_LEVEL environment variable takes precedence over the field.

Sources

  1. Claude Code changelog
  2. Claude Code model configuration (effort levels, ultrathink)
  3. Claude Code subagents (effort field and precedence)
  4. Claude Code fast mode (fast mode versus effort level)
  5. Claude Code environment variables

Researched and drafted with Claude, then checked against the sources above. Atlas is an independent product, not affiliated with Anthropic or OpenAI. Claude and Claude Code are trademarks of Anthropic; Codex is a product of OpenAI.