[FEATURE] Add `--vscode` / `--vscodium` flag to `/terminal-setup` for integrated terminal keybinding configuration

Resolved 💬 3 comments Opened Jan 26, 2026 by kcoddington Closed Feb 28, 2026

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_

View original on GitHub ↗

This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗