The Claude Code Changelog
All Episodes
Why Ultrathink Now Triggers xHigh Effort in Claude Code 2.1.311

Why Ultrathink Now Triggers xHigh Effort in Claude Code 2.1.311

0:00|0:00

In Claude Code 2.1.311, the ultrathink prompt keyword now actively raises the API effort parameter to xhigh for interactive terminal sessions. We also cover how compaction handles requests over 200K tokens, new telemetry behavior in VS Code, and MCP tool availability for subagents.


Chapter 1

ultrathink Now Raises Effort to xhigh

Lachlan Reed

Right, so you've probably typed ultrathink into a prompt out of habit a hundred times. As of Claude Code 2.1.311, released October 26, that habit has a price tag. This is The Claude Code Changelog, brought to you by Jellypod AI, and today is all about that one keyword.

James Turner

Here's the change. In an interactive terminal session on Anthropic's API, typing ultrathink now runs that turn at xhigh effort. That covers Opus 5.5, Sonnet 5.5, Haiku 5.5 and Fable 5.1. Before this, it was prompt framing. It added context instructions and left the effort level sent to the API alone. Now it actually raises the effort parameter. If you caught our earlier episodes on effort levels and subagent effort, this is the same idea from the other direction. The prompt keyword now reaches the API level, which it didn't before.

James Turner

Two details. If you type ultrathink while Claude is already working, it raises effort for the rest of that turn. And the rainbow highlight is stricter. It only shows where the keyword can really raise effort, so if you quote the word or it sits inside a file path, no rainbow. The rainbow is now your signal that you're about to spend more.

Lachlan Reed

Why care? The docs say the default effort on Opus 5.5, Sonnet 5.5 and Haiku 5.5 is medium, and xhigh reasons more deeply using more tokens. So if you sprinkle ultrathink into every prompt like salt on chips, every one of those turns now runs at xhigh. Save it for the stubborn bug or the architecture decision. One caveat on the docs: Classmethod noted that as of October 27, Anthropic's model configuration page still described ultrathink as context instructions only. So the changelog and the docs disagree right now, and the changelog is the newer word.

Lachlan Reed

You can check this yourself. Claude Code sets an environment variable called CLAUDE_EFFORT for Bash tool subprocesses. Start a session with claude, the model flag set to opus, and the effort flag set to medium. Ask it to run echo dollar CLAUDE_EFFORT in Bash and answer with only the output. Then send the same request with ultrathink at the front. Classmethod ran this and reported medium for the plain prompt, xhigh with ultrathink, and medium again on the next turn. So the boost lasts one turn and doesn't touch your saved settings.

James Turner

They also tested the partway case. They asked for three separate Bash calls, then queued a message starting with ultrathink while the first was running. Their first call printed medium, and the second and third printed xhigh. They noted the exact switch point depends on timing, and if everything prints medium, your message probably landed after the turn ended.

James Turner

Now the caveats. This is for interactive terminals going through Anthropic's API directly. Bedrock, Vertex and Foundry aren't covered. In Classmethod's test, claude with the p flag stayed at medium even with ultrathink, which fits the changelog's scope. And if you set the CLAUDE_CODE_EFFORT_LEVEL environment variable, the docs say it takes priority over the effort flag and the slash effort command, so unset it when you test. How ultrathink behaves under a maxEffortLevel ceiling below xhigh isn't described in the changelog, so don't assume.

Lachlan Reed

A few smaller things worth a look. DISABLE_COMPACT in settings files, and in a mod's env set, can now only turn compaction off, never back on. So a local settings value of zero won't override a parent setting of one anymore. To bring compaction back, remove it from whichever file turned it off. Classmethod flagged that as the one change that could quietly break an existing setup.

James Turner

Standard context sessions used to stop with the message Usage credits required for 1M context when a request passed 200K tokens. Now Claude Code compacts the conversation and keeps going. Also, the VS Code extension now starts sessions with DISABLE_TELEMETRY set whenever VS Code's telemetry setting is off. That means no usage metrics, no error reports, and no feature flag fetches, so features that depend on flags may disappear.

Lachlan Reed

And for the agent crowd, subagents can now use tools from MCP servers that finish connecting after the subagent starts. An isolated worktree is no longer deleted while a background subagent is still working in it. And Claude Code stops retrying requests the API marked as not retryable, which could stall a turn in CLAUDE_CODE_RETRY_WATCHDOG mode indefinitely. Run claude version, update to 2.1.311, and watch for the rainbow.