{"version":"2.1.242","anchor":"cloud-workflow-launches-survive-a-worker-restart","canonical_anchor":"cloud-workflow-launches-survive-a-worker-restart","heading":"Cloud workflow launches survive a worker restart","tier":"notice","area":"Cloud Sessions","scope":null,"heads_up":null,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.242\/e\/cloud-workflow-launches-survive-a-worker-restart","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.242","markdown":"### Cloud workflow launches survive a worker restart\n\nA cloud workflow turn cut off by a worker restart now resumes instead of vanishing.\n\n**What**\n\nA workflow launch that the server dispatched but that was cut short by a cloud or runner worker restarting mid-turn is now retried on startup instead of being dropped, so the turn picks up where it left off. Resumption is deliberately narrow: the restarted worker must be strictly newer than the one that dispatched the launch, and the saved bundle of work must still match the digest the server reported. Bundle downloads retry on failure too.\n\n**Details**\n\n- Only runs on remote transports, requiring a remote session with both the `CLAUDE_CODE_REMOTE` and `CLAUDE_CODE_REMOTE_SESSION_ID` environment variables set; a local run never takes this path.\n- Additionally gated on `CLAUDE_CODE_RESUME_INTERRUPTED_TURN`, which the supervisor process sets only from the second worker start onward, so a first start never attempts a resume.\n- Skipped resumes log a reason: `not_a_later_epoch` when the restarted worker is not newer than the dispatching one, and `digest_differs` when the recorded work no longer matches the server's digest.\n- After a cap on retry attempts the launch is settled as spent rather than retried forever, and launch telemetry gained an `attempt` field; bundle download retries log `workflow_launch_bundle_fetch_retry`.\n- The resume code is loaded on demand at startup, and only when the restored worker state actually carries a pending workflow launch.\n\n**Evidence**\n\n`workflow_launch_attempts_spent`, `workflow_launch_resume_skipped`\n\n- Area: Cloud Sessions\n- Tier: You'll notice\n- Useful: 3\/5\n- Signal: 3\/5"}