-
Notifications
You must be signed in to change notification settings - Fork 922
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
- Enable mid-stream user intervention
- Preserve partial output
- Support context merging
- Provide a reliable hard-kill path
- 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