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.227 ·

Terminal renderer state moved off module globals

Renderer instances no longer share mutable state, so multiple renderers don't interfere.

Under the hood Internal Changes
JSON All of v2.1.227
Under the hoodTier: how much it should matter to you
1Useful: my rating, 1 to 5
0Signal: worth watching, 1 to 5
Terminal RenderingArea: what it touches
Internal ChangesKind: in v2.1.227,
Internal ChangesSection of the release
What

Layout rectangles are now stored on each rendered node rather than in a shared module-level map, and the "stdout has died" latch moved onto the renderer instance. Renderer instances no longer share mutable state.

Details
  • Node layout is used for hit-testing, click dispatch and scroll adjustment.
  • Instance fields stdoutDead and tolerateDeadStdout replace globals; neither name exists in v2.1.226.
Evidence

if (e.tolerateDeadStdout && (kSd(a) === "EIO" || kSd(a) === "EPIPE")) {

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.227 →

Feedback