[FEATURE] Allow swapping Enter/Shift+Enter behavior in the VS Code extension's chat input

Status Open
Maintainer reply None cached
Activity 0 comments · opened Sep 19, 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

In the VS Code extension's chat panel, Enter submits the message and Shift+Enter inserts a
newline. For anyone who regularly composes multi-line messages (e.g. pasting structured
requests, code, or multi-part instructions), the newline action is used far more often than
submit — yet it's the one that requires an extra modifier key, while the rare action (submit)
is on the plain, easiest-to-hit key.

This also causes accidental sends: it's easy to hit plain Enter out of habit while still in
the middle of composing a multi-line message, sending it before it's finished.

This was previously raised in #80892 (closed as "not planned"), which focused on the extension
not honoring ~/.claude/keybindings.json the way the CLI does. This request is narrower: just
the ability to reverse which key does which action in the chat input specifically.

Proposed Solution

Add a setting (either a dedicated VS Code setting like claude.chatInput.swapEnterKeys, or by
having the extension honor ~/.claude/keybindings.json for chat input the way the CLI already
does) that lets users swap the two behaviors: Enter -> newline, Shift+Enter -> submit.

Alternative Solutions

  1. Using an alternative newline shortcut (if one exists, e.g. Ctrl+J) alongside the current

Enter=submit behavior — this only adds a second way to insert a newline, it doesn't remove
the risk of accidentally submitting with plain Enter while still composing.

  1. Being more careful not to hit Enter by accident — not a real fix, just constant manual

attention to work around a UI default that fights how the message is actually being typed.

  1. Requesting the extension honor ~/.claude/keybindings.json for chat input the same way the

CLI does (this was the ask in #80892) — this would be a broader fix that could also solve
this, but that specific request was already closed as "not planned."

Priority

High - Significant impact on productivity

Feature Category

CLI commands and flags

Use Case Example

_No response_

Additional Context

Related: #80892 (extension doesn't read ~/.claude/keybindings.json for chat input)

View original on GitHub ↗