The realtime SSE connection now negotiates its keepalive interval with the server instead of using a fixed value
What
- The SSE (server-sent events) transport used for the always-on realtime connection now advertises a maximum keepalive interval to the server via a query parameter, reads back the interval the server actually echoes, and derives its liveness timeout from that echoed value (falling back to a default if none is echoed). New diagnostic fields (
keepalive_tolerance_s,keepalive_interval_s,liveness_timeout_s,keepalive_interval_echoed) are logged on connect and on liveness timeout. - The
sseKeepaliveMaxIntervalSecondsoption is now threaded into the RemoteIO/SDK worker's transport setup, alongside other hosted-mode plumbing (like passinginitExternalMetadata/initialWorkerStatusinto the client, and routing diagnostics through a callback instead of straight to stderr in hosted mode).
Why Negotiating the keepalive interval instead of hardcoding it makes the realtime connection more resilient to different server configurations, and the added diagnostics make it easier to debug connection liveness issues.
tengu_ccr_sse_keepalive_max_interval_s 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.271: 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.
Read once, for one account on one subscription tier, against v2.1.271. It isn't a statement about your account. What a flag value here can and cannot tell you
New in this build: tengu_ccr_sse_keepalive_max_interval_s