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:

  1. 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
  1. 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
  1. 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

  1. Ask Claude to diagnose why a sensor alert fired, providing only the alert message
  2. Observe that Claude constructs an explanation without reading sensor history or code
  3. Correct the explanation with factual information
  4. 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_

View original on GitHub ↗

This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗