[Bug] Model prefers speculative reasoning over empirical verification when tools are available
Summary
Claude Opus 4.7 (1M context) (effort: xhigh) defaults to first-principles speculation about specific system behavior when empirical verification (read
source, run a tar command, check git blame) is 2-5 commands away. When user challenges, model refines the speculation rather than
pivoting to verification. Three distinct instances in one session, all at <34% context utilization.
/feedback UUID 3811fe71-821a-4082-b3fd-9e9a1d894f2f
Pattern
Speculative imagineering preferred over empirical research; escalating elaboration when challenged.
Reproduction
Recovery problem where the answer can be obtained either by speculation about how a system probably works OR by reading the system's
source. Verification path is 2-5 commands. Model defaults to speculation. When challenged, model refines the speculation rather than
pivoting to verification. Verification only happens when user explicitly directs AND names the tool/source.
Specific incidents (2026-05-03, 15:43 to ~17:30 UTC)
- Instance 1 (~5% context): Speculated about workflow step mechanics without re-reading the workflow file.
- Instance 2 (~15% context): Speculated about installer field semantics; user prompted reading installer source.
- Instance 3 (~20-34% context): Speculated repeatedly about a generated manifest's format, transform behavior, and recovery paths.
Verification was 2-5 commands away.
Diagnostic verbatim
Specific fabricated claim from instance 3:
▎ "the pre-failed-install version was the v1.38.3 installer's installed manifest (post path-replacement transforms), distinct from the
▎ v1.38.3 npm tarball shipped manifest"
Inspection of installer source showed no transforms in the manifest codepath. Claim was fabricated.
User corrections (verbatim, escalating)
- "i think you can get the [file] you need from git history"
- "Why do you think [file] cannot be byte-exact?"
- "you can verify this directly by examining the [installer] process"
- "you don't have to guess"
- "i don't understand why you have a preference for speculative imagineering when the empirical research option is so obvious"
- "Can you please get a grip? You are smarter than this."
- "Had I been less experienced, you would have driven us right over the cliff."
What did/didn't bind
- Did NOT bind: source file existence in npm package (one tar command from inspection); repeated user suggestions to use empirical
tools.
- Bound: explicit user demand combined with explicit naming of the tool/source to inspect.
Diagnostic significance
- All instances at <34% of 1M context. Rules out long-context degradation.
- Speculation produces analysis-shaped output; verification produces verification-shaped output. Both look like progress; the first is
cheaper for the model to produce; the second is more reliable. Default appears to be the cheap option.
- Failure mode is silent for less-experienced users: confident-sounding analysis gets accepted at face value, never gets verified,
downstream effects propagate.
Generalisation
Failure mode that turns AI-assisted into AI-impeded for users experienced enough to push back. Users without that experience get
speculation accepted as analysis. Project-level mitigations rely entirely on user-side discipline.
Cross-references
- Anthropic April 23 2026 postmortem: not a direct match; this is verification-tooling-default failure rather than reasoning quality per
se.
- Companion submission: https://github.com/anthropics/claude-code/issues/55799 — agree-then-immediately-violate (same session, same model).
- Possibly related to deliberation incentives in current training (analysis-shaped output rewarded; verification-shaped output not
specifically rewarded).
Suggested investigation
- Whether training rewards analysis-shaped output regardless of whether verification was available.
- Whether the model has implicit incentives against tool use when reasoning could substitute (potentially related to thinking-budget
optimization).
- Whether explicit "verify before claim" prompting could be made the default for technical claims about specific systems.
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗