github / github/copilot-cli

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

未关闭
#2,770 1 条评论 9 个 reaction 已指派 0 人 在 GitHub 查看
area:input-keyboard area:models
主要语言
Shell
星标
11.2k
派生
1.9k
平均合并
14 小时 16 分钟
30 天内合并 PR
6

描述

### 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.

贡献指南

打开贡献指南

调研方向

issue 中未确定任何文件、测试或入口点。先复现 Windows 取消流程,然后跟踪 CLI 如何处理取消、按 Enter 提交以及本地斜杠命令。完成的标准是:取消操作不会让 CLI 无限期卡住,并且 /restart 和 /session info 等命令仍可使用,或会收到明确的 timeout 状态。

由索引模型根据 Issue 内容生成。

评估

技术栈
shell
领域
cli
Issue 类型
缺陷
难度
4/5
预计耗时
3-5 天
活跃度
冷清
描述清晰度
基本清楚
新手友好度
45/100

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。