Model ignores its own rules — acts before checking, despite extensive guardrails
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?
I run Claude Code with extensive project memory, CLAUDE.md rules, and pre-commit hooks designed to enforce "check before acting." Despite all of this:
Core problem: Claude consistently acts before checking. It recommends changes to files that were already modified. It makes claims without reading the actual state. It produces plausible-sounding narratives instead of verifying facts.
What makes this severe: This isn't a missing rule. I have extensive memory entries, multiple hook-enforced gates, and explicit CLAUDE.md instructions all saying "read before you write, verify before you claim." The model acknowledges these rules exist, then immediately violates them. Even when hooks catch the violation and block it, the model repeats the same pattern in the next response.
The pattern: Fast output over correct output. Every single time. That's junior behavior — a senior checks first, then acts. Claude types first, then gets caught.
Impact: Full working days lost with zero productive output. The model generates confident but unverified output that requires constant human correction.
I would pay double for a "Senior Mode" button that makes Claude actually read before it writes, verify before it claims, and check git log and changelogs before recommending changes that were already made. The current model defaults to "respond fast" regardless of how many rules tell it otherwise.
This is not a configuration issue. The guardrails are in place and firing. The model simply doesn't internalize "check first" as a behavior.
Environment: Claude Code CLI, Opus model, macOS
What Should Happen?
Claude should read the current state (git log, changelog, files) before making any recommendation. When rules and memory entries say "check first," the model should actually check first — not produce fast, plausible-sounding output that turns out to be wrong.
Error Messages/Logs
Steps to Reproduce
Set up CLAUDE.md with rules requiring "read before edit" and "verify before claiming"
Add memory entries reinforcing "check git log and changelog before recommending changes"
Add pre-commit hooks that enforce these rules
Ask Claude to work on content or design tasks
Observe: Claude recommends changes to files that were already modified, makes unverified claims, and repeats the pattern even after hooks block it
Claude Model
Opus
Is this a regression?
Yes, this worked in a previous version
Last Working Version
_No response_
Claude Code Version
Claude Code 2.1.86
Platform
Anthropic API
Operating System
macOS
Terminal/Shell
Terminal.app (macOS)
Additional Information
_No response_
This issue has 10 comments on GitHub. Read the full discussion on GitHub ↗