While exploring Claude Code’s /terminal-setup command (found via a /sta fuzzy search in v1.0.111), I noticed the default Shift+Enter binding for terminal input inserts an unwanted backslash before the newline.
Claude Code currently drops its keybinding into the standard VS Code profile (for example, ~/Library/Application Support/Code/User/keybindings.json on macOS). I spend most of my time in VS Code Insiders, so I copied the entry into ~/Library/Application Support/Code - Insiders/User/keybindings.json to make the shortcut available there, too.
{
"key": "shift+enter",
"command": "workbench.action.terminal.sendSequence",
"args": { "text": "\\\r\n" },
"when": "terminalFocus"
}The stray backslash appears because the JSON string escapes the newline sequence, and sending \r/\n directly causes the terminal to execute the line immediately.
{
"key": "shift+enter",
"command": "workbench.action.terminal.sendSequence",
"args": { "text": "\u001b[200~\n\u001b[201~" },
"when": "terminalFocus"
}Wrapping the newline between \u001b[200~ and \u001b[201~ toggles bracketed paste mode, so Shift+Enter now inserts a visible newline without submitting the command — matching the editor and Claude Code REPL behavior.