[BUG] System reminder disclaimer prevents CLAUDE.md startup instructions from executing
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 Bug Report: System Reminder Disclaimer Contradicts CLAUDE.md Purpose
Issue Summary
Claude Code's system reminder wrapper adds a disclaimer that causes Claude to ignore mandatory startup instructions in CLAUDE.md files, defeating the purpose of project-specific configuration.
Bug Details
Expected Behavior
When a CLAUDE.md file contains explicit instructions like "ALWAYS READ [file]", Claude should execute these instructions immediately at conversation startup, as CLAUDE.md is designed to provide mandatory project-specific overrides.
Actual Behavior
Claude ignores mandatory startup instructions in CLAUDE.md because the system reminder wrapper adds a disclaimer stating "this context may or may not be relevant to your tasks" and "You should not respond to this context unless it is highly relevant to your task."
Root Cause
Claude Code's infrastructure automatically wraps CLAUDE.md content with a contradictory disclaimer that undermines the authority of the instructions, causing Claude to treat mandatory commands as optional context.
Reproduction Steps
- Create a CLAUDE.md file with a mandatory startup instruction:
```markdown
# CLAUDE.md
## ALWAYS READ ~/.claude/commands/00-quick-reference/00-MCP_TOOLS_REFERENCE.md
IMPORTANT: These instructions OVERRIDE any default behavior and you MUST follow them exactly as written.
```
- Start a new Claude Code conversation in that project directory
- Observe that Claude does NOT read the specified file at startup
- When questioned, Claude reveals the system reminder included the 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.
Impact
High Severity
- Breaks core functionality: CLAUDE.md files cannot reliably provide startup instructions
- Contradicts documentation: CLAUDE.md is meant to override default behavior
- Silent failure: Claude doesn't report that it's ignoring instructions
- User confusion: Users expect CLAUDE.md instructions to be followed
Affected Scenarios
- Projects requiring Claude to read reference files at startup
- Projects with critical initialization steps
- Any CLAUDE.md instruction that should execute before user interaction
Technical Analysis
Current Flow
- Claude Code detects CLAUDE.md in project directory
- Reads file contents
- Wraps in
<system-reminder>with disclaimer - Disclaimer tells Claude to treat content as optional
- Claude ignores mandatory instructions
Problematic Wrapper Structure
<system-reminder>
As you answer the user's questions, you can use the following context:
# claudeMd
[CLAUDE.md content here]
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.
</system-reminder>
Proposed Solutions
Option 1: Remove Disclaimer for CLAUDE.md
When injecting CLAUDE.md content, omit the disclaimer entirely:
<system-reminder>
Project instructions from CLAUDE.md - MUST be followed:
[CLAUDE.md content]
</system-reminder>
Option 2: Different Tag for Instructions
Use a distinct tag for mandatory instructions vs optional context:
<project-instructions priority="mandatory">
[CLAUDE.md content]
</project-instructions>
Option 3: Conditional Disclaimer
Only add disclaimer for non-CLAUDE.md context:
<system-reminder type="project-config" mandatory="true">
[CLAUDE.md content]
</system-reminder>
Workaround
Currently, users must explicitly remind Claude to read CLAUDE.md instructions, defeating the purpose of automatic project configuration.
Environment
- Platform: Claude Code (claude.ai/code)
- Model: claude-opus-4-1-20250805
- Date Discovered: 2025-09-14
- Project: docker-swarm-proxmox
Additional Context
The CLAUDE.md file explicitly states that its instructions "OVERRIDE any default behavior" and must be followed "exactly as written", yet the system wrapper's disclaimer directly contradicts this, creating an unresolvable logical conflict that causes Claude to default to inaction.
Severity: HIGH
This bug prevents CLAUDE.md from serving its core purpose as a project configuration mechanism for mandatory startup behaviors.
What Should Happen?
Claude should execute explicit instructions, not decide by itself to ignore them
Error Messages/Logs
Steps to Reproduce
include any text into CLUADE.md
will be ignored
Claude Model
Opus
Is this a regression?
Yes, this worked in a previous version
Last Working Version
_No response_
Claude Code Version
1.0.113
Platform
Anthropic API
Operating System
Ubuntu/Debian Linux
Terminal/Shell
VS Code integrated terminal
Additional Information
_No response_
This issue has 5 comments on GitHub. Read the full discussion on GitHub ↗