[FEATURE] Add `--vscode` / `--vscodium` flag to `/terminal-setup` for integrated terminal keybinding configuration
Preflight Checklist
- [x] I have searched existing requests and this feature hasn't been requested yet
- [x] This is a single feature request (not multiple features)
Problem Statement
Shift+Enter and Ctrl+J do not insert newlines in Claude Code when running in VS Code/VS Codium's integrated terminal. Instead:
- Shift+Enter does nothing or triggers other VS Code commands
- Ctrl+J toggles the panel by default
These keybindings work correctly in standalone terminals (iTerm2, Alacritty, Kitty, etc.).
Root Cause
VS Code's integrated terminal doesn't send the same key events as native terminals. Using workbench.action.terminal.sendSequence with a raw \n character causes Claude Code to interpret it as "submit" rather than "insert newline".
Why /terminal-setup?
- VS Code is likely the most widely used IDE with Claude Code and this feature would lower friction
- Consistent with existing terminal configuration workflows outside of VS Code
- Discoverable by users already setting up their environment
- The keybindings file path differs between VS Code (
~/.config/Code/User/) and VS Codium (~/.config/VSCodium/User/), so platform-aware output would be helpful
Proposed Solution
Add a flag to /terminal-setup:
claude /terminal-setup --vscode
claude /terminal-setup --vscodium
This would output the necessary keybindings.json entries to user-level configuration files, similar to how /terminal-setup currently helps configure shell integration.
Alternative Solutions
The workaround is to manually update the keybindings in VS Code, which requires that the user have previous knowledge of the fix:
[
{
"key": "ctrl+j",
"command": "-workbench.action.togglePanel"
},
{
"key": "ctrl+j",
"command": "workbench.action.terminal.sendSequence",
"args": { "text": "\^[[200~\n\^[[201~" },
"when": "terminalFocus"
},
{
"key": "shift+enter",
"command": "workbench.action.terminal.sendSequence",
"args": { "text": "\^[[200~\n\^[[201~" },
"when": "terminalFocus && terminalHasBeenCreated"
}
]
Priority
Medium - Would be very helpful
Feature Category
CLI commands and flags
Use Case Example
_No response_
Additional Context
_No response_
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗