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

  1. 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"
}
}
]
}
\
\\

  1. Restart Claude Code
  2. 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

View original on GitHub ↗

This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗