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_event_hold_enabled Not enough to sayNothing 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 sayNothing 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.
tengu_misty_spindle_enabled Off by default, switched on for this accountThe shipped code defaults this off, and the flag server returned on for the one account this site reads on this version. That is the reading that makes the entry above worth a second look, and it still says nothing about your account.
This account: on · anonymous baseline: on · 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