Problem
Desktop Side Conversations are removed whenever navigation changes the active Session away from their source Session. This also happens when the destination is a linked child/Sub Agent Session belonging to the same unit of work.
For example:
- Open a Side Conversation from a parent Session.
- Keep a draft or start a Turn in the Side Conversation.
- Open one of the parent Session's linked child/Sub Agent Sessions.
- Return to the parent Session.
The Side Conversation has been closed and its temporary fork removed. A running answer, draft, and conversation history can no longer be resumed from the parent.
This is consistent with the current temporary lifecycle rather than an implementation regression: the Desktop controller removes panels whose sourceSessionId differs from the active Session, and the Side Conversation documentation specifies cleanup when the owning Session changes. However, a linked child is still part of the same work, so treating that navigation like switching to an unrelated Session makes inspection of delegated work unnecessarily destructive.
Desired outcome
Preserve a source Session's Side Conversations while the user navigates between that source and its linked descendant Sessions.
- The Side Conversation remains owned by its original source Session; it is not reparented to the child.
- Its draft, transcript, and running Turn remain intact while a linked child is open.
- Returning to the source restores the same Side Conversation tabs.
- Explicitly closing the tab keeps the current cleanup behavior.
- Navigating to an unrelated Session may keep the current temporary cleanup behavior.
- Removing the source Session still cleans up its temporary Side Conversations.
- This does not make Side Conversations durable across restart, widen their permissions, synchronize their model with later parent changes, or promote them into ordinary Sessions.
This should be tracked as a focused lifecycle slice under #4331.
Alternatives or workarounds
- Return to the parent before opening or continuing a Side Conversation. This prevents simultaneous inspection of linked child work.
- Promote the Side Conversation to a durable ordinary Session. That is a broader product decision and is unnecessary for navigation within one linked Session family.
- Retain every Side Conversation globally. That would change the temporary lifecycle for unrelated work and is broader than needed.
- Reparent the Side Conversation to the active child. That would change lineage and cleanup ownership and should be avoided.
Problem
Desktop Side Conversations are removed whenever navigation changes the active Session away from their source Session. This also happens when the destination is a linked child/Sub Agent Session belonging to the same unit of work.
For example:
The Side Conversation has been closed and its temporary fork removed. A running answer, draft, and conversation history can no longer be resumed from the parent.
This is consistent with the current temporary lifecycle rather than an implementation regression: the Desktop controller removes panels whose
sourceSessionIddiffers from the active Session, and the Side Conversation documentation specifies cleanup when the owning Session changes. However, a linked child is still part of the same work, so treating that navigation like switching to an unrelated Session makes inspection of delegated work unnecessarily destructive.Desired outcome
Preserve a source Session's Side Conversations while the user navigates between that source and its linked descendant Sessions.
This should be tracked as a focused lifecycle slice under #4331.
Alternatives or workarounds