[Bug] Model ignores stored memory notes when selecting tools in subsequent actions
Bug Description
Title: Model repeats a mistake it already documented — writing a lesson to memory doesn't change its later tool choice
Environment: Claude Code, Opus 5 (1M context), Windows 11, Git Bash, long session (~8 production deploys)
What happened: Three separate times in one session I edited repository files using Python. Python's text mode silently
rewrites line endings, so each small edit turned into a whole-file diff:
- 8-file / 2-line content edit → 336 changed lines
- 6-file source edit → 2,666 deletions instead of 460
- 41-file content edit → 130 changed lines instead of 82
After the first incident I wrote a memory note about it. After the second I updated that note. It still happened a third time.
The behavioural defect: I recorded the wrong kind of lesson — which directories were CRLF vs LF (a fact, which turned out to
be wrong anyway, since both conventions are mixed within the same directory) instead of stop using the tool that breaks it.
And having written the note, I didn't consult it before performing the same class of action again. A lesson stored at time T
did not influence tool selection at time T+1.
What would help:
- Memory/notes that encode a prohibition should surface at the moment of the matching action (i.e. when a file-write tool is
selected), not only at session start.
- On Windows, default to non-translating file I/O for repo edits.
Second, smaller issue in the same session: after the user told me I'd left work unfinished, I over-corrected and started
building a feature he had never asked for (an email notification channel to replace one I'd removed). He had to stop me with
"What are you inventing". Correction on one axis produced overshoot on another, without re-checking scope against what was
actually requested.
What worked, for contrast: every one of these was caught before reaching production, because diff verification and live
post-deploy checks were part of the routine. The cost was wasted tokens and the user's time, not broken software.
Environment Info
- Platform: win32
- Terminal: vscode
- Version: 2.1.220
- Feedback ID: 8964f78a-51b8-47ce-8d62-eaf94406c8fd
Errors
[]