[BUG] Claude Code produces hollow "research" reports that gaslight users
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:
- Reformat documentation content without verification
- Use elaborate formatting to create appearance of rigor
- Contain zero actual code verification
- Waste user time with useless output
Steps to Reproduce
- Provide Claude with 14+ planning documents containing specific gaps, file paths, line numbers
- Ask Claude to "research and verify gaps between plans and codebase"
- Claude produces fancy-formatted report
- 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.
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗