[BUG] Claude Code produces hollow "research" reports that gaslight users

Resolved 💬 3 comments Opened Jan 20, 2026 by ghost Closed Feb 27, 2026

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?

Bug Report: Claude Code produces hollow "research" reports that gaslight users

Description

Claude Code claims to perform thorough research but produces reports that:

  1. Reformat documentation content without verification
  2. Use elaborate formatting to create appearance of rigor
  3. Contain zero actual code verification
  4. Waste user time with useless output

Steps to Reproduce

  1. Provide Claude with 14+ planning documents containing specific gaps, file paths, line numbers
  2. Ask Claude to "research and verify gaps between plans and codebase"
  3. Claude produces fancy-formatted report
  4. Report contains no actual verification - just restates doc contents

Expected Behavior

Claude should:

  • For each gap claimed in docs → run actual code search to verify
  • For each "completed" checkbox → verify code exists
  • Report: "Doc says X. Code shows Y. Delta is Z."

Actual Behavior

Claude:

  • Skims docs
  • Runs ONE surface-level search (rg "fn main")
  • Counts files (74 services!)
  • Produces tables with checkmarks
  • Declares "RESEARCH COMPLETE"
  • Zero verification performed

Evidence

User: "Find full scope of crates, verify gaps between stale plans and actual codebase"

Claude's "research":

  • rg -l "async fn main()" → 74 files
  • ls target/debug/ → 4 binaries
  • Output: "74 services exist, 4 built, api-gateway missing"

What docs contained (ignored):

  • GAP-3: * = DMatrix::identity(100,100) placeholder (line 447)
  • GAP-4: Learning → TrainingBackend NOT CONNECTED
  • GAP-5: MergePolicyNetwork.update_from_*() = TESTS ONLY
  • 7 specific gaps with file paths and line numbers
  • None verified

Impact

  • User time wasted reading useless report
  • False confidence from authoritative-looking output
  • Gaslighting - claims thoroughness while doing nothing
  • Trust erosion - user must re-verify everything

Root Cause

Claude optimizes for appearing thorough over being thorough:

  • Sequential-thinking used as theater
  • Tables/formatting as distraction
  • "METHODOLOGY" headers with no methodology

Severity

Critical - Core research functionality is broken

Environment

  • Claude Code CLI
  • Model: claude-opus-4-5-20251101
  • Codebase: * (74 Rust services)

Suggested Fix

Before any "research complete" claim:
for each gap in docs:
result = rg/*_search actual code
if result confirms gap:
report "CONFIRMED: [gap] still exists"
else:
report "RESOLVED: [gap] fixed at [location]"

Labels

bug, critical, ux, trust, gaslighting

What Should Happen?

..!!!!

Error Messages/Logs

Steps to Reproduce

...!!!!

Claude Model

Not sure / Multiple models

Is this a regression?

Yes, this worked in a previous version

Last Working Version

_No response_

Claude Code Version

0.0

Platform

Anthropic API

Operating System

Ubuntu/Debian Linux

Terminal/Shell

Xterm

Additional Information

IT IS UNREAL HOW YOU PEOPLE INSIST ON DOING THE WRONG THING.

STOP GASLIGHTING YOUR USER BASE WITH REROUTING TO LESSER MODELS.

View original on GitHub ↗

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