Skip to main content
Claude Code offre une variété de paramètres pour configurer son comportement selon vos besoins. Vous pouvez configurer Claude Code en exécutant la commande /config, qui ouvre une interface Paramètres avec onglets où vous pouvez afficher les informations d’état et modifier les options de configuration. À partir de la v2.1.181, vous pouvez modifier une seule option sans ouvrir l’interface en passant key=value à /config, par exemple /config verbose=true.

Portées de configuration

Claude Code utilise un système de portées pour déterminer où les configurations s’appliquent et qui les partage. Comprendre les portées vous aide à décider comment configurer Claude Code pour un usage personnel, une collaboration d’équipe ou un déploiement en entreprise.

Portées disponibles

Quand utiliser chaque portée

La portée Managed est pour :
  • Les politiques de sécurité qui doivent être appliquées à l’échelle de l’organisation
  • Les exigences de conformité qui ne peuvent pas être contournées
  • Les configurations standardisées déployées par l’IT/DevOps
La portée User est idéale pour :
  • Les préférences personnelles que vous voulez partout (thèmes, paramètres d’éditeur)
  • Les outils et plugins que vous utilisez dans tous les projets
  • Les clés API et l’authentification (stockées de manière sécurisée)
La portée Project est idéale pour :
  • Les paramètres partagés par l’équipe (permissions, hooks, MCP servers)
  • Les plugins que toute l’équipe devrait avoir
  • La standardisation des outils entre collaborateurs
La portée Local est idéale pour :
  • Les remplacements personnels pour un projet spécifique
  • Tester les configurations avant de les partager avec l’équipe
  • Les paramètres spécifiques à la machine qui ne fonctionneront pas pour les autres

Comment les portées interagissent

Quand le même paramètre est configuré dans plusieurs portées, Claude Code les applique dans l’ordre de priorité :
  1. Managed (la plus élevée) : ne peut pas être contournée par quoi que ce soit
  2. Arguments de ligne de commande : remplacements de session temporaires
  3. Local : remplace les paramètres de projet et d’utilisateur
  4. Project : remplace les paramètres d’utilisateur
  5. User (la plus basse) : s’applique quand rien d’autre ne spécifie le paramètre
Par exemple, si vos paramètres utilisateur définissent spinnerTipsEnabled à true et les paramètres de projet le définissent à false, la valeur du projet s’applique. Les règles de permission se comportent différemment car elles fusionnent entre les portées plutôt que de se remplacer. Voir Précédence des paramètres.

Ce qui utilise les portées

Les portées s’appliquent à de nombreuses fonctionnalités de Claude Code : Sur Windows, les chemins affichés comme ~/.claude se résolvent en %USERPROFILE%\.claude.

Fichiers de paramètres

Le fichier settings.json est le mécanisme officiel pour configurer Claude Code via des paramètres hiérarchiques :
  • Les paramètres utilisateur sont définis dans ~/.claude/settings.json et s’appliquent à tous les projets.
  • Les paramètres de projet sont enregistrés dans votre répertoire de projet :
    • .claude/settings.json pour les paramètres qui sont vérifiés dans le contrôle de source et partagés avec votre équipe
    • .claude/settings.local.json pour les paramètres qui ne sont pas vérifiés, utiles pour les préférences personnelles et l’expérimentation. Quand Claude Code crée .claude/settings.local.json, il configure git pour ignorer le fichier. Si vous créez le fichier vous-même, ajoutez-le à votre gitignore manuellement. Parce que ce fichier est le vôtre plutôt que celui du référentiel, ses règles de permission allow prennent effet sans l’étape de confiance de l’espace de travail que les règles allow de .claude/settings.json nécessitent. Si le référentiel fournit le fichier, par exemple en le validant, la confiance de l’espace de travail s’applique toujours.
  • Paramètres gérés : Pour les organisations qui ont besoin d’un contrôle centralisé, Claude Code supporte plusieurs mécanismes de livraison pour les paramètres gérés. Tous utilisent le même format JSON et ne peuvent pas être contournés par les paramètres utilisateur ou de projet :
    • Paramètres gérés par le serveur : livrés à distance au moment de la connexion, soit à partir des serveurs d’Anthropic via la console d’administration claude.ai, soit à partir d’une passerelle d’applications Claude auto-hébergée. Voir paramètres gérés par le serveur.
    • Politiques MDM/au niveau du système d’exploitation : livrées via la gestion native des appareils sur macOS et Windows :
      • macOS : domaine de préférences gérées com.anthropic.claudecode. Les clés de niveau supérieur du plist reflètent managed-settings.json, avec les paramètres imbriqués comme dictionnaires et les tableaux comme tableaux plist. Déployez via des profils de configuration dans Jamf, Iru (Kandji), ou d’autres outils MDM similaires.
      • Windows : clé de registre HKLM\SOFTWARE\Policies\ClaudeCode avec une valeur Settings (REG_SZ ou REG_EXPAND_SZ) contenant du JSON (déployé via Group Policy ou Intune)
      • Windows (au niveau utilisateur) : HKCU\SOFTWARE\Policies\ClaudeCode (priorité de politique la plus basse, utilisée uniquement quand aucune source au niveau administrateur n’existe)
    • Basé sur fichier : managed-settings.json et managed-mcp.json déployés dans les répertoires système :
      • macOS : /Library/Application Support/ClaudeCode/
      • Linux et WSL : /etc/claude-code/
      • Windows : C:\Program Files\ClaudeCode\
      Le chemin Windows hérité C:\ProgramData\ClaudeCode\managed-settings.json n’est plus supporté à partir de v2.1.75. Les administrateurs qui ont déployé des paramètres à cet emplacement doivent migrer les fichiers vers C:\Program Files\ClaudeCode\managed-settings.json.
      Les paramètres gérés basés sur fichier supportent également un répertoire drop-in à managed-settings.d/ dans le même répertoire système à côté de managed-settings.json. Cela permet à des équipes séparées de déployer des fragments de politique indépendants sans coordonner les modifications d’un seul fichier. Suivant la convention systemd, managed-settings.json est fusionné en premier comme base, puis tous les fichiers *.json dans le répertoire drop-in sont triés alphabétiquement et fusionnés par-dessus. Les fichiers ultérieurs remplacent les fichiers antérieurs pour les valeurs scalaires ; les tableaux sont concaténés et dédupliqués ; les objets sont fusionnés en profondeur. Les fichiers cachés commençant par . sont ignorés. Utilisez des préfixes numériques pour contrôler l’ordre de fusion, par exemple 10-telemetry.json et 20-security.json.
    Voir paramètres gérés et Configuration MCP gérée pour plus de détails. Ce référentiel inclut des modèles de déploiement de démarrage pour Jamf, Iru (Kandji), Intune, et Group Policy. Utilisez-les comme points de départ et ajustez-les selon vos besoins.
    Les déploiements gérés peuvent également restreindre les ajouts de marketplace de plugins en utilisant strictKnownMarketplaces. Pour plus d’informations, voir Restrictions de marketplace gérées.
  • Autre configuration est stockée dans ~/.claude.json. Ce fichier contient votre session OAuth, les configurations de MCP server pour les portées utilisateur et locale, l’état par projet (outils autorisés, paramètres de confiance), et divers caches. Les MCP servers au niveau du projet sont stockés séparément dans .mcp.json.
Claude Code crée automatiquement des sauvegardes horodatées des fichiers de configuration et conserve les cinq sauvegardes les plus récentes pour prévenir la perte de données.
Exemple settings.json
La ligne $schema dans l’exemple ci-dessus pointe vers le schéma JSON officiel pour les paramètres Claude Code. L’ajouter à votre settings.json active l’autocomplétion et la validation en ligne dans VS Code, Cursor, et tout autre éditeur qui supporte la validation de schéma JSON. Le schéma publié est mis à jour périodiquement et peut ne pas inclure les paramètres ajoutés dans les versions CLI les plus récentes, donc un avertissement de validation sur un champ récemment documenté ne signifie pas nécessairement que votre configuration est invalide.

Quand les modifications prennent effet

Claude Code surveille vos fichiers de paramètres et les recharge quand ils changent, donc les modifications de la plupart des clés s’appliquent à la session en cours sans redémarrage. Cela inclut permissions, hooks, et les assistants d’identifiants comme apiKeyHelper. Le rechargement couvre les paramètres utilisateur, projet, locaux et gérés, et le hook ConfigChange se déclenche pour chaque changement détecté. Quelques clés sont lues une seule fois au démarrage de la session et s’appliquent au redémarrage suivant à la place :
  • model : utilisez /model pour basculer en session
  • outputStyle : fait partie de l’invite système, qui est reconstruite sur /clear ou redémarrage

Entrées invalides dans les paramètres gérés

Les paramètres gérés analysent avec tolérance. Quand une configuration gérée contient une entrée qui échoue la validation du schéma, Claude Code supprime cette entrée, enregistre un avertissement, et applique chaque politique valide restante. Une seule faute de frappe ne peut pas désactiver le reste de la politique de votre organisation. Exécutez /doctor pour énumérer les entrées supprimées avec leur fichier source et leur champ. Ce comportement est cohérent dans les trois mécanismes de livraison : paramètres gérés par le serveur, politiques plist et registre déployées via MDM, et fichiers managed-settings.json. Nécessite Claude Code v2.1.169 ou ultérieur. Les champs d’application de la sécurité sont traités par champ au lieu d’être supprimés en gros quand ils sont présents mais invalides : requiredMinimumVersion et requiredMaximumVersion échouent ouvertement par conception : une valeur invalide est supprimée plutôt qu’appliquée, donc une mauvaise poussée de politique ne peut pas empêcher Claude Code de démarrer. Les erreurs de validation apparaissent à trois endroits :
  • Les sessions interactives affichent une boîte de dialogue au démarrage énumérant les entrées invalides.
  • Les exécutions sans tête avec -p impriment un résumé sur stderr.
  • claude doctor énumère chaque entrée invalide avec sa source et son champ.
Validez les changements de politique en exécutant claude doctor sur une machine de test avant de les déployer à l’échelle de la flotte. Cette tolérance s’applique uniquement aux paramètres gérés. Les fichiers de paramètres utilisateur, projet et locaux restent stricts : un fichier qui échoue la validation est rejeté dans son ensemble et signalé.

Paramètres disponibles

settings.json supporte un certain nombre d’options :

Paramètres de configuration globale

Ces paramètres sont stockés dans ~/.claude.json plutôt que dans settings.json. Les ajouter à settings.json déclenchera une erreur de validation de schéma.
Les versions antérieures à v2.1.119 stockent également un certain nombre de clés de préférence /config ici au lieu de dans settings.json, y compris theme, verbose, editorMode, autoCompactEnabled, et preferredNotifChannel.

Paramètres de worktree

Configurez comment --worktree crée et gère les git worktrees. Pour copier les fichiers ignorés par git comme .env dans les nouveaux worktrees, utilisez un fichier .worktreeinclude dans la racine de votre projet à la place d’un paramètre.

Paramètres de permission

Syntaxe de règle de permission

Les règles de permission suivent le format Tool ou Tool(specifier). Les règles sont évaluées dans l’ordre : d’abord les règles de refus, puis de demande, puis d’autorisation. La première règle correspondante gagne indépendamment de la spécificité de la règle. Voir l’ordre d’évaluation des règles de permission pour les détails. Exemples rapides : Pour la référence complète de la syntaxe des règles, y compris le comportement des caractères génériques, les modèles spécifiques aux outils pour Read, Edit, WebFetch, MCP, et Agent, et les limitations de sécurité des modèles Bash, voir Syntaxe de règle de permission.

Paramètres de sandbox

Configurez le comportement avancé du sandboxing. Le sandboxing isole les commandes bash de votre système de fichiers et réseau. Voir Sandboxing pour plus de détails.

Préfixes de chemin sandbox

Les chemins dans filesystem.allowWrite, filesystem.denyWrite, filesystem.denyRead, filesystem.allowRead, et credentials.files supportent ces préfixes : Le préfixe plus ancien //path pour les chemins absolus fonctionne toujours. Si vous aviez précédemment utilisé /path en s’attendant à une résolution relative au projet, passez à ./path. Cette syntaxe diffère des règles de permission Read et Edit, qui utilisent //path pour absolu et /path pour relatif au projet. Les chemins du système de fichiers sandbox utilisent les conventions standard : /tmp/build est un chemin absolu. Exemple de configuration :
Les restrictions de système de fichiers et réseau peuvent être configurées de deux façons qui sont fusionnées ensemble :
  • Paramètres sandbox.filesystem (affichés ci-dessus) : Contrôlez les chemins à la limite du sandbox au niveau du système d’exploitation. Ces restrictions s’appliquent à toutes les commandes de sous-processus (par exemple, kubectl, terraform, npm), pas seulement aux outils de fichier de Claude.
  • Règles de permission : Utilisez les règles allow/deny Edit pour contrôler l’accès à l’outil de fichier de Claude, les règles deny Read pour bloquer les lectures (une règle deny Read bloque également l’outil Edit sur les chemins correspondants), et les règles allow/deny WebFetch pour contrôler les domaines réseau. Les chemins de ces règles sont également fusionnés dans la configuration du sandbox.

Paramètres d’attribution

Claude Code ajoute l’attribution aux commits git et aux pull requests. Ceux-ci sont configurés séparément :
  • Les commits utilisent les trailers git (comme Co-Authored-By) par défaut, qui peuvent être personnalisés ou désactivés
  • Les descriptions de pull request sont du texte brut
Attribution de commit par défaut :
Le nom du modèle dans le trailer reflète le modèle actif pour la session. Attribution de pull request par défaut :
Exemple :
Le paramètre attribution a la priorité sur le paramètre déprécié includeCoAuthoredBy. Pour masquer toute attribution, définissez commit et pr à des chaînes vides et sessionUrl à false.

Paramètres de suggestion de fichier

Configurez une commande personnalisée pour l’autocomplétion de chemin de fichier @. La suggestion de fichier intégrée utilise la traversée rapide du système de fichiers, mais les grands monorepos peuvent bénéficier d’une indexation spécifique au projet telle qu’un index de fichier pré-construit ou un outillage personnalisé.
La commande s’exécute avec les mêmes variables d’environnement que les hooks, y compris CLAUDE_PROJECT_DIR. Elle reçoit du JSON via stdin avec un champ query :
Générez les chemins de fichier séparés par des sauts de ligne vers stdout (actuellement limité à 15) :
Exemple :
Le paramètre footerLinksRegexes rend des badges cliquables supplémentaires dans le pied de page sous la boîte d’entrée. Utilisez-le pour transformer les ID imprimés par les CLI de projet, tels que les outils d’examen et les suivi de problèmes, en liens de session. Chaque regex pattern d’entrée est mise en correspondance avec la sortie du tour : les résultats d’outils, y compris les contenus de fichiers et les pages récupérées, et les réponses de Claude lui-même. Les espaces réservés {name} dans url et label sont remplis à partir de groupes de capture nommés dans le modèle. L’exemple suivant rend un badge chaque fois qu’une clé de problème comme PROJ-1234 apparaît dans la sortie du tour. Le groupe nommé (?<key>...) capture la clé, et {key} la substitue dans l’URL et l’étiquette :
~/.claude/settings.json
Avec ceci configuré, quand PROJ-1234 apparaît dans un résultat d’outil ou dans la réponse de Claude, une puce PROJ-1234 apparaît dans le pied de page liant à https://issues.example.com/browse/PROJ-1234. Les contraintes suivantes s’appliquent à chaque entrée : Quand un tour se termine, Claude Code met en correspondance chaque regex pattern d’entrée avec la sortie du tour sur le thread principal, donc une regex lente bloque l’interface utilisateur jusqu’à ce qu’elle se termine. Les quantificateurs imbriqués tels que (a+)+$ peuvent prendre exponentiellement longtemps contre certaines entrées et geler la session, donc gardez chaque pattern linéaire et évitez d’imbriquer + ou *. Les badges de pied de page s’affichent aux côtés d’une ligne d’état personnalisée quand une est configurée ; ni l’une ni l’autre ne remplace l’autre. Utilisez une ligne d’état pour une ligne pilotée par script qui calcule son propre contenu à partir des données de session, et les badges de pied de page pour transformer les ID de la conversation en liens sans script.

Configuration des hooks

Ces paramètres contrôlent quels hooks sont autorisés à s’exécuter et ce que les hooks HTTP peuvent accéder. Le paramètre allowManagedHooksOnly ne peut être configuré que dans les paramètres gérés. Les listes blanches d’URL et de variables d’environnement peuvent être définies à n’importe quel niveau de paramètres et fusionnent entre les sources. Comportement quand allowManagedHooksOnly est true :
  • Les hooks gérés et les hooks SDK sont chargés
  • Les hooks des plugins force-activés dans les paramètres gérés enabledPlugins sont chargés. Cela permet aux administrateurs de distribuer des hooks vérifiés via une marketplace organisationnelle tout en bloquant tout le reste. La confiance est accordée par l’ID complet plugin@marketplace, donc un plugin avec le même nom d’une marketplace différente reste bloqué
  • Les hooks utilisateur, projet et tous les autres hooks de plugin sont bloqués
Restreindre les URL des hooks HTTP : Limitez les URL que les hooks HTTP peuvent cibler. Supporte * comme caractère générique pour la correspondance. Quand le tableau est défini, les hooks HTTP ciblant des URL non correspondantes sont silencieusement bloqués. La correspondance du nom d’hôte est insensible à la casse et ignore un point FQDN de fin, correspondant à la sémantique DNS.
Restreindre les variables d’environnement des hooks HTTP : Limitez les noms de variables d’environnement que les hooks HTTP peuvent interpoler dans les valeurs d’en-tête. Le allowedEnvVars effectif de chaque hook est l’intersection de sa propre liste et ce paramètre.

Calculer les paramètres gérés avec un assistant de politique

Le paramètre policyHelper pointe vers un exécutable qui calcule les paramètres gérés au démarrage, afin que les administrateurs puissent dériver la politique de la posture de l’appareil, de l’identité, ou d’un service distant au lieu d’un fichier statique. Configurez-le à partir de MDM ou d’un fichier managed-settings.json système. Claude Code ignore policyHelper quand il apparaît dans n’importe quelle autre portée, y compris les paramètres utilisateur, les paramètres de projet, la ruche de registre HKCU, et les paramètres gérés par le serveur. Le paramètre accepte ces clés : L’assistant écrit une enveloppe JSON vers stdout. Mettez les paramètres sous une clé managedSettings plutôt qu’au niveau supérieur, car un objet de paramètres nu analyse avec managedSettings non défini et n’applique rien :
Quand l’assistant émet managedSettings, cet objet remplace les paramètres gérés basés sur fichier pour l’exécution. Quand l’assistant se termine avec un code non zéro au démarrage, Claude Code imprime l’erreur et refuse de démarrer, donc un assistant qui a besoin de résilience de panne devrait servir à partir de son propre cache et se terminer avec 0.

Précédence des paramètres

Les paramètres s’appliquent dans l’ordre de précédence. Du plus élevé au plus bas :
  1. Paramètres gérés (gérés par le serveur, politiques MDM/au niveau du système d’exploitation, ou paramètres gérés)
    • Politiques déployées par l’IT via la livraison par serveur, les profils de configuration MDM, les politiques de registre, ou les fichiers de paramètres gérés
    • Ne peuvent pas être contournés par aucun autre niveau, y compris les arguments de ligne de commande
    • Au sein du niveau géré, une seule source est utilisée et les autres sont ignorées plutôt que fusionnées. Précédence, du plus élevé au plus bas :
      • Sortie policyHelper : quand configuré, c’est la seule source gérée utilisée
      • Distant (paramètres gérés par le serveur claude.ai ou passerelle d’applications Claude-livrés)
      • Politiques MDM/au niveau du système d’exploitation
      • Basé sur fichier (managed-settings.d/*.json et managed-settings.json, fusionnés ensemble)
      • Registre HKCU (Windows uniquement)
    • Quelques clés sont des exceptions, honorées quand n’importe quelle source gérée contrôlée par l’administrateur les définit plutôt que seulement la source gagnante. La source de registre HKCU inscriptible par l’utilisateur est exclue. Les clés d’exception sont :
      • les clés de verrouillage sandbox sandbox.network.allowManagedDomainsOnly et sandbox.filesystem.allowManagedReadPathsOnly, avec leurs listes blanches associées
      • allowAllClaudeAiMcps
      • les chemins binaires sandbox sandbox.bwrapPath et sandbox.socatPath
      • forceRemoteSettingsRefresh
    • Les hôtes d’intégration tels que Claude Desktop peuvent fournir une politique via l’option SDK managedSettings. Par défaut, ceci est ignoré quand une source gérée déployée par l’administrateur est présente : paramètres gérés par le serveur, une politique MDM ou au niveau du système d’exploitation, ou un fichier de paramètres gérés. Le fallback de registre HKCU inscriptible par l’utilisateur ne compte pas comme une source déployée par l’administrateur. Les administrateurs peuvent opter en définissant parentSettingsBehavior à "merge". Les valeurs de l’intégrateur sont filtrées pour qu’elles puissent resserrer la politique gérée mais pas l’assouplir.
  2. Arguments de ligne de commande
    • Remplacements temporaires pour une session spécifique. JSON passé via --settings <file-or-json> fusionne avec les paramètres basés sur fichier en utilisant les mêmes règles que les autres couches : une clé définie ici remplace la même clé dans les paramètres locaux, de projet ou utilisateur, et omettre une clé laisse la valeur de couche inférieure en place
  3. Paramètres de projet local (.claude/settings.local.json)
    • Paramètres personnels spécifiques au projet
  4. Paramètres de projet partagés (.claude/settings.json)
    • Paramètres de projet partagés par l’équipe dans le contrôle de source
  5. Paramètres utilisateur (~/.claude/settings.json)
    • Paramètres globaux personnels
Cette hiérarchie garantit que les politiques organisationnelles sont toujours appliquées tout en permettant aux équipes et aux individus de personnaliser leur expérience. La même précédence s’applique que vous exécutiez Claude Code à partir de la CLI, de l’extension VS Code, ou d’un IDE JetBrains. Par exemple, si vos paramètres utilisateur définissent permissions.defaultMode à acceptEdits et que les paramètres partagés d’un projet le définissent à default, la valeur du projet s’applique. L’exemple ci-dessous couvre comment les paramètres avec valeur de tableau tels que les règles de permission se combinent à la place.
Les paramètres de tableau fusionnent entre les portées. Quand le même paramètre avec valeur de tableau (tel que sandbox.filesystem.allowWrite ou permissions.allow) apparaît dans plusieurs portées, les tableaux sont concaténés et dédupliqués, non remplacés. Cela signifie que les portées de priorité inférieure peuvent ajouter des entrées sans remplacer celles définies par les portées de priorité supérieure, et vice versa. Par exemple, si les paramètres gérés définissent allowWrite à ["/opt/company-tools"] et qu’un utilisateur ajoute ["~/.kube"], les deux chemins sont inclus dans la configuration finale.Deux paramètres de tableau ne fusionnent pas de cette façon :

Vérifier les paramètres actifs

Exécutez /status à l’intérieur de Claude Code pour voir quelles sources de paramètres sont actives. À l’intérieur du menu, l’onglet Status inclut une ligne Setting sources qui énumère chaque couche Claude Code a chargée pour la session actuelle, telle que User settings ou Project local settings. Quand les paramètres gérés sont en vigueur, l’entrée affiche le canal de livraison entre parenthèses, par exemple Enterprise managed settings (remote), (plist), (HKLM), (HKCU), ou (file). Le canal remote couvre à la fois les paramètres gérés par le serveur claude.ai et les politiques passerelle d’applications Claude-livrées. Une couche apparaît dans la liste uniquement quand cette source est chargée avec au moins une clé, donc une liste vide signifie qu’aucune source de paramètres n’a été trouvée. La ligne Setting sources confirme quels fichiers sont en cours de lecture. Elle n’affiche pas quelle couche a fourni chaque clé individuelle. L’onglet Config dans le même dialogue est un éditeur pour un ensemble fixe de bascules telles que le thème et la sortie détaillée, pas une vue de vos contenus settings.json. Si un fichier de paramètres contient des erreurs, telles que du JSON invalide ou une valeur qui échoue la validation, /status énumère les fichiers affectés. Exécutez /doctor pour voir les détails de chaque erreur.

Points clés du système de configuration

  • Fichiers de mémoire (CLAUDE.md) : Contiennent les instructions et le contexte que Claude charge au démarrage
  • Fichiers de paramètres (JSON) : Configurez les permissions, les variables d’environnement, et le comportement des outils
  • Skills : Invites personnalisées qui peuvent être invoquées avec /skill-name ou chargées automatiquement par Claude
  • MCP servers : Étendez Claude Code avec des outils et des intégrations supplémentaires
  • Précédence : Les configurations de niveau supérieur (Managed) remplacent celles de niveau inférieur (User/Project)
  • Héritage : Les paramètres fusionnent entre les portées ; les valeurs scalaires des portées de priorité supérieure remplacent, et les tableaux se concatènent, avec deux exceptions décrites dans la Note de fusion de tableau

Invite système

L’invite système interne de Claude Code n’est pas publiée. Pour ajouter des instructions personnalisées, utilisez les fichiers CLAUDE.md ou l’indicateur --append-system-prompt.

Exclure les fichiers sensibles

Pour empêcher Claude Code d’accéder aux fichiers contenant des informations sensibles comme les clés API, les secrets, et les fichiers d’environnement, utilisez le paramètre permissions.deny dans votre fichier .claude/settings.json :
Ceci remplace la configuration dépréciée ignorePatterns. Les fichiers correspondant à ces modèles sont exclus de la découverte de fichiers et des résultats de recherche, et les opérations de lecture sur ces fichiers sont refusées.

Configuration des subagents

Claude Code supporte les subagents IA personnalisés qui peuvent être configurés aux niveaux utilisateur et projet. Ces subagents sont stockés en tant que fichiers Markdown avec du frontmatter YAML :
  • Subagents utilisateur : ~/.claude/agents/, disponibles dans tous vos projets
  • Subagents de projet : .claude/agents/, spécifiques à votre projet et partageables avec votre équipe
Les fichiers de subagent définissent des assistants IA spécialisés avec des invites personnalisées et des permissions d’outils. En savoir plus sur la création et l’utilisation des subagents dans la documentation des subagents.

Configuration des plugins

Claude Code supporte un système de plugins qui vous permet d’étendre les fonctionnalités avec des skills, des agents, des hooks, et des MCP servers. Les plugins sont distribués via des marketplaces et peuvent être configurés aux niveaux utilisateur et référentiel.

Paramètres des plugins

Paramètres liés aux plugins dans settings.json :

enabledPlugins

Contrôle quels plugins sont activés. Format : "plugin-name@marketplace-name": true/false. Un plugin sans entrée à aucune portée revient à sa valeur defaultEnabled. Portées :
  • Paramètres utilisateur (~/.claude/settings.json) : Préférences personnelles de plugin
  • Paramètres de projet (.claude/settings.json) : Plugins spécifiques au projet partagés avec l’équipe
  • Paramètres locaux (.claude/settings.local.json) : Remplacements par machine, ignorés par git quand Claude Code les crée
  • Paramètres gérés (managed-settings.json) : Remplacements de politique au niveau de l’organisation qui bloquent l’installation à toutes les portées et masquent le plugin de la marketplace
Les paramètres de projet ont la priorité sur les paramètres utilisateur, donc définir un plugin à false dans ~/.claude/settings.json ne désactive pas un plugin que le .claude/settings.json du projet active. Pour refuser un plugin activé par le projet sur votre machine, définissez-le à false dans .claude/settings.local.json à la place.Les plugins forcément activés par les paramètres gérés ne peuvent pas être désactivés de cette manière, car les paramètres gérés remplacent les paramètres locaux.L’activation d’un plugin à partir d’une source externe telle qu’un référentiel GitHub ou un package npm dans le .claude/settings.json d’un projet ne l’installe pas pour d’autres personnes. À partir de Claude Code v2.1.195, chaque chemin qui charge les plugins demande à chaque utilisateur d’installer et faire confiance au plugin avant qu’il s’exécute.
Exemple :

pluginConfigs

Stocke les valeurs d’option non sensibles qu’une userConfig de plugin collecte, indexées par ID de plugin. Claude Code écrit cette clé dans les paramètres utilisateur quand vous remplissez le dialogue de configuration du plugin, donc vous n’avez pas besoin de l’éditer manuellement. Les options sensibles sont stockées dans le Keychain macOS à la place, ou dans ~/.claude/.credentials.json sur les plateformes sans keychain supporté. Cet exemple stocke une option pour un plugin installé à partir de la marketplace acme-tools :
pluginConfigs est lu à partir des paramètres utilisateur, du drapeau --settings, et des paramètres gérés uniquement. Les entrées dans le .claude/settings.json ou .claude/settings.local.json d’un projet sont ignorées, car ces valeurs sont substituées dans les configurations de hook, MCP, et LSP du plugin, et un référentiel cloné ne doit pas pouvoir les fournir. Avant v2.1.207, les paramètres de projet et locaux étaient également lus.

extraKnownMarketplaces

Définit les marketplaces supplémentaires qui doivent être mises à disposition pour le référentiel. Généralement utilisé dans les paramètres au niveau du référentiel pour s’assurer que les membres de l’équipe ont accès aux sources de plugins requises. Quand un référentiel inclut extraKnownMarketplaces :
  1. Les membres de l’équipe sont invités à installer la marketplace quand ils font confiance au dossier
  2. Les membres de l’équipe sont ensuite invités à installer les plugins de cette marketplace
  3. Les utilisateurs peuvent ignorer les marketplaces ou plugins indésirables (stockés dans les paramètres utilisateur)
  4. L’installation respecte les limites de confiance et nécessite un consentement explicite
Exemple :
Types de source de marketplace :
  • github : Référentiel GitHub (utilise repo)
  • git : N’importe quelle URL git (utilise url)
  • directory : Chemin du système de fichiers local (utilise path, pour le développement uniquement)
  • hostPattern : Modèle regex pour correspondre aux hôtes de marketplace (utilise hostPattern)
  • settings : marketplace en ligne déclarée directement dans settings.json sans référentiel hébergé séparé (utilise name et plugins)
Le type de source git fonctionne avec n’importe quel service d’hébergement git, y compris GitLab auto-hébergé et Bitbucket. Claude Code clone le référentiel avec la même authentification que git clone utiliserait sur cette machine : assistants d’identification configurés ou clés SSH. Un jeton de fournisseur tel que GITHUB_TOKEN ne prend effet que par le biais d’un assistant d’identification qui le lit. Voir Référentiels privés pour les détails de configuration. Pour les sources github et git, définissez "skipLfs": true à l’intérieur de l’objet source (aux côtés de repo ou url) pour ignorer les téléchargements Git LFS quand Claude Code clone ou met à jour le référentiel de marketplace. Les fichiers pointeurs LFS restent comme des pointeurs au lieu de télécharger leur contenu. Utilisez ceci quand le référentiel contient de grands objets LFS sans rapport avec le contenu du plugin. Nécessite Claude Code v2.1.153 ou ultérieur. Chaque entrée de marketplace accepte également un booléen autoUpdate optionnel. Définissez "autoUpdate": true aux côtés de source pour faire en sorte que Claude Code actualise cette marketplace et mette à jour ses plugins installés en arrière-plan après le démarrage. Quand omis, les marketplaces officielles d’Anthropic sont par défaut à true et toutes les autres marketplaces sont par défaut à false. Voir Configurer les mises à jour automatiques. Utilisez source: 'settings' pour déclarer un petit ensemble de plugins en ligne sans configurer un référentiel de marketplace hébergé. Les plugins listés ici doivent référencer des sources externes telles que GitHub ou npm. Vous devez toujours activer chaque plugin séparément dans enabledPlugins.

strictKnownMarketplaces

Paramètres gérés uniquement : Contrôle quelles marketplaces de plugins les utilisateurs sont autorisés à ajouter et installer des plugins à partir de. Ce paramètre ne peut être configuré que dans les paramètres gérés et fournit aux administrateurs un contrôle strict sur les sources de marketplace. Emplacements des fichiers de paramètres gérés :
  • macOS : /Library/Application Support/ClaudeCode/managed-settings.json
  • Linux et WSL : /etc/claude-code/managed-settings.json
  • Windows : C:\Program Files\ClaudeCode\managed-settings.json
Caractéristiques clés :
  • Disponible uniquement dans les paramètres gérés (managed-settings.json)
  • Ne peut pas être contourné par les paramètres utilisateur ou projet (précédence la plus élevée)
  • Appliqué avant les opérations de réseau et système de fichiers, donc les sources bloquées ne s’exécutent jamais
  • Utilise la correspondance exacte pour les spécifications de source (y compris ref, path pour les sources git), sauf hostPattern et pathPattern, qui utilisent la correspondance regex
Comportement de la liste blanche :
  • undefined (par défaut) : pas de restrictions, donc les utilisateurs peuvent ajouter n’importe quelle marketplace
  • Tableau vide [] : verrouillage complet, donc les utilisateurs ne peuvent pas ajouter de nouvelles marketplaces
  • Liste de sources : les utilisateurs ne peuvent ajouter que les marketplaces qui correspondent exactement
Tous les types de source supportés : La liste blanche supporte plusieurs types de source de marketplace. La plupart des sources utilisent la correspondance exacte, tandis que hostPattern et pathPattern utilisent la correspondance regex par rapport à l’hôte de la marketplace et au chemin du système de fichiers respectivement.
  1. Référentiels GitHub :
Champs : repo (requis), ref (optionnel : branche ou tag), path (optionnel : sous-répertoire)
  1. Référentiels Git :
Champs : url (requis), ref (optionnel : branche ou tag), path (optionnel : sous-répertoire)
  1. Marketplaces basées sur URL :
Champs : url (requis), headers (optionnel : en-têtes HTTP pour l’accès authentifié)
Les marketplaces basées sur URL téléchargent uniquement le fichier marketplace.json. Elles ne téléchargent pas les fichiers de plugin à partir du serveur. Les plugins dans les marketplaces basées sur URL doivent utiliser des sources externes (URLs GitHub, npm, ou git) plutôt que des chemins relatifs. Pour les plugins avec des chemins relatifs, utilisez une marketplace basée sur Git à la place. Voir Dépannage pour plus de détails.
  1. Packages NPM :
Champs : package (requis, supporte les packages scoped)
  1. Chemins de fichier :
Champs : path (requis : chemin absolu vers le fichier marketplace.json)
  1. Chemins de répertoire :
Champs : path (requis : chemin absolu vers le répertoire contenant .claude-plugin/marketplace.json)
  1. Correspondance de modèle d’hôte :
Champs : hostPattern (requis : modèle regex pour correspondre à l’hôte de la marketplace) Utilisez la correspondance de modèle d’hôte quand vous voulez autoriser toutes les marketplaces d’un hôte spécifique sans énumérer chaque référentiel individuellement. Ceci est utile pour les organisations avec des serveurs GitHub Enterprise ou GitLab internes où les développeurs créent leurs propres marketplaces. Extraction d’hôte par type de source :
  • github : correspond toujours à github.com
  • git : extrait le nom d’hôte de l’URL (supporte les formats HTTPS et SSH)
  • url : extrait le nom d’hôte de l’URL
  • npm, file, directory : non supporté pour la correspondance de modèle d’hôte
  1. Correspondance de modèle de chemin :
Champs : pathPattern (requis : modèle regex correspondant au champ path des sources file et directory) Utilisez la correspondance de modèle de chemin pour autoriser les marketplaces basées sur le système de fichiers aux côtés des restrictions hostPattern pour les sources réseau. Définissez ".*" pour autoriser tous les chemins locaux, ou un modèle plus étroit pour restreindre à des répertoires spécifiques. Exemples de configuration : Exemple : autoriser uniquement les marketplaces spécifiques :
Exemple : désactiver tous les ajouts de marketplace :
Exemple : autoriser toutes les marketplaces d’un serveur git interne :
Exigences de correspondance exacte : Les sources de marketplace doivent correspondre exactement pour qu’un ajout d’utilisateur soit autorisé. Pour les sources basées sur git (github et git), cela inclut tous les champs optionnels :
  • Le repo ou url doit correspondre exactement
  • Le champ ref doit correspondre exactement (ou les deux être non définis)
  • Le champ path doit correspondre exactement (ou les deux être non définis)
Exemples de sources qui ne correspondent pas :
Comparaison avec extraKnownMarketplaces : Différence de format : strictKnownMarketplaces utilise des objets de source directs :
extraKnownMarketplaces nécessite des marketplaces nommées :
Utiliser les deux ensemble : strictKnownMarketplaces est une porte de politique : elle contrôle ce que les utilisateurs peuvent ajouter mais n’enregistre aucune marketplace. Pour à la fois restreindre et pré-enregistrer une marketplace pour tous les utilisateurs, définissez les deux dans managed-settings.json :
Avec uniquement strictKnownMarketplaces défini, les utilisateurs peuvent toujours ajouter la marketplace autorisée manuellement via /plugin marketplace add, mais elle n’est pas disponible automatiquement. Notes importantes :
  • Les restrictions sont vérifiées avant toute demande réseau ou opération de système de fichiers
  • Quand bloquée, les utilisateurs voient des messages d’erreur clairs indiquant que la source est bloquée par la politique gérée
  • La restriction s’applique à l’ajout de marketplace et à l’installation, la mise à jour, l’actualisation et la mise à jour automatique de plugins. Une marketplace ajoutée avant que la politique soit définie ne peut pas être utilisée pour installer ou mettre à jour des plugins une fois que sa source ne correspond plus à la liste blanche
  • Les paramètres gérés ont la précédence la plus élevée et ne peuvent pas être contournés
Voir Restrictions de marketplace gérées pour la documentation destinée aux utilisateurs.

strictPluginOnlyCustomization

Paramètres gérés uniquement : bloque les skills, agents, hooks, et MCP servers des sources utilisateur et projet, afin qu’ils ne puissent provenir que des plugins ou des paramètres gérés. Combinez-le avec strictKnownMarketplaces pour contrôler la chaîne d’approvisionnement de personnalisation complète : la liste blanche de marketplace contrôle quels plugins les utilisateurs peuvent installer, et ce paramètre bloque tout ce qui ne provient pas d’un plugin ou des paramètres gérés. La valeur est soit true pour verrouiller les quatre surfaces, soit un tableau nommant les surfaces à verrouiller :
Pour chaque surface verrouillée, Claude Code ignore les sources au niveau utilisateur et projet et charge uniquement les sources fournies par les plugins et gérées : Les noms de surface qu’une version de Claude Code ne reconnaît pas sont ignorés plutôt que de faire échouer le fichier de paramètres, afin que vous puissiez ajouter de nouveaux noms de surface avant que tous les clients se mettent à jour.

Gérer les plugins

Utilisez la commande /plugin pour gérer les plugins de manière interactive :
  • Parcourir les plugins disponibles à partir des marketplaces
  • Installer/désinstaller les plugins
  • Activer/désactiver les plugins
  • Afficher les détails du plugin (skills, agents, hooks fournis)
  • Ajouter/supprimer les marketplaces
En savoir plus sur le système de plugins dans la documentation des plugins.

Variables d’environnement

Les variables d’environnement vous permettent de contrôler le comportement de Claude Code sans éditer les fichiers de paramètres. N’importe quelle variable peut également être configurée dans settings.json sous la clé env pour l’appliquer à chaque session ou la déployer à votre équipe. Voir la référence des variables d’environnement pour la liste complète.

Outils disponibles pour Claude

Claude Code a accès à un ensemble d’outils pour lire, éditer, rechercher, exécuter des commandes, et orchestrer les subagents. Les noms d’outils sont les chaînes exactes que vous utilisez dans les règles de permission et les correspondances de hooks. Voir la référence des outils pour la liste complète et les détails du comportement de l’outil Bash.

Voir aussi