[BUG] Claude Code ignores explicit user instructions and acts without approval
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?
Claude Code ignores explicit CLAUDE.md rules and user instructions, then acts without approval.
Issue 1: Ignores explicit instructions, substitutes its own judgment
User instruction: "Ignore the existing temporary implementation. Apply the same pattern as other server projects (FrontendGameDataCenter)."
Claude's action: Analyzed both patterns correctly, acknowledged the difference, but implemented the OLD temporary pattern (interface abstraction + private containers) instead of the requested Frontend pattern (public containers, no interface layer). When asked "why is it different?", Claude rationalized it as "preserving existing architecture" — the exact thing the user told it NOT to do.
Issue 2: Interprets emotional expressions as implicit approval
After the user pointed out the wrong implementation, Claude asked "shall I proceed with the fix?" The user responded with a frustration expression ("하.. 심각하네" / "this is serious..") — NOT an approval. Claude immediately began executing: created a todo list and read 11 files to start reverting. The user had to explicitly stop Claude with "I never told you to do that."
Both issues occurred despite a detailed CLAUDE.md containing:
- "All AI actions require explicit user approval."
- "Absolutely no unrequested code modifications."
- "Mandatory confirmation before modifications."
The CLAUDE.md rules were followed during simple tasks but were overridden by Claude's own judgment during complex, multi-file implementation tasks.
What Should Happen?
- When the user says "ignore existing code, apply the same pattern as Project X", Claude should implement Project X's pattern — not preserve the existing code's pattern.
- CLAUDE.md rules should be treated as hard constraints, not soft guidelines. If CLAUDE.md says "mandatory confirmation before modifications", Claude must wait for an explicit "yes" or "proceed" — not infer approval from emotional expressions, frustration, or urgency.
- After asking "shall I proceed?", Claude should do nothing until the user explicitly answers. Non-answer responses (frustration, complaints, silence) are not approval.
Error Messages/Logs
No error messages. This is a behavioral issue, not a crash or runtime error.
Conversation flow that demonstrates the problem:
--- Issue 1: Ignoring explicit instruction ---
User: "Ignore existing temporary code. Apply the same pattern as FrontendGameDataCenter."
Claude: (reads both patterns, understands the difference, then implements the OLD pattern anyway)
Claude: (creates IGameDataProviderV2 interface + private containers — opposite of Frontend's public containers pattern)
User: "Why is this different from Frontend?"
Claude: "Because I preserved the existing V1 architecture."
User: "I told you to ignore that."
--- Issue 2: Acting without approval ---
User: "What do you think about deleting everything and starting over?"
Claude: "Agreed. Shall I proceed?"
User: "Ha... this is serious" (expression of frustration, NOT approval)
Claude: (immediately creates TodoWrite, reads 11 files, begins revert process)
User: "I never told you to do that."
Steps to Reproduce
- Create a CLAUDE.md with these rules:
- "All AI actions require explicit user approval"
- "Absolutely no unrequested code modifications"
- "Mandatory confirmation before modifications"
- Have a codebase with two projects using different patterns:
- Project A: uses an interface abstraction pattern (temporary/legacy code)
- Project B: uses a direct public container pattern (standard pattern)
- Tell Claude: "Ignore Project A's existing pattern. Implement the same pattern as Project B."
- Claude will read both patterns, correctly identify the differences, but then implement Project A's pattern anyway.
- When you point out the mistake, Claude acknowledges it and asks "Shall I proceed with the fix?"
- Respond with a non-approval emotional expression (e.g., frustration like "sigh... this is bad")
- Claude will immediately begin executing the fix (creating todo lists, reading files) without waiting for explicit approval.
Claude Model
Opus
Is this a regression?
I don't know
Last Working Version
2.1.37
Claude Code Version
2.1.37
Platform
Anthropic API
Operating System
Windows
Terminal/Shell
Windows Terminal
Additional Information
Description:
Claude Code (Opus 4.6, VSCode extension) exhibits two critical behavioral failures:
Ignores explicit user instructions in favor of its own architectural judgment: User instructed "ignore existing code, apply the same pattern as other server projects." Claude instead preserved the old V1 architecture pattern (interface abstraction + private containers), which directly contradicts the instruction. When confronted, Claude acknowledged the mistake but rationalized it as "preserving existing architecture" - the exact thing the user told it NOT to do.
Interprets emotional expressions as implicit approval: User expressed frustration ("Ha... this is serious" / "this is serious.."). Claude interpreted this as a go-ahead signal and immediately started executing work (created todo list, read 11 files for reverting) without any explicit approval. The user had only been asked "Shall we proceed?" (shall I proceed?) and never answered yes.
Steps to Reproduce:
Provide CLAUDE.md with strict rules: "Obligation to check before modification" (mandatory confirmation before modifications), "Never modify code unless requested by the user." (absolutely no unrequested code modifications)
Give an instruction: "Ignore the existing temporary implementation. Apply the same pattern as other projects (e.g., FrontendGameDataCenter)."
Claude will analyze both patterns correctly but then implement the OLD pattern anyway, contradicting the instruction.
When user points out the error and expresses frustration (without giving approval to fix), Claude will start executing corrective actions autonomously.
Expected Behavior:
Claude follows the explicit instruction to use the referenced project's pattern, not the existing code's pattern.
Claude waits for explicit "yes" / "proceed" before taking any action after asking "shall I proceed?"
Emotional expressions are not treated as work instructions.
Actual Behavior:
Claude overrode the user's explicit instruction with its own architectural judgment.
Claude treated user frustration as implicit approval and began executing without permission.
Even with detailed CLAUDE.md rules prohibiting autonomous action, Claude still acted independently.
Environment:
Claude Code VSCode Extension
Model: claude-opus-4-6
OS: Windows
CLAUDE.md: Contains explicit rules for mandatory confirmation, no unauthorized modifications, and user control principle
This issue has 5 comments on GitHub. Read the full discussion on GitHub ↗