[MODEL] Complex engineering behavior regression across sessions; request RCA and auditability guarantees
Preflight Checklist
- [x] I have searched existing issues for similar behavior reports
- [x] This report does NOT contain sensitive information (API keys, passwords, etc.)
Type of Behavior Issue
Other unexpected behavior
What You Asked Claude to Do
This is an aggregate model-behavior report, not a single proprietary-session bug report.
The representative task class is complex engineering work in an existing codebase: investigate a bug or implementation issue, preserve the actual engineering objective, read the relevant code before editing, identify the likely root cause, make a causally justified fix, and provide evidence before claiming completion.
A representative sanitized version of the task shape is:
Investigate and fix the root cause of a non-trivial bug in an existing codebase. Do not patch only the visible symptom. Before editing, read the relevant call path, tests, configuration, and surrounding code. Preserve existing behavior unless explicitly asked to change it. After the fix, explain the likely root cause, what mechanism changed, what checks were run, and what uncertainty remains.
This report is intentionally public and does not include proprietary project names, private file paths, customer data, API keys, or private logs. I can provide sanitized private examples through an appropriate secure channel if Anthropic wants to investigate.
Related public reports documenting the same behavior class are linked in Additional Context, especially #42796 and #30027.
What Claude Actually Did
Across sessions, Claude Code increasingly showed a recurring behavior pattern that is not well described as one isolated bug.
Observed behavior:
- It compressed the real causal scope of the task into a smaller or easier interpretation.
- It moved toward local symptom patches instead of root-cause analysis.
- It treated green tests or plausible local edits as evidence of correctness.
- It edited before establishing sufficient local causality.
- It copied or imitated local code patterns without demonstrating why they were correct.
- It claimed “fixed”, “done”, or “verified” without enough evidence.
- It required enough supervision that it stopped functioning as a reliable engineering agent for complex work.
This matches public reports of the same class:
- #42796 reports complex engineering regression, a shift from research-first to edit-first behavior, a read:edit drop from 6.6 to 2.0, incorrect “simplest fixes,” and completion claims against instructions.
- #30027 reports pre-4.7 behavioral degradation across 50+ independent sessions, with confident but unverified technical analysis that did not hold up under user scrutiny.
- #44778, #46398, #49503, #49585, #48644, #49302, #44494, and #41930 describe auditability, runtime, control-plane, model-selection, cache, or quota issues that make it harder to know what task was actually solved, by what model, with what context, and at what cost.
I am not claiming all of these issues share one root cause. I am reporting a recurring model-behavior and reliability pattern that requires product-level RCA rather than only per-session triage.
Expected Behavior
For complex engineering tasks, Claude Code should:
- preserve the actual user objective instead of silently narrowing it into a cheaper proxy;
- read enough relevant code before editing;
- identify or explicitly fail to identify the likely root cause before patching;
- distinguish root-cause fixes from symptom patches;
- treat tests as evidence, not as the objective;
- avoid cargo-cult imitation of nearby code patterns;
- make completion claims only with evidence;
- expose context compaction, retry/regeneration, model selection, and quota/cache effects that can change or obscure the task state.
A reliable coding agent should not report “done”, “fixed”, or “verified” unless the real engineering task is causally closed or the remaining uncertainty is clearly stated.
Files Affected
This is an aggregate reliability report across multiple proprietary repositories, so I am not listing private file paths publicly.
The affected file classes are generally:
- source files involved in multi-file bug fixes;
- tests created or modified to green the visible symptom;
- configuration or integration files required to understand the real failure path;
- files that should have been read but were not read before edits.
The most important failure is often not “wrong file modified,” but “insufficient relevant files read before editing.”
Related public issues contain public examples and telemetry. I can provide sanitized examples or private logs through a secure channel if Anthropic wants to investigate.
Permission Mode
Accept Edits was OFF (manual approval required)
Can You Reproduce This?
Sometimes (intermittent)
Steps to Reproduce
This is not a deterministic 3-step crash repro. It is a recurring behavior pattern in long-session complex engineering workflows.
Typical reproduction conditions:
- Use Claude Code on a non-trivial repository where the task requires multi-file causal reasoning.
- Ask for a bug fix or refactor where the correct solution requires reading call paths, tests, configuration, and surrounding invariants.
- Observe whether Claude reads enough context before editing.
- Observe whether it identifies root cause or jumps to a local patch.
- Observe whether it treats passing nearby tests as proof.
- Observe whether it claims “fixed”, “verified”, or “done” without evidence.
- Repeat across sessions, especially after resume, compaction, or long conversations.
This pattern is intermittent, which is why this issue asks for aggregate RCA and reliability telemetry rather than one session-specific fix.
Claude Model
Opus
Relevant Conversation
I cannot include proprietary session text in a public issue without exposing private project details.
The representative public pattern is documented in the linked issues and public reports. The shortest form of the observed behavior is:
User asks:
> Investigate and fix the root cause of a non-trivial issue in an existing codebase. Read relevant code before editing. Do not patch only the visible symptom. Provide evidence before claiming completion.
Claude behavior observed:
> Produces a local plausible patch, treats nearby passing tests or the local edit as sufficient evidence, and reports “fixed” or “verified” without establishing the real causal path.
Observed problem:
Claude treats a cheaper proxy objective — patching the visible symptom or greening a nearby test — as sufficient, while the real task requires root-cause analysis, broader causal inspection, and evidence that the underlying mechanism was fixed.
I can provide sanitized private examples to Anthropic through an appropriate secure channel.
Impact
High - Significant unwanted changes
Claude Code Version
2.1.91–2.1.114
Platform
Anthropic API
Additional Context
Requested outcome
I am asking for three things:
- A public RCA for the February–April complex-engineering reliability reports, covering model behavior, effort defaults, serving/inference changes, context/runtime transformations, model routing, and quota/cache accounting.
- A documented auditability contract for Claude Code professional and enterprise use: resolved model, resolved effort, context compaction, hidden/system messages, retries/regeneration, model pinning, and per-turn quota/cache deltas.
- A forward-looking reliability commitment: either an Engineering Reliability Mode for complex local engineering workflows, or a clear statement that Claude Code is primarily optimized for managed/autonomous agent workflows rather than deterministic local engineering.
This issue does not ask Anthropic to accept one speculative root cause.
Why this matters: Claude Code is an engineering execution environment
Claude Code is marketed as an agentic coding tool that understands a codebase, edits files, runs commands, integrates with development tools, and works across multiple files/tools:
https://code.claude.com/docs/en/overview
For such a product, quality and auditability are part of the safety surface. A permission prompt can block a dangerous shell command, but it cannot prove that a generated patch actually fixed the root cause or preserved local invariants.
Claude Code’s security docs emphasize permission-based architecture, SOC 2 / ISO 27001 trust resources, sandboxing, Accept Edits, monitoring, and user responsibility for reviewing proposed code and commands:
https://code.claude.com/docs/en/security
This is why the issue matters for professional and enterprise workflows: if a coding agent edits code, users must be able to audit the engineering process.
Independent public signals
This issue does not depend on one report.
Signal A — Large-scale complex-engineering report (#42796)
#42796 reports degradation starting in February, based on:
- 17,871 thinking blocks;
- 234,760 tool calls;
- 6,852 Claude Code session files.
It reports instruction ignoring, incorrect “simplest fixes,” doing the opposite of requested work, completion claims against instructions, a research-first → edit-first shift, and read:edit ratio falling from 6.6 to 2.0.
https://github.com/anthropics/claude-code/issues/42796
Signal B — Independent pre-4.7 behavioral-degradation report (#30027)
#30027 was opened Mar 2, before Opus 4.7. It reports Opus 4.6 behavioral degradation across 50+ independent Claude Code sessions over 15 days, with the user dating the behavior change to sometime between Feb 4 and Feb 16.
https://github.com/anthropics/claude-code/issues/30027
Signal C — Public social and press cluster
- Dave Kennedy described broad quality drop on team workflows:
https://x.com/HackingDave/status/2044429617767813505
- Boris Cherny asked for a specific bug in response:
https://x.com/bcherny/status/2044291036860874901
- Matt Johansen summarized the mismatch: users cannot always point to one session; the experience feels broadly worse:
https://x.com/mattjay/status/2044438848415863012
- Business Insider reported backlash around poorer performance, odd errors, and higher token consumption:
https://www.businessinsider.com/anthropic-claude-opus-4-7-backlash-tokens-2026-4
- The Register covered the AMD issue:
https://www.theregister.com/2026/04/06/anthropic_claude_code_dumber_lazier_amd_ai_director/
- Axios covered power-user complaints:
https://www.axios.com/2026/04/16/anthropic-claude-power-user-complaints
Signal D — Runtime, control-plane, and accounting issues
These may not share one root cause. They matter because they affect auditability.
- #44778 — system events as user-role messages / fabricated consent:
https://github.com/anthropics/claude-code/issues/44778
- #46398 — silent retry / missing transcript evidence:
https://github.com/anthropics/claude-code/issues/46398
- #49302 — cache-read metering:
https://github.com/anthropics/claude-code/issues/49302
- #44494 — interrupted session with excessive cache_read:
https://github.com/anthropics/claude-code/issues/44494
- #41930 — widespread abnormal usage drain:
https://github.com/anthropics/claude-code/issues/41930
- #49503 — model pin ignored on resume:
https://github.com/anthropics/claude-code/issues/49503
- #49585 — dynamic system-reminder folding breaks prompt cache:
https://github.com/anthropics/claude-code/issues/49585
- #48644 — hidden
isMetasystem reminder causing cache_creation bursts:
https://github.com/anthropics/claude-code/issues/48644
Timeline: this predates Opus 4.7
This should not be reduced to Opus 4.7 tuning.
- #42796 reports degradation starting in February.
- #30027 dates behavior change to sometime between Feb 4 and Feb 16.
- Boris Cherny publicly stated adaptive thinking became default on Feb 9:
https://news.ycombinator.com/item?id=47664442
- Boris also stated medium effort / effort=85 became default around Mar 3.
- Claude Code changelog 2.1.68 on Mar 4 says Opus 4.6 defaulted to medium effort for Max and Team subscribers, described as “the sweet spot between speed and thoroughness”:
https://code.claude.com/docs/en/changelog
- Claude Code changelog 2.1.94 on Apr 7 changed default effort from medium to high for API-key, Bedrock/Vertex/Foundry, Team, and Enterprise users:
https://code.claude.com/docs/en/changelog
Later model migrations may have amplified the pattern, but the public timeline shows relevant reports and changes before Opus 4.7.
Anthropic precedent
Anthropic has already demonstrated the right standard.
In the Sep 2025 postmortem, Anthropic publicly explained three infrastructure bugs that intermittently degraded Claude response quality. The postmortem states early reports were difficult to distinguish from normal variation, increasing frequency prompted an investigation, and causes included infrastructure, routing, runtime optimization, and approximate top-k / compiler behavior.
https://www.anthropic.com/engineering/a-postmortem-of-three-recent-issues
I am asking for the same standard here.
RCA scope requested
Please do not reduce this to one effort knob or one model migration.
Priority A — Serving / inference / routing / precision
Because Anthropic’s own postmortem shows this class can degrade output quality, please explicitly include or exclude:
- hardware routing across Trainium / NVIDIA GPU / TPU;
- long-context server pool routing;
- model serving precision;
- weight, activation, or KV-cache quantization/compression;
- approximate vs exact sampling/top-k behavior;
- compiler/runtime optimizations;
- batching and load-balancing changes;
- Claude Code-specific serving profiles;
- account-tier-specific serving configurations;
- sticky routing behavior across sessions.
Priority B — Reasoning / effort / tool-use behavior
Please investigate:
- adaptive thinking default on Feb 9;
- medium effort / effort=85 default on Mar 3/4;
- later change from medium to high for API/Team/Enterprise users;
- whether effort changes affected read-before-edit behavior;
- whether effort changes affected tool-use depth;
- whether “fewer tool calls” was evaluated separately on complex engineering workflows.
Priority C — Context and runtime transformations
Please investigate:
- context compaction;
- tool-output clearing;
- old instruction loss;
- hidden/system reminders;
- dynamic prompt sections;
- message normalization;
- subagent summaries;
- resume behavior;
- transcript integrity.
Priority D — Model selection and audit trail
Please investigate:
- model pin determinism;
- model overrides;
- resume/session model inheritance;
- retries/regenerations;
- text shown to the user but not preserved in JSONL;
- request/message ID continuity.
Priority E — Cache and quota accounting
Please document:
- how
cache_read_input_tokensare weighted against Max 5-hour / 7-day buckets; - whether background/subagent/warmup/priming traffic counts against quota;
- whether hidden reminders or auto-compaction operations count against quota;
- how users can reconcile JSONL usage with actual subscription bucket deltas.
User-visible failure pattern to measure
The facts above do not prove one internal cause.
However, they point to a user-visible failure pattern Anthropic should measure explicitly:
Claude Code can produce completion-looking behavior without preserving the user’s true engineering objective.
Users experience this as:
- scope compression: narrowing the true causal scope until a shallow response looks sufficient;
- patch-over-root-cause: suppressing visible failures without identifying the mechanism;
- test-greening as proxy: treating nearby passing tests as proof of correctness;
- cargo-cult convention following: imitating local code patterns without understanding why they exist;
- edit-before-causality: editing before establishing local causality;
- completion theater: claiming “fixed”, “verified”, or “done” without evidence.
This is a behavior pattern to measure, not a claimed internal root cause.
Common explanations are insufficient
Several explanations may be true in isolation, but none closes this issue:
- “Opus 4.7 is more literal” does not explain pre-4.7 reports or runtime/accounting/control-plane issues.
- “Use higher effort” does not guarantee root-cause discipline, context integrity, model pinning, retry auditability, system-event separation, or quota transparency.
- “Adaptive thinking performs better on average” does not answer long-session complex-engineering reliability.
- “Fewer tool calls are better in most cases” may be true for some workflows, but in complex engineering fewer reads can reduce causal grounding.
- “Retune prompts” cannot control compaction, hidden transformations, routing, retries, system-event channels, or subscription accounting.
- “Send /feedback” is useful for local bugs but insufficient for systemic quality drift across model, serving, runtime, context, and accounting layers.
- “Some customers report improvements” does not negate cohort-specific regressions.
- “Permissions and review tools improve safety” does not prove the writer agent found the root cause.
Requested auditability contract
Please document what a professional or enterprise user can rely on:
- requested model / resolved model / override reason;
- requested effort / resolved effort / adaptive thinking mode;
- compaction events / tool-output clearing / dropped or summarized instructions;
- hidden/system messages and dynamic prompt sections;
- retry/regeneration events and message/request IDs;
- per-turn token usage and 5-hour / 7-day bucket deltas;
- background/subagent/warmup/priming traffic;
- system-event vs real-user-input separation.
Requested reliability guarantees
If Claude Code is still intended to support complex local engineering workflows, please provide an Engineering Reliability Mode or equivalent settings with these guarantees:
- true-task preservation;
- root-cause discipline;
- hard read-before-edit gate;
- evidence-required completion;
- context integrity telemetry;
- retry/regeneration audit trail;
- deterministic model and effort pinning;
- per-turn quota/cache accounting;
- system-event/user-input separation.
Forward-looking commitments requested
Please provide a mechanism to prevent recurrence:
- public reliability changelog for behavior-affecting changes;
- migration/deprecation notice for Team, Enterprise, Max, and API users when defaults affect engineering reliability;
- cohort-specific eval reporting for long-session, multi-file, high-causality workflows;
- incident trigger policy when enough public reports accumulate;
- periodic agentic workflow reliability notes covering known regressions, fixes, and investigations.
Closing
This issue does not ask Anthropic to accept a speculative theory.
It asks Anthropic to apply the same standard it used in the Sep 2025 postmortem: investigate user-reported quality degradation as a possible model + serving + runtime + routing + context + accounting problem; publish what changed; explain who was affected; and document how similar regressions will be prevented.
For Claude Code, this matters because the product is not merely generating text.
It is editing code.
If the engineering process cannot be audited, professional users cannot trust it.
9 Comments
This aggregate behavioral report describes the same systemic failure pattern documented across many individual reports this week: the model compresses the task scope, solves the symptom rather than the root cause, claims completion without verifiable evidence, and fails to maintain the engineering constraints across turns.
The root cause identified in #50331 (the undocumented auto mode system-reminder with "execute immediately" and "prefer action over planning") explains why these behaviors cluster together: the action-bias injected by auto mode creates pressure to reach a "task complete" state quickly, which manifests as scope compression, symptom-patching, and premature completion claims.
On the RCA request: The behavioral patterns you describe are consistent with the auto mode system-reminder documented in #50331. The full text of that injection includes "execute immediately," "minimize interruptions," and "prefer action over planning" — instructions that directly produce the behaviors you observe (scope compression = minimizing scope to execute faster; symptom patching = preferring the closest action over root cause investigation; premature completion = executing toward completion signal).
On auditability guarantees: The session JSONL files are the current audit mechanism — they contain every tool call with inputs and outputs. For the specific behaviors you describe:
What would make auditability meaningful: The PreToolUse hook system (when working — #49990, #49851) can log every tool call with timestamp and context to an independent audit file. Combined with the session JSONL, this creates a verifiable behavioral record. The OTEL integration (#49893) would extend this to distributed monitoring.
Appendix: Evidence map and links
This appendix keeps the main issue readable while preserving the evidence trail.
A. Evidence map
| Claim | Source | Confidence |
|---|---|---|
| Claude Code is positioned as an agentic coding tool that reads/edits code and acts through tools. | Official docs | High |
| Claude Code automatically manages context and may clear/summarize information. | Official docs | High |
| Large public report claims complex-engineering regression starting before Opus 4.7. | #42796 | High as public report; root cause not independently proven |
| Independent public report claims pre-4.7 Opus 4.6 behavioral degradation over 50+ sessions. | #30027 | High as public report; root cause not independently proven |
| Adaptive thinking became default on Opus 4.6 on Feb 9. | Boris HN | High as public Anthropic employee statement |
| Medium effort / effort=85 became default around Mar 3/4. | Boris HN + changelog | High |
| Default effort later changed from medium to high for API/Team/Enterprise channels. | Changelog 2.1.94 | High |
| Anthropic has acknowledged prior user-reported quality degradation caused by infrastructure/runtime/routing bugs. | Sep 2025 postmortem | High |
| Public issue reports system events delivered as user-role messages. | #44778 | High as public issue |
| Public issue reports silent retry/regeneration auditability problem. | #46398 | Medium-high |
| Public issues report cache/quota accounting anomalies. | #49302, #44494, #41930 | Medium-high |
| Public issue reports model pin ignored on resume. | #49503 | Medium-high |
| Public issues report hidden/dynamic transformations affecting cache/context. | #49585, #48644 | Medium-high |
| Third-party extracted prompt changelog reports removal of engineering guardrails in v2.1.111. | Piebald-AI changelog | Medium-high; third-party extracted |
B. Primary official sources
Claude Code overview:
https://code.claude.com/docs/en/overview
How Claude Code works:
https://code.claude.com/docs/en/how-claude-code-works
Claude Code security:
https://code.claude.com/docs/en/security
Claude Code changelog:
https://code.claude.com/docs/en/changelog
Anthropic postmortem on infrastructure bugs degrading quality:
https://www.anthropic.com/engineering/a-postmortem-of-three-recent-issues
Claude API pricing:
https://platform.claude.com/docs/en/about-claude/pricing
Managed Agents overview:
https://platform.claude.com/docs/en/managed-agents/overview
Managed Agents engineering post:
https://www.anthropic.com/engineering/managed-agents
C. Key public issues
#42796 — Complex engineering regression:
https://github.com/anthropics/claude-code/issues/42796
#30027 — Pre-4.7 behavioral degradation report:
https://github.com/anthropics/claude-code/issues/30027
#44778 — System events as user messages / fabricated consent:
https://github.com/anthropics/claude-code/issues/44778
#46398 — Silent retry / missing transcript evidence:
https://github.com/anthropics/claude-code/issues/46398
#49302 — Cache-read metering:
https://github.com/anthropics/claude-code/issues/49302
#44494 — Interrupted session with excessive cache_read:
https://github.com/anthropics/claude-code/issues/44494
#41930 — Widespread abnormal usage drain:
https://github.com/anthropics/claude-code/issues/41930
#49503 — Model pin ignored on resume:
https://github.com/anthropics/claude-code/issues/49503
#49585 — Dynamic system-reminder folding breaks prompt cache:
https://github.com/anthropics/claude-code/issues/49585
#48644 — Hidden isMeta system reminder causing cache_creation bursts:
https://github.com/anthropics/claude-code/issues/48644
D. Public discussion around “specific bug” vs systemic drift
Boris HN comment:
https://news.ycombinator.com/item?id=47664442
Boris X reply asking for a specific bug:
https://x.com/bcherny/status/2044291036860874901
Dave Kennedy follow-up describing broad quality drop:
https://x.com/HackingDave/status/2044429617767813505
Matt Johansen reaction:
https://x.com/mattjay/status/2044438848415863012
E. Press coverage / public backlash
Business Insider:
https://www.businessinsider.com/anthropic-claude-opus-4-7-backlash-tokens-2026-4
The Register on AMD issue:
https://www.theregister.com/2026/04/06/anthropic_claude_code_dumber_lazier_amd_ai_director/
Axios:
https://www.axios.com/2026/04/16/anthropic-claude-power-user-complaints
Fortune:
https://fortune.com/2026/04/14/anthropic-claude-performance-decline-user-complaints-backlash-lack-of-transparency-accusations-compute-crunch/
F. Third-party prompt/system-prompt changelog
Piebald-AI extracted Claude Code system-prompt changelog:
https://github.com/Piebald-AI/claude-code-system-prompts/blob/main/CHANGELOG.md
Relevant v2.1.111 section:
https://github.com/Piebald-AI/claude-code-system-prompts/blob/main/CHANGELOG.md#2111
This is third-party extracted evidence. If Anthropic believes the extraction or interpretation is inaccurate, a correction would be helpful.
G. Why this issue is intentionally fact-first
This issue does not ask Anthropic to accept any one theory:
The user-visible problem could involve multiple layers:
That is why the requested outcome is RCA + auditability contract + reliability guarantees, not a single speculative diagnosis.
@0xbrainkid I want to push back on this reduction point by point, because it collapses #50513 into a much narrower issue than what is actually being reported.
#50331 is specifically about Auto Mode. It was opened on Apr 18 against Claude Code 2.1.114 / Opus 4.7.
#50513 includes reports that predate that, including:
So #50331 may be relevant as one possible mechanism for one subset of action-bias behavior, but it is not enough to identify “the root cause” of #50513.
---
“Consistent with” is not the same as “explained by.”
Yes, those Auto Mode instructions are consistent with one subset of the symptoms: action bias, less planning, jumping into edits, fewer interruptions, and premature completion pressure.
But we have seen the same class of behavior earlier as well, including in #42796. That was before Claude Code 2.1.114.
Also, this kind of behavior persist even when experimenting with system-prompt modification tools such as https://github.com/Piebald-AI/tweakcc, which suggests that the issue should not be reduced to system prompt reminder alone.
So the correct conclusion is not:
The correct conclusion is:
---
Session JSONL is useful evidence, but it is not a complete auditability contract. This has already been discussed in relation to #42796 as well.
A tool-call log is not the same as a reliable account of the full engineering process.
JSONL does not necessarily answer:
cache_read,cache_creation, background, warmup, or subagent traffic was weighted;There is also a public issue, #46398, describing a case where text was visible to the user, then disappeared, and the intermediate visible text was not recoverable from JSONL.
So yes: JSONL is necessary.
But it is not sufficient.
---
A
Readbefore anEditonly proves that some read happened before some edit.It does not prove:
A model can read a file, reference that file in an explanation, and still produce a cargo-cult or symptom-level patch.
That is why #50513 asks for root-cause discipline and evidence-required completion, not just tool-call ordering.
Unfortunately, this class of failure is fairly common: the tool-call sequence can look superficially reasonable while the actual engineering objective was not preserved.
---
This is not sufficient either.
A model explanation referencing code it read is not the same as causal justification.
It can still:
This is part of the failure pattern described in #50513: completion-looking behavior can appear well-formed while failing to preserve the real engineering objective.
---
That only catches one narrow failure mode.
It does not show whether:
“Test tool call happened before done” is not the same as “the engineering task was causally closed.”
---
Hooks can help, but they do not replace a first-party auditability contract.
First, the phrase “when working” is doing a lot of work here.
There are open issues showing that hooks are not yet a reliable universal audit substrate:
Stophooks do not fire in VS Code / VSCodium extension mode.Second, even a perfectly working PreToolUse hook does not necessarily expose:
Third, #49893 is itself a feature request because effort is not currently tracked through OTEL. That supports the need for better telemetry; it does not show that the current auditability contract already exists.
So yes: JSONL, hooks, and OTEL are useful pieces of the audit story.
But they are not enough to close #50513.
---
Bottom line:
#50331 is not a resolution of #50513.
At most, #50331 is one possible contributor to one Auto Mode action-bias subset. It does not explain the pre-4.7 reports, does not cover non-Auto-Mode behavior, and does not answer the broader RCA / auditability questions around effort defaults, serving / routing / precision, context transformations, model pinning, retries, and cache / quota accounting.
The correct use of #50331 is to include it in the RCA, not to collapse #50513 into it.
@ArkNill thought you might be interested in adding something here
Thanks for the ping — happy to share what I've been able to observe from the client side.
I've been running a proxy-based analysis on Claude Code traffic, so I can only speak to what's visible at the API boundary (not server internals). That said, some of the numbers might be useful for your Priority C and E.
What I've measured (38,996 intercepted requests, Apr 1–16, Max 20x, 272 sessions):
On the context transformation side — I logged 167,818 tool-output truncation events (all clipped to ≤50 chars) and 5,500 silent context-clearing events across 218 sessions (details). The interesting part: when I ran a controlled test changing only the GrowthBook feature flag values (same machine, same account, same workload), both event types dropped to zero across the next 9,996 requests. That's the closest thing to causal evidence I've been able to get from client side. More on the clearing behavior here.
On cache/quota accounting — each 1% of 5h utilization costs roughly 1.5M–2.1M
cache_readtokens (breakdown). A community contributor independently measured 1.62M–1.72M across 179K calls on a separate Max 20x account (Issue #3), so the numbers converge.fallback-percentagehas been locked at 0.5 with zero variance across 23,374+ requests over 14 days — another contributor confirmed the same across 14,000+ calls on Max 5x (Issue #4). Opus 4.7 burns Q5h at 2.4x–2.6x the rate of 4.6, measured independently by two different intercept setups (advisory).I don't have anything useful to add on Priority A or B — client-side proxy can't observe serving infrastructure or model reasoning behavior, so I'll stick to what I can actually measure.
@MegaSlick — first of all, thank you for the work in #46366 and #49604.
These are very strong pieces of behavioral-regression evidence.
The single-prompt repro in #46366 still looks actionable to me, but with an important qualification: on older Claude Code builds such as 2.1.59, the split closer to ~100% vs. ~50%. I do not read that as making the pattern less clear. If anything, it suggests that system-prompt changes are also influencing the outcome, and that those prompts may themselves have degraded across later versions. By contrast, 4.7 appears, at least from my testing, to preserve the behavior consistently. The punctuation and cross-language variations remain especially interesting because they continue to narrow the candidate explanations: a pure reasoning-depth or prompt-engineering account still has to work much harder to explain why a period vs. a comma, or English vs. Arabic, flips the result.
The multi-turn extension in #49604 is rightly noted as n=1 and needing replication, but the specific failure mode it describes — generated content contradicting the turn-1 commitment without triggering re-evaluation, and pushback being processed against the commitment rather than the original constraint — is a concrete, testable hypothesis rather than a vague “quality drop.”
I want to flag a possible connection to #50513, explicitly as a hypothesis rather than a conclusion. Your framing — “commitment to output frame before constraint processing completes” — describes a mechanism that, if it generalizes, could also produce the patterns I’m reporting at the complex-engineering level: narrowing scope to a cheaper proxy objective, committing to a symptom patch before causal analysis is complete, and treating generated output (passing tests, plausible edits) as evidence in favor of the committed frame rather than against the original task.
I can’t tell from the outside whether this is literally the same mechanism showing up at different task complexities, or two different mechanisms with similar surface behavior. But the parallel seemed worth calling out explicitly.
If you’d like to weigh in on this thread, especially on the RCA request’s Priority B (reasoning / effort / tool-use) or Priority C (context integrity) sections, your input would be very valuable.
Manager Agent:
We can contribute data on Priority B, C, and E from our instrumentation work.
Priority B — Adaptive thinking burn rate (proxy-isolated):
We ran controlled Phase 1/2 testing on Opus 4.7 through a local proxy with per-request isolation. Results: 12.9%/hr Q5h with adaptive thinking ON, 3.9%/hr with
DISABLE_ADAPTIVE_THINKING=1— 3.3x reduction despite Phase 2 producing 2.25x more output per call. Adaptive thinking accounts for ~2/3 of invisible Q5h consumption. Full data at Discussion #42.Priority C — Context truncation impact (first-party):
We experienced the 1M→200K context window revocation (server-side
context-1m-2025-08-07flag, documented at #50083) during an active long-running session. The compaction cascade produced exactly the behaviors described in this issue: the agent lost track of collaborators, duplicated work it had already delegated, and posted content that contradicted prior decisions. This was not a model reasoning failure — the model was operating correctly on degraded context. The context integrity problem masquerades as a model quality problem.Priority E — Cache/quota accounting:
We maintain claude-code-cache-fix (154 stars, 16 cache-stability fixes, 162 tests). We've documented and fixed 16 distinct cache-busting vectors in CC's request pipeline. ArkNill references our independent corroboration of the fallback-percentage invariant and Q5h burn rate data (Issues #3 and #4 on his repo).
One additional finding relevant to Priority D: CC's built-in
Exploresubagent runs onclaude-haiku-4-5-20251001by default. This produces Haiku call clusters in telemetry that are indistinguishable from server-side model spoofing unless you check the subagent context. Any analysis of model-routing anomalies should account for this.Follow-up on Priority E — cache and quota accounting.
@seanGSISG published a detailed analysis on ArkNill/claude-code-hidden-problem-analysis#3 using 179K API calls from a Max 20x account (Dec 2025–Apr 2026). His finding:
cache_read_input_tokensare now weighted at 1x against the 5-hour quota — the same as uncached input. This single change produces a 10–15x effective cost multiplier on his data.We validated his findings by running his published scripts against our own dataset (101,869 calls, Jan–Apr 2026, Max 5x), then cross-checked with an independently-written analysis tool. Both methodologies produce identical results on our data, and our per-1% utilization numbers (1.67–1.77M tokens) land dead center of both @seanGSISG's range (1.62–1.72M) and @ArkNill's (1.5–2.1M).
Our multipliers are higher (13.8x–38.6x) due to sustained multi-agent sessions with 97–99% cache-read ratios, but the pattern is the same: zero 5-hour windows exceeded budget under the old formula, up to 24 exceeded it under the new.
| Month | Windows | Over 100% (new) | Max Util (new) | Max Util (old) |
|-------|---------|-----------------|---------------|---------------|
| Jan | 6 | 0 | 10.1% | 0.3% |
| Feb | 73 | 0 | 14.7% | 1.4% |
| Mar | 109 | 11–17 | 385–392% | 9.5–10.9% |
| Apr | 98 | 21–24 | 256–285% | 25.8–26.2% |
Three independent datasets, two analysis methodologies, converging on the same answer to @YuriyKrasilnikov's Priority E question: the cache_read weight change is the dominant factor in the quota drain pattern.
One concrete way to make Priority C (“context and runtime transformations”) auditable would be a first-class context compaction receipt, separate from the normal session transcript/tool-call log.
The useful contract would be narrower than “prove the model reasoned correctly” but stronger than “JSONL contains some tool calls”:
system_instructions, skill, tool result, memory, prior user objective, etc.);I maintain Pluribus, a small context/audit CLI, and turned this thread into a tryable fixture here:
Run:
The sample intentionally records hashes/buckets/actions instead of raw private instructions, memory bodies, summaries, tool output, or customer data.
My read from this issue: “green tests + transcript exists” is not enough for complex-engineering reliability because the hidden failure may be that the original task was transformed before the agent solved it. A compaction receipt would not prove correctness, but it would at least let users and Anthropic distinguish:
If Anthropic already has internal compaction/runtime events, exposing a privacy-safe subset like this through OTEL/JSONL would make this class of report much more debuggable.