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.227 Home All releases olderv2.1.226 v2.1.228newer
Claude Code v2.1.227

Module-level mutable state folded into resettable holders

Under the hood
Useful1 Signal2
Session State

More scattered state became resettable holders, including per-instance locks instead of one global.

What

Dozens of scattered module-level variables, maps and sets were moved into lazily created state objects reached through accessors, covering plugin state, agent and task state, git scrub paths, config caching, teammate mailboxes and terminal capability probes. Several holders gained a reset() method, and a process-wide promise-chain lock became a factory producing per-instance locks, so in-process state can now be torn down and rebuilt.

Details
  • MCP errors are now dispatched into a store as { type: "mcpError", serverName, error } rather than accumulated in a module array.
  • New named fields include agentTranscriptSubdirs, bareGitRepoScrubPaths, installedPluginsFile, terminalRejects, childProcessTmpDirMemo and scriptCapsLatched.
  • No user-visible behaviour change.
Evidence

bareGitRepoScrubPaths

Strings lifted out of the shipped bundle, so the claim above can be checked against them.

Related

Other releases about the same thing. Found by shared names or similar wording; neither means one caused the other.

See this entry in the whole of v2.1.227 →