Where does the bug appear (feature/product)?
Cursor IDE
Describe the Bug
I have changed some keyboard shortcuts to match what I’ve been using in vscode, like clear terminal with cmd+k, I’ve been using cursor for months now, the problem only started showing a week ago. The problem is each time I open cursor, shortcuts don’t work anymore.
But when I open the keybindings.json file, remove all the content inside it, save, and then replace the same content, save => shortcuts resume working.
I’m currently doing this each time I open cursor, which is very annoying.
Steps to Reproduce
Close and restart cursor.
Shortcuts stop working ( not all shortcuts, the one I’ve overwritten like the clear command)
Expected Behavior
Shortcuts to work
Operating System
MacOS
Current Cursor Version (Menu → About Cursor → Copy)
Version: 1.6.42
VSCode Version: 1.99.3
Commit: 5911e9593196a000b1c00553aaf03b0b32042b90
Date: 2025-09-20T17:16:56.346Z
Electron: 34.5.8
Chromium: 132.0.6834.210
Node.js: 20.19.1
V8: 13.2.152.41-electron.0
OS: Darwin arm64 23.5.0
Additional Information
this is my keybindings.json file:
[
{
"key": "cmd+k",
"command": "workbench.action.terminal.clear",
"when": "terminalFocus && terminalHasBeenCreated && !accessibilityModeEnabled || terminalFocus && terminalProcessSupported && !accessibilityModeEnabled || accessibilityModeEnabled && accessibleViewIsShown && terminalHasBeenCreated && accessibleViewCurrentProviderId == 'terminal' || accessibilityModeEnabled && accessibleViewIsShown && terminalProcessSupported && accessibleViewCurrentProviderId == 'terminal'"
},
{
"key": "cmd+i",
"command": "-workbench.action.chat.startVoiceChat",
"when": "chatIsEnabled && hasSpeechProvider && inChatInput && !chatSessionRequestInProgress && !editorFocus && !notebookEditorFocused && !scopedVoiceChatGettingReady && !speechToTextInProgress || chatIsEnabled && hasSpeechProvider && inlineChatFocused && !chatSessionRequestInProgress && !editorFocus && !notebookEditorFocused && !scopedVoiceChatGettingReady && !speechToTextInProgress"
},
{
"key": "cmd+i",
"command": "-workbench.action.chat.stopListeningAndSubmit",
"when": "inChatInput && voiceChatInProgress && scopedVoiceChatInProgress == 'editor' || inChatInput && voiceChatInProgress && scopedVoiceChatInProgress == 'inline' || inChatInput && voiceChatInProgress && scopedVoiceChatInProgress == 'quick' || inChatInput && voiceChatInProgress && scopedVoiceChatInProgress == 'view' || inlineChatFocused && voiceChatInProgress && scopedVoiceChatInProgress == 'editor' || inlineChatFocused && voiceChatInProgress && scopedVoiceChatInProgress == 'inline' || inlineChatFocused && voiceChatInProgress && scopedVoiceChatInProgress == 'quick' || inlineChatFocused && voiceChatInProgress && scopedVoiceChatInProgress == 'view'"
},
{
"key": "cmd+i",
"command": "-composer.startComposerPrompt",
"when": "cursor.appLayout != 'agent'"
},
{
"key": "cmd+i",
"command": "-workbench.action.terminal.chat.start",
"when": "chatIsEnabled && terminalChatAgentRegistered && terminalFocusInAny && terminalHasBeenCreated || chatIsEnabled && terminalChatAgentRegistered && terminalFocusInAny && terminalProcessSupported"
},
{
"key": "cmd+i",
"command": "-inlineChat2.reveal",
"when": "inlineChatHasEditsAgent && !chatEdits.isGlobalEditingSession && chatEdits.requestCount >= 1"
},
{
"key": "cmd+i",
"command": "-inlineChat2.stop",
"when": "inlineChatHasEditsAgent && inlineChatVisible && chatEdits.requestCount == '0'"
},
{
"key": "cmd+i",
"command": "-search.action.searchWithAI",
"when": "hasAIResultProviderKey && searchViewletFocus"
},
{
"key": "cmd+i",
"command": "-inlineChat.holdForSpeech",
"when": "hasSpeechProvider && inlineChatVisible && textInputFocus"
},
{
"key": "cmd+i",
"command": "-notebook.cell.chat.start",
"when": "config.notebook.experimental.cellChat && notebookChatAgentRegistered && notebookEditable && notebookEditorFocused && !inputFocus || config.notebook.experimental.generate && notebookChatAgentRegistered && notebookEditable && notebookEditorFocused && !inputFocus"
},
{
"key": "cmd+i",
"command": "-workbench.action.chat.holdToVoiceChatInChatView",
"when": "chatIsEnabled && hasSpeechProvider && !chatSessionRequestInProgress && !editorFocus && !inChatInput && !inlineChatFocused && !notebookEditorFocused && !searchViewletFocus"
},
{
"key": "cmd+i",
"command": "-workbench.action.terminal.suggestToggleDetails",
"when": "simpleSuggestWidgetHasFocusedSuggestion && terminalFocus && terminalHasBeenCreated && terminalIsOpen && terminalSuggestWidgetVisible || simpleSuggestWidgetHasFocusedSuggestion && terminalFocus && terminalIsOpen && terminalProcessSupported && terminalSuggestWidgetVisible"
},
{
"key": "cmd+k",
"command": "-aipopup.action.modal.generate",
"when": "editorFocus && !composerBarIsVisible"
},
{
"key": "cmd+k",
"command": "-cursorai.action.generateInTerminal",
"when": "terminalFocus && terminalHasBeenCreated || terminalFocus && terminalProcessSupported || terminalHasBeenCreated && terminalPromptBarVisible || terminalProcessSupported && terminalPromptBarVisible"
},
{
"key": "cmd+k m",
"command": "-notebook.cell.changeLanguage",
"when": "notebookCellEditable && notebookEditable && notebookEditorFocused"
},
{
"key": "cmd+k cmd+i",
"command": "-workbench.action.showHover",
"when": "!editorTextFocus"
},
{
"key": "cmd+k alt+cmd+s",
"command": "-git.stageSelectedRanges",
"when": "editorTextFocus && !operationInProgress && resourceScheme == 'file'"
},
{
"key": "cmd+k cmd+n",
"command": "-git.unstageSelectedRanges",
"when": "editorTextFocus && isInDiffEditor && isInDiffRightEditor && !operationInProgress && resourceScheme == 'git'"
},
{
"key": "cmd+k v",
"command": "-markdown.showPreviewToSide",
"when": "!notebookEditorFocused && editorLangId == 'markdown'"
},
{
"key": "cmd+k cmd+r",
"command": "-git.revertSelectedRanges",
"when": "editorTextFocus && !operationInProgress && resourceScheme == 'file'"
},
{
"key": "cmd+k",
"command": "-editor.action.inlineDiffs.focusEditor",
"when": "editorHasPromptBar && editorPromptBarFocused"
}
]
Does this stop you from using Cursor
No - Cursor works, but with this issue