/terminal-setup has already been executed, and removing it from keybindings.json and rerunning it yields the same result.
This occurs only within the extension inside Cursor IDE.
This issue occurred after updating Cursor IDE yesterday, line breaks had been functioning normally until then.
Currently, line breaks are only possible using Option + Enter.
I wanted to come add to this, the same thing is happening for me. I checked the keybindings.json and attempted to remove/delete that file in an attempt to fix the problem, however after running terminal-setup in claude the issue persists. If I can help provide some details, let me know and I’d be happy to share what I can.
Interestingly, if I first type the “\” and then use shift+enter, it will then go to the new-line successfully, only after automatically removing the “\” which isn’t normal behavior for Claude Code, however it could also be an update.
+1 for me as well. Using \ then shift+enter as a workaround for the time being. Also can no longer copy (control+c) from the Claude Code extension because it wants to close the terminal instead. Big part of my workflow.
it works fine if you’re using the explicitly named “terminal” window that’s in cursor - so what I think happened is that the window the extension creates when you hit the anthropic button is not correctly labelled as a “terminal” window, and the shift enter exception that’s tied to being used in a “terminal” window doesn’t fire.
I believe you’re onto something here. I just tried it in the terminal at the bottom, ignoring the “Extension Button” and viola, the “Shift+Enter” works just fine. So another suitable workaround is to create it with the terminal at the bottom and then move the terminal to your normal position. At least until this is fixed.
mkaulfers’ solution was helpful . However, in my case the default method (Claude Code’s /terminal-setup) did not work. Instead, after replacing the keybinding(keybindings.json) with the text below and applying mkaulfers’ solution, I was able to use it the same way as before.
After replacing the keybinding, close any open Claude Code and Terminal windows and restart them for the changes to take effect.
The key point of this setup is that you don’t launch Claude by clicking its extension button, but rather by running Claude inside VSCode (or Cursor)’s terminal. To avoid any confusion, I’ll summarize the steps again below:
Replace the VSCode (or Cursor) keybinding
(Shift + P > Preferences: Open Keyboard Shortcuts (JSON))
Launch the Terminal
Run Claude in Terminal (then connect it to the IDE with the /ide command)
(Optional) Move the terminal window to a convenient position
I’m still not certain whether this issue is related to Cursor, Claude Code, or an OS policy. However, for me it started occurring right after I updated Cursor to the latest version (2–3 days ago).
(For reference: I’m a macOS user.)
I hope this will be helpful to anyone else experiencing the same problem.
I’m experiencing the same issue and I’m also on macOS.
It works fine in the regular terminal, as others have reported, but it would be great to have this problem fixed.
I can confirm that it started happening after the following update:
Version: 1.6.23 Commit: 1.99.3
I reported it right away to Cursor via their dedicated support email. They initially gave me a few suggestions, but none of them worked, and since then I’ve been put on hold for dedicated support — which hasn’t responded yet.
For MacOS and Cursor IDE, the path of the keybinding is "/Users/benyamin/Library/Application Support/Cursor/User/keybindings.json".
In my case, when I open the Claude Code using Cursor/VSCode extension, the Shift + Enter doesn’t add a new line. But when I open the Claude Code via terminal or the terminal inside the IDE, it works well.
An alternative solution in this situation in MacOS is using Option + Enter
I’ve been really stressed about this issue for about a week now.
Most of the suggested solutions are just about setting up keybindings, but from what I’ve checked, this problem is that Claude Code’s console doesn’t actually recognize Cursor’s keybinding at all. It seems to be a bug that appeared after a certain version update, so I don’t think it’ll take too long to track down the cause. Hopefully a quick fix will be released soon.
As a temporary workaround, I used BetterTouchTool (BTT). Maybe this can help others waiting for a proper fix. By default, Ctrl+J is mapped to line break. What I did was remap Shift+Enter inside the Cursor app using BTT. Please refer to the attached screenshot for the setup.
What I do now is just open up a new terminal window, drag it to the right side (split screen) and then launch claude manually. The key shortcuts work. It’s annoying not to be able to just hit the Claude “button” but it’s better than nothing.
I’m having the same issue too, Cursor v. 1.6.45
I thought at first it was a problem with Claude Code. But then I realized the same thing happens in Codex (CLI) if it’s any terminal window spawned via “Create New Terminal in Editor Area” (or the Claude Code Extension Button)
If it’s done in the Terminal area at the bottom of Cursor, it works just fine.
My hunch is the command scope of workbench.action.terminal no longer applies or has changed to terminals spawned within the editor area.