What
This applies to remote sessions, where Claude Code runs on a remote worker and streams its progress back. The part of Claude Code that sends updates from that worker, called the CCR client, changed in several ways:
- Large tool inputs: when Claude prepares the input for a tool (an action such as editing a file or running a command), that input arrives in small pieces called
input_jsondeltas. Updates for large ones are now sent on a slower timer, controlled bytoolInputFlushMsand set through a newsetToolInputFlushMssetting. A newccr_tool_input_flushevent is logged. Before, all stream updates used one shared interval. - Shutdown: when the session ends, any worker metadata still waiting to be sent is now flushed. The result is logged as
cli_worker_metadata_at_shutdown, with an outcome ofdrained,timed_out,cutorrefused. Before, shutdown flushed only internal events and client events. - Live rows: live updates are now stamped with
live_turn_id,live_indexandemitted_at_ms. - Status markers: the client adds
ridesAStatus: ["reply_degraded", "card_turn_stamp"]. - Housekeeping requests: housekeeping control requests are now marked so their ids are tracked.
- Dropped batches:
lastTaskListis cleared when batches of durable events are dropped.
Why
These are mostly behind-the-scenes changes to remote sessions. In practice, large tool inputs should cause fewer separate uploads, and session metadata that has not been sent yet is no longer simply abandoned when the session exits.