`/doctor` and footer indicator false-positive on functional `command+v` binding

Resolved 💬 1 comment Opened Apr 25, 2026 by gnltkak Closed May 28, 2026
Note on prior issue: This was previously filed as #49738 and auto-closed by the duplicate-detection bot as a duplicate of #40291. It is not a duplicate — see the "Not a duplicate of #40291" section at the bottom for a side-by-side comparison and independence proof. Re-filing so it can be triaged on its own merits.

Issue

Claude Code persistently reports a keybinding error for my command+vchat:imagePaste binding, even though the binding actually works correctly.

The error is shown in two places:

  1. Bottom-right footer indicator — always visible while Claude Code is running
  2. /doctor output — when explicitly checked

Environment

  • Claude Code 2.1.112
  • macOS 15.4 (Sequoia, Darwin 24.4.0)
  • Terminal: Ghostty 1.3.1
  • Karabiner-Elements 15.9.0 (ctrl ↔ cmd swap)

Steps to reproduce

  1. Set up Karabiner ctrl ↔ cmd swap — edit ~/.config/karabiner/karabiner.json and add simple_modifications inside the profile:

``json
"simple_modifications": [
{ "from": { "key_code": "left_command" }, "to": [{ "key_code": "left_control" }] },
{ "from": { "key_code": "left_control" }, "to": [{ "key_code": "left_command" }] },
{ "from": { "key_code": "right_command" }, "to": [{ "key_code": "right_control" }] },
{ "from": { "key_code": "right_control" }, "to": [{ "key_code": "right_command" }] }
]
``
Reload Karabiner (it auto-reloads on file change). Verify swap works: pressing physical Ctrl+C in a regular app should copy (since it reaches the OS as cmd+c).

  1. Create ~/.claude/keybindings.json:

``json
{
"$schema": "https://www.schemastore.org/claude-code-keybindings.json",
"bindings": [
{ "context": "Chat", "bindings": { "command+v": "chat:imagePaste" } }
]
}
``

  1. Launch Claude Code inside Ghostty (fresh session so the new keybindings file is loaded).
  1. Copy an image to the clipboard — e.g., Shift+Cmd+Ctrl+4 screenshot-to-clipboard, or copy an image from Finder / a browser. Verify with:

``bash
osascript -e 'clipboard info'
`
Output should include
«class PNGf»` or similar image class.

  1. Focus Claude Code input and press physical Ctrl+V.

Expected: an image is attached to the prompt.
Actual: an image is attached to the prompt (the binding works correctly).

  1. Open a new terminal window, launch Claude Code fresh, and look at the bottom-right footer immediately — a keybinding-error indicator is shown from session start, without any user action needed. It persists throughout the session.
  1. In that fresh session, run /doctor — it reports:

``
Keybinding configuration issues · /Users/maxwell.house/.claude/keybindings.json
"cmd+v" may not work: macOS system paste
``

Request

Claude Code should not flag explicit user bindings that function correctly. In this case, steps 6 and 7 of the reproduction above should not occur.

Not a duplicate of #40291

The auto-duplicate bot matched on a surface-level keyword ("keybinding / shortcut / macOS") — the two issues describe fundamentally different bugs.

| Aspect | This issue | #40291 |
|---|---|---|
| Symptom | Binding works correctly, but /doctor and the footer falsely flag it as broken (UI false-positive) | Shortcuts actually do not work (silent functional failure) |
| Trigger | Having command+vchat:imagePaste defined in ~/.claude/keybindings.json | Switching the macOS input source to the Korean (Hangul) IME |
| Scope | Exactly one user-defined binding (command+v) | All Ctrl+key shortcuts (Ctrl+C, Ctrl+A, Ctrl+L, Ctrl+E, …) |
| User environment | Karabiner-Elements ctrl↔cmd swap; English input | Korean (Hangul) input source; no Karabiner required |
| Impacted component | /doctor validator + footer keybinding-error indicator | TUI raw-input / control-character handling layer |

Independence proof:

  • If #40291 were fixed tomorrow, this issue would remain — the false warning appears at session start with no input activity, produced by static config validation, not by runtime input handling.
  • If this issue were fixed, #40291 users would still be unable to use Ctrl+key shortcuts under the Korean IME.

View original on GitHub ↗

This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗