-
Notifications
You must be signed in to change notification settings - Fork 1.3k
Add ability to fork/clone a session to enable parallel task branches with shared context #2526
Description
Describe the feature or problem you'd like to solve
During long-running Copilot CLI sessions, it's common to discover a new significant task while deep in an existing one. Today, the options for handling this are unsatisfying: - Stay in the same session: Going deep on the new task pollutes the context window and makes it harder to resume the original task. The conversation history becomes a tangled mix of two unrelated efforts. - Start a new session (/new): The new task loses all relevant context from the current session — file understanding, architectural decisions, prior investigation — even though that context is directly useful for the new work. - Compact and switch (/compact): Compaction is lossy. Important details about the in-progress task (partial plans, nuanced decisions, tool output) are often summarized away, making it difficult to resume with full fidelity.
Proposed solution
Add a /fork slash command (and corresponding --fork CLI option) that duplicates the current session into two independent sessions sharing the same conversation history up to the fork point.
/fork [NAME]
- Creates a new session that is an exact copy of the current session's context (conversation history, checkpoints, working directory, permissions, etc.) up to the point of the fork.
- The current session remains active and unchanged.
- The new (forked) session is given an optional name, or auto-named (e.g.,
<original-name>-fork-1). - After forking, the user can switch to the new session with
/resumeto work on the new task, and later/resumeback to the original session to continue the earlier work. - Both sessions evolve independently from the fork point onward.
Example prompts or workflows
No response
Additional context
No response