SSD Nodes Learn Hosting plans →
Guides Matt ConnorPar Matt Connor · Mis à jour le 2026-08-28

Claude Code : comprendre et créer des output styles

Un output style modifie le system prompt de Claude Code. Découvrez l’effet des 5 styles intégrés sur le transcript et comment créer le vôtre.

Ce qu’est un style de sortie dans Claude Code

Dans Claude Code, un style de sortie est un bloc d’instructions que Claude Code ajoute à son prompt système. Il modifie la façon dont Claude vous répond : le rôle qu’il adopte et la forme de ce qu’il affiche. Il n’apprend rien à Claude sur votre codebase et ne peut pas lui accorder l’autorisation d’exécuter des actions.

Claude Code fournit cinq styles intégrés. Votre choix est enregistré dans une seule clé de configuration, outputStyle, qui est lue une fois au démarrage de la session. Ce point explique la plupart des confusions liées à cette fonctionnalité : si vous changez de style au milieu d’une session, le nouveau choix est enregistré, puis ignoré jusqu’à ce que vous effaciez la configuration.

Sur un VPS, il ne s’agit pas seulement d’une préférence visuelle. Le transcript est ce que vous consultez via une connexion SSH (secure shell), généralement dans une fenêtre tmux. Chaque ligne que Claude affiche est donc une ligne que vous devez attendre et une ligne dans un buffer de scrollback de taille fixe.

Emplacement du paramètre outputStyle

Choisissez un style dans le menu /config, sous Output style. Claude Code enregistre votre choix dans .claude/settings.local.json du projet sur lequel vous travaillez.

La commande autonome /output-style n’existe plus. Elle a été déclarée obsolète dans v2.1.73, puis supprimée dans v2.1.91. Dans une version actuelle, elle ne fait donc rien. Vérifiez la version utilisée avant de suivre un ancien guide. Les versions indiquées sur cette page ont été vérifiées en août 2026.

claude --version

Vous pouvez également définir la clé manuellement. Quatre fichiers de configuration peuvent la contenir. Le fichier au périmètre le plus restreint prévaut sur les fichiers au périmètre plus large.

  • ~/.claude/settings.json est votre fichier utilisateur. Il s’applique à tous les projets de cette machine.
  • .claude/settings.json est le fichier du projet. Il est commité dans git et s’applique donc à toutes les personnes qui clonent le dépôt.
  • .claude/settings.local.json est le fichier local du projet. Il n’est pas commité et remplace les deux fichiers précédents. C’est le fichier dans lequel le menu /config écrit.
  • Les paramètres gérés, déployés par une équipe IT depuis un chemin système tel que /etc/claude-code/ sous Linux, remplacent tous les autres paramètres.

La valeur de la clé est le nom du style :

{
  "outputStyle": "Concise"
}

Pour une seule session, transmettez la même clé sur la ligne de commande. L’option --settings accepte un chemin ou une chaîne JSON inline. Ses valeurs remplacent, pour cette exécution, les mêmes clés présentes dans les fichiers de configuration :

claude --settings '{"outputStyle": "Concise"}'

Les libellés des menus et les commandes slash ont changé au moins une fois depuis l’introduction de cette fonctionnalité. La clé outputStyle, elle, n’a pas changé. Si une capture d’écran d’un guide ne correspond plus à ce que vous voyez, définissez directement la clé, puis vérifiez-la avec /status, qui répertorie les sources de paramètres actives.

Pourquoi votre nouveau style de sortie ne fait rien avant le nettoyage

Claude Code construit le system prompt une seule fois, au démarrage de la session, et le style de sortie en fait partie. Si vous modifiez le paramètre pendant une session, sa valeur est enregistrée, mais rien ne change à l’écran, car la session en cours continue d’envoyer le prompt construit au démarrage. Le nouveau style est chargé au prochain /clear ou au prochain lancement.

/clear
/context

/context affiche ce qui occupe actuellement la context window, avec une ventilation par catégorie, notamment le system prompt. Exécutez-le dans une nouvelle session avec chaque style. La ligne du system prompt sert de valeur d’entrée pour votre comparaison. C’est également le moyen le plus rapide de vérifier qu’un style personnalisé a bien été chargé. Pour comprendre plus largement ce qui remplit cette fenêtre, consultez comment le contexte se remplit dans une longue session Claude Code.

Ce délai est nécessaire pour éviter une application dynamique du paramètre. L’API traite les requêtes répétées à partir d’un prompt cache qui compare le début de chaque requête, et le system prompt se trouve tout au début. Le réécrire au milieu d’une conversation invaliderait tout ce qui se trouve après lui. Le tour suivant devrait alors retraiter tout votre historique comme une nouvelle entrée. Fixer le style au démarrage de la session évite ce coût. Changer de style est rapide. Il faut simplement effectuer un clear.

Ce que chaque style de sortie intégré change dans la transcription

  • Default est le prompt système normal de Claude Code, conçu pour les tâches de développement logiciel.
  • Concise commence par le résultat. Il supprime le préambule et la narration étape par étape, et garde les réponses courtes jusqu’à ce que vous demandiez plus de détails. Le travail d’ingénierie sous-jacent ne change pas. Il ne raccourcit jamais un rapport d’erreur ni un avertissement de sécurité, et demande toujours une confirmation complète avant une action destructive. Ce style nécessite Claude Code v2.1.237 ou une version ultérieure.
  • Explanatory ajoute des « Insights » pédagogiques entre les étapes d’une tâche. Ils expliquent pourquoi un choix d’implémentation a été fait et quel pattern votre codebase utilise déjà. La transcription est volontairement plus longue.
  • Learning va plus loin. Claude partage ces insights, puis vous demande d’écrire vous-même de petites parties du code. Chaque emplacement est indiqué par un commentaire TODO(human) dans le fichier.
  • Proactive fait agir Claude au lieu de lui faire poser des questions. Il prend des décisions raisonnables pour les tâches courantes au lieu de s’arrêter pour demander une confirmation.

Lisez attentivement le dernier point, car c’est celui qui est le plus souvent mal compris. Proactive est une indication du prompt système. Il modifie ce que Claude tente d’exécuter. Votre mode d’autorisation détermine toujours ce qui peut réellement s’exécuter sans vous demander confirmation. C’est ce paramètre qui compte sur un serveur que vous laissez fonctionner sans supervision. Ce point est traité dans le mode automatique et les modes d’autorisation de Claude Code.

En quoi un style de sortie diffère de CLAUDE.md, d’un hook et d’un sous-agent

Ces mécanismes servent tous à indiquer à Claude comment se comporter, mais ils interviennent à des niveaux différents.

  • Un style de sortie est ajouté au prompt système. Il s’applique à chaque réponse de la conversation principale.
  • CLAUDE.md est ajouté comme message utilisateur après le prompt système. C’est là que doivent figurer les conventions du projet et les informations sur la base de code.
  • --append-system-prompt ajoute du texte au prompt système pour une seule invocation, sans rien supprimer. C’est la version ponctuelle d’un style de sortie.
  • Un hook est une commande shell que Claude Code exécute lorsqu’un événement se produit. Il est imposé par le harness et s’exécute donc même si Claude ne l’aurait pas choisi. Consultez ce qu’un hook Claude Code peut et ne peut pas faire.
  • Un sous-agent s’exécute avec son propre prompt système et son propre jeu d’outils.

Un test rapide permet de départager les deux premiers. Les informations sur votre projet vont dans CLAUDE.md, car Claude doit les connaître. Les formulations vont dans un style de sortie, car elles concernent la manière dont la réponse est rédigée. Tout ce qui doit se produire à chaque fois, quelle que soit la décision du modèle, relève d’un hook. La couche dans laquelle se situe chaque mécanisme dépend de l’application qui exécute le modèle, et non du modèle lui-même. C’est pourquoi un style peut seulement orienter, tandis qu’un hook peut imposer une règle.

Les styles de sortie s’appliquent uniquement à la conversation principale. Un sous-agent n’hérite pas de votre style, car il démarre sa propre conversation avec son propre prompt système. Un fork de la conversation actuelle fait exception, car il hérite exactement du prompt système parent. Si la manière d’écrire d’un sous-agent ne vous convient pas, modifiez le fichier de cet agent plutôt que votre style. Une deuxième session Claude Code sur le même serveur respecte la même séparation et lit elle-même les fichiers de configuration lors de son démarrage. Ainsi, lorsque vous confiez du travail à une autre session exécutée en parallèle de la vôtre, ses réponses utilisent le style chargé par cette session, et non le vôtre.

Comment écrire votre propre style de sortie

Un style de sortie personnalisé est un fichier Markdown avec un frontmatter. Enregistrez-le dans votre répertoire personnel pour l’utiliser dans tous vos projets, ou dans le dépôt pour le conserver avec le code. Le répertoire utilisateur est ~/.claude/output-styles/ et le répertoire du projet est .claude/output-styles/.

mkdir -p ~/.claude/output-styles
cat > ~/.claude/output-styles/terse-ops.md <<'EOF'
---
name: Terse ops
description: Command first, explanation after, for SSH sessions
keep-coding-instructions: true
---

Lead with the command or the file change. Put the explanation after it, in two sentences or fewer.

Do not narrate what you are about to do. Report what you did.

When a command can fail, print the one check that proves it worked and say what a healthy result looks like.
EOF

Démarrez une session et ouvrez /config. Votre style apparaît dans la liste Output style, avec la description que vous avez écrite. S’il n’y figure pas, le fichier n’est pas lu : vérifiez le chemin et vérifiez que le bloc de frontmatter --- est le premier élément du fichier. Le nom du fichier devient le nom du style, sauf si le frontmatter définit name. Ce style s’appelle donc Terse ops, et non terse-ops.

Sélectionnez-le, ou définissez la clé sur ce nom exact, puis effacez :

{
  "outputStyle": "Terse ops"
}

Un champ détermine si votre fichier complète les instructions existantes ou les remplace. keep-coding-instructions prend par défaut la valeur false. Cela signifie qu’un style personnalisé supprime les instructions intégrées de Claude Code destinées au développement logiciel et s’exécute uniquement avec votre texte. Ces instructions intégrées indiquent à Claude comment cadrer une modification et vérifier son travail. Laissez ce champ absent pour un assistant de rédaction ou un analyste de données, lorsque ces instructions ne s’appliquent pas. Définissez-le sur true pour toute tâche qui touche encore au code. Sinon, vous vous demanderez pourquoi un agent soigneux a soudainement cessé de vérifier son propre travail. Si vous cherchez en réalité non pas une autre voix, mais une définition plus précise de la quantité de travail qu’une tâche mérite, cela relève des instructions de développement plutôt que du fichier de style : la compétence Ponytail en fournit un exemple complet. Il s’agit d’une seule règle qui oriente l’agent vers la plus petite modification fonctionnelle.

description est la ligne que le sélecteur /config affiche à côté du nom. Rédigez-la en pensant au moment où vous devrez choisir entre deux de vos propres styles dans six mois.

Pourquoi un style concis est différent en SSH

Sur un VPS, vous lisez la transcription à travers plusieurs couches qu’un terminal local n’a pas. Chacune vous fait payer la verbosité.

Le scrollback vient en premier. Dans tmux, chaque panneau conserve un nombre fixe de lignes, défini par history-limit, dont la valeur par défaut est 2000. Une transcription détaillée remplit ce buffer plus rapidement. Les premières lignes de votre session sont donc supprimées plus tôt, et la sortie que vous vouliez consulter à nouveau a disparu. Augmentez cette valeur si vous avez besoin de plus de place :

echo 'set -g history-limit 20000' >> ~/.tmux.conf
tmux source-file ~/.tmux.conf

Les panneaux créés ensuite conservent chacun 20000 lignes, au prix d’une consommation mémoire plus élevée par panneau. Les panneaux déjà ouverts conservent l’ancienne limite, car la taille du buffer est fixée lors de la création du panneau. Si vous configurez encore la disposition de la session, exécuter Claude Code dans tmux sur un VPS explique la procédure.

La latence vient ensuite. La réponse est transmise à votre terminal au fur et à mesure de sa génération. Sur une liaison présentant un temps aller-retour élevé, un long préambule vous fait attendre l’affichage du texte avant que la réponse apparaisse.

Les tokens de sortie viennent en troisième. Chaque ligne détaillée est facturée comme une sortie. Explanatory et Learning sont plus longs par conception. Concise est plus court par conception, car il demande à Claude de produire des réponses courtes par défaut.

Ne vous fiez au pourcentage indiqué par qui que ce soit, y compris sur cette page. L’écart dépend de vos prompts, de votre modèle et du travail demandé. Mesurez donc vos propres résultats avant et après. Exécutez la même tâche réelle dans deux nouvelles sessions, l’une avec Default et l’autre avec Concise, puis comparez-les. Une statusline est l’indicateur le plus simple, car Claude Code transmet à votre script un objet JSON sur stdin qui contient déjà le nom du style et les nombres de tokens :

cat > ~/.claude/statusline.sh <<'EOF'
#!/bin/bash
input=$(cat)
style=$(echo "$input" | jq -r '.output_style.name // "default"')
out=$(echo "$input" | jq -r '.context_window.total_output_tokens // 0')
cost=$(echo "$input" | jq -r '.cost.total_cost_usd // 0')
echo "style=$style out=$out cost=$cost"
EOF
chmod +x ~/.claude/statusline.sh

Configurez le paramètre statusLine pour l’utiliser :

{
  "statusLine": {
    "type": "command",
    "command": "~/.claude/statusline.sh"
  }
}

La barre en bas de la session affiche maintenant le style actif à côté du nombre de tokens produits. C’est exactement la comparaison avant-après dont vous avez besoin. Le script nécessite jq, l’analyseur JSON en ligne de commande. Installez-le d’abord avec sudo apt install -y jq. Si la barre reste vide, exécutez le script manuellement et transmettez-lui du JSON avec un pipe, car une statusline qui se termine avec un code différent de zéro n’affiche rien et ne signale rien. Une statusline personnalisée pour Claude Code présente les autres champs de cet objet. Pour le volet facturation plutôt que le volet session, consultez où vont réellement les tokens de Claude Code et les outils qui suivent les dépenses liées à Claude Code.

Comment vérifier le style de sortie réellement chargé

Utilisez ces vérifications plutôt que de deviner.

  • /status liste les sources de configuration actives pour cette session, notamment si des paramètres gérés par une organisation sont appliqués.
  • /context affiche le prompt système chargé sous forme de catégorie dans la vue détaillée du contexte.
  • claude doctor, exécuté depuis le shell sans démarrer de session, affiche les diagnostics d’installation et de configuration, et signale les fichiers de configuration invalides.

Lorsqu’un style ne s’applique pas, la cause est presque toujours l’une des deux suivantes. Première possibilité : vous l’avez modifié en cours de session. Exécutez donc /clear. Deuxième possibilité : l’ordre de priorité. .claude/settings.local.json remplace .claude/settings.json, et ces deux sources remplacent ~/.claude/settings.json. Comme le sélecteur /config écrit dans le fichier local, un style validé par votre équipe dans .claude/settings.json est silencieusement remplacé sur toute machine où quelqu’un a déjà utilisé le menu. /status indique quelle source a été retenue.

Une erreur de syntaxe JSON produit le même symptôme, mais se corrige différemment. claude doctor indique le fichier qu’il n’a pas pu analyser. Exécutez cette commande avant de rechercher une cause plus complexe.

FAQ

Pourquoi la commande /output-style ne fonctionne-t-elle plus ?

Elle a été dépréciée dans v2.1.73, puis supprimée dans v2.1.91. Sur une build de mi-2026, la commande n’existe donc plus. Exécutez claude --version pour voir la version installée. Choisissez le style dans /config, sous Output style, ou définissez la clé outputStyle dans un fichier de configuration. La clé a survécu à la commande. Il est donc utile de noter dans vos propres notes comment la définir directement.

J’ai modifié mon style de sortie, mais rien ne s’est produit. Pourquoi ?

Le style de sortie fait partie du system prompt, et Claude Code construit ce system prompt au démarrage de la session. Une modification effectuée en cours de session est enregistrée, mais elle n’est pas appliquée, car la session en cours continue d’envoyer le prompt construit au démarrage. Exécutez /clear ou démarrez une nouvelle session. Si la modification ne s’applique toujours pas, exécutez /status pour voir quelle source de configuration a priorité, car .claude/settings.local.json remplace .claude/settings.json, et les deux remplacent ~/.claude/settings.json.

Le style de sortie Concise permet-il de réduire les coûts ?

Il réduit les output tokens dans le sens attendu, car il demande à Claude de produire par défaut des réponses courtes. L’ampleur de la réduction dépend de vos prompts et de votre modèle. Considérez donc tout pourcentage publié comme une mesure effectuée sur le travail d’une autre personne. Mesurez vos propres résultats : exécutez /context dans une nouvelle session avec chaque style pour la partie input, puis exécutez la même tâche avec chaque style et comparez le nombre d’output tokens. Concise ne raccourcit jamais un rapport d’erreur ni un avertissement de sécurité. Les parties que vous devez le plus lire restent donc complètes.

Un changement de style de sortie modifiera-t-il la façon dont mes subagents rédigent leurs réponses ?

Non. Les styles de sortie s’appliquent uniquement à la conversation principale, car un subagent démarre sa propre conversation avec son propre system prompt et son propre jeu d’outils. Un fork de la conversation actuelle fait exception, car il hérite exactement du system prompt parent. Pour modifier la façon dont un subagent répond, modifiez le fichier propre à cet agent.

Un style de sortie peut-il permettre à Claude d’exécuter des commandes sans demander confirmation ?

Non. Un style de sortie est un texte intégré au system prompt. Il peut donc uniquement influencer ce que Claude essaie de faire. Le style Proactive amène Claude à prendre des décisions et à agir au lieu de s’arrêter pour les décisions courantes. Il ne peut toujours pas autoriser une commande. C’est votre permission mode qui détermine ce qui s’exécute sans demande de confirmation. C’est ce paramètre que vous devez vérifier avant de laisser une session s’exécuter sur un serveur.