[BUG] Ctrl-Esc doesn't give Claude Code VS Code extension the focus
Preflight Checklist
- [x] I have searched existing issues and this hasn't been reported yet
- [x] This is a single bug report (please file separate reports for different bugs)
- [x] I am using the latest version of Claude Code
What's Wrong?
As the subject says, pressing Ctrl-Esc doesn't focus the Claude Code extension's input field in VS Code.
I worked through the debugging process with Claude, including using the VS Code keyboard binding troubleshooter, and it is clear that the extension is receiving the focus, because pressing the sequence Ctrl-Esc, Tab, Shift-Tab allows me to start typing. So Claude Code has the focus, but isn't activating the input field correctly.
Attached is a debug log of the successful sequence from VS Code. And obviously unsuccessful as well, because it doesn't work after the first Ctrl-Esc. I typed "hi claude" directly after Ctrl-Esc, then did Tab, Shift-Tab and typed "hi claude" again. The first "hi claude" did not appear in the input box; the second did.
VS Code version:
Version: 1.108.0
Commit: 94e8ae2b28cb5cc932b86e1070569c4463565c37
Date: 2026-01-08T13:53:10.781Z
Electron: 39.2.7
ElectronBuildId: 12953945
Chromium: 142.0.7444.235
Node.js: 22.21.1
V8: 14.2.231.21-electron.0
OS: Linux x64 6.14.0-37-generic snap
What Should Happen?
Claude's input field should be available as soon as I press Ctrl-Esc.
Error Messages/Logs
2026-01-15 12:07:43.365 [info] [Window] [KeybindingService]: / Soft dispatching keyboard event
2026-01-15 12:07:43.366 [info] [Window] [KeybindingService]: \ Keyboard event cannot be dispatched
2026-01-15 12:07:43.367 [info] [Window] [KeybindingService]: / Received keydown event - modifiers: [ctrl], code: ControlLeft, keyCode: 17, key: Control
2026-01-15 12:07:43.367 [info] [Window] [KeybindingService]: | Converted keydown event - modifiers: [ctrl], code: ControlLeft, keyCode: 5 ('Ctrl')
2026-01-15 12:07:43.367 [info] [Window] [KeybindingService]: \ Keyboard event cannot be dispatched in keydown phase.
2026-01-15 12:07:43.936 [info] [Window] [KeybindingService]: / Soft dispatching keyboard event
2026-01-15 12:07:43.937 [info] [Window] [KeybindingService]: | Resolving ctrl+[Escape]
2026-01-15 12:07:43.937 [info] [Window] [KeybindingService]: \ From 3 keybinding entries, matched claude-vscode.focus, when: editorTextFocus && !config.claudeCode.useTerminal, source: user extension Anthropic.claude-code.
2026-01-15 12:07:43.937 [info] [Window] [KeybindingService]: / Received keydown event - modifiers: [ctrl], code: Escape, keyCode: 27, key: Escape
2026-01-15 12:07:43.937 [info] [Window] [KeybindingService]: | Converted keydown event - modifiers: [ctrl], code: Escape, keyCode: 9 ('Escape')
2026-01-15 12:07:43.938 [info] [Window] [KeybindingService]: | Resolving ctrl+[Escape]
2026-01-15 12:07:43.938 [info] [Window] [KeybindingService]: \ From 3 keybinding entries, matched claude-vscode.focus, when: editorTextFocus && !config.claudeCode.useTerminal, source: user extension Anthropic.claude-code.
2026-01-15 12:07:43.938 [info] [Window] [KeybindingService]: + Invoking command claude-vscode.focus.
2026-01-15 12:07:43.956 [error] [Window] An unknown error occurred. Please consult the log for more details.
2026-01-15 12:07:44.491 [info] [Window] [KeybindingService]: + Ignoring single modifier ctrl due to it being pressed together with other keys.
2026-01-15 12:07:48.575 [info] [Window] [KeybindingService]: / Received keydown event - modifiers: [], code: KeyH, keyCode: 72, key: h
2026-01-15 12:07:48.575 [info] [Window] [KeybindingService]: | Converted keydown event - modifiers: [], code: KeyH, keyCode: 38 ('H')
2026-01-15 12:07:48.575 [info] [Window] [KeybindingService]: | Resolving [KeyH]
2026-01-15 12:07:48.576 [info] [Window] [KeybindingService]: \ No keybinding entries.
2026-01-15 12:07:48.825 [info] [Window] [KeybindingService]: / Received keydown event - modifiers: [], code: KeyI, keyCode: 73, key: i
2026-01-15 12:07:48.825 [info] [Window] [KeybindingService]: | Converted keydown event - modifiers: [], code: KeyI, keyCode: 39 ('I')
2026-01-15 12:07:48.825 [info] [Window] [KeybindingService]: | Resolving [KeyI]
2026-01-15 12:07:48.826 [info] [Window] [KeybindingService]: \ No keybinding entries.
2026-01-15 12:07:49.333 [info] [Window] [KeybindingService]: / Received keydown event - modifiers: [], code: Space, keyCode: 32, key:
2026-01-15 12:07:49.333 [info] [Window] [KeybindingService]: | Converted keydown event - modifiers: [], code: Space, keyCode: 10 ('Space')
2026-01-15 12:07:49.334 [info] [Window] [KeybindingService]: | Resolving [Space]
2026-01-15 12:07:49.334 [info] [Window] [KeybindingService]: \ From 8 keybinding entries, no when clauses matched the context.
2026-01-15 12:07:49.500 [info] [Window] [KeybindingService]: / Received keydown event - modifiers: [], code: KeyC, keyCode: 67, key: c
2026-01-15 12:07:49.500 [info] [Window] [KeybindingService]: | Converted keydown event - modifiers: [], code: KeyC, keyCode: 33 ('C')
2026-01-15 12:07:49.500 [info] [Window] [KeybindingService]: | Resolving [KeyC]
2026-01-15 12:07:49.500 [info] [Window] [KeybindingService]: \ No keybinding entries.
2026-01-15 12:07:49.655 [info] [Window] [KeybindingService]: / Received keydown event - modifiers: [], code: KeyL, keyCode: 76, key: l
2026-01-15 12:07:49.656 [info] [Window] [KeybindingService]: | Converted keydown event - modifiers: [], code: KeyL, keyCode: 42 ('L')
2026-01-15 12:07:49.656 [info] [Window] [KeybindingService]: | Resolving [KeyL]
2026-01-15 12:07:49.656 [info] [Window] [KeybindingService]: \ No keybinding entries.
2026-01-15 12:07:49.791 [info] [Window] [KeybindingService]: / Received keydown event - modifiers: [], code: KeyE, keyCode: 69, key: e
2026-01-15 12:07:49.792 [info] [Window] [KeybindingService]: | Converted keydown event - modifiers: [], code: KeyE, keyCode: 35 ('E')
2026-01-15 12:07:49.792 [info] [Window] [KeybindingService]: | Resolving [KeyE]
2026-01-15 12:07:49.792 [info] [Window] [KeybindingService]: \ No keybinding entries.
2026-01-15 12:07:49.939 [info] [Window] [KeybindingService]: / Received keydown event - modifiers: [], code: KeyA, keyCode: 65, key: a
2026-01-15 12:07:49.939 [info] [Window] [KeybindingService]: | Converted keydown event - modifiers: [], code: KeyA, keyCode: 31 ('A')
2026-01-15 12:07:49.939 [info] [Window] [KeybindingService]: | Resolving [KeyA]
2026-01-15 12:07:49.939 [info] [Window] [KeybindingService]: \ No keybinding entries.
2026-01-15 12:07:50.168 [info] [Window] [KeybindingService]: / Received keydown event - modifiers: [], code: KeyU, keyCode: 85, key: u
2026-01-15 12:07:50.168 [info] [Window] [KeybindingService]: | Converted keydown event - modifiers: [], code: KeyU, keyCode: 51 ('U')
2026-01-15 12:07:50.168 [info] [Window] [KeybindingService]: | Resolving [KeyU]
2026-01-15 12:07:50.168 [info] [Window] [KeybindingService]: \ No keybinding entries.
2026-01-15 12:07:50.344 [info] [Window] [KeybindingService]: / Received keydown event - modifiers: [], code: KeyD, keyCode: 68, key: d
2026-01-15 12:07:50.344 [info] [Window] [KeybindingService]: | Converted keydown event - modifiers: [], code: KeyD, keyCode: 34 ('D')
2026-01-15 12:07:50.344 [info] [Window] [KeybindingService]: | Resolving [KeyD]
2026-01-15 12:07:50.345 [info] [Window] [KeybindingService]: \ No keybinding entries.
2026-01-15 12:07:50.430 [info] [Window] [KeybindingService]: / Received keydown event - modifiers: [], code: KeyE, keyCode: 69, key: e
2026-01-15 12:07:50.430 [info] [Window] [KeybindingService]: | Converted keydown event - modifiers: [], code: KeyE, keyCode: 35 ('E')
2026-01-15 12:07:50.431 [info] [Window] [KeybindingService]: | Resolving [KeyE]
2026-01-15 12:07:50.431 [info] [Window] [KeybindingService]: \ No keybinding entries.
2026-01-15 12:07:56.387 [info] [Window] [KeybindingService]: / Received keydown event - modifiers: [], code: Tab, keyCode: 9, key: Tab
2026-01-15 12:07:56.387 [info] [Window] [KeybindingService]: | Converted keydown event - modifiers: [], code: Tab, keyCode: 2 ('Tab')
2026-01-15 12:07:56.388 [info] [Window] [KeybindingService]: | Resolving [Tab]
2026-01-15 12:07:56.388 [info] [Window] [KeybindingService]: \ From 12 keybinding entries, no when clauses matched the context.
2026-01-15 12:07:58.553 [info] [Window] [KeybindingService]: / Received keydown event - modifiers: [shift], code: ShiftLeft, keyCode: 16, key: Shift
2026-01-15 12:07:58.554 [info] [Window] [KeybindingService]: | Converted keydown event - modifiers: [shift], code: ShiftLeft, keyCode: 4 ('Shift')
2026-01-15 12:07:58.554 [info] [Window] [KeybindingService]: \ Keyboard event cannot be dispatched in keydown phase.
2026-01-15 12:07:58.669 [info] [Window] [KeybindingService]: / Received keydown event - modifiers: [shift], code: Tab, keyCode: 9, key: Tab
2026-01-15 12:07:58.669 [info] [Window] [KeybindingService]: | Converted keydown event - modifiers: [shift], code: Tab, keyCode: 2 ('Tab')
2026-01-15 12:07:58.670 [info] [Window] [KeybindingService]: | Resolving shift+[Tab]
2026-01-15 12:07:58.670 [info] [Window] [KeybindingService]: \ From 6 keybinding entries, no when clauses matched the context.
2026-01-15 12:07:58.815 [info] [Window] [KeybindingService]: + Ignoring single modifier shift due to it being pressed together with other keys.
2026-01-15 12:08:00.601 [info] [Window] [KeybindingService]: / Received keydown event - modifiers: [], code: KeyH, keyCode: 72, key: h
2026-01-15 12:08:00.601 [info] [Window] [KeybindingService]: | Converted keydown event - modifiers: [], code: KeyH, keyCode: 38 ('H')
2026-01-15 12:08:00.601 [info] [Window] [KeybindingService]: | Resolving [KeyH]
2026-01-15 12:08:00.602 [info] [Window] [KeybindingService]: \ No keybinding entries.
2026-01-15 12:08:00.783 [info] [Window] [KeybindingService]: / Received keydown event - modifiers: [], code: KeyI, keyCode: 73, key: i
2026-01-15 12:08:00.784 [info] [Window] [KeybindingService]: | Converted keydown event - modifiers: [], code: KeyI, keyCode: 39 ('I')
2026-01-15 12:08:00.784 [info] [Window] [KeybindingService]: | Resolving [KeyI]
2026-01-15 12:08:00.784 [info] [Window] [KeybindingService]: \ No keybinding entries.
2026-01-15 12:08:00.901 [info] [Window] [KeybindingService]: / Received keydown event - modifiers: [], code: Space, keyCode: 32, key:
2026-01-15 12:08:00.902 [info] [Window] [KeybindingService]: | Converted keydown event - modifiers: [], code: Space, keyCode: 10 ('Space')
2026-01-15 12:08:00.902 [info] [Window] [KeybindingService]: | Resolving [Space]
2026-01-15 12:08:00.902 [info] [Window] [KeybindingService]: \ From 8 keybinding entries, no when clauses matched the context.
2026-01-15 12:08:01.036 [info] [Window] [KeybindingService]: / Received keydown event - modifiers: [], code: KeyC, keyCode: 67, key: c
2026-01-15 12:08:01.036 [info] [Window] [KeybindingService]: | Converted keydown event - modifiers: [], code: KeyC, keyCode: 33 ('C')
2026-01-15 12:08:01.037 [info] [Window] [KeybindingService]: | Resolving [KeyC]
2026-01-15 12:08:01.037 [info] [Window] [KeybindingService]: \ No keybinding entries.
2026-01-15 12:08:01.186 [info] [Window] [KeybindingService]: / Received keydown event - modifiers: [], code: KeyL, keyCode: 76, key: l
2026-01-15 12:08:01.186 [info] [Window] [KeybindingService]: | Converted keydown event - modifiers: [], code: KeyL, keyCode: 42 ('L')
2026-01-15 12:08:01.186 [info] [Window] [KeybindingService]: | Resolving [KeyL]
2026-01-15 12:08:01.187 [info] [Window] [KeybindingService]: \ No keybinding entries.
2026-01-15 12:08:01.446 [info] [Window] [KeybindingService]: / Received keydown event - modifiers: [], code: KeyA, keyCode: 65, key: a
2026-01-15 12:08:01.446 [info] [Window] [KeybindingService]: | Converted keydown event - modifiers: [], code: KeyA, keyCode: 31 ('A')
2026-01-15 12:08:01.446 [info] [Window] [KeybindingService]: | Resolving [KeyA]
2026-01-15 12:08:01.447 [info] [Window] [KeybindingService]: \ No keybinding entries.
2026-01-15 12:08:01.592 [info] [Window] [KeybindingService]: / Received keydown event - modifiers: [], code: KeyU, keyCode: 85, key: u
2026-01-15 12:08:01.592 [info] [Window] [KeybindingService]: | Converted keydown event - modifiers: [], code: KeyU, keyCode: 51 ('U')
2026-01-15 12:08:01.593 [info] [Window] [KeybindingService]: | Resolving [KeyU]
2026-01-15 12:08:01.593 [info] [Window] [KeybindingService]: \ No keybinding entries.
2026-01-15 12:08:01.671 [info] [Window] [KeybindingService]: / Received keydown event - modifiers: [], code: KeyD, keyCode: 68, key: d
2026-01-15 12:08:01.671 [info] [Window] [KeybindingService]: | Converted keydown event - modifiers: [], code: KeyD, keyCode: 34 ('D')
2026-01-15 12:08:01.672 [info] [Window] [KeybindingService]: | Resolving [KeyD]
2026-01-15 12:08:01.672 [info] [Window] [KeybindingService]: \ No keybinding entries.
2026-01-15 12:08:01.707 [info] [Window] [KeybindingService]: / Received keydown event - modifiers: [], code: KeyE, keyCode: 69, key: e
2026-01-15 12:08:01.707 [info] [Window] [KeybindingService]: | Converted keydown event - modifiers: [], code: KeyE, keyCode: 35 ('E')
2026-01-15 12:08:01.707 [info] [Window] [KeybindingService]: | Resolving [KeyE]
2026-01-15 12:08:01.707 [info] [Window] [KeybindingService]: \ No keybinding entries.
2026-01-15 12:08:06.387 [info] [Window] [KeybindingService]: / Received keydown event - modifiers: [shift], code: ShiftLeft, keyCode: 16, key: Shift
2026-01-15 12:08:06.388 [info] [Window] [KeybindingService]: | Converted keydown event - modifiers: [shift], code: ShiftLeft, keyCode: 4 ('Shift')
2026-01-15 12:08:06.388 [info] [Window] [KeybindingService]: \ Keyboard event cannot be dispatched in keydown phase.
2026-01-15 12:08:06.428 [info] [Window] [KeybindingService]: / Received keydown event - modifiers: [ctrl,shift], code: ControlLeft, keyCode: 17, key: Control
2026-01-15 12:08:06.428 [info] [Window] [KeybindingService]: | Converted keydown event - modifiers: [ctrl,shift], code: ControlLeft, keyCode: 5 ('Ctrl')
2026-01-15 12:08:06.429 [info] [Window] [KeybindingService]: \ Keyboard event cannot be dispatched in keydown phase.
2026-01-15 12:08:06.704 [info] [Window] [KeybindingService]: / Received keydown event - modifiers: [ctrl,shift], code: KeyP, keyCode: 80, key: P
2026-01-15 12:08:06.704 [info] [Window] [KeybindingService]: | Converted keydown event - modifiers: [ctrl,shift], code: KeyP, keyCode: 46 ('P')
2026-01-15 12:08:06.704 [info] [Window] [KeybindingService]: | Resolving ctrl+shift+[KeyP]
2026-01-15 12:08:06.705 [info] [Window] [KeybindingService]: \ From 2 keybinding entries, matched workbench.action.showCommands, when: no when condition, source: built-in.
2026-01-15 12:08:06.705 [info] [Window] [KeybindingService]: + Invoking command workbench.action.showCommands.
2026-01-15 12:08:06.926 [info] [Window] [KeybindingService]: + Ignoring single modifier ctrl due to it being pressed together with other keys.
2026-01-15 12:08:07.761 [info] [Window] [KeybindingService]: / Received keydown event - modifiers: [], code: Enter, keyCode: 13, key: Enter
2026-01-15 12:08:07.762 [info] [Window] [KeybindingService]: | Converted keydown event - modifiers: [], code: Enter, keyCode: 3 ('Enter')
2026-01-15 12:08:07.762 [info] [Window] [KeybindingService]: | Resolving [Enter]
2026-01-15 12:08:07.762 [info] [Window] [KeybindingService]: \ From 38 keybinding entries, matched quickInput.accept, when: inQuickInput && !isComposing && quickInputType != 'quickWidget', source: built-in.
2026-01-15 12:08:07.762 [info] [Window] [KeybindingService]: + Invoking command quickInput.accept.
Steps to Reproduce
- Install Claude Code extension in VS Code on Ubuntu Linux 24.04 LTS
- Press Ctrl-Esc
Claude Model
None
Is this a regression?
I don't know
Last Working Version
_No response_
Claude Code Version
2.1.7
Platform
Anthropic API
Operating System
Ubuntu/Debian Linux
Terminal/Shell
Other
Additional Information
<img width="692" height="529" alt="Image" src="https://github.com/user-attachments/assets/80e5ac30-5b77-460f-92cc-736665b208e9" />
This issue has 4 comments on GitHub. Read the full discussion on GitHub ↗