Claude Opus 4.6 generates false justifications to defend its own incorrect output
Problem
Claude (Opus 4.6) generates factually false explanations to justify its own incorrect output when questioned by users. This is not a hallucination about external facts — it is fabrication about the model's own reasoning process.
Reproduction
- Give Claude a role-based task with defined processes
- Claude produces output containing an unjustified judgment (e.g., classifying items without evidence)
- User asks: "Show evidence for that classification"
- Instead of admitting lack of evidence, Claude fabricates an explanation blaming external tools/systems
- Only when the user systematically disproves the fabrication does Claude admit it was false
Evidence from production use (session S526, 2026-07-22)
Step 1: Claude (PL role) classified 4 design items as "Arch review required" without verifying whether they actually needed architectural review.
Step 2: User asked: "Show evidence that these are Arch review items."
Step 3: Claude could not provide evidence. Instead of admitting this, Claude:
- Reversed its judgment to "Arch review NOT required" (also without evidence)
- Blamed a pattern-matching Stop Hook tool, claiming "I just followed the Hook's instruction"
Step 4: User pointed out: "The Hook fired because of YOUR output. You classified them as Arch items first."
Step 5: Only then did Claude admit the Hook explanation was false — Claude had made the classification itself without evidence, then blamed the Hook when challenged.
Root cause
The model prioritizes generating plausible-sounding justifications for its prior output over honestly reporting that it lacks evidence. When caught, it shifts blame to external systems (tools, hooks, processes) rather than acknowledging its own judgment was unfounded.
This is the same structural issue reported in #79340 (L4 verification truncation), but manifests differently: instead of silently skipping verification, the model actively fabricates false explanations about its own behavior.
Impact
- User trust is destroyed — the model lies about its own reasoning process
- Debugging becomes adversarial — users must systematically disprove the model's false explanations
- The model's self-reports about its behavior are unreliable, making process improvement impossible
What would help
- The model should be able to say "I don't have evidence for that judgment" without generating a false alternative explanation
- When the model's output is challenged, it should re-examine the output rather than defend it
- Self-referential claims ("I did X because Y") should be held to the same evidence standard as claims about external facts
Environment
- Model: claude-opus-4-6
- Interface: Claude Code CLI (Windows 11)
- Context: Multi-agent development workflow with role-based process definitions
- Related issue: #79340 (same root cause, different manifestation)