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 No documentation found 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

Unclear What the second check looks at, and so when keep-alives turn on without the server switch, is not established.

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_classifier_keepalive_enabled Off in both readings

The flag server returned off for the account this site reads and for the anonymous baseline. A reading of off cannot rule out a rollout these two readings sit outside of.

This account: off · anonymous baseline: off · 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

How sure we are
Something disagreesSomething we can check disagrees with this entry, or the writer said they could not settle it.
The writer flagged doubtWhat the second check looks at, and so when keep-alives turn on without the server switch, is not established.

See this entry in the whole of v2.1.311 →

Feedback