claude-code - 💡(How to fix) Fix Escape key doesn't interrupt in desktop app [2 comments, 2 participants]

Official PRs (…)
ON THIS PAGE

Recommended Tools

×6

Utilities matched from this issue’s tags and category — try them while you read without losing context.

GitHub issue graph ai analysis

Paste a GitHub issue URL. We fetch that issue, discover linked issues from bodies/comments/timeline, collect linked pull requests, and produce a structured English report.

The report is written in English Markdown for sharing and archival.

Helpful · Quick feedback

Loading…
GitHub stats
anthropics/claude-code#48817Fetched 2026-04-16 06:50:08
View on GitHub
Comments
2
Participants
2
Timeline
7
Reactions
0
Author
Timeline (top)
labeled ×5commented ×2

The Escape key does not trigger app:interrupt in the Claude Code desktop app, despite being configured in ~/.claude/keybindings.json. The same keybinding works correctly in the CLI.

Root Cause

The Escape key does not trigger app:interrupt in the Claude Code desktop app, despite being configured in ~/.claude/keybindings.json. The same keybinding works correctly in the CLI.

Code Example

{
  "bindings": [
    {
      "context": "Global",
      "bindings": {
        "escape": "app:interrupt"
      }
    }
  ]
}
RAW_BUFFERClick to expand / collapse

Description

The Escape key does not trigger app:interrupt in the Claude Code desktop app, despite being configured in ~/.claude/keybindings.json. The same keybinding works correctly in the CLI.

Steps to Reproduce

  1. Configure keybindings.json with "escape": "app:interrupt" (this is also the default)
  2. Open Claude Code desktop app
  3. Start a response that takes a while (e.g., a subagent research task)
  4. Press Escape while the response is actively streaming

Expected: Response is interrupted, same as in the CLI. Actual: Nothing happens. The only way to interrupt is clicking the stop button.

Also tried Cmd+Shift+Escape — no effect.

Environment

  • macOS (Darwin 25.3.0)
  • Claude Code desktop app
  • keybindings.json:
{
  "bindings": [
    {
      "context": "Global",
      "bindings": {
        "escape": "app:interrupt"
      }
    }
  ]
}

extent analysis

TL;DR

The issue might be resolved by modifying the keybindings configuration or investigating the desktop app's key event handling.

Guidance

  • Verify that the keybindings.json file is being loaded correctly by the Claude Code desktop app, as the same configuration works in the CLI.
  • Check if there are any other keybindings or shortcuts in the desktop app that might be overriding the escape keybinding.
  • Test if other keybindings defined in keybindings.json are working as expected in the desktop app to isolate the issue.
  • Consider trying a different keybinding for the app:interrupt action to see if the issue is specific to the escape key.

Example

No code snippet is provided as the issue seems to be related to configuration and key event handling.

Notes

The issue might be specific to the desktop app's implementation or the macOS environment, as the same keybinding works in the CLI.

Recommendation

Apply a workaround by trying a different keybinding for the app:interrupt action, as this might help identify if the issue is specific to the escape key or a more general problem with key event handling.

Vote matrix · Quick signals

Works
Did the solution work? Tap to confirm.
Easy Fix
Was it a quick fix?
Time Saver
Did it save you time?
Blocking
Was it severely blocking?
Common Issue
Are others likely hitting this too?
Flaky / Intermittent
Is it intermittent?
Verified / Reproducible
Can you reproduce it reliably?
Loading…

Still need to ship something?

×6

Another batch ranked right after the header list — different links, same matching logic.

Back to top recommendations

TRENDING

claude-code - 💡(How to fix) Fix Escape key doesn't interrupt in desktop app [2 comments, 2 participants]