[BUG] Keybindings: Missing chat:insertNewline action prevents Enter/Shift+Enter swap
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?
Summary
The keybindings feature lacks a chat:insertNewline action, making it impossible to swap Enter and Shift+Enter behavior (Enter for newline,
Shift+Enter for submit).
What Should Happen?
Expected Behavior
Users should be able to configure:
```json
[
{
"context": "Chat",
"bindings": {
"enter": "chat:insertNewline",
"shift+enter": "chat:submit"
}
}
]
Actual Behavior
- chat:insertNewline doesn't exist as an action
- Setting "enter": null to unbind doesn't insert newline - Enter still submits or does nothing
- No way to achieve the common "Enter = newline, Shift+Enter = submit" pattern
Error Messages/Logs
Steps to Reproduce
Steps to Reproduce
- Create ~/.claude/keybindings.json:
[
{
"context": "Chat",
"bindings": {
"enter": null,
"shift+enter": "chat:submit"
}
}
]
- Restart Claude Code
- Press Enter in chat - still submits instead of inserting newline
Claude Model
Opus
Is this a regression?
No, this never worked
Last Working Version
_No response_
Claude Code Version
2.1.9
Platform
Anthropic API
Operating System
macOS
Terminal/Shell
VS Code integrated terminal
Additional Information
Feature Request
Add chat:insertNewline action to allow rebinding Enter to insert newline, enabling the swap pattern many users prefer from other chat
applications.
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗