github / github/copilot-cli

Allow /fork to open a new terminal and add copilot --fork

Open
#4,580 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

triage
Dominant language
Shell
Stars
11.2k
Forks
1.9k
Avg merge
14h 16m
Merged PRs (30d)
6

Description

Describe the feature or problem you'd like to solve

The interactive /fork command moves the current terminal into the fork, and Copilot CLI has no startup option for creating a fork from an existing session. This makes parallel terminal workflows unnecessarily manual.

Proposed solution

Support both of these entry points:

  1. Add copilot --fork=<session-id> --name=<new-session-name>. It should create a new fork of the supplied session, apply the optional name to the new fork, and start the fork in the process that invoked the command. The source session name should remain unchanged.
  2. Add an option such as /fork --new-terminal [name]. It should create the fork in a new terminal window or tab while the current terminal remains in the original session.

The command line option provides a portable building block when automatic terminal launching is unavailable. Users can combine it with their preferred terminal application.

If /fork --new-terminal cannot identify or launch the current terminal application, it should return the new session ID and a ready-to-run copilot --resume=<new-session-id> command instead of silently changing behavior.

Example prompts or workflows
  1. Run /fork --new-terminal investigate-auth during a task. The fork opens separately, and the original session remains visible and interactive.
  2. Run wt new-tab copilot --fork=<session-id> --name=investigate-auth to create and name a fork in a new Windows Terminal tab.
  3. Run copilot --fork=<session-id> --name=alternative-design from another shell to create, name, and enter a fork of a specific session.
  4. Run !wt new-tab copilot --fork=<session-id> --name=side-investigation inside Copilot CLI to launch the fork without abandoning the current session.
Additional context

This replaces #4578, which was submitted without the Feature Request form.

This is a focused follow-up to #2058. That issue requested the core /fork command and mentioned a new terminal window or tab in its proposed solution. The core command now exists, but terminal selection and process startup interfaces are still missing.

Related issue #1697 also describes working with forked sessions in separate terminals.

Confirmed with GitHub Copilot CLI 1.0.81-8: both copilot --fork=<session-id> and copilot --branch=<session-id> are rejected as unknown options.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the existing interactive /fork command and the CLI option-parsing and process-startup paths. Trace how sessions are created and resumed, then verify the requested command-line and /fork --new-terminal workflows, including the fallback resume command and unchanged source session name.

Written by the indexing model from the issue text.

Assessment

Tech stack
shell
Domain
cli
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
38/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.