On April 23, 2026, Anthropic published an unusually blunt postmortem on its engineering blog: a month of user reports that Claude had gotten dumber was not imagination but the compounded effect of three separate changes, each defensible on its own. The company stressed that “we never intentionally degrade our models,” that the API and inference layer were unaffected, that all three issues were fixed by April 20 (Claude Code v2.1.116) — and it reset usage limits for every subscriber.
For developers who depend on Claude Code, the post is a rare full accounting: timelines, root causes, fixes, and even an explanation of why internal review failed to catch any of it.
The Three Changes That Broke It
The first was lowered default reasoning effort (March 4 to April 7). To fix very long “frozen UI” latencies with Opus 4.6 in high-effort mode, Anthropic changed the default from high to medium. Internal evals showed “slightly lower intelligence with significantly less latency,” plus reduced long-tail latency and usage-limit consumption. Users, however, felt Claude Code getting dumber. Mitigations — a startup notice, an inline effort selector, restoring ultrathink — didn’t stick; most people stayed on medium. Anthropic eventually called the change “the wrong tradeoff” and reverted it on April 7. Opus 4.7 now defaults to xhigh; other models default to high.
The second was a caching bug that dropped reasoning history (March 26 to April 10). The intent was an optimization: for sessions idle over an hour, clear old thinking blocks once on resume to reduce uncached tokens. The implementation cleared thinking on every subsequent turn instead, compounding across the session — follow-up prompts during tool use even lost the current turn’s reasoning. Claude seemed forgetful and repetitive, made odd tool choices, and repeatedly missed the cache, so the same context got billed again and again. Users reported usage limits “draining faster than expected.” The fix landed April 10 in v2.1.101.
The third was a verbosity system-prompt rule (April 16 to 20). To tame Opus 4.7’s wordiness, Anthropic added a rule: keep text between tool calls to 25 words or fewer, final responses to 100 words or fewer, unless detail was needed. Weeks of internal testing showed no regressions; broader ablations later revealed a 3% eval drop for both Opus 4.6 and 4.7. Reverted April 20.
Why It Took a Month to Diagnose
Each change hit a different slice of traffic on a different schedule, so together they looked like generalized degradation — and early reports were hard to separate from normal feedback noise. More embarrassing: detection failed across the board. The caching bug was masked by an internal message-queuing experiment and an unrelated thinking-display change; it passed human review, automated review, unit and end-to-end tests, and internal dogfooding, and root-cause confirmation took over a week. A back-test later found that Opus 4.7, running the company’s internal Code Review tool, could spot the bug — while Opus 4.6 could not. The model became its own debugging instrument.
The View from the User’s Side
Away from the engineering timeline, users’ bills had already exploded. On April 1, DevClass reported that Anthropic admitted on Reddit that “people are hitting usage limits in Claude Code way faster than expected,” calling it the team’s top priority. One Pro subscriber calculated that of every 30 days, only 12 were usable; a Max 5 user burned a full quota in one hour versus roughly eight hours of work before; and one user who reverse-engineered the Claude Code binary claimed to find “two independent bugs that cause prompt cache to break, silently inflating costs by 10-20x.”
On April 24, developer Nicky Reinert published why he cancelled: after a ten-hour break, two small non-repository questions to Haiku pushed his usage straight to 100%; where he once ran three projects in parallel, the limit now ran out after two hours on one; the caching bug made him pay twice for the same initial codebase load; the support bot gave generic answers, and the “human” reply days later was a template with documentation pasted in. He is careful to say he remains a fan of the product — his critique targets support and design decisions. It is a familiar 2026 tension: tightening terms and opaque quotas eventually make cancellation the only vote users have (opening-year observations).
Fixes and Commitments
Beyond the fixes and the subscriber-wide usage-limit reset, Anthropic committed to a list of process changes: more internal staff will dogfood the exact public Claude Code build instead of internal test versions; the internal Code Review tool gets improved, shipped to customers, and extended with multi-repository context; every system-prompt change now requires per-model eval suites and ongoing line-by-line ablations, with model-specific adjustments gated through CLAUDE.md so they only affect the targeted model; any change that could trade off intelligence must go through soak periods and gradual rollouts. Outward-facing, Anthropic opened an @ClaudeDevs account and centralized GitHub threads so product decisions have a public explanation channel.
Lessons for AI Product Teams
This postmortem deserves a close read from anyone building agent products, and three lessons generalize. First, latency and cost optimizations are quality risks: touching reasoning depth or cache behavior touches the core product experience, and evals must cover what users actually feel, not just latency dashboards. Second, system prompts are code: one “keep it short” rule cost 3% on evals, and no prompt change should ship without an eval gate. Third, an honest postmortem is an asset for retention — Reinert’s cancellation post still credits Anthropic’s transparency. Users can accept that you make mistakes; what they cannot accept is silence.
Sources
- An update on recent Claude Code quality reports — Anthropic
- Anthropic admits Claude Code users hitting usage limits ‘way faster than expected’ — DevClass
- I cancelled Claude: Token issues, declining quality, and poor support — Nicky Reinert
AI-assisted summary compiled from the sources above, reviewed by a human before publishing.
