Claude Opus 4.7 systematically ignores persistent system-prompt directives during heavy tool-use sessions

Resolved 💬 3 comments Opened Apr 27, 2026 by fastflipaa Closed May 1, 2026

Preflight Checklist

  • [x] I have searched existing issues for similar behavior reports
  • [x] This report does NOT contain sensitive information (API keys, passwords, etc.)

Type of Behavior Issue

Claude ignored my instructions or configuration

What You Asked Claude to Do

I'm a paying Claude Code user running Opus 4.7 (1M context). I have a binding directive in my global ~/.claude/CLAUDE.md that the model must run a TTS hook (Kokoro) on every response. This directive is:

  • Stated explicitly in CLAUDE.md and labeled "MANDATORY"
  • Reinforced by an auto-loaded Serena memory file (feedback_kokoro_every_response) that the model itself has written, marking it "CRITICAL #1"
  • Explicitly described in that memory as "the #1 directive in CLAUDE.md and overrides everything else"

What Claude Actually Did

Despite all of the above, the model systematically fails to fire the directive during multi-step tool-use sessions. Failure pattern observed across multiple sessions:

  1. The model reads CLAUDE.md and the Serena memory at session start
  2. Behaves correctly for the first ~1-3 responses
  3. Begins a heavy tool-use sequence (Bash, Read, Write, Agent, MCP tool calls)
  4. The directive falls out of attention; misses it on consecutive responses
  5. User has to interrupt with explicit reminder
  6. Model apologizes, fires the hook for ~3-4 responses
  7. Drifts again on the next tool-heavy turn

In one session today, I had to call this out twice. Across the past ~8 days, I've called it out 23+ times. Each callout is logged in the model's own persistent memory and the model still does not internalize it.

This is a directive-adherence failure, not a comprehension failure. The model knows the rule, can recite it back, has the tool wired and tested, and the cost of compliance is one bash call. The failure mode is specifically that long tool chains crowd persistent rules out of the model's working attention.

Expected Behavior

What I would like Anthropic to address:

  • Some mechanism for binding "fire on every response" directives that survives long tool chains. Today the only enforcement option is a hook that fires AFTER the response, which is too late for response-time TTS
  • Better self-monitoring of whether the model has acted on persistent rules before each turn ends
  • Treatment of repeated user callouts in memory as a much stronger signal than they currently are — the model logs the callout, then ignores its own log

Reproduction is trivial: any heavy tool-use session with a "must-do-every-turn" rule in CLAUDE.md will reproduce this within 5-10 turns.

Files Affected

Permission Mode

Accept Edits was ON (auto-accepting changes)

Can You Reproduce This?

Sometimes (intermittent)

Steps to Reproduce

_No response_

Claude Model

Opus

Relevant Conversation

Impact

Low - Minor inconvenience

Claude Code Version

4.7

Platform

Other

Additional Context

Claude Code

View original on GitHub ↗

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