github / github/copilot-cli

CLI can get stuck on 'Cancelling' and stop accepting Enter (slash commands become unusable)

Aperta
#2,770 1 commento 9 reazioni 0 assegnatari Vedi su GitHub
area:input-keyboard area:models
Lingua principale
Shell
Stelle
11.2k
Fork
1.9k
Merge medio
14h 16m
PR unite (30g)
6

Descrizione

### Describe the bug

In some failure cases (seems to correlate with server-side rate limiting / request hang), Copilot CLI becomes unusable after attempting to cancel. The UI input remains responsive (you can type and see autocomplete), but pressing **Enter** stops doing anything — commands like `/restart` and `/session info` cannot be executed.

After pressing **Esc**, the UI shows **"Cancelling"** indefinitely. Esc no longer interrupts, and Enter will not submit commands.

### Steps to reproduce (approx)

1. Submit a prompt that triggers a backend request.
2. Backend appears rate limited / hung; CLI shows no useful feedback for 5+ minutes.
3. Press **Esc** to cancel.
4. Observe: status shows **"Cancelling"** and never completes for a long time.
5. Try `/restart` + Enter or `/session info` + Enter.
6. Observe: the text remains in the input line but **Enter does not execute**.

Eventually (8–10+ minutes later) it “releases” and starts working again, but until then there’s no way to recover.

### Expected behavior

- Cancellation should complete quickly (or time out with a clear failure state).
- Even while a request is cancelling/hung, **Enter should still work** for local slash commands like `/restart`, `/session info`, and ideally a “force cancel” action.
- If the CLI is rate-limited, show actionable feedback (retry-after / backoff) rather than appearing frozen.

### Actual behavior

- Stuck in **"Cancelling"**.
- **Esc** no longer works.
- Input is responsive for typing/autocomplete, but **Enter does not execute** `/restart` or `/session info`.
- Cannot retrieve session info to safely force-quit and resume.

### Environment

- OS: Windows
- Trigger: appears during/after suspected rate limit or hung server connection

### Additional context / suggestions

This feels like an input state machine deadlock where cancellation disables submit/Enter processing globally. Local commands should remain functional regardless of backend request state.

Guida per i contributori

Apri la guida per i contributori

Valutazione

Questa issue non è ancora stata valutata.

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.