github / github/copilot-cli

Copilot CLI terminal freezes when a stdio MCP child crashes mid-call

Open
#3,067 1 comment 0 reactions 0 assignees View on GitHub
area:input-keyboard area:mcp area:platform-windows
Dominant language
Shell
Stars
11.2k
Forks
1.9k
Avg merge
14h 16m
Merged PRs (30d)
6

Description

# Bug: Copilot CLI terminal freezes when a stdio MCP child crashes mid-call

## What happens

When a stdio MCP child process crashes during an in-flight tool call, the **host Copilot CLI terminal becomes fully unresponsive** — keystrokes, mouse, and **Ctrl+C are all ignored**. Only force-closing the Windows Terminal tab or killing `pwsh.exe` recovers it. Reproduced twice in a row on Windows 11; affected tabs stay frozen indefinitely.

## Repro

A reliable trigger today is the WorkIQ MCP server, which has a deterministic `msalruntime.DLL` crash during concurrent token-refresh ([microsoft/work-iq#113](https://github.com/microsoft/work-iq/issues/113)):

1. `/plugin install workiq@work-iq`
2. Authenticate, then issue several `workiq-ask_work_iq` calls in parallel.
3. The WorkIQ child crashes (visible as `Application Error` in the Windows event log: `workiq.exe`, `msalruntime.DLL`, exception `0xc000027b`).
4. The Copilot CLI terminal hangs — no input accepted, including Ctrl+C.

## Why it matters

A misbehaving plugin should never be able to take the host CLI hostage. **Ctrl+C must always cancel the in-flight tool call** and return control to the prompt, regardless of child-process state.

## Likely cause

Host appears to do a blocking read on the child's stdout for a JSON-RPC response, and never notices process death / EOF. Concurrent calls compound the issue — multiple in-flight requests all become unresolvable after a single child crash.

## Environment

- Copilot CLI 1.0.40-3, Node v24.14.1
- Windows 11 + Windows Terminal + PowerShell 7
- Repro MCP: `@microsoft/workiq` 0.4.1.19742 (stdio, via npx)

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.