[BUG] Shift+Enter no longer creates a new line in the input
Open 💬 16 comments Opened Mar 6, 2026 by hrithik-skypoint
💡 Likely answer: A maintainer (blois, collaborator)
responded on this thread — see the highlighted reply below.
Preflight Checklist
- [x] I have searched existing issues and this hasn't been reported yet
- [x] This is a single bug report (please file separate reports for different bugs)
- [x] I am using the latest version of Claude Code
What's Wrong?
Shift+Enter no longer inserts a new line in the CLI input. Previously this worked as expected — pressing Shift+Enter would move the cursor to a new line within the input field, allowing multi-line input before submitting.
What Should Happen?
Shift+Enter should insert a newline character in the input, just like it did before.
Error Messages/Logs
Steps to Reproduce
Shift+Enter should insert a newline character in the input
Claude Model
Not sure / Multiple models
Is this a regression?
Yes, this worked in a previous version
Last Working Version
2.1.69
Claude Code Version
2.1.70
Platform
Anthropic API
Operating System
macOS
Terminal/Shell
Terminal.app (macOS)
Additional Information
_No response_
16 Comments
Confirmed, WSL
2.1.70Confirm this, macOS
Workaround: You can bind
Alt+Enterto insert a newline via~/.claude/keybindings.json:Restart Claude Code after saving the file. Confirmed working on WSL2 with 2.1.70.
Yes, you can work around it, but it's mostly a muscle memory issue now 😅
Confirm on MacOs 26.2 (25C56). This drove me crazy today
Working on a proper fix.
In the meantime, what I see is that if there are older VSCode keybindings such as:
Then remove this, re-run
/terminal-setupinclaude, which should fix it with:I've found that at least on Alma Linux, VSCode->terminal->claude I can hold Alt and hit enter to get a soft newline that doesn't submit.
for me, ctrl+Enter works in WSL terminal.
In v2.1.71 (latest), only Option + Enter does work.
In v2.1.58 (stable version), Shift + Enter works fine.
The issue is fixed in v2.1.72.
Still there in 2.1.72
Encountered it today in v2.1.76, it did start occurring after upgrading to iTerm 3.6.9. Maybe people who are experiencing this issue are also on iTerm and could check their version with
Update: also occurs in Terminal.app
Adding data from the duplicate #40015:
In the same Warp window, tabs still running v2.1.87 have working Shift+Enter, while new tabs running v2.1.91 do not — confirming the regression is in Claude Code's input handler.
Adding
shift+enter: chat:newlineto~/.claude/keybindings.jsondoes not fix the issue.Confirming on macOS native app v2.1.91, running in Cursor's integrated terminal. Shift+Enter submits instead of inserting a newline. Initially suspected
CLAUDE_CODE_NO_FLICKER=1(fullscreen render), but disabling it (CLAUDE_CODE_NO_FLICKER=0) does not fix the issue.Update: after further investigation, running
cat -vin Terminal.app confirms Shift+Enter sends a plain CR (no ESC prefix) — the terminal itself is not sending a distinct key sequence. This started after upgrading to macOS 26.4 (Tahoe) on a new Mac (M5 Pro). The same shortcuts work fine in Warp, which encodes modifier keys differently. This may be a macOS-level regression in how Terminal.app handles modifier+key encoding, rather than (or in addition to) a Claude Code issue.Was fixed in Claude Code 2.1.94 regressed again in 2.1.96
My Fix
Add this to your VS Code
keybindings.json:How to open:
Cmd+Shift+P→ type "Open Keyboard Shortcuts JSON" → select itWhat This Does
\^[\r(escape + carriage return) to the terminal when you press Shift+Enter"when": "terminalFocus"ensures it only applies when the terminal is focusedSteps
keybindings.json(Cmd+Shift+P→ "Open Keyboard Shortcuts JSON")Cmd+Q, reopen)Cleanup
If you added
"chat.editor.newlineWithShiftEnter": trueto yoursettings.json, remove it — it's not a valid setting.