[Bug] Esc key interrupt disabled when queued messages or background tasks exist
Bug Description
BUG: Esc to interrupt doesn't work when queued messages or background tasks exist
The spinner shows "(esc to interrupt)" but pressing Esc does absolutely nothing when:
There are queued messages ("Press up to edit queued messages")
Background tasks are running (e.g. "3 background tasks")
This is caused by the 2.1.0 change "Fixed Esc key with queued prompts to only move them to input without canceling the running task" - but the UI still tells users to press Esc to interrupt!
Expected: Either Esc should interrupt the running task as the UI suggests, OR the UI should say "(ctrl+c to interrupt)" instead of "(esc to interrupt)" when queued messages exist.
Current behavior: User presses Esc repeatedly, nothing happens, task continues running for 30+ minutes with no way to stop it except Ctrl+C (which isn't mentioned in the UI).
Environment: macOS, Claude Code v2.1.1, Opus 4.5
Environment Info
- Platform: darwin
- Terminal: vscode
- Version: 2.1.1
- Feedback ID: 3d99d302-71c8-45f4-bdcf-c831a089bc31
Errors
[{"error":"Error: NON-FATAL: Lock acquisition failed for /Users/lohonyaigyozo/.local/share/claude/versions/2.1.1 (expected in multi-process scenarios)\n at oXR (/$bunfs/root/claude:2994:2164)\n at WKA (/$bunfs/root/claude:2994:1884)\n at processTicksAndRejections (native:7:39)","timestamp":"2026-01-08T16:58:50.102Z"}]
7 Comments
Found 3 possible duplicate issues:
This issue will be automatically closed as a duplicate in 3 days.
🤖 Generated with Claude Code
Still broken in v
2.1.2.The only way to interrupt a prompt with background tasks is to kill Claude Code completely.
still broken in v 2.1.3
it's really dangerous and should be fixed with high priority
in
2.1.4this has improvedSometimes I still end up in a situation when I have to quit Claude Code to interrupt a prompt, but I can't reliably reproduce it.
EDIT: #17515 explains when this happens
can confirm 2.1.4 -> did not encounter the ESC ignoring bug anymore
Happened to me today.
Reproducing this in real-world use — long-running turns make the input effectively unusable
Hit this on macOS (Claude Code desktop app, Opus 4.8). Adding a concrete repro showing how impactful the "Esc disabled while messages are queued" behavior is in practice.
What happened:
Why this is bad UX:
What would help:
Workaround: press Esc or the ⏹ Stop button to end the running turn; the input then frees up and Enter sends normally. If the whole app is wedged, Cmd+Q and reopen.
Env: Claude Code 2.1.83, macOS (Darwin 25.5.0, arm64 / Apple Silicon M4), model Opus 4.8.