ctrl+b not passed through to terminal line editing even when unbound
Resolved 💬 3 comments Opened Mar 7, 2026 by shannonbradshaw Closed Apr 5, 2026
Summary
Emacs keybindings mostly work in the chat input, but ctrl+b (back one character) does not function as expected. The keystroke appears to be swallowed by the application even after unbinding it in all relevant contexts.
Steps to reproduce
- Create
~/.claude/keybindings.jsonwithctrl+bunbound in Global, Chat, and Task contexts:
{
"$schema": "https://www.schemastore.org/claude-code-keybindings.json",
"$docs": "https://code.claude.com/docs/en/keybindings",
"bindings": [
{
"context": "Global",
"bindings": {
"ctrl+b": null
}
},
{
"context": "Chat",
"bindings": {
"ctrl+b": null
}
},
{
"context": "Task",
"bindings": {
"ctrl+b": null
}
}
]
}
- Restart Claude Code
- Type some text in the chat input
- Press
ctrl+bto move the cursor back one character
Expected behavior
Cursor moves back one character (standard emacs/readline keybinding).
Actual behavior
Nothing happens. The keystroke is consumed but not passed through to the terminal's line editing.
Additional context
/doctorreports no keybinding configuration issues- Other emacs keybindings (ctrl+a, ctrl+e, ctrl+f, etc.) work correctly in chat input
- The default binding for
ctrl+bistask:backgroundin the Task context - Platform: macOS (Darwin 24.3.0)
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗