A cloud workflow turn cut off by a worker restart now resumes instead of vanishing.
What's wrong with this entry?
A 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.
- Only runs on remote transports, requiring a remote session with both the
CLAUDE_CODE_REMOTEandCLAUDE_CODE_REMOTE_SESSION_IDenvironment variables set; a local run never takes this path. - 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. - Skipped resumes log a reason:
not_a_later_epochwhen the restarted worker is not newer than the dispatching one, anddigest_differswhen the recorded work no longer matches the server's digest. - After a cap on retry attempts the launch is settled as spent rather than retried forever, and launch telemetry gained an
attemptfield; bundle download retries logworkflow_launch_bundle_fetch_retry. - The resume code is loaded on demand at startup, and only when the restored worker state actually carries a pending workflow launch.
workflow_launch_attempts_spent, workflow_launch_resume_skipped
Strings lifted out of the shipped bundle, so the claim above can be checked against them.