/keybindings pour créer ou ouvrir votre fichier de configuration à ~/.claude/keybindings.json.
Fichier de configuration
Le fichier de configuration des liaisons de touches est un objet avec un tableaubindings. Chaque bloc spécifie un contexte et une carte des séquences de touches aux actions.
Les modifications du fichier keybindings sont automatiquement détectées et appliquées sans redémarrer Claude Code.
Cet exemple lie
Ctrl+E pour ouvrir un éditeur externe dans le contexte de chat, et délié Ctrl+U :
Contextes
Chaque bloc de liaison spécifie un contexte où les liaisons s’appliquent :
Avant v2.1.205, un contexte
Doctor et une action doctor:fix existaient pour l’écran de diagnostics /doctor.
Actions disponibles
Les actions suivent un formatnamespace:action, tel que chat:submit pour envoyer un message ou app:toggleTodos pour afficher la liste des tâches. Chaque contexte a des actions spécifiques disponibles.
Actions d’application
Actions disponibles dans le contexteGlobal :
Actions d’historique
Actions pour naviguer dans l’historique des commandes :Actions de chat
Actions disponibles dans le contexteChat :
*Sous Windows sans mode VT (Node <24.2.0/<22.17.0, Bun <1.2.23), la valeur par défaut est Meta+M.
Actions d’autocomplétion
Actions disponibles dans le contexteAutocomplete :
Actions de confirmation
Actions disponibles dans le contexteConfirmation :
*Sous Windows sans mode VT (Node <24.2.0/<22.17.0, Bun <1.2.23), la valeur par défaut est Meta+M.
Avant v2.1.257, une action
confirm:toggleExplanation, liée à Ctrl+E par défaut, affichait une explication générée par le modèle de la commande sur les invites de permission Bash et PowerShell.
Actions de permission
Actions disponibles dans le contexteConfirmation pour les dialogues de permission :
Actions de transcription
Actions disponibles dans le contexteTranscript :
transcript:toggleShowAll s’applique uniquement dans le rendu classique ; dans le rendu plein écran, la visionneuse de transcription n’offre pas de basculement d’affichage complet.
Actions de recherche d’historique
Actions disponibles dans le contexteHistorySearch :
Les valeurs par défaut de
historySearch:next, historySearch:accept, historySearch:cancel et historySearch:execute s’appliquent à la recherche d’historique en ligne dans le rendu classique, qui recherche toujours les invites de tous les projets. historySearch:cycleScope prend effet uniquement dans le rendu plein écran, où Ctrl+R ouvre un dialogue de recherche à la place et Ctrl+S bascule sa portée. Les autres touches du dialogue sont fixes et ne peuvent pas être reliées : Entrée ou Tab place la correspondance en surbrillance dans l’entrée d’invite et Échap annule.
Actions de tâche
Actions disponibles dans le contexteTask :
Actions de thème
Actions disponibles dans le contexteThemePicker :
Actions d’aide
Actions disponibles dans le contexteHelp :
Actions d’onglets
Actions disponibles dans le contexteTabs :
Actions de pièces jointes
Actions disponibles dans le contexteAttachments :
Actions de pied de page
Actions disponibles dans le contexteFooter :
Actions du sélecteur de message
Actions disponibles dans le contexteMessageSelector :
Actions de diff
Actions disponibles dans le contexteDiffDialog :
La vue détaillée du diff lie également les touches de style paginateur aux actions de défilement standard. Ces liaisons font partie du contexte
DiffDialog et s’appliquent uniquement dans la vue détaillée ; les valeurs par défaut du contexte Scroll listées sous Actions de défilement sont inchangées.
Actions du panneau de diff
Actions pour le panneau de diff que/diff ouvre dans le rendu plein écran. app:cycleDiffBase est dans le contexte DiffPanel, qui est actif pendant que le panneau est ouvert ; les autres sont Global. Le panneau nécessite Claude Code v2.1.260 ou ultérieure.
Actions du sélecteur de modèle
Actions disponibles dans le contexteModelPicker :
Actions d’effort
Actions disponibles dans le contexteEffortSlider, le curseur qui s’ouvre lorsque vous exécutez /effort sans arguments. Les touches Gauche, Droite, Entrée et Échappement du curseur ne peuvent pas être reliées.
Actions de sélection
Actions disponibles dans le contexteSelect :
Claude Code applique vos liaisons
select:pageUp, select:pageDown, select:first et select:last dans le menu /skills. Dans la plupart des autres listes, telles que le sélecteur /model, Claude Code pagine avec PageUp et PageDown indépendamment de vos liaisons et ignore Home et End.
Actions de plugin
Actions disponibles dans le contextePlugin :
Actions des paramètres
Actions disponibles dans le contexteSettings. Les actions select:accept et confirm:no sont réutilisées à partir des contextes Sélection et Confirmation avec un comportement spécifique aux paramètres : les modifications s’appliquent à chaque paramètre dès que vous le modifiez, donc Échappement ferme le panneau avec vos modifications enregistrées plutôt que de refuser.
Actions des agents
Actions disponibles dans le contexteAgents, qui s’applique dans la vue agent, ouverte avec claude agents. Nécessite v2.1.257 ou ultérieure.
Pendant que la vue agent est ouverte, Claude Code utilise la liaison
Agents pour toute touche que le contexte Agents lie, et il ignore une liaison Chat ou Global sur la même touche. Par exemple, appuyer sur Ctrl+S dans la vue agent bascule le regroupement de session plutôt que de déclencher la valeur par défaut chat:stash.
Le raccourci d’éditeur externe de la saisie de dispatch n’est pas une action Agents. La vue agent suit la liaison chat:externalEditor du contexte Chat, Ctrl+G par défaut.
Les liaisons se déclenchent sur des traits simples dans la vue agent, donc l’accord Ctrl+X Ctrl+E lié à chat:externalEditor n’ouvre pas l’éditeur là.
Actions vocales
Actions disponibles dans le contexteChat lorsque la dictée vocale est activée :
Actions de défilement
Actions disponibles dans le contexteScroll lorsque le rendu plein écran est activé :
Syntaxe des séquences de touches
Modificateurs
Utilisez les touches de modification avec le séparateur+ :
ctrloucontrol- Touche Contrôleshift- Touche Majalt,opt,option, oumeta- Touche Alt sur Windows et Linux, touche Option sur macOScmd,command,super, ouwin- Touche Commande sur macOS, touche Windows sur Windows, touche Super sur Linux
cmd n’est détecté que dans les terminaux qui signalent le modificateur Super, comme ceux prenant en charge le protocole clavier Kitty ou le mode modifyOtherKeys de xterm. La plupart des terminaux ne l’envoient pas, donc utilisez ctrl ou meta pour les liaisons que vous voulez que fonctionnent partout.
Par exemple :
Lettres majuscules
Claude Code analyse les noms de touches de manière insensible à la casse, doncK est la même liaison que k et ctrl+K est la même que ctrl+k. Pour lier Maj et une lettre, écrivez shift+k.
Dispositions de clavier non-US
Écrivez les noms de touches des raccourcis Ctrl en tant que caractères latins même lorsque votre disposition de clavier active tape d’autres caractères. La façon dont Claude Code fait correspondre la touche que vous appuyez à une liaison dépend du type de disposition :- Sous une disposition non-latine telle que le cyrillique, Claude Code fait correspondre les raccourcis Ctrl par la position de la touche en disposition US lorsque le terminal utilise le protocole clavier Kitty et signale cette position. Dans un tel terminal, avec une disposition russe active, appuyer sur Ctrl et la touche W physique déclenche
ctrl+w. Dans un terminal qui ne signale pas la position, Claude Code fait correspondre ce que le terminal envoie pour la frappe : un code de contrôle ASCII déclenche le raccourci latin, et une frappe qui arrive en tant que caractère cyrillique ne correspond à aucune liaison - Sous les dispositions qui réorganisent les lettres latines, telles que AZERTY, Claude Code fait correspondre la lettre que la touche tape, donc appuyer sur Ctrl et la touche étiquetée A déclenche
ctrl+a
Accords
Les accords sont des séquences de touches séparées par des espaces :Touches spéciales
escapeouesc- Touche Échappemententeroureturn- Touche Entréetab- Touche Tabspace- Barre d’espaceup,down,left,right- Touches fléchéespageup,pagedown- Touches Page Précédente et Page Suivantehome,end- Touches Accueil et Finbackspace,delete- Touches de suppressionwheelup,wheeldown- Événements de défilement de la molette de la souris
Délier les raccourcis par défaut
Définissez une action surnull pour délier un raccourci par défaut :
ctrl+x : ctrl+x ctrl+k, ctrl+x ctrl+e, ctrl+x enter, ctrl+x ctrl+a, et ctrl+x tab dans Chat, ctrl+x ctrl+b dans Task, et ctrl+x b dans DiffPanel. L’accord ctrl+x enter nécessite la v2.1.247 ou une version ultérieure, et ctrl+x b, ctrl+x ctrl+a, et ctrl+x tab nécessitent la v2.1.260 ou une version ultérieure. Pour récupérer ctrl+x lui-même comme liaison à touche unique, déliez tous les éléments suivants :
Raccourcis réservés
Ces raccourcis ne peuvent pas être reliés :Conflits de terminal
Certains raccourcis peuvent entrer en conflit avec les multiplexeurs de terminal :Interaction du mode Vim
Lorsque le mode vim est activé via/config → Mode Éditeur, les liaisons de touches et le mode vim fonctionnent indépendamment :
- Mode Vim gère l’entrée au niveau de la saisie de texte (mouvement du curseur, modes, motions)
- Liaisons de touches gèrent les actions au niveau du composant (basculer les tâches, soumettre, etc.)
- La touche Échappement en mode vim bascule INSERT en mode NORMAL ; elle ne déclenche pas
chat:cancel - La plupart des raccourcis Ctrl+touche passent par le mode vim au système de liaison de touches
- Les touches Vim ne sont pas remappables via le fichier de liaisons de touches. Pour mapper une séquence en mode INSERT à deux touches comme
jjà Échappement, utilisez le paramètrevimInsertModeRemaps - En mode NORMAL vim,
?affiche le menu d’aide (comportement vim) - En mode NORMAL vim,
/ouvre la recherche dans l’historique, identique à Ctrl+R en mode standard
Validation
Claude Code valide vos liaisons de touches et affiche des avertissements pour :- Erreurs d’analyse (JSON invalide ou structure)
- Noms de contexte invalides
- Valeurs d’action invalides, telles qu’une action qui n’est pas une chaîne ou
null - Noms d’action inconnus, tels qu’une faute de frappe d’une action enregistrée. Claude Code ignore la liaison et conserve toute liaison par défaut pour cette touche en vigueur. Avant v2.1.246, une liaison avec un nom d’action inconnu désactivait silencieusement cette touche
- Conflits de raccourcis réservés
- Liaisons en double dans le même contexte
--debug pour voir les détails.