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
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
Proposed Architecture
1. Pause Mode
When the user clicks Stop or begins typing during generation:
2. Context Pooling
When the user provides additional information, Copilot merges:
3. Resume Mode
When the user clicks Continue:
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
UX Mockup (Text Description)
Example prompts or workflows
Expected Impact
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