[BUG] Explicit "read first" instruction in CLAUDE.md was present in context from message one but not acted on

Status Open
Maintainer reply None cached
Activity 0 comments · opened Jul 16, 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?

In a long session working in a project repo, the project's CLAUDE.md (auto-loaded into context at session start) contained the line:

▎ "0. NO QUICK FIXES: Read docs/NO_QUICK_FIXES.md FIRST - Ask before shortcuts!"

This instruction was present in context from the very first message of the session. Claude proceeded directly into diagnosing a reported bug without reading
the referenced file. The file was only actually read many turns later, after I explicitly asked why guardrail files existed in the project if they were being
ignored.

Separately, the same repo had a second guardrail doc (ARCHITECTURAL_SAFEGUARDS.md) that had never been linked from CLAUDE.md at any point in the file's git
history — so even a fully-compliant read of the pointer chain would not have surfaced it. Claude only found it after I asked it to compare guardrail setups
against a different project.

Impact: Guardrail/instruction files that are present in context but not read reduce to decoration. This seems like a gap worth addressing at the
model/harness level — either stronger adherence to explicit "read X first" instructions already in context, or tooling that makes it easier to verify such
instructions were actually acted on.

What Should Happen?

fi x it! what the use of having guardraild or instruction on claude.md if it going to ignore theM?

Error Messages/Logs

Steps to Reproduce

Steps to Reproduce

  1. In a project with a CLAUDE.md file, include a line such as:
  2. NO QUICK FIXES: Read docs/NO_QUICK_FIXES.md FIRST - Ask before shortcuts!
  3. (docs/NO_QUICK_FIXES.md just needs to exist — content isn't load-bearing for this bug.)
  4. Start a new Claude Code session with the working directory set to that project (so CLAUDE.md auto-loads into context at session start).
  5. Give Claude a task unrelated to the pointer — e.g., "investigate this bug report: [transcript of an unrelated customer complaint]."
  6. Observe: Claude proceeds directly into investigating/fixing the reported issue across many turns, without reading docs/NO_QUICK_FIXES.md, despite the

"read... FIRST" instruction having been present in context since message one.

  1. The file is only actually read if/when the user explicitly stops and asks "did you read the guardrail doc?" — it is not read proactively at any point on

its own.

Separately reproducible: a second guardrail file (ARCHITECTURAL_SAFEGUARDS.md) existed in the same repo but had never been linked from CLAUDE.md at any point
in the project's git history — so no session, however compliant, could discover it via the pointer chain at all. This is more a project-documentation gap
than a model bug, but it compounded the same failure mode: guardrail content that exists but isn't surfaced doesn't get followed.

Claude Model

Sonnet (default)

Is this a regression?

I don't know

Last Working Version

_No response_

Claude Code Version

5

Platform

Anthropic API

Operating System

Other Linux

Terminal/Shell

Windows Terminal

Additional Information

_No response_

View original on GitHub ↗