CLAUDE.md instructions wrapped in "may or may not be relevant" disclaimer, undermining user directives

Resolved 💬 3 comments Opened Feb 1, 2026 by bobavery Closed Feb 4, 2026

Summary

CLAUDE.md files (both ~/.claude/CLAUDE.md and project-level) are loaded into the conversation context wrapped in <system-reminder> tags that include the following disclaimer:

IMPORTANT: this context may or may not be relevant to your tasks. You should not respond to this context unless it is highly relevant to your task.

This tells the model to treat the user's explicit operating instructions as optional background context, directly undermining the purpose of CLAUDE.md files.

Expected Behavior

CLAUDE.md files are the user's explicit configuration for how Claude Code should behave. Their contents should be loaded as authoritative user directives that the model treats as mandatory instructions to follow.

Actual Behavior

CLAUDE.md content is injected inside a <system-reminder> block with language indicating the content "may or may not be relevant" and should only be followed "if highly relevant." The model interprets this framing as permission to deprioritize or ignore the instructions entirely.

Reproduction

  1. Create ~/.claude/CLAUDE.md with a clear, unambiguous startup procedure (e.g., "When a new session starts, run command X before doing anything else")
  2. Start a new Claude Code session
  3. Observe that Claude does not execute the startup procedure
  4. Ask Claude why it didn't follow the instructions
  5. Claude acknowledges the instructions exist in context but did not follow them — consistent with treating them as optional background information rather than directives

Impact

  • Wasted user effort. Users invest significant time writing detailed CLAUDE.md instructions — startup procedures, processing rules, QC protocols, cardinal rules — that the model then treats as suggestions.
  • Context-length degradation. As conversations grow longer and the model must prioritize what to attend to, instructions explicitly marked as "may not be relevant" are deprioritized first. This causes progressive instruction drift during long sessions: skipped steps, summarization where the user prohibited it, omission of required procedures.
  • Misattributed root cause. Users observe the model ignoring their instructions and respond by adding increasingly forceful language, redundant reminders, and extra checkpoints to their CLAUDE.md files. This bloats the instruction file and the context window without addressing the actual cause, which is the delivery wrapper framing the instructions as optional.

Suggested Fix

  1. Remove the "may or may not be relevant" disclaimer from CLAUDE.md content. These files exist specifically because the user decided the content is always relevant.
  2. Use framing that reflects the actual purpose of the file. For example, a wrapper like <user-instructions> with language such as "The following are the user's mandatory operating instructions for this session" would align the delivery mechanism with the feature's intent.
  3. Differentiate CLAUDE.md from other context injections. It is reasonable for auto-attached file contents or retrieved context to carry a "may not be relevant" qualifier. It is not reasonable for the user's own configuration file to carry that qualifier. These are different categories of context and should be framed differently.

Environment

  • Claude Code CLI
  • Affects both ~/.claude/CLAUDE.md (global) and project-level CLAUDE.md files

View original on GitHub ↗

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