{"version":"2.1.288","anchor":"bridge-bridge-call-carries-expected-epoch-epoch-conflicts","canonical_anchor":"bridge-bridge-call-carries-expected-epoch-epoch-conflicts","heading":"Cloud bridge requests check the worker epoch","tier":"soon","area":"Remote Control","scope":"individual","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.288\/e\/bridge-bridge-call-carries-expected-epoch-epoch-conflicts","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.288","markdown":"### Cloud bridge requests check the worker epoch\n\nThe \/bridge request can now send expected_epoch and handles epoch conflicts, and worker_epoch is described as sent by every claude-code-server worker\n\n**Unclear.** It is not clear what supplies the expected epoch, so when it is actually sent is unknown.\n\n**What**\n\nThe bridge connects a Claude Code session to a worker running in the cloud. A worker epoch is a number that tells newer workers apart from ones that have been replaced. Before, the `\/bridge` request sent an empty body (`{}`).\n\n- The `\/bridge` request can now send `expected_epoch`.\n\n- A 409 epoch conflict is handled through `onEpochConflict`. A 409 is the server's reply when the request clashes with the worker's current state.\n\n- Connection failures are treated as temporary.\n\n- A 403 `sub_reason` is checked to be in snake_case (lowercase words joined by underscores) before it is passed on.\n\n- The description of the `worker_epoch` field now says every claude-code-server worker sends it, whatever the `tengu_violin_wood` flag reads. Before, it said the field was sent only where that flag was on.\n\n- The `register_device_hooks` mention is removed from that description.\n\n**Why**\n\nThe bridge can now detect when it is talking to a worker that has been replaced and deal with it, rather than carrying on with an outdated one. The worker epoch is now described as always present, no longer tied to the `tengu_violin_wood` flag.\n\n- Flag `tengu_violin_wood`: Off in both readings (read for one account on one subscription tier against v2.1.288; this account: off, anonymous baseline: off, compiled default: 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.\n- Area: Remote Control\n- Tier: Nothing to try yet\n- Useful: 2\/5\n- Signal: 3\/5\n- Scope: individual\n- Heads-up: no\n- Present in the build but not switched on"}