From some elusive moment, I started to notice that pressing Ctrl+Backspace in Cursor IDE, which is side by side installed fork of VS Code, leads to erasing word in text editor even if I'm focused on find field or global search field or command pallete or whatever I can focus.
Then I looked for reasons in keyboard shortcuts menu (Ctrl+K Ctrl+S). There was a command deleteWordLeft with no conditions, which can't be removed, modified or reset (resetting makes an additional shortcut with standard condition, which means resetting works, but does not remove this keybind), as well as overriden with other commands:
{
"key": "ctrl+backspace",
"command": "deleteWordLeft"
}
It is displayed as defined by User. Looks like someone has forced it intentionally.
I've tried cleaning cache, opening another folder, disabling all extensions (via extension bisect), but found no result.
I've also tried keyboard shortcuts troubleshooting and confirmed that exactly this command is called:
2025-09-04 16:25:23.806 [info] [Window] [KeybindingService]: / Received keydown event - modifiers: [ctrl], code: ControlLeft, keyCode: 17, key: Control
2025-09-04 16:25:23.806 [info] [Window] [KeybindingService]: | Converted keydown event - modifiers: [ctrl], code: ControlLeft, keyCode: 5 ('Ctrl')
2025-09-04 16:25:23.807 [info] [Window] [KeybindingService]: / Soft dispatching keyboard event
2025-09-04 16:25:23.807 [info] [Window] [KeybindingService]: \ Keyboard event cannot be dispatched
2025-09-04 16:25:23.807 [info] [Window] [KeybindingService]: \ Keyboard event cannot be dispatched in keydown phase.
2025-09-04 16:25:24.748 [info] [Window] [KeybindingService]: / Received keydown event - modifiers: [ctrl], code: Backspace, keyCode: 8, key: Backspace
2025-09-04 16:25:24.749 [info] [Window] [KeybindingService]: | Converted keydown event - modifiers: [ctrl], code: Backspace, keyCode: 1 ('Backspace')
2025-09-04 16:25:24.749 [info] [Window] [KeybindingService]: / Soft dispatching keyboard event
2025-09-04 16:25:24.749 [info] [Window] [KeybindingService]: | Resolving ctrl+Backspace
2025-09-04 16:25:24.749 [info] [Window] [KeybindingService]: \ From 8 keybinding entries, matched deleteWordLeft, when: no when condition, source: user.
2025-09-04 16:25:24.749 [info] [Window] [KeybindingService]: | Resolving ctrl+Backspace
2025-09-04 16:25:24.749 [info] [Window] [KeybindingService]: \ From 8 keybinding entries, matched deleteWordLeft, when: no when condition, source: user.
2025-09-04 16:25:24.750 [info] [Window] [KeybindingService]: + Invoking command deleteWordLeft.
2025-09-04 16:25:25.691 [info] [Window] [KeybindingService]: + Ignoring single modifier ctrl due to it being pressed together with other keys.
Ho do I remove this binding and get back the standard effect of Ctrl+Backspace?
It turned out that this keybinding was in my file. It looked like this:
{
"key": "ctrl+backspace",
"command": "deleteWordLeft",
"when": "textInputFocus && && !editorReadonly &&inlineDiffs.activeEditorWithDiffs"
},
Quite unnoticeable, isn't it?
The problem is the condition syntax error:
... textInputFocus && && !editorReadonly .... This condition is considered absent and the keystroke cannot be removed due to uncompleted when expression.
The "moral" of this is that syntax errors in keybindings.json file can lead to unpredictable results.