SpyBara
Go Premium

keybindings.md 2026-11-11 22:59 UTC to 2026-11-12 22:01 UTC

No changes for this document in this history range.

2026
Tue 10 21:57

Personnaliser les raccourcis clavier

Personnalisez les raccourcis clavier dans Claude Code avec un fichier de configuration des liaisons de touches.

Claude Code prend en charge les raccourcis clavier personnalisables. Exécutez /keybindings pour créer ou ouvrir votre fichier de configuration à ~/.claude/keybindings.json.

Fichier de configuration

Le fichier de configuration des raccourcis clavier est un objet contenant un tableau bindings. Chaque bloc spécifie un contexte et une correspondance entre des combinaisons de touches et des actions.

[!NOTE]

Les modifications apportées au fichier des raccourcis clavier sont automatiquement détectées et appliquées sans redémarrer Claude Code.

Champ Description
$schema URL facultative du schéma JSON pour l'autocomplétion dans l'éditeur
$docs URL facultative de la documentation
bindings Tableau de blocs de raccourcis par contexte

Cet exemple associe Ctrl+E à l'ouverture d'un éditeur externe dans le contexte du chat, et supprime l'association de Ctrl+S :

{
  "$schema": "https://www.schemastore.org/claude-code-keybindings.json",
  "$docs": "https://code.claude.com/docs/en/keybindings",
  "bindings": [
    {
      "context": "Chat",
      "bindings": {
        "ctrl+e": "chat:externalEditor",
        "ctrl+s": null
      }
    }
  ]
}

Contextes

Chaque bloc de liaison spécifie un contexte où les liaisons s'appliquent :

Contexte Description
Global S'applique partout dans l'application
Chat Zone de saisie du chat principal
Autocomplete Le menu d'autocomplétion est ouvert
Settings Menu des paramètres
Confirmation Dialogues de permission et de confirmation
Tabs Composants de navigation par onglets
Help Le menu d'aide est visible
Transcript Visionneuse de transcription
HistorySearch Mode de recherche dans l'historique (Ctrl+R)
Task Une tâche s'exécute au premier plan
ThemePicker Dialogue du sélecteur de thème
Attachments Navigation des pièces jointes d'image dans les dialogues de sélection
Footer Navigation de l'indicateur de pied de page (tâches, équipes, diff, artifacts)
MessageSelector Sélection de message du dialogue de rembobinage et de résumé
DiffDialog Navigation de la visionneuse de diff
DiffPanel Le panneau de diff est ouvert
ModelPicker Niveau d'effort du sélecteur de modèle
EffortSlider Curseur d'effort ouvert par /effort
Select Composants génériques de sélection/liste
Plugin Dialogue des plugins (parcourir, découvrir, gérer)
AbovePrompt La bande au-dessus du prompt, ou un bouton qu'elle contient, a le focus clavier
AbovePromptInput Un champ de saisie dans la bande au-dessus du prompt ou dans le volet d'un mod a le focus clavier
AbovePromptSelect Une sélection dans la bande au-dessus du prompt ou dans le volet d'un mod a le focus clavier
Pane Un volet affiché par un mod a le focus clavier
PaneField Un champ de saisie ou une sélection dans le volet d'un mod a le focus clavier
Agents Vue Agent (claude agents)
Scroll Défilement de la conversation et sélection de texte en mode plein écran

Avant la v2.1.205, un contexte Doctor et une action doctor:fix existaient pour l'écran de diagnostics /doctor.

Actions disponibles

Les actions suivent le format namespace:action, comme chat:submit pour envoyer un message ou app:toggleTodos pour afficher la liste des tâches. Chaque contexte dispose d'actions spécifiques.

Actions de l'application

Actions disponibles dans le contexte Global :

Action Par défaut Description
app:interrupt Ctrl+C Annuler l'opération en cours
app:exit Ctrl+D Quitter Claude Code. Appuyez deux fois en moins de 800 ms pour confirmer
app:redraw (non attribué) Forcer le réaffichage du terminal
app:toggleTodos Ctrl+T Afficher ou masquer la liste de tâches de Claude. Il ne s'agit pas de la vue des tâches en arrière-plan /tasks
app:toggleTranscript Ctrl+O Afficher ou masquer la transcription détaillée

Actions de l'historique

Actions permettant de naviguer dans l'historique des commandes :

Action Par défaut Description
history:search Ctrl+R Ouvrir la recherche dans l'historique
history:previous Up Élément précédent de l'historique
history:next Down Élément suivant de l'historique

Actions du chat

Actions disponibles dans le contexte Chat :

Action Par défaut Description
chat:cancel Escape Annuler la saisie en cours
chat:clearInput Ctrl+L Forcer un réaffichage complet de l'écran, en conservant la saisie et la conversation
chat:clearScreen Cmd+K Identique à chat:clearInput. Consultez Effacer la conversation pour savoir comment Cmd+K se comporte dans iTerm2 et Terminal.app
chat:killAgents Ctrl+X Ctrl+K Arrêter tous les sous-agents en arrière-plan en cours d'exécution dans cette session et désactiver les réponses automatiques aux artefacts pour le reste de celle-ci. Appuyez deux fois sur le raccourci en moins de 3 secondes pour confirmer. Vous pouvez l'utiliser pendant qu'une demande de permission d'un sous-agent en arrière-plan est ouverte
chat:cycleMode Shift+Tab* Parcourir les modes de permission
chat:modelPicker Meta+P Ouvrir le sélecteur de modèle
chat:fastMode Meta+O Activer ou désactiver le mode rapide
chat:thinkingToggle Meta+T Activer ou désactiver la réflexion étendue
chat:submit Enter Envoyer le message
chat:queueSubmit Ctrl+X Enter Envoyer le message, marqué pour attendre son tour : pendant que Claude travaille, Claude Code le met en file d'attente et n'interrompt jamais le tour. Contrairement à chat:submit, cette action envoie le brouillon même lorsqu'une suggestion d'autocomplétion est en surbrillance. Nécessite la v2.1.247 ou ultérieure
chat:sendNow Ctrl+Enter, Ctrl+X Ctrl+S Envoyer immédiatement vos messages en file d'attente, ainsi que votre brouillon. Quand Claude Code envoie ce que vous avez mis en file d'attente explique ce qu'il advient du tour sur lequel Claude travaille. Lorsque rien n'est en cours d'exécution, la touche envoie le brouillon, et en mode shell elle se contente de mettre la commande en file d'attente. Les terminaux qui ne signalent pas les touches étendues transmettent Ctrl+Enter comme un simple Enter ; Ctrl+X Ctrl+S est donc le raccourci qui fonctionne dans n'importe quel terminal. Nécessite la v2.1.275 ou ultérieure
chat:newline Ctrl+J Insérer un saut de ligne sans envoyer
chat:undo Ctrl+_, Ctrl+Shift+- Annuler la dernière action
chat:externalEditor Ctrl+G, Ctrl+X Ctrl+E Ouvrir dans un éditeur externe. Le champ de saisie Dispatch de la vue des agents suit également les raccourcis à touche unique de cette action
chat:stash Ctrl+S Mettre de côté le prompt en cours
chat:imagePaste Ctrl+V (Alt+V sous Windows et WSL) Coller une image depuis le presse-papiers. Sous WSL, les deux raccourcis sont attribués par défaut
command:<name> (non attribué) Exécuter la commande /<name>. Par exemple, "meta+g": "command:compact" dans un bloc Chat fait en sorte que Meta+G exécute /compact

*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 contexte Autocomplete :

Action Par défaut Description
autocomplete:accept Tab Accepter la suggestion
autocomplete:dismiss Escape Fermer le menu
autocomplete:previous Up Suggestion précédente
autocomplete:next Down Suggestion suivante

Actions de confirmation

Actions disponibles dans le contexte Confirmation :

Action Par défaut Description
confirm:yes Enter Confirmer l'action
confirm:no Escape Refuser l'action
confirm:previous Up Option précédente
confirm:next Down Option suivante
confirm:nextField Tab Dans la boîte de dialogue /fast, activer ou désactiver le mode rapide
confirm:previousField (non attribué) Claude Code ne réagit pas à cette action, et un keybindings.json qui la mentionne reste valide
confirm:toggle Space Basculer la sélection
confirm:cycleMode Shift+Tab* Dans une demande de permission sur un fichier, ferme un champ de commentaire ouvert ; si aucun champ n'est ouvert, sélectionne l'option qui autorise l'action pour le reste de la session, lorsque la demande propose cette option

*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 la v2.1.257, une action confirm:toggleExplanation, attribuée par défaut à Ctrl+E, affichait une explication de la commande générée par le modèle dans les demandes de permission Bash et PowerShell.

Les boîtes de dialogue utilisent confirm:yes et confirm:no pour accepter et annuler, même lorsqu'elles ne posent pas une question fermée. Si vous attribuez une simple lettre telle que y ou n dans ce contexte, cette lettre agit également sur les boîtes de dialogue qui ne l'affichent jamais comme touche. Une boîte de dialogue qui affiche y et n comme touches lit elle-même ces lettres et n'a besoin d'aucune attribution.

Dans la plupart des boîtes de dialogue, appuyer deux fois sur Ctrl+C ou Ctrl+D ferme la boîte de dialogue au lieu de quitter Claude Code. L'indication affichée après le premier appui précise si le second appui ferme la boîte de dialogue ou quitte l'application. Ces deux touches sont réservées et ne peuvent pas être réattribuées.

Cet exemple attribue y à confirm:yes et n à confirm:no :

{
  "bindings": [
    {
      "context": "Confirmation",
      "bindings": {
        "y": "confirm:yes",
        "n": "confirm:no"
      }
    }
  ]
}

Avec ces attributions, y et n continuent de saisir des lettres lorsqu'un champ de texte a le focus.

Avant la v2.1.280, y était également attribué par défaut à confirm:yes et n à confirm:no. Si vous avez créé votre keybindings.json avec /keybindings avant la v2.1.280, le fichier contient ces deux attributions, qui restent actives jusqu'à ce que vous supprimiez ces deux lignes.

Actions de permission

Actions disponibles dans le contexte Confirmation pour les boîtes de dialogue de permission :

Action Par défaut Description
permission:toggleDebug (non attribué) Claude Code ne réagit pas à cette action, et un keybindings.json qui la mentionne reste valide

Actions de la transcription

Actions disponibles dans le contexte Transcript :

Action Par défaut Description
transcript:toggleShowAll Ctrl+E Afficher ou masquer tout le contenu
transcript:exit q, Ctrl+C, Escape Quitter la vue de la transcription

transcript:toggleShowAll s'applique uniquement dans le moteur de rendu classique ; en rendu plein écran, la visionneuse de transcription ne propose pas d'option pour tout afficher.

Actions de recherche dans l'historique

Actions disponibles dans le contexte HistorySearch :

Action Par défaut Description
historySearch:next Ctrl+R Correspondance suivante
historySearch:accept Escape, Tab Accepter la sélection
historySearch:cancel Ctrl+C Annuler la recherche
historySearch:execute Enter Exécuter la commande sélectionnée
historySearch:cycleScope Ctrl+S Parcourir les portées : session, projet, partout

Les valeurs par défaut de historySearch:next, historySearch:accept, historySearch:cancel et historySearch:execute s'appliquent à la recherche intégrée dans l'historique du moteur de rendu classique, qui recherche toujours les prompts de tous les projets. historySearch:cycleScope ne prend effet qu'en rendu plein écran, où Ctrl+R ouvre à la place une boîte de dialogue de recherche et Ctrl+S en fait varier la portée. Les autres touches de la boîte de dialogue sont fixes et ne peuvent pas être réattribuées : Enter ou Tab place la correspondance en surbrillance dans la saisie du prompt et Esc annule.

Actions des tâches

Actions disponibles dans le contexte Task :

Action Par défaut Description
task:background Ctrl+B, Ctrl+X Ctrl+B Passer la tâche en cours en arrière-plan

Actions du thème

Actions disponibles dans le contexte ThemePicker :

Action Par défaut Description
theme:toggleSyntaxHighlighting Ctrl+T Activer ou désactiver la coloration syntaxique

Actions de l'aide

Actions disponibles dans le contexte Help :

Action Par défaut Description
help:dismiss Escape Fermer le menu d'aide

Actions des onglets

Actions disponibles dans le contexte Tabs :

Action Par défaut Description
tabs:next Tab, Right Onglet suivant
tabs:previous Shift+Tab, Left Onglet précédent

Dans une boîte de dialogue à onglets, tabs:next et tabs:previous changent d'onglet lorsque la rangée d'onglets a le focus. Dans certaines boîtes de dialogue, comme /help et /sandbox, les touches de changement d'onglet fonctionnent aussi depuis le contenu de l'onglet.

Up et Down déplacent le focus entre la rangée d'onglets et le contenu de l'onglet, et une liste dans le contenu ne réagit aux touches que lorsqu'elle a le focus.

Actions des pièces jointes

Actions disponibles dans le contexte Attachments :

Action Par défaut Description
attachments:next Right Pièce jointe suivante
attachments:previous Left Pièce jointe précédente
attachments:remove Backspace, Delete Supprimer la pièce jointe sélectionnée
attachments:exit Down, Escape Quitter la navigation dans les pièces jointes

Actions du pied de page

Actions disponibles dans le contexte Footer :

Action Par défaut Description
footer:next Right Élément suivant du pied de page
footer:previous Left Élément précédent du pied de page
footer:up Up, Ctrl+P Monter dans le pied de page (désélectionne en haut)
footer:down Down, Ctrl+N Descendre dans le pied de page
footer:openSelected Enter Ouvrir l'élément sélectionné du pied de page
footer:clearSelection Escape Effacer la sélection du pied de page
footer:close x Arrêter l'agent ou le workflow sélectionné, ou masquer sa ligne s'il n'est plus en cours d'exécution
footer:dismiss (non attribué) Attribuer une touche à cette action n'a aucun effet, et un keybindings.json qui la mentionne reste valide. Avant la v2.1.281, Backspace et Delete lui étaient attribuées et retiraient du pied de page le lien d'artefact sélectionné.

Lorsqu'un élément du pied de page est sélectionné, comme une ligne du panneau des agents sous le prompt, Enter l'ouvre même si vous avez réattribué Enter dans le contexte Chat à chat:queueSubmit ou chat:newline.

Les attributions Chat sur des touches que le contexte Footer n'attribue pas, comme Shift+Tab pour chat:cycleMode, continuent de fonctionner lorsqu'un élément est sélectionné.

Actions du sélecteur de messages

Dans la liste des messages du menu de retour en arrière, vous parcourez les messages et en choisissez un avec les actions Select et leurs touches par défaut. Vos attributions Select pour ces actions s'y appliquent également. Le contexte MessageSelector ne possède ni actions ni attributions par défaut propres. Utilisez-le pour modifier une touche pour cette seule liste, en attribuant une action Select telle que select:accept dans un bloc MessageSelector.

Cet exemple attribue o à la sélection du message en surbrillance dans le menu de retour en arrière, sans modifier aucune autre liste :

{
  "bindings": [
    {
      "context": "MessageSelector",
      "bindings": {
        "o": "select:accept"
      }
    }
  ]
}

Avant la v2.1.283, cette liste ignorait les attributions Select et disposait de ses propres actions : messageSelector:up, messageSelector:down, messageSelector:top, messageSelector:bottom et messageSelector:select. Si votre keybindings.json attribue l'un de ces noms, l'attribution continue de fonctionner dans cette liste en tant qu'action Select équivalente. Home et End permettent d'aller à l'une ou l'autre extrémité de la liste ; avant la v2.1.283, des touches comme Shift+K et Shift+J le faisaient par défaut.

Actions du diff

Ces actions ne concernent que l'ancienne visionneuse de diff de Claude Code, que /diff ouvre en dehors du rendu plein écran après que vous avez désactivé le mod cc-plugin-diff dans /plugin. Tant que ce mod est activé, /diff ouvre à la place la boîte de dialogue de diff.

Actions disponibles dans le contexte DiffDialog :

Action Par défaut Description
diff:dismiss Escape Fermer la visionneuse de diff ; depuis la vue détaillée, revient plutôt à la liste des fichiers
diff:previousSource Left Source de diff précédente
diff:nextSource Right Source de diff suivante
diff:previousFile Up, K Fichier précédent dans la liste des fichiers ; défiler d'une ligne vers le haut dans la vue détaillée
diff:nextFile Down, J Fichier suivant dans la liste des fichiers ; défiler d'une ligne vers le bas dans la vue détaillée
diff:back (non attribué) Revenir en arrière dans la visionneuse de diff. Escape effectue le retour en arrière via diff:dismiss. L'ancienne valeur par défaut Left dans la vue détaillée a été supprimée dans la v2.1.203

La liste des fichiers réagit également aux actions Select, via leurs touches par défaut et vos attributions Select. select:previous et select:next passent au fichier précédent et suivant, et Enter ouvre le diff du fichier sélectionné via select:accept. Pour modifier l'une de ces touches pour la seule liste des fichiers, attribuez l'action Select dans un bloc DiffDialog.

Avant la v2.1.283, la liste des fichiers ignorait les attributions Select, et Enter ouvrait le diff du fichier sélectionné via une action distincte diff:viewDetails. Si votre keybindings.json attribue diff:viewDetails, l'attribution continue de fonctionner dans la liste des fichiers en tant que select:accept.

La vue détaillée du diff attribue également des touches de type pager aux actions de défilement standard. Ces attributions font partie du contexte DiffDialog et ne s'appliquent que dans la vue détaillée ; les valeurs par défaut du contexte Scroll répertoriées dans Actions de défilement restent inchangées.

Action Par défaut Description
scroll:pageUp PageUp Défiler vers le haut d'une demi-fenêtre
scroll:pageDown PageDown Défiler vers le bas d'une demi-fenêtre
scroll:fullPageUp Shift+Space, B Défiler vers le haut d'une fenêtre entière
scroll:fullPageDown Space Défiler vers le bas d'une fenêtre entière
scroll:top G, Home Aller tout en haut
scroll:bottom Shift+G, End Aller tout en bas

Actions du panneau de diff

Actions pour le panneau de diff que /diff ouvre en rendu plein écran. app:cycleDiffBase se trouve dans le contexte DiffPanel, actif tant que le panneau est ouvert ; les autres sont dans Global.

Le mod cc-plugin-diff intégré dessine ce panneau et gère app:cycleDiffBase, app:diffFileListUp et app:diffFileListDown. app:toggleReplTab, app:toggleDiffNoiseFilter et app:toggleDiffPreSession ne concernent que l'ancien panneau de Claude Code, que /diff ouvre après que vous avez désactivé cc-plugin-diff dans /plugin.

Action Par défaut Description
app:toggleReplTab (non attribué) Ouvrir ou fermer le panneau de diff
app:cycleDiffBase Ctrl+X B Parcourir les bases de comparaison du panneau : cette session, non commité, puis branche
app:diffFileListUp Ctrl+Up, Meta+Up Faire défiler vers le haut la liste des fichiers du panneau lorsqu'elle déborde
app:diffFileListDown Ctrl+Down, Meta+Down Faire défiler vers le bas la liste des fichiers du panneau lorsqu'elle déborde
app:toggleDiffNoiseFilter (non attribué) Afficher ou masquer les fichiers de test et les fichiers générés dans le panneau
app:toggleDiffPreSession (non attribué) Développer ou réduire les modifications antérieures à cette session

Actions du sélecteur de modèle

Actions disponibles dans le contexte ModelPicker :

Action Par défaut Description
modelPicker:decreaseEffort Left Diminuer le niveau d'effort
modelPicker:increaseEffort Right Augmenter le niveau d'effort
modelPicker:thisSessionOnly s Appliquer le modèle en surbrillance à cette session uniquement

Actions du curseur d'effort

Actions disponibles dans le contexte EffortSlider, le curseur qui s'ouvre lorsque vous exécutez /effort sans argument. Les touches Enter et Escape du curseur ne peuvent pas être réattribuées.

Action Par défaut Description
effortSlider:decreaseEffort Left Déplacer le curseur vers le niveau d'effort inférieur suivant. Nécessite la v2.1.284 ou ultérieure
effortSlider:increaseEffort Right Déplacer le curseur vers le niveau d'effort supérieur suivant. Nécessite la v2.1.284 ou ultérieure
effortSlider:toggleUltracode Tab Activer ou désactiver ultracode pour cette session, lorsque le curseur le propose. Nécessite la v2.1.284 ou ultérieure
effortSlider:thisSessionOnly s Appliquer le niveau d'effort ciblé à cette session uniquement. Nécessite la v2.1.257 ou ultérieure

Actions Select

Actions disponibles dans le contexte Select :

Action Par défaut Description
select:next Down, J, Ctrl+N Option suivante
select:previous Up, K, Ctrl+P Option précédente
select:pageUp PageUp Remonter d'une page d'options
select:pageDown PageDown Descendre d'une page d'options
select:first Home Première option
select:last End Dernière option
select:accept Enter Accepter la sélection
select:cancel Escape Annuler la sélection

Dans les panneaux de liste tels que /skills, /mcp et /tasks, Claude Code applique vos attributions select:pageUp, select:pageDown, select:first et select:last. Dans la plupart des autres listes, comme le sélecteur /model, vos attributions select:first et select:last s'appliquent. PageUp et PageDown font défiler les options de ces listes page par page, indépendamment de vos attributions.

Avant la v2.1.280, ces autres listes ignoraient Home, End et vos attributions select:first et select:last.

Avant la v2.1.283, la liste des outils de /mcp défilait page par page avec les touches fixes PageUp et PageDown, indépendamment de vos attributions.

Actions des plugins

Actions disponibles dans le contexte Plugin :

Action Par défaut Description
plugin:toggle Space Basculer la sélection du plugin
plugin:install I Installer les plugins sélectionnés
plugin:favorite F Ajouter le plugin sélectionné aux favoris pour qu'il apparaisse en haut de l'onglet Installed

Actions au-dessus du prompt

Actions pour la bande située au-dessus du prompt, la zone partagée où les mods dessinent des boutons, des champs de saisie et des listes de sélection. abovePrompt:toggle et abovePrompt:focus s'appliquent dans le contexte Chat. Les autres actions s'appliquent dans le contexte de l'élément qui a le focus clavier dans la bande ou dans un volet.

Action Par défaut Description
abovePrompt:toggle Ctrl+X Ctrl+A Réduire la bande à une indication d'une ligne, ou la développer à nouveau
abovePrompt:focus Ctrl+X Tab Déplacer le focus clavier dans la bande, puis vers chaque volet ouvert, et du dernier volet de retour au prompt
abovePrompt:next Tab Donner le focus au contrôle suivant
abovePrompt:previous Shift+Tab Donner le focus au contrôle précédent
abovePrompt:press Enter Appuyer sur le bouton ciblé, envoyer le champ de saisie ciblé ou choisir l'option en surbrillance dans une liste de sélection
abovePrompt:leave Escape Rendre le focus clavier au prompt
abovePrompt:highlightNext Down Mettre en surbrillance l'option suivante dans une liste de sélection ciblée
abovePrompt:highlightPrevious Up Mettre en surbrillance l'option précédente dans une liste de sélection ciblée

Dans le contexte AbovePrompt, Right et Left exécutent également par défaut abovePrompt:next et abovePrompt:previous, et Space exécute également abovePrompt:press.

Le contexte AbovePrompt attribue aussi Up, Down, PageUp, PageDown, Home et End aux actions de défilement des volets pane:scrollUp à pane:bottom ; pour modifier l'une de ces touches pour la bande, attribuez l'action de défilement dans un bloc AbovePrompt.

Actions des volets

Actions pour un volet dessiné par un mod. Les actions de défilement, de redimensionnement et de fermeture s'appliquent dans le contexte Pane. pane:close s'applique également dans le contexte PaneField, de sorte qu'elle fonctionne lorsqu'un des champs du volet a le focus. pane:next et pane:previous s'appliquent dans le contexte Global lorsque plusieurs volets sont ouverts.

Action Par défaut Description
pane:scrollUp Up Faire défiler le volet vers le haut lorsqu'il contient plus de lignes qu'il ne peut en afficher
pane:scrollDown Down Faire défiler le volet vers le bas lorsqu'il contient plus de lignes qu'il ne peut en afficher
pane:pageUp PageUp Faire défiler le volet d'une page vers le haut
pane:pageDown PageDown Faire défiler le volet d'une page vers le bas
pane:top Home Aller en haut du volet
pane:bottom End Aller en bas du volet
pane:grow Ctrl+X Left, Ctrl+X Up Donner plus de place au volet : en largeur lorsqu'il se trouve à côté de la transcription, en hauteur lorsqu'il se trouve au-dessus du prompt
pane:shrink Ctrl+X Right, Ctrl+X Down Donner moins de place au volet : en largeur lorsqu'il se trouve à côté de la transcription, en hauteur lorsqu'il se trouve au-dessus du prompt
pane:close Ctrl+X X Fermer le volet
pane:next (non attribué) Afficher le volet ouvert suivant
pane:previous (non attribué) Afficher le volet ouvert précédent

Le contexte Pane attribue également Tab, Shift+Tab, Enter et Escape aux mêmes actions au-dessus du prompt que la bande, et les champs de saisie et listes de sélection d'un volet utilisent les contextes AbovePromptInput et AbovePromptSelect. Focus clavier et raccourcis indique ce que fait chaque touche dans un volet.

Actions des paramètres

Actions disponibles dans le contexte Settings. Les actions select:accept et confirm:no sont reprises des contextes Select et Confirmation avec un comportement propre aux paramètres : les modifications s'appliquent à chaque paramètre dès que vous le modifiez, donc Escape ferme le panneau en enregistrant vos modifications plutôt qu'en les refusant.

Action Par défaut Description
settings:search / Passer en mode recherche
settings:retry R Réessayer de charger les données d'utilisation en cas d'erreur
settings:fixUsage F Envoyer à votre session les recommandations /usage que Claude Code peut appliquer, lorsque le pied de page de /usage propose un correctif. Nécessite la v2.1.305 ou ultérieure
select:accept Enter, Space Modifier le paramètre sélectionné ou ouvrir son sous-menu
confirm:no Escape Fermer le panneau. Les modifications sont déjà enregistrées

Actions des agents

Actions disponibles dans le contexte Agents, qui s'applique dans la vue des agents, ouverte avec claude agents. Nécessite la v2.1.257 ou ultérieure.

Action Par défaut Description
agents:switchView Ctrl+S Basculer le regroupement des sessions entre état et répertoire
agents:togglePin Ctrl+T Épingler ou désépingler la session sélectionnée
agents:find Ctrl+F Rechercher des sessions par nom, avec le filtre n:. Nécessite la v2.1.288 ou ultérieure
agents:rename Ctrl+R Renommer la session sélectionnée. Nécessite la v2.1.288 ou ultérieure
agents:previousGroup Ctrl+Up, Meta+Up Aller à l'en-tête de groupe précédent. Nécessite la v2.1.288 ou ultérieure
agents:nextGroup Ctrl+Down, Meta+Down Aller à l'en-tête de groupe suivant. Nécessite la v2.1.288 ou ultérieure

Lorsque la vue des agents est ouverte, Claude Code utilise l'attribution Agents pour toute touche attribuée par le contexte Agents, et ignore une attribution Chat ou Global sur la même touche. Par exemple, appuyer sur Ctrl+S dans la vue des agents bascule le regroupement des sessions au lieu de déclencher l'action par défaut chat:stash.

Le raccourci d'éditeur externe du champ de saisie Dispatch n'est pas une action Agents. La vue des agents suit l'attribution chat:externalEditor du contexte Chat, Ctrl+G par défaut.

Dans la vue des agents, les attributions se déclenchent sur des touches uniques ; la combinaison Ctrl+X Ctrl+E attribuée à chat:externalEditor n'y ouvre donc pas l'éditeur.

Actions vocales

Actions disponibles dans le contexte Chat lorsque la dictée vocale est activée :

Action Par défaut Description
voice:pushToTalk Space Dicter un prompt. Maintenir ou appuyer brièvement selon le mode /voice

Actions de défilement

Actions disponibles dans le contexte Scroll lorsque le rendu plein écran est activé :

Action Par défaut Description
scroll:lineUp wheelup Défiler d'une ligne vers le haut. Le défilement avec la molette de la souris déclenche cette action
scroll:lineDown wheeldown Défiler d'une ligne vers le bas. Le défilement avec la molette de la souris déclenche cette action
scroll:pageUp PageUp Défiler vers le haut de la moitié de la hauteur de la fenêtre
scroll:pageDown PageDown Défiler vers le bas de la moitié de la hauteur de la fenêtre
scroll:top Ctrl+Home Aller au début de la conversation
scroll:bottom Ctrl+End Aller au dernier message et réactiver le suivi automatique
scroll:halfPageUp (non attribué) Défiler vers le haut de la moitié de la hauteur de la fenêtre. Même comportement que scroll:pageUp, fourni pour les réattributions de style vi
scroll:halfPageDown (non attribué) Défiler vers le bas de la moitié de la hauteur de la fenêtre. Même comportement que scroll:pageDown, fourni pour les réattributions de style vi
scroll:fullPageUp (non attribué) Défiler vers le haut de toute la hauteur de la fenêtre
scroll:fullPageDown (non attribué) Défiler vers le bas de toute la hauteur de la fenêtre
selection:copy Ctrl+Shift+C / Cmd+C Copier le texte sélectionné dans le presse-papiers
selection:clear (non attribué) Effacer la sélection de texte active. Nécessite la v2.1.234 ou ultérieure
selection:extendLeft Shift+Left Étendre la sélection active d'une colonne vers la gauche
selection:extendRight Shift+Right Étendre la sélection active d'une colonne vers la droite
selection:extendUp Shift+Up Étendre la sélection active d'une ligne vers le haut. Fait défiler la fenêtre lorsque la sélection atteint le bord supérieur
selection:extendDown Shift+Down Étendre la sélection active d'une ligne vers le bas. Fait défiler la fenêtre lorsque la sélection atteint le bord inférieur
selection:extendLineStart Shift+Home Étendre la sélection active jusqu'au début de la ligne
selection:extendLineEnd Shift+End Étendre la sélection active jusqu'à la fin de la ligne

Syntaxe des séquences de touches

Modificateurs

Utilisez les touches de modification avec le séparateur + :

  • ctrl ou control - Touche Contrôle
  • shift - Touche Maj
  • alt, opt, option, ou meta - Touche Alt sur Windows et Linux, touche Option sur macOS
  • cmd, command, super, ou win - Touche Commande sur macOS, touche Windows sur Windows, touche Super sur Linux

Le groupe 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 :

ctrl+k          Ctrl + K
shift+tab       Maj + Tab
meta+p          Option + P sur macOS, Alt + P ailleurs
ctrl+shift+c    Plusieurs modificateurs

Lettres majuscules

Claude Code analyse les noms de touches de manière insensible à la casse, donc K 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 :

ctrl+k ctrl+s   Appuyez sur Ctrl+K, relâchez, puis Ctrl+S

Appuyez sur chaque séquence de touches dans les 3 secondes suivant la précédente. Si vous attendez plus longtemps, Claude Code annule l'accord et affiche un bref message indiquant que c'est le cas.

Touches spéciales

  • escape ou esc - Touche Échappement
  • enter ou return - Touche Entrée
  • tab - Touche Tab
  • space - Barre d'espace
  • up, down, left, right - Touches fléchées
  • pageup, pagedown - Touches Page Précédente et Page Suivante
  • home, end - Touches Accueil et Fin
  • backspace, delete - Touches de suppression
  • wheelup, wheeldown - Événements de défilement de la molette de la souris

Délier les raccourcis par défaut

Définissez une action sur null pour délier un raccourci par défaut :

{
  "bindings": [
    {
      "context": "Chat",
      "bindings": {
        "ctrl+s": null
      }
    }
  ]
}

Cela fonctionne également pour les liaisons d'accords. Délier tous les accords qui partagent un préfixe libère ce préfixe pour une utilisation comme liaison à touche unique. Un accord dans n'importe quel contexte actif conserve son préfixe réservé, vous devez donc délier chaque accord dans le contexte qui le définit.

Claude Code lie ces accords par défaut sur le préfixe ctrl+x, par contexte :

  • Chat : ctrl+x ctrl+k, ctrl+x ctrl+e, ctrl+x enter, ctrl+x ctrl+a, ctrl+x ctrl+s et ctrl+x tab
  • Task : ctrl+x ctrl+b
  • DiffPanel : ctrl+x b
  • Pane : ctrl+x left, ctrl+x right, ctrl+x up, ctrl+x down et ctrl+x x
  • PaneField : ctrl+x x

L'accord ctrl+x enter nécessite la v2.1.247 ou une version ultérieure, ctrl+x b, ctrl+x ctrl+a, et ctrl+x tab nécessitent la v2.1.260 ou une version ultérieure, et ctrl+x ctrl+s nécessite la v2.1.275 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 :

{
  "bindings": [
    {
      "context": "Task",
      "bindings": {
        "ctrl+x ctrl+b": null
      }
    },
    {
      "context": "DiffPanel",
      "bindings": {
        "ctrl+x b": null
      }
    },
    {
      "context": "Pane",
      "bindings": {
        "ctrl+x left": null,
        "ctrl+x right": null,
        "ctrl+x up": null,
        "ctrl+x down": null,
        "ctrl+x x": null
      }
    },
    {
      "context": "PaneField",
      "bindings": {
        "ctrl+x x": null
      }
    },
    {
      "context": "Chat",
      "bindings": {
        "ctrl+x ctrl+k": null,
        "ctrl+x ctrl+e": null,
        "ctrl+x enter": null,
        "ctrl+x ctrl+a": null,
        "ctrl+x ctrl+s": null,
        "ctrl+x tab": null,
        "ctrl+x": "chat:newline"
      }
    }
  ]
}

Si vous déliez certains accords mais pas tous sur un préfixe, appuyer sur le préfixe entre toujours en mode d'attente d'accord pour les liaisons restantes.

Raccourcis réservés

Ces raccourcis ne peuvent pas être reliés :

Raccourci Raison
Ctrl+C Interruption/annulation codée en dur
Ctrl+D Sortie codée en dur
Ctrl+M Claude Code le reçoit toujours comme Entrée
Ctrl+[ Claude Code le reçoit toujours comme Échap. Dans les terminaux qui utilisent le protocole clavier Kitty, cela nécessite la version 2.1.242 ou ultérieure
Ctrl+I Claude Code le reçoit toujours comme Tab
Ctrl+H Envoie l'octet ASCII de retour arrière. La façon dont Claude Code le lit sur Windows dépend de votre terminal et de la variable d'environnement CLAUDE_CODE_BS_AS_CTRL_BACKSPACE
Caps Lock Non livré aux applications de terminal

Conflits de terminal

Certains raccourcis peuvent entrer en conflit avec les multiplexeurs de terminal :

Raccourci Conflit
Ctrl+B Préfixe tmux (appuyez deux fois pour envoyer)
Ctrl+A Préfixe GNU screen
Ctrl+Z Suspension de processus Unix (SIGTSTP)

Champs de texte

Si vous liez une lettre, un chiffre ou une Espace nue, vous pouvez toujours taper ce caractère dans un champ de texte à l'intérieur d'une boîte de dialogue ou d'un panneau. L'un de ces champs est la réponse « Autre » à une question que Claude pose. Tant que le champ a le focus, une touche imprimable que vous appuyez sans Ctrl, Alt ou Cmd va au champ, et Claude Code ne la fait pas correspondre à vos liaisons.

Ces touches exécutent toujours leurs liaisons tant que le champ a le focus :

  • Les touches qui ne tapent pas un caractère, telles que Entrée, Échap, Tab et les touches fléchées
  • N'importe quelle touche appuyée avec Ctrl, Alt ou Cmd
  • La deuxième frappe d'un accord déjà en cours

À l'invite principale, Claude Code fait correspondre chaque touche aux contextes actifs, tels que Chat, et tape la touche uniquement quand aucune liaison ne la prend.

Interaction avec le mode vim

Lorsque vous activez le mode vim avec le paramètre Editor mode dans /config, les raccourcis clavier et le mode vim fonctionnent indépendamment :

  • Le mode vim gère la saisie au niveau du champ de texte : déplacement du curseur, modes et mouvements
  • Les raccourcis clavier gèrent les actions au niveau des composants, comme l'affichage des todos ou l'envoi d'un message
  • La touche Escape en mode vim fait passer du mode INSERT au mode NORMAL ; elle ne déclenche pas chat:cancel
  • La plupart des raccourcis Ctrl+touche traversent le mode vim jusqu'au système de raccourcis clavier
  • Les touches vim ne sont pas réassignables via le fichier de raccourcis clavier. Pour associer une séquence de deux touches en mode INSERT telle que jj à Escape, utilisez le paramètre vimInsertModeRemaps
  • En mode NORMAL de vim, ? affiche le menu d'aide (comportement vim)
  • En mode NORMAL de vim, / ouvre la recherche dans l'historique, comme Ctrl+R en mode standard

Dans la ligne Other d'une question posée par Claude, Escape n'annule pas immédiatement la question en mode vim. Sauf en mode lecteur d'écran, la ligne démarre en mode INSERT chaque fois que vous lui donnez le focus. Lorsque vous appuyez sur Escape dans la ligne Other, la ligne passe en mode NORMAL ou abandonne une commande vim à moitié saisie, et la question reste ouverte. Appuyez à nouveau sur Escape en mode NORMAL pour annuler la question.

Annuler une question en une seule pression de touche

Pour annuler une question en une seule pression de touche en mode vim, associez une autre touche à select:cancel dans le contexte Select. Vous pouvez annuler de cette façon depuis la ligne Other d'une question où vous sélectionnez une seule option. En mode lecteur d'écran ou dans une question où vous pouvez sélectionner plusieurs options, la touche associée n'annule pas : annulez alors avec Escape.

Choisissez une touche que vous pressez avec Ctrl ou Alt. Une lettre ou un chiffre seul est envoyé à la ligne Other et n'atteint pas vos raccourcis. Par exemple, pour associer Ctrl+Q, ajoutez ceci à ~/.claude/keybindings.json :

{
  "bindings": [
    {
      "context": "Select",
      "bindings": {
        "ctrl+q": "select:cancel"
      }
    }
  ]
}

Après avoir enregistré le fichier, appuyez sur Ctrl+Q dans la ligne Other d'une question où vous sélectionnez une seule option. La question se ferme, que la ligne soit en mode INSERT ou NORMAL.

Validation

Claude Code valide vos liaisons de touches et écrit un avertissement dans le journal de débogage pour :

  • Erreurs d'analyse (JSON invalide ou structure)
  • Modificateurs mal orthographiés, tels que ctl+k. Claude Code supprime la partie qu'il ne reconnaît pas et applique la liaison à la frappe restante, k dans cet exemple.
  • Un espace à côté de + dans une chaîne de touches, tel que ctrl+ k. Claude Code interprète la chaîne comme un accord de ctrl+ suivi de k. Aucune frappe ne correspond à ctrl+ seul, la liaison ne se déclenche donc jamais. Supprimez l'espace.
  • 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.
  • Conflits de raccourcis réservés
  • Liaisons en double dans le même contexte

Démarrez Claude Code avec --debug pour voir les détails.