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.
- 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
/resume to work on the new task, and later /resume back 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
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
/forkslash command (and corresponding--forkCLI option) that duplicates the current session into two independent sessions sharing the same conversation history up to the fork point.<original-name>-fork-1)./resumeto work on the new task, and later/resumeback to the original session to continue the earlier work.Example prompts or workflows
No response
Additional context
No response