CMD+SHIFT+[ doesn't toggle terminals

Where does the bug appear (feature/product)?

Cursor IDE

Describe the Bug

In VS Code, using CMD+SHIFT+[ toggles editors when an editor is focused and terminals when a terminal is focused. In Cursor it seems like CMD+SHIFT+[ is always bound to switch editors only.

Steps to Reproduce

  • Open 2 terminals
  • Focus the first terminal
  • Press CMD + ]

Expected Behavior

Expected behaviour: Next terminal is focused. Actual behaviour: Editor is switched instead.

Operating System

MacOS

Current Cursor Version (Menu → About Cursor → Copy)

Version: 2.1.47 (Universal)
VSCode Version: 1.105.1
Commit: 2d3ce3499c15efd55b6b8538ea255eb7ba4266b0
Date: 2025-12-04T02:31:50.567Z
Electron: 37.7.0
Chromium: 138.0.7204.251
Node.js: 22.20.0
V8: 13.8.258.32-electron.0
OS: Darwin arm64 25.1.0

Does this stop you from using Cursor

No - Cursor works, but with this issue

Hey, thanks for the report.

It looks like a hotkey context conflict. Please check:

  1. With the terminal focused, run from the command palette:

    • Terminal: Focus Next
    • Terminal: Focus Previous
      Do they work as expected?
  2. Add explicit bindings with the terminalFocus context and see if that fixes it:

    • Open Keyboard Shortcuts (Cmd+Shift+P → Keyboard Shortcuts or Settings → Keyboard Shortcuts)
    • Open keybindings.json and add:
     {
       "key": "cmd+shift+]",
       "command": "workbench.action.terminal.focusNext",
       "when": "terminalFocus"
     },
     {
       "key": "cmd+shift+[",
       "command": "workbench.action.terminal.focusPrevious",
       "when": "terminalFocus"
     }

If that doesn’t help, please send:

  • Your keybindings.json
  • Confirmation that VS Code on the same machine behaves correctly
  • A short video or exact steps with the exact keys (your steps list Cmd+], please confirm you mean Cmd+Shift+])
  • A screenshot of conflicts from Keyboard Shortcuts if you see duplicates

Once we confirm, I’ll pass this to the team.

  1. Yep, these do
  2. Looks like this worked!

I can confirm that VS Code on my system doesn’t need the explicit bindings though.

Looks like the default keybinding has more conditions attached to it and Cursor might be wrongly setting one of those variables?

terminalFocus && terminalHasBeenCreated && !terminalEditorFocus || terminalFocus && terminalProcessSupported && !terminalEditorFocus

Either that or there’s an issue somewhere with my config, my VS Code & Cursor config has diverged quite a bit over time.

I’m good for now with the override but feel free to let me know if you need any help tracking this down!

1 Like

This topic was automatically closed 22 days after the last reply. New replies are no longer allowed.