Claude Code's 47-Day 'Dumbing Down' Incident: The Model Never Changed
> Source: Anthropic engineering blog "An update on recent Claude Code quality reports" (2026-04-23) > Affected: Claude Code CLI, Claude Agent SDK, Claude Cowork > Fixed in: v2.1.116 (2026-04-20)
TL;DR
Claude Code's perceived "dumbing down" was not model degradation. The underlying weights, API, and inference layer were intact. Three harness-level changes caused it: reasoning effort silently lowered, a cache-clearing bug wiped the model's memory every turn, and a brevity system prompt cut code quality by 3%.
The Timeline
| Date | Change | Rollback | Duration | |------|--------|----------|----------| | Mar 4 | Default reasoning effort: high → medium | Apr 7 | 34 days | | Mar 26 | Cache clearing optimization (with bug) | Apr 10 | 15 days | | Apr 16 | Length-limiting system prompt added | Apr 20 | 4 days |
The worst window was Mar 26 – Apr 7 (reasoning downgrade + cache bug simultaneously) and Apr 16 – Apr 20 (all three stacked).
Community impact was significant: AMD's AI lead Stella Laurenzo analyzed 6,852 session files, 234,760 tool calls, and 17,871 thinking blocks, concluding Claude had degraded. Benchmark firm BridgeMind reported Claude Opus 4.6 accuracy falling from 83.3% to 68.3%, dropping from #2 to #10.
Change 1: Reasoning Effort Downgrade (Mar 4 – Apr 7)
To reduce perceived UI freezes from long thinking, Anthropic lowered the default effort from high to medium. Internal evals showed slightly lower intelligence but significantly less latency. However, despite notifications and inline selectors, most users never changed the default. Developers wanted intelligence over speed.
Anthropic's admission: "This was the wrong tradeoff." Opus 4.7 now defaults to xhigh.
Change 2: The Cache-Clearing Bug (Mar 26 – Apr 10) — Most Damaging
Prompt caching keeps thinking blocks in conversation history so the model remembers why it made edits. After 1 hour of session idling, caches evict; Anthropic added an optimization to clear old thinking content (via clear_thinking_20251015 header with keep:1) to reduce uncached tokens on session resume.
The bug: a wrong condition caused the clearing to trigger on *every subsequent turn*, not once — and it compounded when new messages interrupted tool use, discarding even the current turn's reasoning.
Symptoms users saw:
- Repeating already-answered questions
- Contradicting earlier decisions
- Odd, context-blind tool choices
- Massive uncached token consumption (continuous cache misses)
- AI code review will become standard infrastructure
- Full context is required — local review isn't enough
- Each model generation improves at finding the previous generation's mistakes
- anthropic.com/engineering/april-23-postmortem
- VentureBeat coverage; LeadDev analysis
- Stella Laurenzo session analysis (GitHub)
- BridgeMind benchmark data; Hacker News thread with Boris Cherny
Detection was delayed 15 days because two unrelated internal experiments (a server-side message queue experiment and a thinking-display change) coincidentally masked the bug's symptoms.
Most ironic detail: during the investigation, Opus 4.7 successfully found the bug in retrospective code review, while Opus 4.6 could not — provided with full codebase context.
Change 3: The "Be Quiet" System Prompt (Apr 16 – Apr 20)
To curb Opus 4.7's verbosity, Anthropic added: keep inter-tool-call text under 25 words and final replies under 100 words unless detail is needed. Ablation testing later showed this instruction alone reduced coding benchmark scores by ~3% — despite weeks of internal testing that caught nothing.
Why All Four Testing Defenses Failed
1. Internal evals — covered standard tasks, not long-tail scenarios 2. Dogfooding — employees used internal builds; concurrent experiments masked the cache bug 3. A/B testing / staged rollouts — notifications existed, but defaults weren't changed; evals too narrow 4. User feedback monitoring — early reports were indistinguishable from normal variance until community analysis erupted
Root issue: AI product degradation doesn't crash — it silently "wilts." No 500 errors, no alarms. This is a blind spot in traditional monitoring.
AI Reviewing AI Code
The most notable finding: Anthropic used Opus 4.7 to retrospectively review the PR that introduced the cache bug. With full repo context, Opus 4.7 located it; Opus 4.6 failed. Implications:
Anthropic's Remediation
1. Mandatory dogfooding — more employees must use the public release 2. System prompt ablation testing — line-by-line removal with full eval runs per change 3. Soak periods and gradual rollouts for any change that could trade away intelligence 4. AI-assisted code review with expanded repository context
Additionally, because the cache bug caused continuous cache misses (Boris Cherny of the Claude Code team noted a 900k-token context idling one hour would hit a full cache miss), Anthropic reset usage limits for all subscribers on April 23.
Key Lessons
1. Defaults are power — never make "medium intelligence" the default 2. Caching is double-edged — memory-clearing optimizations can become memory black holes 3. No prompt word is trivial — one brevity instruction cut quality 3% 4. Evals are never enough — real-world usage always exceeds lab coverage 5. AI reviewing AI is the future — and it's accelerating
If AI feels dumber, the model may be fine — check what the harness team changed recently.
References: