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
keepAliveAtWorkStartoption 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_KEEPALIVESenvironment variable. They used to also need thetengu_ccr_classifier_keepalive_enabledserver 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_KEEPALIVESis set, a check passes,tengu_encapsulated_honeyevaluates to "on", and another check does not trip. Nothing has been read yet about this gate. - Event hold: the
eventHoldEnabledoption, which read the server flagtengu_ccr_event_hold_enabledwith a fallback of true, is replaced by a fixedfollowsServedPolicy: true. The client'smergesSameRunandwaitsForStatusnow checkfollowsServedPolicy. - Headless session fields:
pulseKeepAliveis replaced bysessionSignalandkeepAlive, andhasLiveSessionWakeupis 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.
tengu_ccr_classifier_keepalive_enabled Off in both readingsThe 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
What the second check looks at, and so when keep-alives turn on without the server switch, is not established.