[BUG] Enter inserts a newline instead of submitting; keybindings.json override is ignored

Status Open
Reported on v2.1.140
Maintainer reply None cached
Activity 9 comments · opened Jun 2, 2026

Preflight Checklist

  • [x] I have searched existing issues and this hasn't been reported yet
  • [x] This is a single bug report (please file separate reports for different bugs)
  • [x] I am using the latest version of Claude Code

What's Wrong?

In the chat input, pressing Enter inserts a newline instead of submitting. To send, I must press Ctrl+Enter. This is the inverse of the documented default (chat:submit = enter), and it cannot be changed via ~/.claude/keybindings.json — the override is ignored.

What Should Happen?

Enter submits (chat:submit); Ctrl+J inserts newline; a keybindings.json override takes effect after restart.

Error Messages/Logs

No stack trace or error output is produced — Enter silently inserts a newline
instead of submitting (no crash, no console error).

Relevant diagnostics:

$ claude --version
2.1.140 (Claude Code)

$ /doctor
/doctor isn't available in this environment.   # cannot validate keybindings load

OS: Windows 11 Pro (build 10.0.26200.0)
Node: v24.14.1

~/.claude/keybindings.json  (override created, no effect after full restart):
{
  "$schema": "https://www.schemastore.org/claude-code-keybindings.json",
  "$docs": "https://code.claude.com/docs/en/keybindings",
  "bindings": [
    { "context": "Chat",
      "bindings": { "enter": "chat:submit", "ctrl+j": "chat:newline" } }
  ]
}

~/.claude/settings.json  (no send-key / newline setting present):
{
  "autoUpdatesChannel": "latest",
  "theme": "dark",
  "permissions": { "defaultMode": "bypassPermissions" }
}

Observed: Enter -> newline; Ctrl+Enter -> submit (inverse of documented
chat:submit=enter default). keybindings.json override is not honored by this client.

Steps to Reproduce

Steps to Reproduce

  1. Windows 11, Claude Code 2.1.140 (GUI/desktop client).
  2. Type a message in the chat input.
  3. Press Enter → a newline is inserted instead of sending.
  4. Press Ctrl+Enter → the message sends.

Claude Model

Opus

Is this a regression?

No, this never worked

Last Working Version

_No response_

Claude Code Version

2.1.140

Platform

Anthropic API

Operating System

Windows

Terminal/Shell

PowerShell

Additional Information

What I Tried (all unsuccessful)

  1. Created ~/.claude/keybindings.json with Chat"enter": "chat:submit", "ctrl+j": "chat:newline".
  2. Fully quit and relaunched → Enter still inserts a newline.
  3. /doctor to validate → not available in this environment.
  4. Checked ~/.claude/settings.json and ~/.claude.json → no send-key/newline setting exists.

Likely Root Cause

Specific to the GUI/desktop client: the observed mapping (Enter = newline, Ctrl+Enter = submit) doesn't match the default keybinding table, /doctor is absent, and the keybindings override is ignored — strongly suggesting this client's chat input handles Enter/submit internally and does not consult ~/.claude/keybindings.json for chat:submit/chat:newline. Result: no user-facing way to make Enter submit.

Suggested Fixes

  1. Make the GUI chat input honor ~/.claude/keybindings.json (consistent with the TUI/docs), or
  2. Add an in-app "Send message with Enter" toggle, or
  3. Document that this client submits with Ctrl+Enter and isn't currently configurable.

BUG_REPORT_enter.md

View original on GitHub ↗

4 Comments

EiTaka187 · 2 months ago

As a Japanese IME user on Windows, this issue is especially painful.

When typing in Japanese, pressing Enter can either:

  • Confirm an unconfirmed (composition) character — no submission
  • Submit the message — if the text is already confirmed

It's easy to misjudge which state you're in, leading to accidental submissions.
If Ctrl+Enter were the submit key, this risk would be completely eliminated.

This is a significant quality-of-life issue for Japanese (and other CJK language) users.

Kilting-elsyn · 1 month ago

I reproduced the same Enter → newline / Ctrl+Enter → submit behavior on Windows. A forced-termination workaround cleared it on one machine after both a normal app restart and a full Windows restart had failed. I posted the full n=1 observation and caveats here: https://github.com/anthropics/claude-code/issues/79696#issuecomment-5088866794

DonpK · 15 days ago

What I would like to see is a user-selectable option for the "Enter" key. The user selects whether the Enter key generates a new line, in which case the user would click on the already-existing "Send" arrow, or the user can select that the Enter key immediately sends the query and a new line is generated with Shift+Enter.

My preference is for the first option since too I often mistakenly send an incomplete query when I just wanted to generate a new line.

Showing cached comments. Read the full discussion on GitHub ↗