Source Intelligence

DisclaimerUnofficial, and not affiliated with Anthropic. Nearly all of this is read straight out of what ships: npm bundles, captured prompts, published docs. Anthropic's own notes go in verbatim, marked as theirs. The rest is my reading, and every entry carries the strings behind it. If one looks wrong, vote it down and say why.

All of v2.1.126 Home All releases olderv2.1.124 v2.1.128newer
Claude Code v2.1.126

Read-tool no longer injects a model-specific malware-analysis system reminder

What

When the Read tool returned the contents of a file, prior versions appended a <system-reminder> instructing the assistant to treat any file content as potentially malware and to refuse to "improve or augment" the code while still allowing analysis. That reminder has been removed entirely, along with the per-file model tracking that decided when to inject it.

User impact:

  • File reads now produce cleaner output without an extra trailing system reminder block.
  • Models that previously received the reminder (Claude 3 Opus/Sonnet/Haiku, 3.5 Sonnet/Haiku, 3.7 Sonnet, Sonnet 4.0/4.5, Opus 4.0/4.1/4.5, Haiku 4.5) will no longer be auto-instructed to refuse to "improve or augment" code in the file. In practice this means Claude Code can edit code in files it has read without that hardcoded refusal cue in its context.
  • The model-tracking WeakMap that recorded which model read which file (qB7) is gone, as is the hardcoded model allowlist (oB_) used to gate the reminder.

For users who relied on Claude pushing back on suspicious-looking code in read files, you may notice it doing so less aggressively; behavior now derives only from the model's own training and your project instructions, not from a hardcoded reminder.

Evidence
  • The system-reminder string "Whenever you read a file, you should consider whether it would be considered malware..." was removed (search for it in v2.1.124 — present; v2.1.126 — absent).
  • The model allowlist Set(["claude-3-opus", "claude-3-sonnet", ..., "claude-haiku-4-5"]) was removed.
  • File-read formatter simplified from q = sB_(H) + iB_(H.file) + (aB_(K) ? rB_ : "") (with conditional reminder) to q = rB_(H) + iB_(H.file) (no reminder).
  • The line qB7.set(Z, M.options.mainLoopModel) that recorded the reading model per text block was removed.

See this entry in the whole of v2.1.126 →