Follow Discord
Sweep 06 Nov 2026 · 01:32Z Build v2.1.319 537 read Stable v2.1.311 Latest v2.1.318 Next v2.1.319 Feeds RSS JSON llms.txt llms-full.txt Unofficial

Claude Code v2.1.311 ·

Remote session keep-alive and event-hold handling reworked

Remote sessions get new keep-alive rules, a fixed event-hold policy in place of a server switch, and can start without their stored worker state

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

What

A remote session is one where Claude Code runs on a cloud machine instead of your own computer. A keep-alive is a small signal that tells the server the session is still working. Several parts of how these sessions start, stay alive and send their events changed together.

  • Startup without stored state: when a worker registers and its read of stored worker state (GET /worker) has not finished, that read can now be abandoned. Claude Code logs that it is continuing without the stored worker state.
  • Keep-alive at work start: a new keepAliveAtWorkStart option starts a keep-alive timer when work begins. It applies to sessions that own their process and depends on model calls, tool runs and hook runs.
  • Work-only state: the keep-alive timer is skipped, and an active one ends, when a helper reports that only work-only tasks remain.
  • Classifier keep-alives: these still need the CLAUDE_CODE_REMOTE_SEND_KEEPALIVES environment variable. They used to also need the tengu_ccr_classifier_keepalive_enabled server flag, but now also run when a second check passes, even if that flag is false. What the second check tests was not resolved.
  • New keep-alive gate: a new helper turns keep-alives on only when CLAUDE_CODE_REMOTE_SEND_KEEPALIVES is set, a check passes, tengu_encapsulated_honey evaluates to "on", and another check does not trip. Nothing has been read yet about this gate.
  • Event hold: the eventHoldEnabled option, which read the server flag tengu_ccr_event_hold_enabled with a fallback of true, is replaced by a fixed followsServedPolicy: true. The client's mergesSameRun and waitsForStatus now check followsServedPolicy.
  • Headless session fields: pulseKeepAlive is replaced by sessionSignal and keepAlive, and hasLiveSessionWakeup is added. This suggests a rework of idle and wake-up handling in sessions that run without a screen.

Why

Remote sessions can start sooner when the stored-state read is slow, and they keep alive or stop keeping alive under different rules. Event holding is now built in rather than controlled by a server switch, so it can no longer be turned off from the server for this build.

Read from
Feature flag
tengu_ccr_event_hold_enabled 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.311: not a boolean we can read

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.

tengu_ccr_upload_hold_marker 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.311: 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.311. 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.311 →

Feedback