github / github/copilot-cli

Interruptible Reasoning via Mode‑Switching Architecture

Ouverte
#1,028 1 commentaire 0 réactions 0 personnes assignées Voir sur GitHub
area:input-keyboard
Langage dominant
Shell
Étoiles
11.2k
Forks
1.9k
Merge moyen
14 h 16 min
PR mergées (30 j)
6

Description

### Describe the feature or problem you'd like to solve

Copilot’s current generation pipeline is non-interruptible. Once a request begins, the model cannot be paused or corrected mid-stream. The Stop button sends a soft cancel that does not reliably terminate hung requests, and canceling discards partial output. This prevents users from steering long-running reasoning tasks or injecting authoritative corrections when Copilot selects an incorrect branch: Feature Parody with WindSurf

### Proposed solution

# Summary
Copilot in VS Code currently uses a single-shot generation pipeline: once a request begins, the model cannot be paused, corrected, or redirected. The Stop button issues only a soft cancel, and canceling discards partial output. This limits developer control and prevents mid-stream correction when Copilot chooses the wrong reasoning branch.

A mode-switching architecture would allow Copilot to pause generation, accept user-injected information, merge it with cached partial output, and resume reasoning from the corrected context.

---

# Goals
1. Enable mid-stream user intervention
2. Preserve partial output
3. Support context merging
4. Provide a reliable hard-kill path
5. Improve responsiveness and developer control

---

# Proposed Architecture

## 1. Pause Mode
When the user clicks Stop or begins typing during generation:
- Copilot immediately pauses
- Partial output is cached
- UI enters a receptive "awaiting input" state

## 2. Context Pooling
When the user provides additional information, Copilot merges:
- cached partial output
- user correction
- original prompt

## 3. Resume Mode
When the user clicks Continue:
- Copilot resumes reasoning using the merged context
- No need to restart the task
- No repeated wrong-branch reasoning

## 4. Hard-Kill Option
A separate button that gives a true cancellation path that immediately terminates the running request, independent of backend state. Even if that cancellation is not possible on the server: in which case, keep additional prompt submissions disabled

---

# Comparison Table
Capability | Current Copilot | With Mode-Switching Architecture
---------------------------------- | ------------------- | --------------------------------
Pause generation | No | Yes
Inject mid-stream corrections | No | Yes
Merge partial output + user input | No | Yes
Resume reasoning from merged state | No | Yes
Hard-kill stuck requests | Soft cancel only | Yes
---
# UX Mockup (Text Description)
- User hits Stop -> generation halts instantly -> panel shows "Paused — awaiting input."
- User pastes correction -> Copilot displays "Context updated."
- User hits Continue -> Copilot resumes reasoning from the merged context, not from scratch.
- Optional: typing during generation automatically triggers Pause Mode.

### Example prompts or workflows

# Expected Impact
- More interactive and corrective workflows
- Reduced frustration from stuck or incorrect generations
- Better alignment with developer expectations for iterative reasoning
- Improved parity with tools that already support this mode-switching architecture

### Additional context

# Closing Note
This request aims to bring Copilot closer to parity with tools that already support this style of mode-switching architecture, such as WindSurf, Devin, and Claude

This was formatted with https://copilot.microsoft.com/conversations/join/ZcC2kozFhmUWE8fG6jQBb

Guide de contribution

Ouvrir le guide de contribution

Évaluation

Cette issue n'a pas encore été évaluée.

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.