{"version":"2.1.299","anchor":"ccr-event-upload-byte-sized-timeouts-and-retry-smaller","canonical_anchor":"ccr-event-upload-byte-sized-timeouts-and-retry-smaller","heading":"Remote event uploads use size-based timeouts and retry in smaller pieces","tier":"internal","area":"Cloud Sessions","scope":"individual","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.299\/e\/ccr-event-upload-byte-sized-timeouts-and-retry-smaller","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.299","markdown":"### Remote event uploads use size-based timeouts and retry in smaller pieces\n\nUploads to \/worker\/events now get a timeout based on batch size, and a failed upload is split and retried in smaller batches\n\n**What**\n\nIn remote mode, Claude Code sends session events to `\/worker\/events` in batches. Before, every batch had a fixed time limit and a fixed size cap of 10485760 bytes.\n\n- The time limit is now worked out from the batch's size in bytes: a base amount plus an allowance per byte. On retries of large batches that cannot be cut further, it grows exponentially.\n\n- The size cap comes from `workerSocket?.maxBatchBytes`. If that is not set, it falls back to 10 times a constant.\n\n- When an upload fails, a new `retrySmaller` step splits the batch and sends the smaller pieces again.\n\n- A reader for a 404 `client_event` not_found reply and a classifier for HTTP status codes were also added.\n\n**Why**\n\nLarge events no longer have to fit a single fixed time limit, so remote sessions with large events should fail less often when uploading.\n\n- Area: Cloud Sessions\n- Tier: Under the hood\n- Useful: 2\/5\n- Signal: 2\/5\n- Scope: individual\n- Heads-up: no"}