Passer au contenu principal

Documentation Index

Fetch the complete documentation index at: https://code.claude.com/docs/llms.txt

Use this file to discover all available pages before exploring further.

Claude Code fonctionne dans n’importe quel terminal sans configuration. Cette page est destinée aux cas où quelque chose de spécifique ne se comporte pas comme prévu. Trouvez votre symptôme ci-dessous. Si tout vous semble déjà correct, vous n’avez pas besoin de cette page. Cette page concerne la configuration de votre terminal pour envoyer les bons signaux à Claude Code. Pour modifier les touches auxquelles Claude Code lui-même répond, consultez plutôt keybindings.

Entrer des invites multilignes

Appuyer sur Entrée soumet votre message. Pour ajouter un saut de ligne sans soumettre, appuyez sur Ctrl+J, ou tapez \ puis appuyez sur Entrée. Les deux fonctionnent dans tous les terminaux sans configuration. Dans la plupart des terminaux, vous pouvez également appuyer sur Maj+Entrée, mais le support varie selon l’émulateur de terminal :
TerminalMaj+Entrée pour saut de ligne
Ghostty, Kitty, iTerm2, WezTerm, Warp, Apple Terminal, Windows TerminalFonctionne sans configuration
VS Code, Cursor, Windsurf, Alacritty, ZedExécutez /terminal-setup une fois
gnome-terminal, JetBrains IDEs tels que PyCharm et Android StudioNon disponible ; utilisez Ctrl+J ou \ puis Entrée
Pour VS Code, Cursor, Windsurf, Alacritty et Zed, /terminal-setup écrit Maj+Entrée et d’autres liaisons de clavier dans le fichier de configuration du terminal. Dans VS Code, Cursor et Windsurf, il définit également terminal.integrated.mouseWheelScrollSensitivity dans les paramètres de l’éditeur pour un défilement plus fluide en mode plein écran. Les liaisons et paramètres existants sont conservés ; si vous voyez un message tel que VSCode terminal Shift+Enter key binding already configured, aucune modification n’a été apportée. Exécutez /terminal-setup directement dans le terminal hôte plutôt qu’à l’intérieur de tmux ou screen, car il doit écrire dans la configuration du terminal hôte. Si vous exécutez à l’intérieur de tmux, Maj+Entrée nécessite également la configuration tmux ci-dessous même lorsque le terminal externe la supporte. Pour lier le saut de ligne à une touche différente, ou pour inverser le comportement afin qu’Entrée insère un saut de ligne et Maj+Entrée soumet, mappez les actions chat:newline et chat:submit dans votre fichier keybindings.

Activer les raccourcis de la touche Option sur macOS

Certains raccourcis de Claude Code utilisent la touche Option, comme Option+Entrée pour un saut de ligne ou Option+P pour changer de modèle. Sur macOS, la plupart des terminaux n’envoient pas Option comme modificateur par défaut, donc ces raccourcis ne font rien jusqu’à ce que vous l’activiez. Le paramètre du terminal pour cela est généralement étiqueté « Use Option as Meta Key » ; Meta est le nom Unix historique de la touche maintenant étiquetée Option ou Alt.
Ouvrez Paramètres → Profils → Clavier et cochez ’ Utiliser Option comme touche Meta ’.Si vous avez accepté l’invite de premier lancement de Claude Code qui proposait ’ Option+Entrée pour les sauts de ligne et la cloche visuelle ’, c’est déjà fait. Cette invite exécute /terminal-setup pour vous, ce qui active Option comme Meta et bascule la cloche audio vers un flash d’écran visuel dans votre profil Apple Terminal.
Pour Ghostty, Kitty et d’autres terminaux, recherchez un paramètre Option-as-Alt ou Option-as-Meta dans le fichier de configuration du terminal.

Obtenir une cloche de terminal ou une notification

Lorsque Claude termine une tâche ou s’arrête pour une invite de permission, il déclenche un événement de notification. Afficher cela comme une cloche de terminal ou une notification de bureau vous permet de passer à d’autres tâches pendant qu’une longue tâche s’exécute. Par défaut, Claude Code envoie une notification de bureau uniquement dans Ghostty, Kitty et iTerm2. Dans les autres terminaux, définissez preferredNotifChannel sur "terminal_bell" pour sonner la cloche du terminal à la place, ou configurez un hook Notification pour un son personnalisé ou une commande. La notification de bureau atteint votre machine locale via SSH, donc une session distante peut toujours vous alerter. Ghostty et Kitty la transmettent à votre centre de notifications du système d’exploitation sans configuration supplémentaire. iTerm2 nécessite que vous activiez la transmission :
1

Ouvrir les paramètres de notification iTerm2

Allez à Paramètres → Profils → Terminal.
2

Activer les alertes

Cochez « Notification Center Alerts », puis cliquez sur « Filter Alerts » et activez « Send escape sequence-generated alerts ».
Si les notifications n’apparaissent toujours pas, confirmez que votre application de terminal dispose de la permission de notification dans vos paramètres du système d’exploitation, et si vous exécutez à l’intérieur de tmux, activez le passthrough.

Jouer un son avec un hook Notification

Dans n’importe quel terminal, vous pouvez configurer un hook Notification pour jouer un son ou exécuter une commande personnalisée lorsque Claude a besoin de votre attention. Les hooks s’exécutent aux côtés de la notification de bureau plutôt que de la remplacer, donc les terminaux qui ne reçoivent pas de notification de bureau, comme Warp ou le terminal intégré de VS Code, peuvent utiliser un hook ou définir preferredNotifChannel sur "terminal_bell" à la place. L’exemple ci-dessous joue un son système sur macOS. Le guide lié contient des commandes de notification de bureau pour macOS, Linux et Windows.
~/.claude/settings.json
{
  "hooks": {
    "Notification": [
      {
        "hooks": [{ "type": "command", "command": "afplay /System/Library/Sounds/Glass.aiff" }]
      }
    ]
  }
}

Configurer tmux

Lorsque Claude Code s’exécute à l’intérieur de tmux, deux choses se cassent par défaut : Maj+Entrée soumet au lieu d’insérer un saut de ligne, et les notifications de bureau et la barre de progression n’atteignent jamais le terminal externe. Ajoutez ces lignes à ~/.tmux.conf, puis exécutez tmux source-file ~/.tmux.conf pour les appliquer au serveur en cours d’exécution :
~/.tmux.conf
set -g allow-passthrough on
set -s extended-keys on
set -as terminal-features 'xterm*:extkeys'
La ligne allow-passthrough permet aux notifications et aux mises à jour de progression d’atteindre le terminal externe au lieu d’être avalées par tmux. Les lignes extended-keys permettent à tmux de distinguer Maj+Entrée de la simple Entrée afin que le raccourci de saut de ligne fonctionne.

Adapter le thème de couleur

Utilisez la commande /theme, ou le sélecteur de thème dans /config, pour choisir un thème Claude Code qui correspond à votre terminal. La sélection de l’option auto détecte le fond clair ou sombre de votre terminal, de sorte que le thème suit les changements d’apparence du système d’exploitation chaque fois que votre terminal le fait. Claude Code ne contrôle pas le schéma de couleurs du terminal lui-même, qui est défini par l’application de terminal. Pour personnaliser ce qui apparaît en bas de l’interface, configurez une ligne d’état personnalisée qui affiche le modèle actuel, le répertoire de travail, la branche git ou d’autres contextes.

Créer un thème personnalisé

Les thèmes personnalisés nécessitent Claude Code v2.1.118 ou version ultérieure.
En plus des présets intégrés, /theme répertorie tous les thèmes personnalisés que vous avez définis et tous les thèmes contribués par les plugins installés. Sélectionnez Nouveau thème personnalisé… à la fin de la liste pour en créer un de manière interactive : vous nommez le thème, puis choisissez les jetons de couleur individuels à remplacer. Appuyez sur Ctrl+E tandis qu’un thème personnalisé est en surbrillance pour le modifier. Chaque thème personnalisé est un fichier JSON dans ~/.claude/themes/. Le nom de fichier sans l’extension .json est le slug du thème, et la sélection du thème stocke custom:<slug> comme préférence de thème. Le fichier a trois champs optionnels :
ChampTypeDescription
namestringÉtiquette d’affichage affichée dans /theme. Par défaut, le slug du nom de fichier
basestringPreset intégré à partir duquel le thème commence : dark, light, dark-daltonized, light-daltonized, dark-ansi, ou light-ansi. Par défaut dark
overridesobjectMappage des noms de jetons de couleur aux valeurs de couleur. Les jetons non listés ici passent au preset de base
Les valeurs de couleur acceptent #rrggbb, #rgb, rgb(r,g,b), ansi256(n), ou ansi:<name><name> est l’un des 16 noms de couleur ANSI standard tels que red ou cyanBright. Les jetons inconnus et les valeurs de couleur invalides sont ignorés, donc une faute de frappe ne peut pas casser le rendu. L’exemple suivant définit un thème qui conserve le preset sombre mais recolore l’accent d’invite, le texte d’erreur et le texte de succès :
~/.claude/themes/dracula.json
{
  "name": "Dracula",
  "base": "dark",
  "overrides": {
    "claude": "#bd93f9",
    "error": "#ff5555",
    "success": "#50fa7b"
  }
}
Claude Code surveille ~/.claude/themes/ et recharge lorsqu’un fichier change, de sorte que les modifications apportées dans votre éditeur s’appliquent à une session en cours sans redémarrage. La référence ci-dessous couvre les jetons que vous pouvez définir dans overrides. L’éditeur interactif dans /theme affiche les mêmes jetons avec un aperçu en direct, plus quelques accents à usage unique tels que les couleurs de l’écran d’intégration qui sont omis ici.
L’exemple suivant combine les jetons de plusieurs groupes ci-dessous : l’accent de marque, la bordure du mode plan, les arrière-plans de diff et l’arrière-plan du message en plein écran.
~/.claude/themes/midnight.json
{
  "name": "Midnight",
  "base": "dark",
  "overrides": {
    "claude": "#a78bfa",
    "planMode": "#38bdf8",
    "diffAdded": "#14532d",
    "diffRemoved": "#7f1d1d",
    "userMessageBackground": "#1e1b4b"
  }
}

Couleurs de texte et d’accent

Contrôlez l’accent de marque principal et les nuances de texte de premier plan utilisées dans toute l’interface.
JetonContrôle
claudeAccent de marque principal, utilisé pour le spinner et l’étiquette d’assistant
textTexte de premier plan par défaut
inverseTextTexte dessiné sur un arrière-plan coloré, comme les badges de statut
inactiveTexte secondaire tel que les indices, les horodatages et les éléments désactivés
subtleBordures faibles et texte secondaire désaccentué
suggestionSuggestions d’autocomplétion et surbrillance de sélection dans les sélecteurs
permissionBordures de dialogue, y compris les invites de permission et les sélecteurs
rememberIndicateurs de mémoire et CLAUDE.md

Couleurs de statut

Signalez les états de succès, d’échec et d’avertissement dans les messages et les indicateurs.
JetonContrôle
successMessages de succès et vérifications réussies
errorMessages d’erreur et échecs
warningAvertissements, messages de prudence et bordure du mode auto
mergedStatut de demande de tirage fusionnée

Boîte d’entrée et indicateurs de mode

Définissez la couleur de bordure de la boîte d’entrée et l’accent affiché tandis qu’un mode de permission ou un indicateur est actif.
JetonContrôle
promptBorderBordure de la boîte d’entrée en mode permission par défaut
planModeAccent et bordure du mode plan
autoAcceptAccent et bordure du mode acceptation des modifications
bashBorderBordure de la boîte d’entrée lors de l’entrée d’une commande shell !
ideIndicateur de connexion IDE
fastModeIndicateur du mode rapide

Rendu des diffs

Colorez le code ajouté et supprimé dans les modifications et révisions de fichiers.
JetonContrôle
diffAddedArrière-plan des lignes ajoutées
diffRemovedArrière-plan des lignes supprimées
diffAddedDimmedArrière-plan du contexte inchangé près des lignes ajoutées
diffRemovedDimmedArrière-plan du contexte inchangé près des lignes supprimées
diffAddedWordSurbrillance au niveau des mots dans une ligne ajoutée
diffRemovedWordSurbrillance au niveau des mots dans une ligne supprimée

Mode plein écran

S’applique uniquement en mode de rendu plein écran, où les messages ont un remplissage d’arrière-plan.
JetonContrôle
userMessageBackgroundArrière-plan derrière vos messages dans la transcription
userMessageBackgroundHoverArrière-plan derrière un message lors du survol ou de l’expansion
messageActionsBackgroundArrière-plan derrière le message sélectionné lorsque la barre d’actions est ouverte
bashMessageBackgroundColorArrière-plan derrière les entrées de commande shell ! dans la transcription
memoryBackgroundColorArrière-plan derrière les entrées de mémoire # dans la transcription
selectionBgArrière-plan du texte sélectionné à la souris

Jauge d’utilisation et étiquettes de haut-parleur

Ajustez la barre affichée dans la vue /usage et les étiquettes qui distinguent vos messages de ceux de Claude.
JetonContrôle
rate_limit_fillPortion remplie de la jauge d’utilisation
rate_limit_emptyPortion non remplie de la jauge d’utilisation
briefLabelYouCouleur de l’étiquette You sur vos messages
briefLabelClaudeCouleur de l’étiquette Claude sur les messages d’assistant

Variantes de scintillement et couleurs des sous-agents

Plusieurs jetons ont une variante de scintillement appariée qui fournit la couleur plus claire utilisée dans le dégradé animé du spinner. Remplacez le scintillement aux côtés de son jeton de base si l’animation semble mal assortie.
  • claude et claudeShimmer
  • warning et warningShimmer
  • permission et permissionShimmer
  • promptBorder et promptBorderShimmer
  • inactive et inactiveShimmer
  • fastMode et fastModeShimmer
Chaque sous-agent et tâche parallèle est affiché dans l’une des huit couleurs nommées afin que vous puissiez les distinguer dans la transcription. Les noms de jetons suivent le modèle <color>_FOR_SUBAGENTS_ONLY, où <color> est red, blue, green, yellow, purple, orange, pink, ou cyan. Remplacez-les pour modifier l’apparence de chaque couleur nommée. Par exemple, un sous-agent avec color: blue dans sa définition est dessiné en utilisant la valeur blue_FOR_SUBAGENTS_ONLY.Les mots-clés ultrathink et ultraplan dans l’entrée d’invite sont rendus avec un dégradé arc-en-ciel à sept couleurs. Les noms de jetons suivent le modèle rainbow_<color> et rainbow_<color>_shimmer, où <color> est red, orange, yellow, green, blue, indigo, ou violet.

Basculer vers le rendu en plein écran

Si l’affichage scintille ou la position de défilement saute pendant que Claude travaille, basculez vers le mode de rendu en plein écran. Il dessine sur un écran séparé que le terminal réserve aux applications en plein écran au lieu d’ajouter à votre défilement normal, ce qui maintient l’utilisation de la mémoire plate et ajoute le support de la souris pour le défilement et la sélection. Dans ce mode, vous faites défiler avec la souris ou PageUp à l’intérieur de Claude Code plutôt qu’avec le défilement natif de votre terminal ; consultez la page plein écran pour savoir comment rechercher et copier. Exécutez /tui fullscreen pour basculer dans la session actuelle avec votre conversation intacte. Pour en faire la valeur par défaut, définissez la variable d’environnement CLAUDE_CODE_NO_FLICKER avant de démarrer Claude Code :
CLAUDE_CODE_NO_FLICKER=1 claude

Coller du contenu volumineux

Lorsque vous collez plus de 10 000 caractères dans l’invite, Claude Code réduit l’entrée à un espace réservé [Pasted text] afin que la boîte d’entrée reste utilisable. Le contenu complet est toujours envoyé à Claude lorsque vous soumettez. Le terminal intégré VS Code peut supprimer des caractères des très grands collages avant qu’ils n’atteignent Claude Code, donc préférez les flux basés sur des fichiers là-bas. Pour les très grandes entrées telles que des fichiers entiers ou de longs journaux, écrivez le contenu dans un fichier et demandez à Claude de le lire au lieu de coller. Cela maintient la transcription de la conversation lisible et permet à Claude de référencer le fichier par chemin dans les tours ultérieurs.

Éditer les invites avec les liaisons de clavier Vim

Claude Code inclut un mode d’édition de style Vim pour l’entrée d’invite. Activez-le via /config → Editor mode, ou en définissant editorMode sur "vim" dans ~/.claude/settings.json. Définissez Editor mode à nouveau sur normal pour le désactiver. Le mode Vim supporte un sous-ensemble de motions et d’opérateurs en mode NORMAL et VISUAL, tels que la navigation hjkl, la sélection v/V, et d/c/y avec des objets texte. Consultez la référence du mode éditeur Vim pour la table de clés complète. Les motions Vim ne sont pas remappables via le fichier keybindings. Appuyer sur Entrée soumet toujours votre invite en mode INSERT, contrairement à Vim standard. Utilisez o ou O en mode NORMAL, ou Ctrl+J, pour insérer un saut de ligne à la place.

Ressources connexes

  • Mode interactif : référence complète des raccourcis clavier et table de clés Vim
  • Keybindings : remappez n’importe quel raccourci Claude Code, y compris Entrée et Maj+Entrée
  • Rendu en plein écran : détails sur le défilement, la recherche et la copie en mode plein écran
  • Guide des hooks : plus d’exemples de hooks Notification pour Linux et Windows
  • Dépannage : corrections pour les problèmes en dehors de la configuration du terminal