CLI can get stuck on 'Cancelling' and stop accepting Enter (slash commands become unusable)
- Linguagem predominante
- Shell
- Estrelas
- 11.2k
- Forks
- 1.9k
- Merge médio
- 14h 16min
- PRs com merge (30d)
- 6
Descrição
### 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.
Guia de contribuição
Direção de pesquisa
No files, tests, or entry points are identified in the issue. Reproduce the Windows cancellation flow, then trace how the CLI handles cancellation, Enter submission, and local slash commands. Done means cancellation cannot leave the CLI stuck indefinitely and commands such as /restart and /session info remain usable or receive a clear timeout state.
Escrita pelo modelo de indexação a partir do texto da issue.
Avaliação
- Stack de tecnologia
- shell
- Domínio
- cli
- Tipo de issue
- Bug
- Dificuldade
- 4/5
- Tempo estimado
- 3-5 dias
- Status de atividade
- Pouca atividade
- Clareza
- Razoavelmente clara
- Facilidade para iniciantes
- 45/100