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

Claude Code v2.1.233 ·

REPL contexts moved into per-session tool state

REPL contexts moved to a registry that releases timers even on error paths.

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

REPL contexts no longer live on the session object. They sit in a registry with explicit release, wired into session teardown and into a finally block on the MCP server tool path so timers get cleared on the error route too.

Details
  • getReplContexts() and setReplContext() are gone from tool-use context objects, including both non-interactive builders; the REPL tool and the fork/replay-log path now read a keyed entry in tool state instead.
  • A teardown step is literally named replContext.
  • The REPL feature stays behind tengu_slate_harbor, which falls back to false, or CLAUDE_CODE_REPL.
Evidence

replContext, getReplContexts: () => ({}),

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

Read from
Feature flag
tengu_slate_harbor Not enough to say

Nothing here resolved what this flag was doing on this version, so nothing here should be read as on or off.

This account: no value returned · anonymous baseline: no value returned · compiled default in v2.1.233: off

These values were read against a different version of Claude Code, so treat them as the nearest reading available instead of one taken on this release.

Read once, for one account on one subscription tier, against v2.1.233. It isn't a statement about your account. What a flag value here can and cannot tell you

See this entry in the whole of v2.1.233 →

Feedback