{"version":"2.1.284","anchor":"cloud-session-event-upload-gets-server-driven-flush-beforea","canonical_anchor":"cloud-session-event-upload-gets-server-driven-flush-beforea","heading":"Cloud sessions can hold a writing tool until its call is on record","tier":"soon","area":"Cloud Sessions","url":"https:\/\/changelogs.core-directive.com\/v\/2.1.284\/e\/cloud-session-event-upload-gets-server-driven-flush-beforea","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.284","markdown":"### Cloud sessions can hold a writing tool until its call is on record\n\nIn cloud sessions, a tool that may write can now wait up to 30 seconds for its call to be stored, if the server's upload policy asks for it\n\n**Unclear.** It is not clear whether any server sends these instructions yet, or whether 30 seconds is a default or an upper limit.\n\n**What**\n\nIn cloud (CCR) sessions, Claude Code uploads a record of each event, including every tool call, which is a single action Claude takes such as editing a file. The server sends a policy saying when those uploads are flushed. That policy now accepts three more fields.\n\n- `flush_before_tools_wait_ms`: before a tool that may write runs, Claude Code releases held events and waits until the tool-call row is recorded as stored (on the client events lane, and the transcript lane when in use). The wait is capped at 30000 ms, with a separate grace limit for the row first reaching the queue.\n\n- `flush_after_tools`: \"none\", \"write\" or \"all\" (default \"none\"). A tool result then forces a flush; with \"write\", results from the gated writing calls do.\n\n- `live_twin_types`: rows of the listed types are held while a viewer is present.\n\n- The worker gains `gatesToolCalls` and `toolCallRowGraceMs` options and tracks whether uploaded tool-call rows were stored or dropped. `gatesToolCalls` is on for every session type except `bridge`.\n\n- These apply only when the hold rule is the server-sent policy, which also depends on `tengu_ccr_event_hold_enabled` (fallback true; nothing has been read about it for this release). If the policy leaves the fields out, the wait is 0 and nothing waits.\n\n**Why**\n\nA file change in a cloud session can be on record before it takes effect, so a crash cannot leave files changed with no trace of the edit in the transcript. The cost is that a writing tool may pause for up to 30 seconds, and only once the server sends a policy asking for it.\n\n- Flag `tengu_ccr_event_hold_enabled`: Not enough to say (read for one account on one subscription tier against v2.1.284; this account: no value returned, anonymous baseline: no value returned, compiled default: on) 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.\n- Area: Cloud Sessions\n- Tier: Nothing to try yet\n- Useful: 3\/5\n- Signal: 4\/5\n- Present in the build but not switched on"}