Build This Now
Build This Now
Raccourcis clavierGuide de la Status Line
Extension Claude Code pour VS CodeClaude Code vs Cursor en 2026OpenClaw vs Claude CodeSEO IA et optimisation GEOKeybindings Claude CodeConfiguration de la status line Claude Code
speedy_devvkoen_salo
Blog/Toolkit/Extensions/Claude Code Keybindings

Keybindings Claude Code

Reconfigurer les raccourcis Claude Code via keybindings.json. 17 contextes, syntaxe des touches, séquences en accords, piles de modificateurs, désactivation des défauts, configs prêtes à coller.

Arrêtez de configurer. Commencez à construire.

Templates SaaS avec orchestration IA.

Published Feb 27, 2026Toolkit hubExtensions index

Tes doigts s'attendent à ce que Ctrl+K ouvre une palette de commandes. Claude Code a d'autres idées. Chaque mauvais réflexe coûte une seconde de réflexion et un instant de flow.

Le coût s'accumule. Une longue session Claude Code tourne sur la mémoire musculaire, et de mauvais raccourcis par défaut combattent cette mémoire musculaire à chaque frappe. Des années d'habitudes VS Code, Vim, ou Emacs ne se désapprennent pas sur commande. Réentraîner tes mains pour correspondre au layout de raccourcis de quelqu'un d'autre est du temps perdu.

La correction est intégrée. Un seul fichier JSON, organisé par contexte, gère chaque raccourci qui t'importe. Tu obtiens des séquences en accords, des piles de modificateurs, et la possibilité de supprimer un défaut complètement. Les modifications prennent effet dès que tu sauvegardes. Voici comment tout configurer pour que l'outil te ressemble.

Premiers pas avec les keybindings personnalisés

Tape /keybindings dans Claude Code. Cette commande slash crée ou ouvre ~/.claude/keybindings.json pour toi. Le fichier vit dans le dossier habituel ~/.claude/ à côté du reste de tes paramètres.

La forme du fichier est simple :

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

Trois clés de premier niveau font tout le travail :

  • $schema - Optionnel. Pointer vers l'URL du JSON Schema donne à ton éditeur l'autocomplétion et la validation gratuites. Ça vaut la peine de le garder.
  • $docs - Optionnel. Un lien vers la doc pour des recherches rapides.
  • bindings - Le tableau où vivent tes raccourcis. Une entrée par contexte.

Ce champ schema est un avantage discret. Tout éditeur avec support JSON Schema suggère alors des actions et des noms de contexte valides pendant que tu tapes.

Les fichiers sauvegardés sont pris en compte à la volée. Modifie, sauvegarde, et les nouveaux bindings fonctionnent immédiatement. Pas de redémarrage.

Comment fonctionnent les contextes

Chaque binding est dans un contexte, et le contexte décide quand le raccourci est actif. Un binding Chat ne se déclenche que quand la zone de saisie principale du chat a le focus. Réutilise les mêmes touches dans différents contextes et elles peuvent chacune faire quelque chose de différent.

Il y a 17 contextes dans Claude Code :

ContexteQuand il est actif
GlobalPartout dans l'application
ChatZone de saisie principale du chat
AutocompleteLe menu d'autocomplétion est ouvert
SettingsLe menu des paramètres est ouvert
ConfirmationDialogues de permission et de confirmation
TabsComposants de navigation par onglets
HelpLe menu d'aide est visible
TranscriptVisionneuse de transcript
HistorySearchMode de recherche dans l'historique (Ctrl+R)
TaskUne tâche en arrière-plan tourne
ThemePickerDialogue du sélecteur de thème
AttachmentsNavigation dans la barre image/pièce jointe
FooterNavigation dans les indicateurs de pied de page
MessageSelectorSélection de message dans le dialogue de retour en arrière
DiffDialogNavigation dans le visualiseur de diff
ModelPickerNiveau d'effort du sélecteur de modèle
SelectComposants de sélection/liste génériques
PluginDialogue plugin (parcourir, découvrir, gérer)

Global est le cas particulier. Un raccourci ici se déclenche peu importe la vue dans laquelle tu es. Utilise-le avec précaution. Un Ctrl+K global se déclenchera dans le chat, dans l'autocomplétion et dans une revue de diff.

Chaque action, listée

Les noms d'action suivent un pattern namespace:action. Voici chaque action dans chaque contexte, avec sa touche par défaut.

Actions globales

Celles-ci se déclenchent partout :

ActionDéfautCe qu'elle fait
app:interruptCtrl+CAnnuler l'opération en cours
app:exitCtrl+DQuitter Claude Code
app:toggleTodosCtrl+TBasculer la visibilité de la liste de tâches
app:toggleTranscriptCtrl+OBasculer le transcript verbose

Les gros utilisateurs de la liste de tâches appuient sur app:toggleTodos toute la journée. Si Ctrl+T entre en conflit avec ton terminal, déplace-le quelque part de plus pratique.

Actions Chat

Là où la plupart de tes frappes atterrissent :

ActionDéfautCe qu'elle fait
chat:cancelEscapeAnnuler la saisie en cours
chat:cycleModeShift+TabCycler les modes de permission
chat:modelPickerCmd+P / Meta+POuvrir le sélecteur de modèle
chat:thinkingToggleCmd+T / Meta+TBasculer extended thinking
chat:submitEnterEnvoyer le message
chat:undoCtrl+_Annuler la dernière action
chat:externalEditorCtrl+GOuvrir dans un éditeur externe
chat:stashCtrl+SMettre le prompt en attente
chat:imagePasteCtrl+V (Alt+V sur Windows)Coller une image

Sur Windows sans mode VT, chat:cycleMode retombe sur Meta+M. Ça s'applique aux builds Node antérieurs à 24.2.0/22.17.0, et Bun antérieur à 1.2.23. Le raccourci contrôle les modes de permission, qui régulent ce que Claude a le droit de faire.

Actions History

Revenir sur les prompts passés :

ActionDéfautCe qu'elle fait
history:searchCtrl+ROuvrir la recherche dans l'historique
history:previousUpÉlément précédent dans l'historique
history:nextDownÉlément suivant dans l'historique

Actions Autocomplete

Actives quand le menu de suggestions est ouvert :

ActionDéfautCe qu'elle fait
autocomplete:acceptTabAccepter la suggestion
autocomplete:dismissEscapeFermer le menu
autocomplete:previousUpSuggestion précédente
autocomplete:nextDownSuggestion suivante

Actions Confirmation

Bindings pour les dialogues de permission et d'approbation :

ActionDéfautCe qu'elle fait
confirm:yesY, EnterConfirmer l'action
confirm:noN, EscapeRefuser l'action
confirm:previousUpOption précédente
confirm:nextDownOption suivante
confirm:nextFieldTabChamp suivant
confirm:previousField(non lié)Champ précédent
confirm:cycleModeShift+TabCycler les modes de permission
confirm:toggleExplanationCtrl+EBasculer l'explication de permission
permission:toggleDebugCtrl+DBasculer les infos de debug de permission

Actions Transcript

ActionDéfautCe qu'elle fait
transcript:toggleShowAllCtrl+EBasculer l'affichage de tout le contenu
transcript:exitCtrl+C, EscapeQuitter la vue transcript

Actions History Search

ActionDéfautCe qu'elle fait
historySearch:nextCtrl+RCorrespondance suivante
historySearch:acceptEscape, TabAccepter la sélection
historySearch:cancelCtrl+CAnnuler la recherche
historySearch:executeEnterExécuter la commande sélectionnée

Actions Task

ActionDéfautCe qu'elle fait
task:backgroundCtrl+BMettre la tâche en arrière-plan

Actions Theme, Help et Settings

ActionContexteDéfautCe qu'elle fait
theme:toggleSyntaxHighlightingThemePickerCtrl+TBasculer la coloration syntaxique
help:dismissHelpEscapeFermer le menu d'aide
settings:searchSettings/Entrer en mode recherche
settings:retrySettingsRRéessayer le chargement des données d'utilisation

Actions de navigation

Onglets, pièces jointes, pied de page, diffs, sélecteur de modèle, sélections et le sélecteur de messages sont tous là :

ActionContexteDéfautCe qu'elle fait
tabs:nextTabsTab, RightOnglet suivant
tabs:previousTabsShift+Tab, LeftOnglet précédent
attachments:nextAttachmentsRightPièce jointe suivante
attachments:previousAttachmentsLeftPièce jointe précédente
attachments:removeAttachmentsBackspace, DeleteSupprimer la pièce jointe
attachments:exitAttachmentsDown, EscapeQuitter la barre de pièces jointes
footer:nextFooterRightÉlément de pied de page suivant
footer:previousFooterLeftÉlément de pied de page précédent
footer:openSelectedFooterEnterOuvrir l'élément sélectionné
footer:clearSelectionFooterEscapeEffacer la sélection
messageSelector:upMessageSelectorUp, KMonter dans la liste
messageSelector:downMessageSelectorDown, JDescendre dans la liste
messageSelector:topMessageSelectorCtrl+Up, Shift+UpAller en haut
messageSelector:bottomMessageSelectorCtrl+Down, Shift+DownAller en bas
messageSelector:selectMessageSelectorEnterSélectionner le message
diff:dismissDiffDialogEscapeFermer le visualiseur de diff
diff:previousSourceDiffDialogLeftSource de diff précédente
diff:nextSourceDiffDialogRightSource de diff suivante
diff:previousFileDiffDialogUpFichier précédent
diff:nextFileDiffDialogDownFichier suivant
diff:viewDetailsDiffDialogEnterVoir les détails
modelPicker:decreaseEffortModelPickerLeftDiminuer le niveau d'effort
modelPicker:increaseEffortModelPickerRightAugmenter le niveau d'effort
select:nextSelectDown, J, Ctrl+NOption suivante
select:previousSelectUp, K, Ctrl+POption précédente
select:acceptSelectEnterAccepter la sélection
select:cancelSelectEscapeAnnuler la sélection
plugin:togglePluginSpaceBasculer le plugin
plugin:installPluginIInstaller des plugins

Syntaxe des touches

La syntaxe pour définir des combinaisons de touches est facile à lire.

Modificateurs

Joins les touches modificatrices à la touche cible avec + :

  • ctrl ou control pour la touche Control
  • alt, opt, ou option pour Alt/Option
  • shift pour Shift
  • meta, cmd, ou command pour Meta/Command

Quelques exemples :

ctrl+k          Single modifier + key
shift+tab       Shift + Tab
meta+p          Command/Meta + P
ctrl+shift+c    Multiple modifiers

Lettres majuscules et Shift

Une lettre majuscule seule signifie déjà Shift. Donc K dans un binding revient au même que shift+k. Pratique pour les layouts de style Vim où j et J (ou k et K) correspondent à des actions différentes.

Un piège. Une fois qu'un modificateur est attaché, la casse ne compte plus. ctrl+K et ctrl+k sont le même binding. Avec des modificateurs, la majuscule est purement cosmétique.

Séquences en accords

Les accords te donnent des raccourcis multi-touches. Mets un espace entre les frappes :

ctrl+k ctrl+s Press Ctrl+K, release, then press Ctrl+S

Ça ouvre beaucoup plus de possibilités que les bindings à une seule touche. Tu manques de combos de touches inutilisées ? Les accords ajoutent des centaines de nouvelles options sans rien écraser.

Touches spéciales

Les touches non-caractères ont leurs propres noms :

  • escape ou esc
  • enter ou return
  • tab
  • space
  • up, down, left, right
  • backspace, delete

Désactiver les raccourcis par défaut

Mets l'action à null et le défaut disparaît :

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

Pratique quand un défaut entre en conflit avec ton terminal, ton OS, ou un autre outil qui tourne à côté de Claude Code. Tu peux aussi mettre un défaut à null et donner ensuite à cette même touche une nouvelle action.

Raccourcis réservés

Deux touches sont codées en dur. Elles ne peuvent pas être reconfigurées :

RaccourciRaison
Ctrl+CInterruption/annulation codée en dur
Ctrl+DSortie codée en dur

Claude Code rejettera toute tentative de remapper ces touches, et c'est la bonne décision. Chaque utilisateur de terminal s'attend à ce que Ctrl+C interrompe et Ctrl+D quitte. Ce sont des conventions Unix.

Conflits avec les multiplexeurs de terminal

Tu fais tourner Claude Code dans tmux, GNU screen ou un multiplexeur similaire ? Les touches préfixes vont te poser des problèmes :

RaccourciConflit
Ctrl+BPréfixe tmux (appuie deux fois pour envoyer)
Ctrl+APréfixe GNU screen
Ctrl+ZSuspension de processus Unix (SIGTSTP)

task:background est livré avec Ctrl+B, qui est exactement le préfixe tmux. Si tu vis dans tmux, remplace-le dès le premier jour :

{
  "bindings": [
    {
      "context": "Task",
      "bindings": {
        "ctrl+b": null,
        "ctrl+shift+b": "task:background"
      }
    }
  ]
}

Ce conflit piège beaucoup de développeurs qui font tourner Claude Code dans des sessions multiplexées.

Interaction avec le mode Vim

Active le mode vim avec /vim et il fonctionne sur une couche séparée des keybindings :

  • Mode Vim gère l'édition de texte. Mouvement du curseur, modes INSERT et NORMAL, mouvements, objets de texte.
  • Keybindings gèrent les actions au niveau de l'application. Basculer la liste de tâches, envoyer un message, ouvrir le sélecteur de modèle.

La touche Escape est la séparation la plus claire. Dans le mode vim, Escape quitte INSERT et passe en NORMAL. Elle n'appelle pas chat:cancel. La plupart des raccourcis Ctrl+touche passent directement à travers le mode vim vers la couche de keybindings, donc Ctrl+T bascule toujours la liste de tâches même depuis le mode NORMAL.

En mode NORMAL, ? affiche l'aide de style vim, pas l'écran d'aide de Claude Code.

Les gros utilisateurs du mode thinking sur le mode vim devraient placer chat:thinkingToggle derrière un accord qui reste libre des mouvements vim. Le guide du mode interactif couvre comment le mode vim, les commandes slash et le reste des fonctionnalités interactives s'assemblent.

Validation et diagnostics

Claude Code vérifie ton fichier de keybindings à chaque sauvegarde et signale :

  • Erreurs de parsing dans la syntaxe ou la structure JSON
  • Noms de contexte invalides qui ne correspondent pas aux 17 contextes supportés
  • Conflits avec les raccourcis réservés si tu essaies de remapper Ctrl+C ou Ctrl+D
  • Conflits avec les multiplexeurs de terminal pour Ctrl+B, Ctrl+A et Ctrl+Z
  • Bindings en double dans le même contexte

Lance /doctor pour voir chaque avertissement de keybinding en un seul endroit. C'est le chemin le plus rapide pour comprendre pourquoi un raccourci se comporte mal.

Exemples de configuration pratiques

Quelques configurations tirées de setups réels.

Configuration utilisateur VS Code

Tu viens de VS Code et tu veux retrouver les raccourcis habituels :

{
  "$schema": "https://platform.claude.com/docs/schemas/claude-code/keybindings.json",
  "bindings": [
    {
      "context": "Chat",
      "bindings": {
        "ctrl+k ctrl+s": "chat:stash",
        "ctrl+shift+p": "chat:modelPicker",
        "ctrl+g": "chat:externalEditor"
      }
    },
    {
      "context": "Global",
      "bindings": {
        "ctrl+shift+t": "app:toggleTodos"
      }
    }
  ]
}

Setup adapté à tmux

Contourne le clash avec le préfixe tmux :

{
  "$schema": "https://platform.claude.com/docs/schemas/claude-code/keybindings.json",
  "bindings": [
    {
      "context": "Task",
      "bindings": {
        "ctrl+b": null,
        "ctrl+shift+b": "task:background"
      }
    }
  ]
}

Setup minimal sans distractions

Supprime les raccourcis que tes doigts déclenchent par accident :

{
  "$schema": "https://platform.claude.com/docs/schemas/claude-code/keybindings.json",
  "bindings": [
    {
      "context": "Chat",
      "bindings": {
        "ctrl+s": null,
        "ctrl+u": null
      }
    }
  ]
}

Power user avec accords

Place les fonctionnalités rares derrière des accords pour garder les combos à une touche libres :

{
  "$schema": "https://platform.claude.com/docs/schemas/claude-code/keybindings.json",
  "bindings": [
    {
      "context": "Chat",
      "bindings": {
        "ctrl+k ctrl+t": "chat:thinkingToggle",
        "ctrl+k ctrl+m": "chat:modelPicker",
        "ctrl+k ctrl+e": "chat:externalEditor"
      }
    }
  ]
}

Tes actions les plus utilisées gardent leurs bindings à une touche. Tout le reste est à un accord de distance.

Construire ta propre configuration

Vas-y doucement. Reconfigurer toute l'appli en une seule fois est un piège. Voici une approche plus saine :

  1. Lance /keybindings pour générer le fichier de config
  2. Identifie tes trois pires points de douleur (conflits de raccourcis, bindings manquants, déclenchements accidentels)
  3. Corrige ces trois-là d'abord avec des entrées ciblées
  4. Lance /doctor pour valider le fichier
  5. Passe une session Claude Code complète dessus et note ce qui accroche encore
  6. Itère en ajoutant ou modifiant les bindings au fur et à mesure que les frictions apparaissent

Personnaliser chaque raccourci possible n'est pas l'objectif. L'objectif est de réduire l'écart entre ce que tes mains attendent et ce que Claude Code fait. Cinq à dix bindings suffisent généralement pour que l'outil te semble naturel.

Les keybindings gèrent le côté physique. CLAUDE.md et les commandes slash personnalisées gèrent le côté comportemental. Combine les deux et Claude Code commence à ressembler à un outil construit autour de ton workflow.

Continue in Extensions

  • SEO IA et optimisation GEO
    Un tour d'horizon de la Generative Engine Optimization : comment faire citer ton contenu dans les réponses de ChatGPT, Claude et Perplexity plutôt que simplement classé sur Google.
  • Claude Code vs Cursor en 2026
    Une comparaison côte à côte de Claude Code et Cursor en 2026 : modèles d'agents, fenêtres de contexte, niveaux de prix, et comment chaque outil s'adapte aux différents workflows des développeurs.
  • Extension Claude Code pour VS Code
    L'extension VS Code d'Anthropic intègre Claude Code dans la barre latérale de l'éditeur sous forme de panneau icône Spark, avec diffs inline, mode plan, sous-agents et support MCP.
  • OpenClaw vs Claude Code
    OpenClaw vs Claude Code : un assistant de vie branché sur les apps de messagerie face à un agent de code terminal qui lit ton dépôt. Quand chacun mérite une place dans ton workflow.
  • Configuration de la status line Claude Code
    Ajoute une status line Claude Code avec le modèle, la branche git, le coût de session et l'utilisation du contexte. Config settings.json, contrat JSON en entrée, scripts bash, Python, Node.

More from Toolkit

  • Raccourcis clavier
    Configurer keybindings.json dans Claude Code : 17 contextes, syntaxe des touches, séquences d'accords, combinaisons de modificateurs, et comment désactiver n'importe quel raccourci par défaut instantanément.
  • Guide de la Status Line
    Configure une status line Claude Code affichant le nom du modèle, la branche git, le coût de session et l'utilisation du contexte. Config settings.json, JSON d'entrée, scripts bash, Python, Node.js.
  • Hooks de configuration Claude Code
    Assemble scripts, agents et docs dans des hooks de configuration Claude Code. Une commande lance un script déterministe, passe la sortie à un agent de diagnostic, et journalise une doc vivante.
  • Hooks de sauvegarde de contexte pour Claude Code
    Un hook de sauvegarde de contexte Claude Code piloté par StatusLine. Écrit des snapshots structurés toutes les 10K tokens pour que la compaction automatique ne mange jamais les erreurs, signatures et décisions.

Arrêtez de configurer. Commencez à construire.

Templates SaaS avec orchestration IA.

On this page

Premiers pas avec les keybindings personnalisés
Comment fonctionnent les contextes
Chaque action, listée
Actions globales
Actions Chat
Actions History
Actions Autocomplete
Actions Confirmation
Actions Transcript
Actions History Search
Actions Task
Actions Theme, Help et Settings
Actions de navigation
Syntaxe des touches
Modificateurs
Lettres majuscules et Shift
Séquences en accords
Touches spéciales
Désactiver les raccourcis par défaut
Raccourcis réservés
Conflits avec les multiplexeurs de terminal
Interaction avec le mode Vim
Validation et diagnostics
Exemples de configuration pratiques
Configuration utilisateur VS Code
Setup adapté à tmux
Setup minimal sans distractions
Power user avec accords
Construire ta propre configuration

Arrêtez de configurer. Commencez à construire.

Templates SaaS avec orchestration IA.