You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
[Bug]: Stop can't end background work after a run fails before its provider starts ("Run … is not interruptible") #15472
Press Stop on the background work banner, or in the composer.
Expected behavior
Stop ends the background work, as it does when the newest run completed normally.
Actual behavior
A toast says Run run:thread:<id>:ordinal:18 is not interruptible. The work keeps running and the banner stays. Each new message adds another failed run, so the thread is stuck until the work ends on its own.
Cause
With no active run, interruptThreadTurn (packages/client-runtime/src/operations/commands.ts) sends run.interrupt for the newest run, because the thread shows pending background work. That's the right target: the server only reaches background work through the newest run (hasBackgroundWork in dispatchRunInterrupt, apps/server/src/orchestration-v2/Orchestrator.ts).
The handler then looks for a provider turn of that run's attempt. A run that failed before its provider started has none, so it rejects the run as not interruptible. The work belongs to an earlier turn of the same provider thread.
Suggested fix
In dispatchRunInterrupt, when the run has background work but no provider turn of its own, use the provider thread's latest turn. Its session owns the work, and settled-turn interrupts already work this way: Claude closes the CLI process for the native thread, and the settle follow-up ends what's left. It's server-only; the client already sends the right run. I can open the PR.
PR opened: #15474. When a stopped run has background work but no provider turn of its own, dispatchRunInterrupt now falls back to the provider thread's latest turn. The existing Stop integration test now stops a run that failed before its provider started; it fails on main with this exact error.
Activity
vitalyiegorov commentedon Oct 4, 2026
PR opened: #15474. When a stopped run has background work but no provider turn of its own,
dispatchRunInterruptnow falls back to the provider thread's latest turn. The existing Stop integration test now stops a run that failed before its provider started; it fails onmainwith this exact error.