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.
Claude's input field should be available as soon as I press Ctrl-Esc.
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.
Preflight Checklist
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
Steps to Reproduce
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