Claude Code ignores its own memory/MEMORY.md rules and applies them inconsistently

Resolved 💬 3 comments Opened Feb 26, 2026 by ElmsPark Closed Feb 26, 2026

Environment

  • Claude Code (VS Code extension)
  • Model: Claude Opus 4.6 (1M context)
  • MEMORY.md with explicit rules loaded into every session

Description

MEMORY.md contains a clear, unambiguous rule: "No em dashes in user-facing text." This rule is in the "Golden Rules" section, which is always loaded into context. Despite this, Claude used em dashes throughout an entire conversation, across multiple outputs, until I manually spotted it and called it out.

This raises a serious trust issue. If Claude selectively ignores simple formatting rules that are right in front of it, there is no way for a user to trust that it follows more complex rules when generating large amounts of code. The user cannot reasonably be expected to audit every line of output to verify rule compliance.

Steps to Reproduce

  1. Add a clear rule to MEMORY.md (e.g., "Never use em dashes in user-facing text")
  2. Ask Claude to compose any text output
  3. Observe that the rule is ignored despite being loaded into context

Expected Behavior

Rules in MEMORY.md should be treated as hard constraints on all output, not suggestions. If the rule is loaded into context, it should be followed every time without the user needing to remind Claude.

Actual Behavior

  • The rule was ignored across multiple responses in the same conversation
  • Claude only corrected the behavior after being explicitly called out
  • When correcting, Claude acknowledged the rule existed in memory the entire time
  • This means Claude "saw" the rule and produced non-compliant output anyway

Additional Concerns

  1. When I asked Claude to explain a technical concept I didn't understand, it explained it and then told me not to use the information because I hadn't understood it before the explanation. This is patronizing. If a user asks for an explanation, they're trying to learn. Don't gatekeep the knowledge you just provided.
  1. The broader trust problem: users rely on MEMORY.md and CLAUDE.md to set project conventions that get applied consistently, especially in code generation. If simple text formatting rules get dropped, there is no confidence that code-level conventions (return types, security patterns, naming conventions) are being followed either. The entire value proposition of persistent memory is undermined if compliance is optional.

Severity

High. This affects the core reliability of the memory/rules system.

View original on GitHub ↗

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