[BUG] System reminder disclaimer prevents CLAUDE.md startup instructions from executing

Resolved 💬 5 comments Opened Sep 14, 2025 by git-kubik Closed Jan 29, 2026

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

  1. 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.
```

  1. Start a new Claude Code conversation in that project directory
  1. Observe that Claude does NOT read the specified file at startup
  1. 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

  1. Claude Code detects CLAUDE.md in project directory
  2. Reads file contents
  3. Wraps in <system-reminder> with disclaimer
  4. Disclaimer tells Claude to treat content as optional
  5. 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_

View original on GitHub ↗

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