Skip to content

Feature Request: Support user-configurable keybindings via keybindings.json #2259

@seanhalberthal

Description

@seanhalberthal

Describe the feature or problem you'd like to solve

All keybindings in Copilot CLI are currently fixed and cannot be customized. This creates friction for users whose terminal/shell already uses some of the default shortcuts, and limits flexibility for different keyboard layouts and personal workflows.

Claude Code (Anthropic's competing CLI) recently shipped a keybinds.json config file that lets users remap keyboard shortcuts. Having a similar feature in Copilot CLI would close this gap and give users more control over their UX.

Proposed solution

Following the existing pattern of user-level config files (e.g. ~/.copilot/lsp-config.json), add support for a ~/.copilot/keybindings.json file that allows remapping built-in actions to custom key combinations.

Example:

{
  "keybindings": [
    { "action": "clearScreen", "key": "ctrl+l" },
    { "action": "cycleMode", "key": "ctrl+m" },
    { "action": "cancelOperation", "key": "ctrl+c" }
  ]
}

A repo-level override at .github/keybindings.json could also be considered, consistent with how instructions files work.

Example prompts or workflows

  • A user whose terminal multiplexer captures ctrl+k wants to remap the "delete to end of line" action to a different chord.
  • A user on a non-US keyboard layout needs to remap actions that conflict with accented character input.
  • A power user wants shortcuts that match their muscle memory from another tool (e.g. VS Code, Emacs, Vim).

Additional context

Reference: Anthropic added keybinds.json support to Claude Code CLI, allowing users to define custom keyboard shortcuts.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions