Skip to content

Add ability to fork/clone a session to enable parallel task branches with shared context #2526

@danroth27

Description

@danroth27

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 /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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No fields configured for Feature.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions