Claude Code Adds a Switch to Turn Off Ultrathink and Brings xhigh Ultrathink to VS Code
Claude Code 2.1.316 adds the CLAUDE_CODE_DISABLE_ULTRATHINK environment variable, which turns the ultrathink keyword off. The VS Code extension also now treats ultrathink the way the terminal does since 2.1.311: the turn runs at xhigh effort and the keyword shows in a rainbow in the chat box.
Key Takeaways
CLAUDE_CODE_DISABLE_ULTRATHINKturns the keyword off, so the word no longer triggers a higher-effort turn.- Since 2.1.311,
ultrathinkruns a turn atxhigheffort, which is why a disable option matters for cost-conscious users. - The VS Code extension now matches the terminal, running the turn at
xhigheffort. - VS Code also shows the keyword in a rainbow in the chat box, signaling that it will take effect.
- The release notes describe only an environment variable for disabling it, not a settings-file option.
- The pair of changes makes ultrathink consistent across surfaces and controllable.
An off switch for ultrathink
Claude Code 2.1.316 adds CLAUDE_CODE_DISABLE_ULTRATHINK, an environment variable that turns the ultrathink keyword off. Since release 2.1.311, typing ultrathink in the terminal has done more than add a hint to the prompt: it runs that turn at xhigh effort. That is a real change in cost and latency, and until now there was no way to stop a stray occurrence of the word from triggering it.
The new variable fixes that. People who mention the word in ordinary prose, who share prompts across a team, or who want predictable usage can disable the keyword entirely. The release notes do not describe a per-project or settings-file equivalent, only the environment variable.
Ultrathink in VS Code now matches the terminal
The same release brings the VS Code extension in line. In the extension, ultrathink now runs its turn at xhigh effort, and the keyword is shown in a rainbow in the chat box, as it is in the terminal. Before this change, VS Code users did not get the same behavior from the same word, which made guidance written for the terminal misleading for the extension.
Why it matters
The two changes pull in complementary directions. One extends a powerful keyword to another surface. The other gives a way to opt out of it. Together they make the keyword a consistent, controllable part of Claude Code rather than a terminal-only quirk. Anyone who watches usage limits should note that a single word in a VS Code prompt can now raise effort for that turn.