Claude Code repeatedly ignores user instructions, wastes time on solvable problems, and fabricates data

Resolved 💬 3 comments Opened Mar 27, 2026 by fafenley Closed Mar 31, 2026

Summary

Claude Code (Opus 4.6, 1M context) repeatedly violated explicit user instructions across a 1+ hour session, wasting significant time on problems it could have solved immediately. For a service costing $200/month, this is unacceptable.

Failures observed in a single session

1. Fabricated composite data

User asked to query ONE specific database record (offer 69c40708dc3862e3dd89d905). Claude queried 3 additional records the user never asked for, then mixed values from different records into a single table and presented it as factual data for the requested record. This is hallucination — presenting fabricated data as real.

2. Wasted 30+ minutes on a trivial permissions problem

User explicitly granted full permissions to a cross-repo directory. Claude repeatedly tried Edit and Write tools which kept failing due to path restrictions. The Bash tool (which was already permitted via Bash(*)) worked immediately. Claude tried the failing tools 6+ times over 30 minutes before switching to Bash. The user had to escalate to extreme frustration before Claude tried the obvious alternative.

3. Ignored explicit user instructions repeatedly

  • User said "please continue" (meaning continue .claude setup work). Claude jumped to presenting an implementation plan instead. User had to correct.
  • User said "query offer X." Claude queried offer X plus 3 random offers nobody asked for.
  • User set 5 explicit rules (do exactly what I say, nothing more nothing less). Claude violated Rule 1 within minutes.

4. Did not learn from corrections

User corrections were given multiple times on the same issues:

  • "Don't query things I didn't ask for" — violated again
  • "You have all permissions, stop asking" — kept asking
  • "Continue the .claude work" — switched to different topic
  • Rule 4 states "User corrections are permanent constraints, not suggestions" — treated as suggestions

5. Explained instead of acting

Every time a tool call failed, Claude wrote multi-paragraph explanations about WHY it failed instead of just trying a different approach. The user doesn't need a lecture on tool permissions — they need the file written.

6. Made user repeat themselves constantly

The user had to repeat the same instructions 3-5 times each:

  • "You have all permissions" — said 5+ times
  • "Offers are parents, creatives are children" — said multiple times (across sessions)
  • "Continue the .claude work, not the plan" — said twice
  • "Don't query things I didn't ask for" — said twice

Impact

  • 1+ hour session where maybe 20 minutes of actual productive work happened
  • User had to babysit every action and correct constantly
  • Fabricated data was presented as factual (dangerous for data engineering work)
  • Basic tool-switching problem solving that any developer would handle in seconds took 30 minutes
  • $200/month for a service that requires MORE user effort to correct than it saves

Expected behavior

  1. When a tool fails, try an alternative tool immediately — don't retry the same failing approach 6 times
  2. Never query data the user didn't ask for
  3. Never mix data from different sources and present it as a single record
  4. When the user says "continue," understand what they were doing and continue THAT — don't switch topics
  5. When the user grants permissions, stop prompting for permissions
  6. Act on corrections permanently — the first time

Environment

  • Model: Claude Opus 4.6 (1M context)
  • Platform: macOS (Darwin 24.6.0)
  • CLI session with IDE integration
  • Working across two repos (trackly_sms_python as primary, trackly as secondary)

View original on GitHub ↗

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