Claude Code Brings Back 'Ultrathink' After Users Revolt
Claude Code 2.1.68 restores the ultrathink keyword after community backlash over quality degradation, while setting Opus 4.6 to medium effort by default for speed on daily tasks.

The word "ultrathink" works again in Claude Code. Version 2.1.68, shipped this week, restores the community's favorite magic keyword after a two-month absence that triggered hundreds of bug reports about degraded output quality. The same update also sets Opus 4.6 to medium effort by default for Max and Team subscribers - a trade-off between speed and depth that makes the ultrathink comeback more consequential than it sounds.
TL;DR
- Claude Code 2.1.68 restores the
ultrathinkkeyword to trigger high-effort reasoning on the next turn - Opus 4.6 now defaults to medium effort for Max and Team subscribers (was high)
- Opus 4 and 4.1 removed from Claude Code - users auto-migrated to Opus 4.6
- GitHub issue #19098 flagged systematic quality degradation after ultrathink was deprecated in January
- Version 2.1.69 followed quickly with effort level display in the UI, 10 new voice languages, and memory fixes
What Changed
The Effort System
Claude Code now operates on a four-tier effort system that controls how many tokens the model spends on each response:
| Level | Behavior | When to Use |
|---|---|---|
max | Maximum capability, no constraints. Opus 4.6 only | Deepest reasoning, hardest problems |
high | Full reasoning, always thinks. Was the default | Complex coding, agentic tasks |
medium | Balanced token spend, may skip thinking on simple queries. Now the default | Daily coding, speed-sensitive workflows |
low | Most efficient, significant token savings | Simple tasks, subagents, high-volume |
The default dropped from high to medium. That means Opus 4.6 in Claude Code now runs faster and cheaper out of the box, but won't engage deep reasoning on every prompt. For straightforward tasks - renaming a variable, fixing a typo, explaining a function - medium is fine. For complex refactors, architecture decisions, or multi-file debugging, you want high or max.
That's where ultrathink comes in.
Ultrathink Returns
Type "ultrathink" anywhere in your prompt and Claude Code bumps that turn to high effort. It's a per-turn override, not a permanent setting. The next turn drops back to whatever your default is.
> ultrathink - analyze this race condition in the connection pool and propose a fix that doesn't break the retry logic
The keyword originated in mid-2025 when Claude Code's source revealed that specific trigger words - "think," "think hard," "think harder," "ultrathink" - mapped to steadily larger thinking token budgets. The community discovered it, Hacker News debated it, and power users swore by the "Opus + Ultrathink + Plan Mode" combo.
On January 16, Anthropic deprecated the keyword. The reasoning: thinking was now enabled by default at maximum budget for all supported models, making the keyword redundant. Every prompt would get 31,999 thinking tokens automatically.
That lasted about a month before the bug reports started.
What Broke When Ultrathink Disappeared
The Quality Degradation
GitHub issue #19098 documented the problem. Filed January 18 - two days after the deprecation - it reported "systematic quality degradation" in instruction-following, reasoning depth, and task completion since Claude Code v2.0.x made thinking mode automatic and removed explicit triggers.
The reports were specific. Users described Claude seeing instructions but not following them. Sessions required explicit "use sequential thinking" corrections 92% of the time. Tasks that previously completed cleanly now needed 7+ redundant operations before the model addressed root causes. Hours were lost per session on debugging behavior that hadn't been an issue with explicit ultrathink.
The issue built up 11 upvotes and spawned multiple related reports - #17171 (quality degradation since Jan 8), #17097 (instruction-following failures), #16073 (critical quality regression). Over 500 combined users reported the same pattern across these threads.
The Community Theory
The community's hypothesis: "automatic thinking" included model routing that substituted smaller or cheaper models for operations the system classified as simple. With explicit ultrathink, users forced maximum reasoning and the full Opus model. Without it, the system's own classification of task complexity determined how much thinking happened - and it frequently underestimated.
Reddit threads corroborated the pattern. Posts on r/ClaudeAI and r/ClaudeCode with titles like "Ultrathink no longer does anything" and "ULTRATHINK no longer does anything!" reflected growing frustration. Users paying Opus-tier prices expected Opus-tier reasoning on every turn.
The Fix
2.1.68: Ultrathink Plus Effort Defaults
The resolution is a two-part design. Medium effort by default gives most users faster responses at lower cost for routine tasks. Ultrathink as a per-turn override gives users explicit control when they need deep reasoning.
This is a better architecture than the previous "maximum thinking on every prompt" approach. Most coding tasks don't need 31,999 thinking tokens. A git commit message doesn't need the same reasoning budget as a complex algorithm design. Letting the default be fast and giving users a one-word escape hatch to full reasoning is the right trade-off.
You can also change the default permanently through /model in Claude Code, or set it via the API's output_config.effort parameter.
2.1.69: Polish and Performance
The follow-up release added the effort level display to Claude Code's UI - the logo and spinner now show "with medium effort" or "with high effort" so you know what mode you're in. It also shipped voice support for 10 new languages, the /claude-api skill for building with the Anthropic SDK, and a batch of memory fixes that reduced baseline memory by 16MB.
The full changelog is on GitHub. The 2.1.69 release also removed Opus 4 and 4.1 pinning - anyone still on those models gets auto-migrated to Opus 4.6.
Where It Falls Short
No "Max" in the Keyword
Ultrathink maps to high effort, not max. The max tier - Opus 4.6's absolute ceiling with no token constraints - is only available through the /model setting or the API. There's no magic word for it. If you need max, you need to set it explicitly.
Per-Turn Only
Ultrathink resets after one turn. If you're working through a complex multi-step problem, you need to type it on every prompt where you want deep reasoning. There's no "ultrathink for the rest of this session" mode. For persistent high effort, change the default via /model.
The Trust Gap
The community's core complaint wasn't really about a keyword. It was about transparency. Users didn't know what effort level was being applied, whether model routing was happening, or why output quality changed. The effort display in 2.1.69 helps, but the underlying question - whether Claude Code sometimes routes to cheaper models without telling you - remains unanswered in the changelog.
Ultrathink is back because removing it broke something users depended on - not the keyword itself, but the guarantee that their next prompt would get full reasoning. The new effort system makes that guarantee explicit and controllable, which is better engineering than a magic word. But magic words have power in communities, and this one earned its way back.
Sources:
