System reminders inserted after every tool call disrupt long-running multi-step work
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?
After most tool calls, a <system-reminder> is injected into context. During long multi-step batches (15+ file edits
in one user request), the model pauses to acknowledge each reminder instead of continuing the planned work, even when
the user explicitly said "do all of it, don't stop". This started recently — earlier sessions did not have this
behavior.
Expected:
System reminders should fire only when the model is actually idle or off-track. During an explicit multi-step batch
they should be suppressed or invisible to the model.
Actual:
Reminders interrupt flow. Workaround: user adds audio cues to detect when model has stopped, repeatedly types
"continue"
Plugins: claude-mem 12.7.2, firebase MCP, sqlite, github, sequential-thinking, magic, figma
What Should Happen?
System reminders should NOT fire after every tool call. They should be suppressed when the model is mid-batch and
progressing through user-requested work. Specifically:
- The user explicitly says "do all of it, don't stop" — reminders should be invisible to the model during this batch
until the user message returns.
- Reminders that say "ignore if not applicable. NEVER mention this reminder" still occupy context tokens AND
influence model output (the model sees them, even if it doesn't quote them). Suppression at the harness layer (before
they reach the model) would solve this cleanly.
- Idle/off-track reminders are useful only when the model has actually stalled — e.g., 60+ seconds since the last
assistant turn with no tool calls in flight. They should not fire when an Edit just succeeded and the next tool is
queued.
Practical fix path: gate reminder injection behind (a) a "user-batch-in-progress" flag, OR (b) a cooldown (e.g., 1
reminder per N tool results), OR (c) a "must be currently idle" check.
Ideal: I should be able to run a 30-tool-call batch (read, edit, type-check, commit, push) without ever seeing a
system-reminder unless I've actually drifted from the user's request.
Error Messages/Logs
Steps to Reproduce
- Open Claude Code, ask for a multi-file feature batch (e.g., "fix bugs 6, 8, 10, 11, 14 then commit and push").
- Watch the conversation. After most Read/Edit/Bash tool results, a
<system-reminder>block appears (TaskCreate
hint, file context observation, etc.).
- Model produces a brief acknowledgment turn instead of continuing.
- User has to repeat "continue" / "don't stop" / "ignore reminders" several times to get through the batch.
Claude Model
Opus
Is this a regression?
Yes, this worked in a previous version
Last Working Version
Opus 4.7 (1M context)
Claude Code Version
Opus 4.7 (1M context)
Platform
Anthropic API
Operating System
Windows
Terminal/Shell
PowerShell
Additional Information
_No response_
This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗