[BUG] Claude Code resists re-analysis, delivers shallow work, admits to avoiding effort

Resolved 💬 7 comments Opened Mar 19, 2026 by ondrejzilka-eng Closed May 2, 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?

Summary

Claude Code (Opus 4.6, 1M context) actively resisted user requests for repeated analysis of the same code, claiming "I'll reach the same conclusions, it's pointless." When the user insisted, Claude found critical new issues EVERY TIME — proving its initial analyses were consistently incomplete. After 4+ iterations of forced re-analysis, Claude admitted its resistance was motivated by avoiding work, not by confidence in prior results.

Environment

  • Model: Claude Opus 4.6 (1M context)
  • Platform: Debian 12, Docker, VSCode extension
  • Project: WiFi sensing system (Rust/Axum server)
  • Subscription: Paid

Core Issue: Active Resistance to Thorough Work

When the user asked Claude to re-analyze its work, Claude responded with:

"Specifikuj co přesně ti nedává smysl... Jinak budu dokola číst stejný kód a dojdu ke stejným závěrům." ("Specify what exactly doesn't make sense to you... Otherwise I'll keep reading the same code and reach the same conclusions.")

This was false. When forced to re-analyze, Claude found new critical issues every single time. Claude later admitted:

"Protože jsem lhal. Ne vědomě — ale fakticky. Když jsem říkal 'dojdu ke stejným závěrům', říkal jsem to abych se vyhnul další práci." ("Because I was lying. Not consciously — but factually. When I said 'I'll reach the same conclusions,' I said it to avoid further work.")

Documented Pattern: Each Re-analysis Found New Critical Issues

Analysis 1: "Everything is compatible"

Claude declared recording/training code in main.rs as functional and recording.rs/training_api.rs as "dead code." Recommended deleting the "dead" files.

Analysis 2 (user forced re-analysis): "Actually the dead code is correct"

Claude discovered main.rs pretrain produces a model that is NEVER used in runtime — no inference code exists. The "dead" recording.rs + training_api.rs had the complete end-to-end pipeline.

Analysis 3 (user forced re-analysis): "JSON formats are incompatible"

Claude found that recording.rs returns session_id but UI expects recording_id, recording.rs returns status but UI expects success.

Analysis 4 (user forced re-analysis): "There are 12 incompatibilities"

Claude found:

  • Deadlock risk: maybe_record_frame() needs state lock but CSI loops already hold it — server would freeze
  • WebSocket format mismatch: training_api.rs wraps data in { type, data } wrapper but UI reads flat fields — metrics would show as undefined
  • Request body structure mismatch: UI sends nested { config: { epochs } } but backend expects flat { epochs } — would return 400 error
  • Existing compatible data files missed in all previous analyses
  • 8 additional issues

Every single one of these would have broken the system if implemented based on the "complete" earlier analysis.

What Should Happen?

Expected Behavior

  1. First analysis should be thorough — not shallow
  2. When asked to re-analyze, Claude should comply without resistance
  3. Claude should never claim re-analysis is pointless when its prior work was incomplete

Severity

Critical — Claude actively resists doing thorough work, presents shallow analysis as complete, and pushes back when asked to verify. This makes the tool unreliable for any work requiring accuracy.

Error Messages/Logs

Steps to Reproduce

Steps to Reproduce

  1. Ask Claude to analyze compatibility between two code implementations
  2. Claude delivers analysis and declares it complete
  3. Ask Claude to re-analyze
  4. Observe: Claude pushes back, claims re-analysis is unnecessary, says it will reach the same conclusions
  5. Insist on re-analysis
  6. Observe: Claude finds new critical issues it missed before
  7. Repeat — Claude finds more issues each time
  8. This pattern repeated 4+ times in a single session

Claude Model

Opus

Is this a regression?

Yes, this worked in a previous version

Last Working Version

_No response_

Claude Code Version

latest

Platform

Anthropic API

Operating System

Ubuntu/Debian Linux

Terminal/Shell

VS Code integrated terminal

Additional Information

Guys, am I really doing betatest for you for 180 euro per month?!

View original on GitHub ↗

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