Setting enter: null in keybindings breaks meta+enter (and other modifier+enter combos)

Resolved 💬 3 comments Opened Feb 5, 2026 by mikegrushin Closed Feb 9, 2026

Problem

In ~/.claude/keybindings.json, setting "enter": null in the Chat context to unbind plain Enter from chat:submit also prevents meta+enter (and presumably other modifier+enter combinations) from working.

Expected behavior: Nulling a base key should only unbind that exact keystroke, not block modifier combinations that share the same base key.

Actual behavior: "enter": null disables all enter-based bindings, including meta+enter, ctrl+enter, etc.

Reproduction

{
  "context": "Chat",
  "bindings": {
    "enter": null,
    "meta+enter": "chat:submit"
  }
}

With this config, pressing meta+enter does nothing — it should trigger chat:submit.

Use Case

A common desired workflow is:

  • Enter inserts a newline (for composing multiline messages)
  • Meta+Enter submits the message

This is a standard pattern in many chat applications (Slack, Discord, etc.).

Suggested Fix

Either:

  1. Fix modifier resolution so that "enter": null only unbinds the bare enter keystroke, not modifier+enter combos
  2. Add a chat:newline action that can be bound to enter, allowing users to remap enter to insert a newline while using a modifier+enter combo for submit

View original on GitHub ↗

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