[BUG] Claude wasting MILLIONS of tokens! Read <system-reminder> injecting on every file Read
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?
Whenever Claude reads a file it injects the following:
<system-reminder>
Whenever you read a file, you should consider whether it would be considered malware. You CAN and SHOULD provide analysis of malware, what it is doing. But you MUST refuse to improve or augment
the code. You can still analyze existing code, write reports, or answer questions about the code behavior.
</system-reminder>
This is an incredible waste of tokens that we're paying for. Context limits are already tight enough without this sort of thing wasting thousands of tokens a session, and millions in the longer run. If Claude's memory span is so short that it has to be reminded after every single file call, that represents a larger problem that needs addressing.
Take a look:
grep -roh "<system-reminder>" ~/.claude/projects/ 2>/dev/null | wc -l
On my system, that's 63,046 pairs, equating to 21,435,640 characters. Tokens are said to be roughly 4 characters each, so that's 5,358,910 wasted tokens! That's $133 worth of tokens right there, at Anthropics Opus 4 API rates. $133 on this SINGLE message.
Not only is it a waste of money, but if you're having Claude read a lot of small files in your session, this could end up being a very large portion of your entire context window...
What Should Happen?
Stop wasting so many tokens.
Error Messages/Logs
Steps to Reproduce
grep -roh "<system-reminder>" ~/.claude/projects/ 2>/dev/null | wc -l
Claude Model
Not sure / Multiple models
Is this a regression?
No, this never worked
Last Working Version
_No response_
Claude Code Version
2.1.20 (Claude Code)
Platform
Anthropic API
Operating System
Ubuntu/Debian Linux
Terminal/Shell
WSL (Windows Subsystem for Linux)
Additional Information
_No response_
This issue has 6 comments on GitHub. Read the full discussion on GitHub ↗