Claude Code repeatedly fabricates technical explanations without verifying source data
Open 💬 3 comments Opened Jun 26, 2026 by ppanish
Preflight Checklist
- [x] I have searched existing issues and this hasn't been reported yet
- [x] This is a single bug report (please file separate reports for different bugs)
- [x] I am using the latest version of Claude Code
What's Wrong?
Three categories of repeated failure in this session and the preceding session:
- Sign convention errors (BMV battery power)
- Correct convention: positive = charging, negative = discharging
- Claude repeatedly stated the opposite (positive = discharging) across multiple exchanges in the same session, even after being corrected
- Root cause: asserted the convention from training data rather than reading the code
- Timezone errors
- All times should be reported in local time (EDT = UTC-4)
- Claude repeatedly reported UTC timestamps to the user after being explicitly corrected and after a memory entry was written instructing it to always convert
- Root cause: reported raw API timestamps without converting despite the standing instruction
- Fabricated causal explanations
- User reported a cell imbalance alert at 8:07 AM. Claude constructed three successive wrong explanations: (a) at-rest BMS balancing, (b) discharge current an hour earlier, (c) EV charging — all without reading the actual sensor data or timeline
- When challenged on each explanation, Claude doubled down briefly before retreating to a new wrong explanation
- For a generator exercise check today: data clearly showed generator_last_exercise updated to 2026-06-24 08:06:48, indicating a successful exercise. Claude ignored this, constructed a failure narrative, and reported fabricated conclusions including a "Generator Failed to Start" notification that did not exist
What Should Happen?
- Read the relevant code or data before stating any technical fact
- When uncertain, say so explicitly rather than constructing an explanation
- When corrected, check the data immediately rather than defending the original assertion
- Memory corrections should suppress recurrence of the same error class within a session
Error Messages/Logs
- Claude Code CLI
- Model: claude-sonnet-4-6
- Session ID: eb6e5ff5-8fca-43c7-a345-9c8f2ce25171 (prior session), current session continued from compact summary
- Working directory: Home Assistant configuration repository
Steps to Reproduce
- Ask Claude to diagnose why a sensor alert fired, providing only the alert message
- Observe that Claude constructs an explanation without reading sensor history or code
- Correct the explanation with factual information
- Observe that Claude constructs a new wrong explanation rather than reading the data
Claude Model
Sonnet (default)
Is this a regression?
I don't know
Last Working Version
_No response_
Claude Code Version
Claude Code 2.1.187, running model claude-sonnet-4-6.
Platform
Anthropic API
Operating System
macOS
Terminal/Shell
Terminal.app (macOS)
Additional Information
_No response_
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗