Claude Code 2.1.303 (claude.exe strings) — excerpts relevant to PR #25745 ## Workflow tool call: fresh task id per launch; runId reused only on resume let B=r.resumeFromRunId??`wf_${qt().slice(0,12)}`,X=Ak("local_workflow"),O=F.meta.description,H=F.meta.name,D=HCe(F.scriptBody);if(!D.ok)return m("task_local_workflow","compile_failed"),{data:{status:"async_launched",taskId:X,taskType:"local_workflow",workflowName:H,runId:B,summary:O,error:`${D.error}${vr(r,s.tools)}`}};let K=S1(B),Q=y??wGn(H,B,h,s.storageV5);Hts(B,Q,h,s.toolState.get(lTt));let se ## Task id generator: prefix + 8 random chars function Ak(e){let t=r[e]??"x",s=i(8),a=t;for(let n=0;n<8;n++)a+=o[s[n]%o.length];return a}function nb(e,t,s,a){return{id:e,type:t,status:"pending",description: ## Runner on resume: removes old task entries for the same runId if(Se){if(!e.v2Run||!e.v2Run.founded)g("task_local_workflow_resume");for(let[X,ie]of Object.entries(P.taskRegistry.all()))if(ie.type==="local_workflow"&&ie.workflowRunId===o&&ie.status!=="running"&&!(Gs(ie.status)&&!Av(X)))P.taskRegistry.remove(X)}let u=l6(P.agentId,P.taskRegistry),s=PXr({taskId:n,script:w,scriptPath:h,summary:S ## Launch returns the new task id return te({...re,taskId:X,isResume:r.resumeFromRunId!=null,...Ie&&{withholdScriptFromSdkEvents:!0}}),{data:{status:"async_launched",taskId:X,taskType:"local_workflow",workflowName:H,runId:B,summary:O,transcriptDir:K,scriptPath:Q}}}}},renderToolUseMessage(e,{ve