[BUG] Enter inserts a newline instead of submitting; keybindings.json override is ignored
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
- Windows 11, Claude Code 2.1.140 (GUI/desktop client).
- Type a message in the chat input.
- Press Enter → a newline is inserted instead of sending.
- 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)
- Created
~/.claude/keybindings.jsonwithChat→"enter": "chat:submit","ctrl+j": "chat:newline". - Fully quit and relaunched → Enter still inserts a newline.
/doctorto validate → not available in this environment.- Checked
~/.claude/settings.jsonand~/.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
- Make the GUI chat input honor
~/.claude/keybindings.json(consistent with the TUI/docs), or - Add an in-app "Send message with Enter" toggle, or
- Document that this client submits with Ctrl+Enter and isn't currently configurable.
This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗