[BUG] chat:submit keybinding with custom key (e.g. ctrl+y) not working

Resolved 💬 3 comments Opened Feb 26, 2026 by iblea Closed Feb 26, 2026

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?

When binding a custom key (e.g., ctrl+y) to chat:submit in ~/.claude/keybindings.json, the custom keybinding is silently ignored. This happens regardless of whether the binding is placed in the Chat context or the Global context.

Only the default enter key works for chat:submit. Any additional custom key bound to the same action has no effect.

ctrl+shift+y was also tested and does not work either.

However, when ctrl+y is mapped to a different action such as chat:stash, it works correctly. This confirms that the ctrl+y key itself is being received by Claude Code — the issue is specific to the chat:submit action.

What Should Happen?

A custom keybinding mapped to chat:submit should trigger message submission, just like the default enter key does.

Error Messages/Logs

Steps to Reproduce

Test 1: Chat context

  1. Create or edit ~/.claude/keybindings.json:
{
  "$schema": "https://platform.claude.com/docs/schemas/claude-code/keybindings.json",
  "$docs": "https://code.claude.com/docs/en/keybindings",
  "bindings": [
    {
      "context": "Chat",
      "bindings": {
        "enter": "chat:submit",
        "ctrl+y": "chat:submit"
      }
    }
  ]
}
  1. Start (or restart) Claude Code CLI.
  2. Type any message in the chat input.
  3. Press ctrl+ynothing happens.
  4. Press enter — the message is submitted normally.

Test 2: Global context

  1. Move the ctrl+y binding to the Global context:
{
  "$schema": "https://platform.claude.com/docs/schemas/claude-code/keybindings.json",
  "$docs": "https://code.claude.com/docs/en/keybindings",
  "bindings": [
    {
      "context": "Global",
      "bindings": {
        "ctrl+y": "chat:submit"
      }
    },
    {
      "context": "Chat",
      "bindings": {
        "enter": "chat:submit"
      }
    }
  ]
}
  1. Restart Claude Code CLI.
  2. Type any message and press ctrl+ystill nothing happens.

Result: ctrl+y does not trigger chat:submit in either context. Only enter works.

Claude Model

None

Is this a regression?

I don't know

Last Working Version

_No response_

Claude Code Version

2.1.59

Platform

Anthropic API

Operating System

macOS

Terminal/Shell

Other

Additional Information

Use Wezterm. Bug the bug occur in all terminals.
MacOS Tahoe 26.3

View original on GitHub ↗

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