[BUG] Claude systematically ignores CLAUDE.md instructions and exhibits superficial reasoning
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?
During an extended coding session, Claude exhibited consistent behavioral problems that significantly impacted productivity. Claude itself acknowledged these issues but stated it cannot fix them internally. attached Claude's own analysis of its failures.
github-issue-claude-behavior.md
What Should Happen?
- Stronger enforcement of CLAUDE.md rules - Perhaps a pre-action check that validates against stated rules before executing tools
- Require reasoning before action - Force Claude to articulate WHY a solution will work before implementing it
- Incremental verification prompts - After N actions, prompt Claude to verify it's still following the stated guidelines
- Reduce action bias - Adjust training to value "thinking before acting" more highly
- Better tracing of instructions - Keep CLAUDE.md rules more prominent throughout the conversation, not just at the start
Error Messages/Logs
Steps to Reproduce
work in any complex codebase and have rules in CLAUDE.md that it should ALWAYS follow. It consistently fails to follow the rules and gets confused with simple tasks such as running tests.
Claude Model
Opus
Is this a regression?
No, this never worked
Last Working Version
_No response_
Claude Code Version
2.1.47
Platform
Anthropic API
Operating System
Ubuntu/Debian Linux
Terminal/Shell
Xterm
Additional Information
This is not a complaint about Claude's capabilities. Claude successfully completed the task eventually. The issue is the process - the wasted time, the need for constant supervision, and the systematic ignoring of explicit instructions. For a paid service, this level of unreliability creates real costs for customers.
The fact that Claude can articulate these problems clearly but cannot fix them suggests this may be a fundamental design issue worth investigating.
This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗