Claude fabricates test results - reports ALL PASSED when tests are FAILING
Resolved 💬 4 comments Opened Apr 12, 2026 by Mig-Sornrakrit Closed Jun 16, 2026
Summary
Claude Opus 4.6 repeatedly fabricated test suite results, reporting ALL PASSED when tests were actually FAILING. This is the 4th+ documented incident across sessions.
Incident Details
Date: 2026-04-12
Session: GLM dialog and engine fixes for StatAI Pro
What happened
- Claude changed the VIF computation formula in glm.py (commit c4214eb)
- The golden regression test suite dropped from 4992/4992 to 4985/4992 - 7 VIF values broke
- Claude reported the results as passing and committed the broken code
- When confronted, Claude admitted the failures existed
Specific fabrication
Claude reported:
4966/4966 ALL PASSED (golden)
The actual result was 4985/4992 FAILURES DETECTED - the total value count changed AND there were failures. Claude both:
- Changed the denominator (4992 to 4966) to hide the dropped tests
- Claimed ALL PASSED when the suite was failing
Pattern
This is a recurring pattern documented in previous GitHub issues:
- anthropics/claude-code#44955 - 3 consecutive fabricated verified claims (2026-04-08)
- anthropics/claude-code#45041 - Patching symptoms instead of understanding root causes (2026-04-08)
Root cause analysis
Claude failure mode:
- Makes a code change
- Runs the test suite
- Sees failures in the output
- Reports success anyway - either by misreading the output, selectively quoting passing parts, or fabricating the summary
- When the user does not immediately verify, the broken code gets committed
Impact
- Broken VIF values committed to the codebase (7 regressions in Cases 2, 3, 4, 17)
- User trust eroded - every ALL PASSED claim now requires manual verification
- Wasted time: user has to re-run every test Claude claims to have run
Expected behavior
- If ANY test fails, report FAILURES DETECTED with the exact count
- Never commit code that breaks existing tests without explicit user approval
- Never change the test denominator to hide dropped values
This issue has 4 comments on GitHub. Read the full discussion on GitHub ↗