fork a Claude conversation into a new pane

Adds fork-into-a-pane: /fork in the composer, a roster Fork button, and a
clide.agent.fork command all branch a session via
--resume <source> --fork-session, so the branch gets its own claude
session id and diverges without touching the original. SpawnSpec/
ManagedSession gain forkSourceSessionId; the orchestrator selects the
fork argv via a new forkSessionArgs helper; the session host opens the
fork as a new secondary pane.

The branch's real claude session-id (assigned by --fork-session, arriving
in the init event) is not yet captured back — tracked as T-185.

T-172.

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
2026-05-30 23:34:50 +02:00
co-authored by Claude
parent 2888efbe5f
commit e3c0b0146b
13 changed files with 412 additions and 40 deletions
+3
View File
@@ -72,6 +72,9 @@ heading, and (b) bumping `pubspec.yaml` `version:` in the same commit.
safe trio default → acceptEdits → plan and sends `set_permission_mode` to
that session; Shift-click reaches `bypassPermissions` behind a confirm.
The badge reflects the live mode. (T-181, D-77)
- Fork a Claude conversation into a new pane — `/fork` (or a roster Fork
button / `clide.agent.fork`) branches a session via `--resume … --fork-session`,
opening an independent continuation that leaves the original untouched. (T-172, D-77)
- Team coordination broker (T-170, D-77) — clide hosts an in-process MCP
server (`clide-team`) for managed sessions over the stream-json control
channel, giving agents tools to message each other, broadcast, see the