A thread can now move to a linked environment with its conversation and its git work, with exactly one copy live. ThreadHandoff marks it departing, which refuses new turns and keeps queued runs from starting; packs the branch and working tree with HandoffGit; uploads the bundle through the other side's signed attachment route; and calls t3_thread_import there, which now takes the bundle and applies it in a new worktree before creating the thread. Only then is the thread departed here and read-only. A failed move marks it failed, which takes turns again, and nothing is left there. An agent can move its own thread with t3_thread_handoff. The move then waits as pending until its turn ends, starts the thread there with the agent's continuationPrompt, and is cancelled by a user message sent before the turn ends. A startup sweep runs moves that a restart cut short; import ids derive from the handoff, so a retry finds the thread already there. threadHandoff.options / start / cancel serve the clients. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Julius Marminge committed on 10/20/2026, 11:07:04 PMparent75b2c90
32 files changedLine totals unavailable