Refs: #318511, #318505
Complexity: 3
Verify that Agent Host Copilot CLI surfaces async shell/background completions as a follow-up turn when the custom terminal tool is disabled.
Prerequisites:
- Use the latest VS Code Insiders
- Sign in to GitHub Copilot
- Enable
chat.agentHost.enabled
- Set
chat.agentHost.customTerminalTool.enabled to false (so the SDK native shell tool is used)
- Install and authenticate Copilot CLI
Part 1: Background shell completion while idle
- Start an Agent Host Copilot CLI chat
- Ask Copilot to run a long-running command in the background (for example a build, a sleep-based task, or a script that finishes after some delay), then let the turn finish so the session is idle
- When the background shell completes, confirm a new system-initiated follow-up turn appears automatically
- Confirm the follow-up shows a compact system-initiated label rather than a fabricated user message
Part 2: Completion arriving during an active turn
- Kick off a background/detached shell, then keep Copilot busy with another request so a turn is active when the background work finishes
- Confirm the completion is shown inline within the active turn (no extra duplicate turn is spawned)
Part 3: Chained async shells
- Use a single prompt that drives two sequential async shells across turns, for example:
Do what I say.
Step 1: Run "sleep 6 && echo SHELL_A_DONE" as an async shell, then end your turn.
After SHELL_A_DONE notification arrives, in your follow-up turn:
Step 2: Run "sleep 6 && echo SHELL_B_DONE" as an async shell, then end that turn too.
- Confirm the first async shell launches and the turn ends
- Confirm the
SHELL_A_DONE completion arrives as a system-initiated follow-up turn that then launches the second async shell
- Confirm the
SHELL_B_DONE completion arrives as its own follow-up turn and the marker can be read back
Part 4: Exploratory
- Try several background/async commands and note any cases where:
- completion is missed or never surfaces
- duplicate or stale turns appear
- the follow-up attaches to the wrong/previous turn
- the system-initiated label is missing or confusing
Refs: #318511, #318505
Complexity: 3
Verify that Agent Host Copilot CLI surfaces async shell/background completions as a follow-up turn when the custom terminal tool is disabled.
Prerequisites:
chat.agentHost.enabledchat.agentHost.customTerminalTool.enabledtofalse(so the SDK native shell tool is used)Part 1: Background shell completion while idle
Part 2: Completion arriving during an active turn
Part 3: Chained async shells
SHELL_A_DONEcompletion arrives as a system-initiated follow-up turn that then launches the second async shellSHELL_B_DONEcompletion arrives as its own follow-up turn and the marker can be read backPart 4: Exploratory