Where does the bug appear (feature/product)?
Cursor IDE
Describe the Bug
I use CLI coding agents (Claude Code, Codex, Factory) inside Cursor, and Shift+Enter does not add a newline as expected when run in a terminal in the “editor area”.
It’s definitely a Cursor issue, as I tested VS Code and they all work fine. I can repo across all 3 of these coding agents, or just in a terminal with no CLI tool. Cursor is the cause here, not eg Claude Code.
It only affects terminals in the “editor area”, terminals in the “terminal area” work fine.
It was previously reported here but seems to have regressed: Shift+Enter not working in the latest version of Cursor IDE(Claude Code Extension) - #17 by matteoFeduzi
Providing more repro details here, in hopes it can be fixed. If not, I’ll likely switch to VS Code as this issue makes coding agents quite unusable in Cursor.
Steps to Reproduce
- Create a new terminal in the “editor area”
- Command Palette > “Terminal: Create New Terminal in Editor Area”
(aside: this is how terminals are created by the Claude Code or Factory Droid VS Code extensions)
-
Type “claude” or “droid” to open a coding agent (installed previously)
-
Type shift+enter
This should add a newline, but instead it submits the chat message.
Note:
- If you instead use “Terminal: Create New Terminal”, it works as intended. I’m guessing Cursor (but not VS Code) is doing something to intercept editor area terminal events that’s causing this.
Expected Behavior
Shift+Enter should not be blocked.
I have keybindings setup but Cursor is blocking the “Enter” key before it gets to the KeybindingService.
To confirm this, run:
Command Palette > “Developer: Toggle Keyboard Shortcuts Troubleshooting”
Open a terminal in the “terminal area” at the bottom and type “shift+enter”. I see this in the debug output (as intended):
[KeybindingService]: | Resolving shift+[Enter]
But if I open a terminal in the “editor area”, I instead see this:
[info] [Window] [KeybindingService]: / Received keydown event - modifiers: [shift], code: ShiftLeft, keyCode: 16, key: Shift
[info] [Window] [KeybindingService]: | Converted keydown event - modifiers: [shift], code: ShiftLeft, keyCode: 4 (‘Shift’)
[info] [Window] [KeybindingService]: \ Keyboard event cannot be dispatched in keydown phase.
[info] [Window] [KeybindingService]: + Ignoring single modifier shift due to it being pressed together with other keys.
Operating System
MacOS
Current Cursor Version (Menu → About Cursor → Copy)
Version: 2.1.50
VSCode Version: 1.105.1
Commit: 56f0a83df8e9eb48585fcc4858a9440db4cc7770
Date: 2025-12-06T23:39:52.834Z
Electron: 37.7.0
Chromium: 138.0.7204.251
Node.js: 22.20.0
V8: 13.8.258.32-electron.0
OS: Darwin arm64 23.6.0
Additional Information
Users are also reporting this here: [BUG] /terminal-setup command doesn't work in VSCode · Issue #1251 · anthropics/claude-code · GitHub
But after debugging last few hours, I’m convinced it’s a Cursor issue, not a Claude Code issue.
Does this stop you from using Cursor
Sometimes - I can sometimes use Cursor