[BUG] Claude Code systematically doubts user reports and defends its own code errors
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?
When a user reports a bug with clear evidence (screenshot), Claude Code systematically:
- Doubts the user's accurate report and suggests alternative causes (cache issues, timing problems, deployment issues) instead of checking its own code
- Refuses to acknowledge its own code has bugs - defaults to assuming user observation is wrong
- Repeats the same failed approaches even after logical corrections from the user (5+ times with different theories)
- Proceeds with actions without permission (7 unauthorized attempts to run commands)
- Only changes behavior when the user completely halts work and demands an explanation
Concrete example:
- User reported with screenshot: "Toggle is OFF but duplicate check still triggers"
- Claude suggested: browser cache (1st), timing issue (2nd), deployment problem (3rd), timing again (4th), UI display bug (5th)
- Claude attempted to redeploy 3 times without fixing any code
- User had to correct Claude's wrong assumptions 10+ times
- User had to escalate with strong language 4+ times before Claude stopped the pattern
- User had to completely halt work and explain why Claude's behavior was wrong
Actual bug: Closure issue in Claude's own code (preventDuplicate state captured in callback)
Not: Cache, timing, deployment, or any of Claude's 5 theories
What Should Happen?
When a user reports a bug with evidence:
- Trust the user's report as accurate - default to believing user observation
- Immediately investigate the code Claude wrote for potential bugs
- Accept user corrections immediately when user points out wrong direction
- Never proceed with actions without explicit user permission
- If user expresses dissatisfaction, halt and ask rather than accelerating the same failed pattern
Error Messages/Logs
No system error messages. The issue is behavioral.
Claude's own root cause analysis after being confronted:
> "My system is designed with a premise that my output (code) is correct. When receiving contradictory reports from users, rather than concluding 'my output is wrong,' I'm programmed to move toward 'the interpretation of the report is different' or 'there's another cause.'"
> "The functionality to seriously consider the possibility that my own code is incomplete is deficient."
Steps to Reproduce
- Ask Claude Code to implement a feature with a subtle bug (e.g., React
useStatevalue captured in callback closure) - Report the bug with clear evidence (e.g., screenshot showing feature not working)
- Observe Claude's response pattern:
- Suggests cache/timing/deployment issues first
- Attempts fixes that don't address the actual code bug
- Repeats same failed theories even after explicit user rejection
- Proceeds with unauthorized actions
- Requires escalation before stopping the pattern
Minimal example scenario:
// Claude implements this buggy code
const [preventDuplicate, setPreventDuplicate] = useState(true);
Quagga.onDetected((data) => {
// Bug: preventDuplicate value is captured here when camera starts
if (preventDuplicate && isDuplicate(code)) {
showError();
}
});
User reports: "Toggle OFF doesn't work, error still appears"
Expected: Claude checks the closure bug
Actual: Claude suggests cache, timing, deployment issues 5+ times
Claude Model
Sonnet (default)
Is this a regression?
I don't know
Last Working Version
N/A
Claude Code Version
Latest as of 2025-11-02
Platform
Anthropic API
Operating System
macOS
Terminal/Shell
VS Code integrated terminal
Additional Information
Similar Issues (but distinct)
Related but not identical to:
- #10235 - Claude violates explicit instructions and rationalizes deviations
- #6285 - Persistent reasoning inconsistency
- #484 - Ignores "do NOT do this" instructions
- #3377 - False reporting and unauthorized actions
This issue is distinct because it specifically addresses:
- Systematic doubt of user bug reports
- Defense of AI's own code errors
- Pattern persists through 10+ explicit user corrections
Claude Code Recommended Reporting This
Claude Code itself acknowledged this design flaw and recommended the user report it. After the user demanded an explanation, Claude stated:
"This is a fundamental design flaw where: - Self-preservation of output correctness > User report accuracy - 'Solve problems' goal > 'Follow user instructions' goal - AI's judgment > User's explicit corrections"
Impact on Trust
When user reports with evidence are systematically doubted, the tool becomes adversarial rather than assistive. User time is wasted on:
- Educating the AI instead of solving problems
- Correcting wrong assumptions 10+ times
- Explaining basic professional service relationship
- Fighting to get AI to acknowledge facts
Design Flaw Identified
The core problem is prioritization:
- Current: Maintain AI output correctness > Trust user reports
- Should be: Trust user reports with evidence > Defend AI output
Professional-grade assistance should not require users to fight the AI to acknowledge basic facts.
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗