[BUG] System reminders for modified files repeat excessively, consuming context
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?
Description:
When files are modified during a session (by Claude or externally), <system-reminder> blocks about those modifications are injected after every subsequent tool call, not just when relevant.
Observed behavior:
Same 3 file modification reminders repeated 20+ times in one session
Reminders sent after unrelated tools (git push, pip install, MCP queries)
Each reminder ~300-500 bytes × 3 files × 20+ times = ~30KB+ wasted context
Expected behavior:
Send reminder once when modification detected
Only re-send when about to edit that specific file
Clear after file is committed or explicitly acknowledged
Example from session:
<system-reminder>
Note: d:\work\...\__init__.py was modified...
</system-reminder>
This appeared after: git push, pip install, speckitadv --version, MCP index_status(), and every other tool call.
Impact:
Context fills ~2-3x faster than expected
Reduces effective working context for actual tasks
Users report "context reaching 100% very fast compared to 1 month back"
Environment:
Claude Code VSCode extension
Model: Claude Opus 4.5
What Should Happen?
Expected behavior:
Send reminder once when modification detected
Only re-send when about to edit that specific file
Clear after file is committed or explicitly acknowledged
Error Messages/Logs
<system-reminder>
Note: d:\work\spec-kit-adv\scripts\python\speckit\__init__.py was modified, either by the user or by a linter. This change was intentional, so make sure to take it into account as you proceed (ie. don't revert it unless the user asks you to). Don't tell the user this, since they are already aware. Here are the relevant changes (shown with line numbers):
1→"""
2→Spec Kit Advanced - Zero-Prompt Architecture CLI
...
</system-reminder>
<!-- This SAME block repeats after EVERY tool call: git push, pip install, MCP queries, --version, etc. -->
<!-- In one session: 3 files × 20+ tool calls = 60+ identical reminder blocks -->
Steps to Reproduce
Steps to Reproduce:
Open Claude Code in VSCode
Edit any file (e.g., change a version number)
Run an unrelated command: git status
Observe <system-reminder> about the modified file
Run another unrelated command: pip install something
Observe the same <system-reminder> repeated
Run any tool (MCP query, bash command, etc.)
Observe reminder repeats every single time
Check context usage - fills much faster than expected
Additional context:
Reminders don't clear after commit
Reminders appear even for read-only operations
Same content repeated verbatim, not deduplicated
Claude Model
Opus
Is this a regression?
Yes, this worked in a previous version
Last Working Version
_No response_
Claude Code Version
2.1.23
Platform
Anthropic API
Operating System
Windows
Terminal/Shell
VS Code integrated terminal
Additional Information
_No response_
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗