fix(server): Claude takes agent updates at tool boundaries

Agent updates to a Claude turn wait in the durable queue instead of steering,
which would cancel running tools that Claude reads as a user refusal. The
running turn now takes them at its next root PostToolBatch or Stop hook as
additional context, so an update arrives right after the current tool call
instead of after the whole turn.

The hook claims queued updates through ProviderContinuationRequests; the
worker promotes each into the running run with the existing
promote-to-steer command (no steer effect, the run's own model selection,
delegated completions accepted in the same commit). Held queues and stopped
runs refuse the claim, so Stop wins. Unclaimed updates start the next turn as
before. Updates with attachments, which hooks cannot carry, still steer
natively with a note that they came from another agent.

Related-PR: https://github.com/pingdotgg/t3code/pull/21158
Co-Authored-By: Claude Opus 5.5 at high effort <noreply@anthropic.com>
Co-Authored-By: GPT-6.1 Sol at xhigh effort, review subagent <noreply@openai.com>
2418c1cdeeAlb11747 committed on 10/20/2026, 4:02:09 AMparent4e1a46f

Checks

5 successful · 1 skipped
All checks passed
8 files changedLine totals unavailable