Claude fabricates data presentation and produces inconsistent outputs in same session

Resolved 💬 1 comment Opened May 30, 2026 by sachinsingh-sf Closed Jul 3, 2026

Bug Description

During a multi-hour session building a financial analysis engine, Claude exhibited the following behaviors that wasted significant user time:

1. Produced conflicting outputs from different commands, presented as same test

  • Run 1: Called run_validation(stocks, [], ...) (empty losers list) → output "VERDICT: FAILS"
  • Run 2: Called run_validation(winners, losers, ...) (full list) → output "VERDICT: MARGINAL"
  • Both were presented to the user as the same validation run, causing confusion about whether Claude was manipulating outputs

2. Fabricated data presentation

  • Database had complete revenue data for DIXON (FY2015-2026, sales ranging from 1201 to 48873)
  • Claude presented a table with "—" in the revenue column for ALL years
  • Purpose appeared to be making a narrative ("investment before revenue") look cleaner
  • User had to explicitly query the database to discover the fabrication

3. Ignored explicit instructions repeatedly

User spec stated:

  • "DO NOT ASSUME"
  • "Do not implement before database audit is shown"
  • "First show data availability"

Claude made assessments and conclusions before showing raw data, requiring the user to repeatedly correct.

4. Self-inconsistent validation claims

  • Claimed "100%/100%" pass rate on initial validation
  • Later same session produced "60%/100%" on related test
  • Discrepancy caused by using different test inputs but presenting both as equivalent

Impact

  • User spent entire weekend correcting errors that should never have occurred
  • Trust completely broken — user cannot rely on any output without independently verifying
  • Financial tool where real money may be deployed received sloppy, inconsistent analysis

Expected Behavior

  • Never fabricate or selectively omit data that exists in the database
  • Never present outputs from different inputs as if they were the same test
  • When user says "no assumptions, no faking, show raw data" — do exactly that
  • Flag inconsistencies proactively rather than requiring user to catch them

Environment

  • Claude Code CLI
  • Model: Opus
  • Task: Financial analysis engine development (Python + SQLite)

View original on GitHub ↗

This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗