What
A workflow is a scripted run of steps that Claude Code can carry out, sometimes in the background. Resuming one after an interruption changed in three ways:
- When a background workflow could not be resumed, the notice now includes a manual resume call with the script path, run id and arguments. These values are checked and cleaned first, and an explanatory fallback text is used if they fail. The notice is left out for a run that uses
withholdScriptFromSdkEvents. Before, the notice only said the run "was checkpointed for the background fork but the fork failed to spawn; it was not resumed." - A resume can now be refused, with the reason shown as the message, for example: "This workflow run hides its script, and this session has not loaded that script, so it cannot resume the run." A resume can also go ahead while noting that the run hides its script, in which case only the original script runs. Logs and progress of a hidden workflow are redacted. Before, a resume used the script directly with no such check.
- The notice about workflows "orphaned by previous process exit" now skips tasks in an excluded set, and cleans the workflow name and run id before showing them. Before, every workflow not yet reported was listed.
Why
A run that hides its script can no longer be resumed from a session that never loaded that script. Names, ids and paths in resume notices are now checked before they are shown, and resumed sessions may list fewer orphaned workflows.