Keyboard shortcuts don't work each time I open cursor

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

1 Like

Hey, thanks for the report. This looks like corruption or a loading issue with keybindings.json. The fact that clearing and re-adding the contents temporarily helps suggests that the file isn’t always parsed correctly at startup.

Here’s what you can try:

  1. Check the file syntax
    Invisible characters or encoding issues can prevent proper loading. Try recreating keybindings.json from scratch, adding just one binding for testing:

    [
      {
        "key": "cmd+k",
        "command": "workbench.action.terminal.clear",
        "when": "terminalFocus"
      }
    ]
    
  2. Remove unnecessary entries
    Your file has many “minus” ("-command") bindings that disable built-in commands. Cursor generates these automatically, but duplicates and long when conditions can cause the wrong binding to apply. Try keeping only the necessary combinations and removing the rest.

  3. Check for conflicts
    In Keyboard Shortcuts, search for cmd+k and make sure it isn’t used by other commands.

  4. Reset Cursor settings
    Through Command Palette (Cmd+Shift+P) open Preferences: Open Settings (JSON), back up your settings, and clear them.
    Or locate the Cursor configuration folder and temporarily rename it to launch the editor with clean settings.

1 Like