Bug: Setting `enter: null` in keybindings.json disables all Enter-based key combinations
Resolved 💬 2 comments Opened Feb 16, 2026 by ocean6954 Closed Feb 16, 2026
Environment
- OS: macOS 26.2 (Build 25C56)
- Terminal: Warp (also tested on Terminal.app)
- Claude Code Version: 2.1.36
- Install Method: npm-global
Description
When setting "enter": null in ~/.claude/keybindings.json to unbind the default Enter key behavior, all Enter-based key combinations (such as meta+enter, ctrl+enter) stop working as well.
Steps to Reproduce
- Create or modify
~/.claude/keybindings.json:
\\\json\
{
"$schema": "https://www.schemastore.org/claude-code-keybindings.json",
"$docs": "https://code.claude.com/docs/en/keybindings",
"bindings": [
{
"context": "Chat",
"bindings": {
"enter": null,
"meta+enter": "chat:submit"
}
}
]
}
\\
- Restart Claude Code
- Try pressing \
Cmd+Enter\(meta+enter) in the chat input
Expected Behavior
- \
Enter\key should be unbound (no action) - \
Cmd+Enter\should submit the message
Actual Behavior
- Neither \
Enter\nor \Cmd+Enter\work - No keys trigger message submission
Workaround
Removing \"enter": null\ makes \meta+enter\ work again, but then both \Enter\ and \Cmd+Enter\ submit messages, which is not the desired behavior.
Additional Notes
- \
/doctor\shows no keybinding errors - JSON syntax is valid (verified with \
jq\) - The issue occurs in both Warp and Terminal.app
This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗