Duplicate keybindings in default bindings cause persistent warning
Description
Claude Code displays a persistent warning at startup:
Found 1 keybinding error · /doctor for details
This warning appears even with an empty/default ~/.claude/keybindings.json file (containing only the schema).
Root Cause
The issue appears to be duplicate key bindings in the default bindings, not in user configuration.
Looking at the debug logs:
[keybindings] KeybindingSetup initialized with 99 bindings, 1 warnings
And examining the available actions documentation, I found these duplications in the default bindings:
| Action | Default Bindings (with duplicates) |
|--------|-----------------------------------|
| confirm:no | escape, n, escape ← duplicate escape |
| select:next | down, j, ctrl+n, down, j, ctrl+n ← triplicate |
| select:previous | up, k, ctrl+p, up, k, ctrl+p ← triplicate |
Steps to Reproduce
- Have a default or empty
~/.claude/keybindings.json:
{
"$schema": "https://platform.claude.com/docs/schemas/claude-code/keybindings.json",
"$docs": "https://code.claude.com/docs/en/keybindings"
}
- Start Claude Code
- Observe the warning "Found 1 keybinding error"
Expected Behavior
No warning should appear when using default configuration.
Environment
- OS: Ubuntu (WSL2) on Windows 11
- Claude Code: Latest version (installed via npm)
Suggested Fix
Remove duplicate key bindings from the default binding definitions for confirm:no, select:next, and select:previous actions.
This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗