VSCode extension chat input doesn't honor ~/.claude/keybindings.json — causes accidental submits

Status Open
Maintainer reply None cached
Activity 1 comment · opened Jul 24, 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

Summary

The CLI supports remapping Enter/Shift+Enter behavior in the chat input via ~/.claude/keybindings.json (chat:submit / chat:newline actions, documented at https://code.claude.com/docs/en/keybindings). The VSCode native extension does not read this file at all — its chat panel hardcodes Enter=submit, Shift+Enter=newline, with no way to swap them short of the unrelated useCtrlEnterToSend setting.

Impact

Users who prefer Shift+Enter-to-submit / Enter-for-newline (e.g. to draft multi-line prompts safely) cannot get this behavior in the extension. In practice, a slightly mistimed Shift key press sends an incomplete/wrong prompt, since a bare Enter always submits regardless of intent. This happens repeatedly and wastes real time — not a cosmetic issue.

Steps to reproduce

Set ~/.claude/keybindings.json:

{
"$schema": "https://www.schemastore.org/claude-code-keybindings.json",
"$docs": "https://code.claude.com/docs/en/keybindings",
"bindings": [
{ "context": "Chat", "bindings": { "enter": "chat:newline", "shift+enter": "chat:submit" } }
]
}
Fully quit and relaunch VS Code (not just reload window).
In the Claude Code extension chat panel, press Enter.
Expected: Enter inserts a newline, per the configured binding.
Actual: Enter submits immediately; the config is silently ignored.

Proposed Solution

Ask

Please have the VSCode extension read the same ~/.claude/keybindings.json (or an equivalent extension-level setting) so Enter/Shift+Enter behavior can be customized consistently with the CLI. At minimum, surface a dedicated "swap Enter/Shift+Enter" setting in the extension if reusing the full keybindings file isn't feasible.

Alternative Solutions

_No response_

Priority

High - Significant impact on productivity

Feature Category

Configuration and settings

Use Case Example

_No response_

Additional Context

_No response_

View original on GitHub ↗

This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗