Follow Discord
Sweep 22 Oct 2026 · 21:04Z Build v2.1.309 528 read Stable v2.1.308 Latest v2.1.309 Next v2.1.309 Feeds RSS JSON llms.txt llms-full.txt Unofficial

Claude Code v2.1.228 ·

Session state moved out of module globals

Lots of shared state now lives per session, so two sessions in one process stop stepping on each other.

Under the hood Internal Changes
JSON All of v2.1.228
Under the hoodTier: how much it should matter to you
2Useful: my rating, 1 to 5
3Signal: worth watching, 1 to 5
Session StateArea: what it touches
Internal ChangesKind: in v2.1.228,
Internal ChangesSection of the release
What

MCP wiring, interaction and idle tracking, model overrides, refusal-fallback latches, command and Slack completion caches and artifact notice coalescing now live in classes held in a WeakMap keyed by a session root instead of shared module-level variables. Several reset() methods went away, since discarding the root now discards the state.

Evidence

refusalFallbackLatchOriginRequestId

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

See this entry in the whole of v2.1.228 →

Feedback