Passer au contenu principal
Cette page de référence répertorie chaque clé que Claude Code lit à partir d’un fichier de paramètres, plus le court groupe de clés qu’il conserve dans ~/.claude.json à la place. Pour choisir un fichier ou vérifier la précédence, commencez par Fichiers de paramètres et précédence.

Index des paramètres

Chaque clé ci-dessous renvoie à son entrée. La portée indique les fichiers dans lesquels elle peut figurer : Utilisateur correspond à ~/.claude/settings.json, Projet à .claude/settings.json, Local à .claude/settings.local.json, et Géré à ce que votre organisation déploie. Tout fichier désigne les quatre, et Config globale désigne ~/.claude.json.

Modèle et réponses

Choisissez les modèles utilisés par Claude Code et la manière dont il répond. Pour savoir comment ces paramètres interagissent avec la commande /model et les variables d’environnement, consultez Configuration du modèle.

advisorModel

Choisissez le modèle qui répond lorsque Claude appelle l’outil advisor côté serveur. Supprimez la valeur pour désactiver l’advisor. L’advisor doit être au moins aussi performant que votre modèle principal. Consultez Choisir un modèle advisor pour connaître les associations acceptées et ce qui se passe lorsque vous en choisissez une qui ne l’est pas. En général, vous ne modifiez pas cette clé à la main. Exécutez /advisor pour ouvrir un sélecteur qui affiche le choix actuel, les modèles pouvant servir d’advisor et No advisor. Claude Code enregistre votre choix dans cette clé, dans ~/.claude/settings.json. Si vous faites votre choix depuis un client Remote Control ou dans une session rattachée à un worker distant, le choix s’applique uniquement à cette session et ne modifie pas cette clé. Si votre compte exige le consentement aux crédits d’utilisation, acceptez-le d’abord en exécutant /model fable. Tant que ce n’est pas fait, choisir Fable dans /advisor n’enregistre rien et Claude Code vous demande d’exécuter d’abord /model fable.
  • Portée : Any file
  • Type : chaîne, l’un des alias "fable", "opus" ou "sonnet", qui correspondent à la version par défaut actuelle de Claude Code pour cette famille de modèles, ou un ID de modèle complet tel que "claude-opus-5-5"
  • Valeur par défaut : non définie, l’advisor est donc désactivé
  • Remplacements par session : --advisor a priorité sur cette clé pour une session. CLAUDE_CODE_DISABLE_ADVISOR_TOOL désactive l’advisor, et cette clé ne peut pas le réactiver
settings.json
La clé n’a aucun effet chez les fournisseurs où l’advisor n’est pas disponible, comme Amazon Bedrock. Sur Claude Platform on AWS, la clé nécessite Claude Code v2.1.300 ou ultérieure. "fable" nécessite l’accès à Fable.

alwaysThinkingEnabled

Désactivez la réflexion étendue pour toutes les sessions en définissant cette clé sur false. La réflexion est activée par défaut, donc true ne change rien. La plupart des utilisateurs définissent ce paramètre via /config plutôt qu’en modifiant le fichier. Sur les modèles qui réfléchissent toujours, comme Opus 5.5, Sonnet 5.5, Haiku 5.5 et les modèles Fable, false n’a aucun effet. Chez les fournisseurs tiers, Claude Code omet le paramètre thinking au lieu de désactiver la réflexion, de sorte que les modèles à raisonnement adaptatif peuvent encore réfléchir. Lorsque la réflexion est désactivée sur l’API Anthropic, Claude Code envoie l’effort high au lieu d’un niveau supérieur aux modèles dont il sait qu’ils n’acceptent pas cette combinaison, comme Opus 5.
  • Portée : Any file
  • Type : booléen
    • true : aucun effet ; la réflexion est déjà activée
    • false : Claude Code désactive la réflexion étendue pour toutes les sessions
  • Valeur par défaut : non définie, la réflexion est donc activée pour les modèles qui la prennent en charge
  • Remplacements par session : MAX_THINKING_TOKENS a priorité sur cette clé pour une session : 0 désactive la réflexion, dans les mêmes limites de modèle et de fournisseur que false, et une valeur positive active la réflexion même lorsque cette clé vaut false. Sur les modèles à raisonnement adaptatif, le nombre lui-même est ignoré
settings.json

availableModels

Restreignez les modèles que les utilisateurs peuvent sélectionner pour la session principale, les sous-agents, les skills et l’advisor. Une liste gérée contraint /model, --model et la clé model dans les fichiers propres d’un développeur ; un modèle hors de cette liste ne peut pas être sélectionné. Avec la correspondance par préfixe par défaut, cela ne touche pas à lui seul l’option Default ; associez-la à enforceAvailableModels pour cela.
  • Portée : Any file. Déployez-la dans les paramètres gérés pour l’imposer à une organisation.
  • Type : tableau d’alias ou d’ID de modèles
  • Valeur par défaut : non définie, tous les modèles sont donc disponibles
Cet exemple permet aux utilisateurs de sélectionner uniquement les modèles Sonnet et Haiku :
settings.json
Une entrée d’ID de modèle telle que "claude-opus-5" autorise également les versions ultérieures qui la prolongent, comme Opus 5.5. Pour bloquer l’une de ces versions, utilisez deniedModels. Pour que chaque entrée d’ID de modèle n’autorise que la version qu’elle nomme, utilisez availableModelsMatch. Consultez Restreindre la sélection des modèles. Pour les ID des fournisseurs tiers, consultez Épingler les modèles pour les déploiements tiers.

availableModelsMatch

Choisissez comment les entrées de availableModels correspondent aux ID de modèles. Par défaut, une entrée d’ID de modèle autorise également les versions ultérieures qui la prolongent, de sorte que "claude-opus-5" autorise Opus 5.5. Avec "exact", chaque entrée d’ID de modèle n’autorise que la version qu’elle nomme, si bien qu’une version plus récente de ce modèle reste bloquée jusqu’à ce que vous l’ajoutiez à la liste. Nécessite Claude Code v2.1.283 ou ultérieure.
  • Portée : Managed. Claude Code ignore la clé dans les paramètres utilisateur, projet et locaux ainsi que dans --settings, avec un avertissement
  • Type : chaîne, l’une des valeurs suivantes :
    • "prefix" : une entrée d’ID de modèle autorise sa version et tout ID de modèle qui la prolonge d’un segment supplémentaire
    • "exact" : une entrée d’ID de modèle n’autorise que la version qu’elle nomme, de sorte que "claude-opus-5" autorise Opus 5 mais pas claude-opus-5-5. Une entrée telle que "claude-opus-4-5" autorise également son ID de modèle Anthropic daté claude-opus-4-5-20251101. Un alias de famille tel que "opus" autorise toujours toute la famille, et les entrées best, opusplan et default sont ignorées
  • Valeur par défaut : "prefix"
Cet exemple autorise Opus 5 et Sonnet 5, sans aucune version ultérieure de l’un ou de l’autre :
managed-settings.json
Avec "exact", l’option Default est également limitée aux modèles de la liste dès que celle-ci nomme au moins un modèle ou une famille. Consultez Bloquer des modèles ou des versions spécifiques.

deniedModels

Bloquez des modèles spécifiques, avec ou sans liste d’autorisation availableModels, et même lorsque cette liste les autorise. Claude Code masque un modèle bloqué dans le sélecteur /model, et le modèle ne peut être sélectionné nulle part où availableModels est appliqué. Une session sur l’option Default n’exécute pas non plus un modèle bloqué, comme le décrit Bloquer des modèles ou des versions spécifiques. Nécessite Claude Code v2.1.283 ou ultérieure.
  • Portée : Managed. Claude Code ignore la clé dans les paramètres utilisateur, projet et locaux ainsi que dans --settings, avec un avertissement
  • Type : tableau d’alias ou d’ID de modèles
    • Un alias de famille tel que "opus" bloque tous les modèles de cette famille
    • Un ID de modèle tel que "claude-opus-5-5" bloque cette version sous toutes ses graphies, y compris les ID datés et propres aux fournisseurs
    • Un ID de modèle sans version mineure, tel que "claude-opus-5", bloque également les versions mineures ultérieures comme Opus 5.5. Écrivez "claude-opus-5-0" pour bloquer Opus 5 seul
    • Les entrées best, opusplan et default sont ignorées
  • Valeur par défaut : non définie, aucun modèle n’est donc bloqué
Cet exemple autorise les modèles Opus et Sonnet et bloque Opus 5.5 :
managed-settings.json
Consultez Bloquer des modèles ou des versions spécifiques.

effortLevel

Définissez un niveau d’effort par défaut pour les modèles pour lesquels vous n’avez pas enregistré de niveau. Les niveaux plus bas sont plus rapides et moins coûteux sur les tâches simples, et les niveaux plus élevés raisonnent plus en profondeur sur les problèmes complexes. Lorsque vous exécutez /effort low, medium, high ou xhigh dans une session interactive sur votre machine, Claude Code enregistre le niveau pour le modèle actif sous modelSettings au lieu d’écrire cette clé. Avant la v2.1.251, /effort écrivait cette clé. Au sein d’un même fichier de paramètres, Claude Code utilise le niveau enregistré d’un modèle plutôt que cette clé. modelSettings indique la priorité entre fichiers. Dans une session rattachée à un worker distant, dans une exécution -p et dans l’Agent SDK, /effort s’applique uniquement à cette session. Ajuster le niveau d’effort liste les choix interactifs qui s’appliquent également uniquement à cette session. Le message affiché par /effort indique ce qui s’est produit.
  • Portée : Any file
  • Type : chaîne, l’une des valeurs suivantes :
    • "low" : le moins de raisonnement, pour des tâches courtes, ciblées et sensibles à la latence qui ne dépendent pas de l’intelligence
    • "medium" : réduit la consommation de tokens pour un travail sensible aux coûts qui peut sacrifier un peu d’intelligence
    • "high" : équilibre consommation de tokens et intelligence
    • "xhigh" : un raisonnement plus approfondi, au prix d’une consommation de tokens plus élevée
  • Valeur par défaut : non définie
  • Remplacements par session : --effort a priorité sur cette clé pour une session, et CLAUDE_CODE_EFFORT_LEVEL a priorité sur les deux
settings.json
Dans votre fichier de paramètres utilisateur, ~/.claude/settings.json, cette clé est l’ancienne forme que /effort écrivait avant d’enregistrer les niveaux par modèle, et elle continue de s’appliquer là où elle s’appliquait auparavant, sur Opus 5, Fable 5.1 et les modèles antérieurs. Opus 5.5 et les modèles publiés après lui l’ignorent et démarrent à leur propre valeur par défaut jusqu’à ce que vous enregistriez un niveau pour eux, ce que /effort écrit sous modelSettings. Dans les paramètres de projet, locaux et gérés, ainsi qu’avec --settings, cette clé s’applique à tous les modèles.

enforceAvailableModels

Le sélecteur /model comporte une option Default, et paramètre de modèle default décrit le modèle vers lequel elle est résolue. Une liste d’autorisation availableModels limite les modèles que vous pouvez nommer, mais avec la correspondance par préfixe par défaut, elle ne remappe pas le modèle par défaut de votre type de compte, si bien que Default peut toujours être résolue vers un modèle hors de la liste. Cette clé comble cette lacune. Nécessite Claude Code v2.1.175 ou ultérieure. Lorsque votre organisation déploie des paramètres gérés, quels qu’ils soient, Claude Code lit cette clé uniquement depuis la source gérée et l’ignore dans vos autres fichiers. Pour savoir comment cette clé s’applique aux vérifications de modèle au démarrage, consultez Amazon Bedrock et Agent Platform de Google Cloud.
  • Portée : Any file
  • Type : booléen
    • true : lorsque Default serait résolue vers un modèle hors de availableModels, Claude Code la résout vers le premier modèle disponible de la liste
    • false : cette clé ne modifie pas la façon dont Default est résolue
  • Valeur par défaut : false
Cet exemple limite les sélections nommées aux modèles Sonnet et Haiku et fait en sorte que Default soit résolue vers le premier d’entre eux qui est disponible :
settings.json
Cette clé n’a aucun effet lorsque availableModels n’est pas défini ou est vide. Consultez Appliquer la liste d’autorisation au modèle Default. Nécessite Claude Code v2.1.175 ou ultérieure.

fallbackModel

Nommez des modèles de secours que Claude Code essaiera, dans l’ordre, lorsque votre modèle principal est surchargé ou indisponible. Claude Code bascule sur le modèle disponible suivant de la chaîne pour le reste du tour et affiche une notification. Sans chaîne, Claude Code réessaie le même modèle puis affiche l’erreur du serveur, et c’est à vous de réessayer ou de changer de modèle. Un basculement implique un tour avec un cache de prompt froid sur le modèle de secours ; votre message suivant essaie de nouveau d’abord le modèle principal.
  • Portée : Any file
  • Type : tableau d’alias ou d’ID de modèles ; "default" est remplacé par le modèle par défaut
  • Valeur par défaut : non définie, une requête échouée n’est donc pas réessayée sur un autre modèle
  • Remplacements par session : --fallback-model a priorité sur cette clé pour une session
Cet exemple essaie d’abord Sonnet 5, puis Haiku 4.5, lorsque votre modèle principal échoue :
settings.json
Contrairement à la plupart des paramètres de type tableau, cette clé n’est pas fusionnée entre les fichiers de paramètres : le fichier de plus haute priorité qui la définit fournit toute la chaîne. Si votre fichier de projet définit ["claude-sonnet-5"] et votre fichier utilisateur ["claude-haiku-4-5"], la chaîne est uniquement ["claude-sonnet-5"]. Claude Code conserve au plus trois modèles autorisés distincts de la liste et ignore le reste. Consultez Chaînes de modèles de secours.

fastMode

Activez le mode rapide pour les sessions où il est disponible, pour un travail interactif comme l’itération rapide ou le débogage en direct, lorsque vous privilégiez la vitesse au prix d’un coût par token plus élevé. En général, vous ne modifiez pas cette clé vous-même. Exécuter /fast écrit fastMode: true dans ~/.claude/settings.json, et l’exécuter à nouveau pour désactiver le mode rapide supprime la clé. Sur l’API Anthropic, seuls Fable 5.2, Opus 5.5, Opus 5 et Opus 4.8 prennent en charge le mode rapide. Exécuter /fast depuis un autre modèle vous fait basculer sur Opus, et passer à un modèle non pris en charge désactive le mode rapide. Consultez Changer de modèle lorsque le mode rapide est activé. Sur Agent Platform de Google Cloud, /fast vous fait plutôt basculer sur Fable 5.2 et n’écrit pas cette clé, et Claude Code ignore un true enregistré.
  • Portée : Any file
  • Type : booléen
  • Valeur par défaut : non définie, le mode rapide est donc désactivé
  • Remplacements par session : CLAUDE_CODE_DISABLE_FAST_MODE désactive le mode rapide pour une session, et cette clé ne peut pas le réactiver
settings.json

fastModePerSessionOptIn

Normalement, exécuter /fast enregistre fastMode dans les paramètres utilisateur de la personne, de sorte que les nouvelles sessions sur un modèle pris en charge démarrent avec le mode rapide activé. Sur Fable 5.2, cela ne se produit que si elle l’a activé en utilisant Fable 5.2. Pour que chaque personne doive exécuter /fast dans chaque session où elle le souhaite, définissez cette clé sur true. Claude Code laisse la clé fastMode dans son fichier, si bien que désactiver cette clé rétablit l’ancien comportement. Les propriétaires des forfaits Team ou Enterprise peuvent la déployer à l’échelle de l’organisation via les paramètres gérés par le serveur. Lorsque les paramètres gérés définissent la clé, /fast on est refusé en dehors des sessions de terminal interactives et indique que votre organisation a désactivé le mode rapide. Cela concerne le mode non interactif, l’extension VS Code et les sessions cloud.
  • Portée : Any file
  • Type : booléen
    • true : un fastMode: true enregistré n’active plus le mode rapide au démarrage de la session, donc chaque personne exécute /fast dans chaque session où elle le souhaite ; un fastMode: true transmis avec --settings compte toujours pour cette session, sauf si les paramètres gérés définissent cette clé
    • false : un fastMode: true enregistré fonctionne comme le décrit fastMode
  • Valeur par défaut : false
settings.json
Consultez Exiger une activation par session.

language

Faites répondre Claude par défaut dans une langue autre que l’anglais. Il n’existe pas de liste fixe pour les réponses : Claude Code transmet la valeur telle quelle à Claude sous forme d’instruction lui demandant de toujours répondre dans cette langue, donc tout nom de langue que Claude sait lire fonctionne. Claude Code ne vérifie pas la valeur, si bien qu’un nom mal orthographié parvient à Claude tel quel au lieu de produire une erreur. La même valeur définit la langue de la dictée vocale, qui dispose, elle, d’une liste fixe de langues de dictée prises en charge, ainsi que celle des titres de session générés automatiquement.
  • Portée : Any file
  • Type : chaîne, n’importe quel nom de langue, comme "japanese", "spanish" ou "french" ; Claude Code ne la valide pas
  • Valeur par défaut : non définie ; les titres de session suivent alors la langue de votre conversation
settings.json

maxEffortLevel

Plafonnez le niveau d’effort qu’une session peut utiliser, en laissant les niveaux inférieurs disponibles. Tout niveau supérieur s’exécute alors au plafond, y compris un niveau provenant de /effort, du sélecteur /model, de --effort, de CLAUDE_CODE_EFFORT_LEVEL, du frontmatter effort d’un skill ou d’un sous-agent, ou de la valeur par défaut du modèle lui-même. Claude Code applique lui-même le plafond avant chaque requête, il tient donc chez tous les fournisseurs, y compris Amazon Bedrock, Agent Platform de Google Cloud et Microsoft Foundry. Nécessite Claude Code v2.1.267 ou ultérieure.
  • Portée : Any file. Déployez-la dans les paramètres gérés pour l’imposer à une organisation. Lorsque plusieurs portées définissent un plafond, le plus bas s’applique, de sorte qu’un plafond défini dans une portée ne peut pas être relevé depuis une autre
  • Type : chaîne, l’une des valeurs "low", "medium", "high", "xhigh" ou "max". Une valeur "max" ne définit aucun plafond
  • Valeur par défaut : non définie, aucun plafond ne s’applique donc
  • Plafonds par modèle : ajoutez maxEffortLevel à l’entrée modelSettings d’un modèle. Cette entrée remplace cette clé pour ce modèle uniquement au sein de la source de paramètres qui définit les deux, comme vos paramètres utilisateur ou une source gérée. Définissez-y "max" pour exempter le modèle du plafond de cette source ; Claude Code applique toujours les plafonds des autres sources
Cet exemple plafonne tous les modèles à medium et exempte Sonnet 4.6 :
settings.json
Lorsque votre organisation définit également une limite d’effort pour un modèle, le plus bas des deux plafonds s’applique.

model

Définissez le modèle utilisé par chaque nouvelle session, pour ne pas avoir à en choisir un avec /model à chaque fois. Le définir ici ne vous empêche pas d’en changer en cours de session. Si votre administrateur a défini un modèle par défaut de l’organisation pour remplacer la sélection de l’utilisateur, vous obtenez ce modèle même lorsque vous définissez cette clé dans les paramètres utilisateur, projet ou locaux.
  • Portée : Any file
  • Type : chaîne, un alias de modèle ou un ID de modèle complet
  • Valeur par défaut : non définie, Claude Code utilise donc le modèle par défaut de votre compte
  • Remplacements par session : --model a priorité sur ANTHROPIC_MODEL, et tous deux ont priorité sur cette clé pour une session, y compris sur un model géré ; une liste availableModels s’applique toujours au choix
settings.json
Une valeur définie ici l’emporte sur ANTHROPIC_DEFAULT_MODEL, que Claude Code n’utilise que lorsque rien d’autre ne sélectionne un modèle.

modelOverrides

Associez des ID de modèles Anthropic à des ID de modèles propres à un fournisseur, comme les ARN de profils d’inférence Amazon Bedrock. Chaque entrée du sélecteur de modèle utilise alors la valeur associée lors de l’appel à l’API du fournisseur. Les administrateurs l’utilisent sur Amazon Bedrock, Agent Platform de Google Cloud et Microsoft Foundry pour acheminer chaque version de modèle vers un profil d’inférence, un nom de version ou un déploiement spécifique, à des fins de gouvernance, de répartition des coûts ou de routage régional.
  • Portée : Any file
  • Type : objet associant un ID de modèle à un ID de modèle du fournisseur
  • Valeur par défaut : non définie
Cet exemple achemine tous les appels à Opus 4.6 vers le profil d’inférence Bedrock nommé :
settings.json
Consultez Remplacer les ID de modèles par version.

modelPicker

Listez les modèles proposés par le sélecteur /model, dans l’ordre où vous les écrivez et sous les libellés de votre choix, afin que le sélecteur présente les modèles qu’utilise votre organisation, après la liste intégrée ou à sa place. Le model de chaque ligne est repris tel quel, il accepte donc tout ce que --model accepte : un alias tel que opus, un ID de modèle Anthropic, ou un ID au format du fournisseur pour Amazon Bedrock, Agent Platform de Google Cloud, Microsoft Foundry ou une passerelle LLM. Nécessite Claude Code v2.1.242 ou ultérieure.
  • Portée : User or managed. Claude Code lit la clé depuis les paramètres gérés, --settings et les paramètres utilisateur, et l’ignore dans les paramètres de projet et locaux, afin qu’un dépôt que vous clonez ne puisse pas renommer les entrées du sélecteur. La source la plus prioritaire de ces trois qui définit la clé fournit toute la liste, et Claude Code ne combine jamais les listes de deux sources.
  • Type : objet avec un tableau options de lignes et un booléen facultatif replaceBuiltInOptions
  • Valeur par défaut : non définie, le sélecteur affiche donc la liste intégrée
Cet exemple ajoute deux déploiements Bedrock après la liste intégrée, sous des noms que votre équipe reconnaît :
managed-settings.json

Champs de modelPicker

La clé accepte deux champs, l’un pour les lignes elles-mêmes et l’autre pour indiquer si elles remplacent la liste intégrée ou s’y ajoutent. Une entrée de options peut également comporter une chaîne facultative behavesAs à côté de son model, ce qui nécessite la v2.1.257 ou ultérieure. Définissez-la sur l’ID d’un modèle que votre version de Claude Code connaît déjà, comme claude-opus-4-8, sur une entrée dont le model est plus récent que votre version. Claude Code applique alors à l’entrée les capacités et les valeurs d’effort par défaut de ce modèle connu au lieu de traiter son modèle comme inconnu. Le libellé de l’entrée et l’ID de modèle que Claude Code envoie dans les requêtes ne changent pas. Lorsque replaceBuiltInOptions est activé, Claude Code masque toutes les autres lignes : la liste intégrée, les lignes qu’il ajoute pour les entrées de availableModels, les modèles trouvés par la découverte via la passerelle et ANTHROPIC_CUSTOM_MODEL_OPTION. Lorsqu’il est désactivé, Claude Code ignore un modèle listé que la liste intégrée couvre déjà. Un libellé modifie ce qu’affiche le sélecteur, pas le modèle qu’exécute Claude Code. Une liste d’autorisation availableModels s’applique toujours à ces lignes. Avant d’ajouter un modèle listé à la liste d’autorisation, lisez Comportement de fusion : un ID de modèle spécifique restreint l’entrée générique de sa famille. Claude Code vérifie également chaque ligne par rapport à la session avant d’afficher le sélecteur :
  • Supprimée : une ligne que Claude Code ne peut pas servir, comme un modèle retiré ou un modèle auquel votre organisation n’a pas accès
  • Grisée : une ligne que vous ne pouvez pas encore sélectionner, affichée avec le motif
  • Aucune ligne ne subsiste : Claude Code conserve la liste intégrée, filtrée par la liste d’autorisation comme d’habitude
Claude Code supprime une ligne qu’il ne parvient pas à analyser et conserve les autres. Consultez Réparer un fichier de paramètres défectueux.

modelPricing

Indiquez les dépenses aux tarifs que paie votre organisation plutôt qu’au prix catalogue. Définissez ce paramètre lorsque votre organisation bénéficie de tarifs contractuels, afin que les montants en dollars que voient les développeurs correspondent à votre facture. Claude Code applique ces tarifs dans /usage, la barre de statut, le total_cost_usd de l’Agent SDK, la limite --max-budget-usd ainsi que la métrique et les événements de coût OpenTelemetry. C’est vous qui fournissez les tarifs : Claude Code ne les lit ni dans votre contrat ni dans la Claude Console. Nécessite Claude Code v2.1.242 ou ultérieure.
  • Portée : Managed. Déployez la clé via les paramètres gérés par le serveur, une stratégie MDM, un fichier managed-settings.json ou un programme d’aide de stratégie. Claude Code l’ignore dans les paramètres utilisateur, projet et locaux, dans --settings et, sous Windows, dans le registre HKCU accessible en écriture par l’utilisateur. Avec les paramètres gérés par le serveur, chaque session indique les coûts au prix catalogue jusqu’à ce que la récupération des paramètres de cette session ait confirmé le paramètre. Une application hôte qui intègre Claude Code et définit CLAUDE_CODE_PROVIDER_MANAGED_BY_HOST peut fournir sa propre table via l’option managedSettings du SDK, que Claude Code n’utilise que lorsqu’aucune source gérée ne définit la clé, et uniquement dans Claude Code v2.1.246 ou ultérieure.
  • Type : objet avec un multiplier facultatif et une table overrides facultative
  • Valeur par défaut : non définie, Claude Code indique donc le prix catalogue, sauf si une application hôte fournit une table
Définissez multiplier seul pour une remise ou une majoration forfaitaire, overrides seul pour des tarifs par modèle, ou les deux. Cet exemple définit des tarifs contractuels pour Sonnet 4.6, puis réduit tous les montants de 15 %, ligne Sonnet comprise :
managed-settings.json
Définissez multiplier au-dessus de 1, jusqu’à 10, pour majorer tous les montants. Une majoration nécessite Claude Code v2.1.271 ou ultérieure. Les versions antérieures ignorent un multiplier supérieur à 1 avec un avertissement et conservent le reste du paramètre. Pour connaître les étapes, y compris comment vérifier que les tarifs sont en vigueur, consultez Indiquer les dépenses à vos tarifs contractuels.

Champs de modelPricing

Claude Code utilise les tarifs d’une ligne exactement tels que vous les avez écrits, sans ajouter le supplément du mode rapide ni le tarif d’inférence limitée aux États-Unis. Si vous définissez également multiplier, Claude Code l’applique en plus des tarifs de la ligne. Claude Code supprime une ligne contenant un tarif qu’il ne parvient pas à analyser, ou un multiplier qu’il ne parvient pas à analyser, et conserve le reste ; consultez Réparer un fichier de paramètres défectueux.

À quels modèles une ligne modelPricing s’applique

Claude Code détermine les modèles auxquels une ligne s’applique à partir de la clé de la ligne :
  • L’ID d’un modèle intégré : une clé que Claude Code utilise lui-même pour un modèle intégré, qu’il s’agisse de l’ID propre du modèle, comme claude-sonnet-4-6, ou de son ID Bedrock, Agent Platform ou Foundry. Claude Code applique la ligne à chaque ID de snapshot daté et à chaque ID propre à un fournisseur de ce modèle.
  • Toute autre clé : une clé qui n’est pas l’ID d’un modèle intégré, comme un alias de modèle de passerelle. Claude Code applique la ligne à cet unique ID. Lorsqu’un ID de modèle correspond exactement à l’une de vos clés et relève également d’une ligne dont la clé est l’ID d’un modèle intégré, Claude Code utilise la correspondance exacte.
  • Un profil d’inférence d’application Bedrock : une fois que Claude Code a résolu le profil vers le modèle vers lequel il achemine, via votre table modelOverrides ou la recherche bedrock:GetInferenceProfile, Claude Code applique la ligne de ce modèle au profil.

modelSettings

Enregistrez un niveau d’effort pour chaque modèle que vous utilisez. Nécessite Claude Code v2.1.251 ou ultérieure. Dans une session interactive sur votre machine, lorsque vous enregistrez low, medium, high ou xhigh comme valeur par défaut avec /effort ou le curseur d’effort du sélecteur /model, Claude Code écrit ce niveau ici sous le modèle que vous utilisez, vous modifiez donc rarement cette clé vous-même. Lorsque vous choisissez l’un de ces niveaux dans le sélecteur de modèle de l’extension VS Code, Claude Code l’enregistre ici de la même manière. L’entrée effortLevel liste les sessions où /effort s’applique uniquement à cette session. Modifiez la clé à la main pour changer ou supprimer un niveau que vous avez enregistré. Le effortLevel d’un modèle défini ici a priorité sur le effortLevel de premier niveau du même fichier de paramètres. D’un fichier à l’autre, Claude Code résout chaque modèle séparément : c’est le fichier de paramètres de plus haute priorité qui définit soit un effortLevel pour ce modèle, soit un effortLevel de premier niveau qui s’applique à ce modèle qui décide, de sorte qu’un effortLevel dans les paramètres gérés l’emporte sur un niveau que vous avez enregistré dans les paramètres utilisateur. Ajuster le niveau d’effort liste ce qui peut également remplacer un niveau enregistré, comme --effort au lancement. Pour plafonner l’effort d’un modèle plutôt que de définir son niveau, ajoutez un champ maxEffortLevel à l’entrée de ce modèle. Ce champ nécessite Claude Code v2.1.267 ou ultérieure.
  • Portée : Any file
  • Type : objet associant un nom de modèle à un objet comportant un ou plusieurs des champs suivants :
    • effortLevel : l’une des valeurs "low", "medium", "high" ou "xhigh"
    • maxEffortLevel : le niveau d’effort le plus élevé auquel le modèle peut s’exécuter
    • autoCompactWindow : un nombre de tokens de 100000 à 1000000, ou "auto" pour la fenêtre adaptée au modèle. /autocompact enregistre sa valeur ici. Pour ce modèle, la valeur a priorité sur un autoCompactWindow de premier niveau dans le même fichier de paramètres. Nécessite Claude Code v2.1.288 ou ultérieure
  • Valeur par défaut : non définie
Claude Code écrit chaque entrée sous le nom canonique du modèle, comme claude-opus-5-5, et fait correspondre à cette même entrée l’alias du modèle, ses ID suffixés d’une date, ses ID [1m] et ses ID reconnus propres aux fournisseurs. Cet exemple maintient Opus 5.5 à high tandis que les autres modèles utilisent leurs propres niveaux enregistrés ou par défaut :
settings.json
Exécutez /effort auto pour effacer le niveau enregistré pour le modèle que vous utilisez. Claude Code laisse en place les autres entrées ainsi que tout effortLevel de premier niveau.

outputStyle

Sélectionnez un style de sortie par son nom. Un style de sortie est un ensemble d’instructions enregistré qui modifie le rôle, le ton et le format de sortie de Claude, comme les styles intégrés Explanatory et Learning ou un style que vous avez écrit vous-même. Si vous modifiez cette clé en cours de session, Claude utilise le nouveau style à partir de votre message suivant. Pour savoir ce que ce message coûte en prompt caching, consultez Changer de style de sortie. Avant la v2.1.251, la modification ne s’appliquait qu’après l’exécution de /clear ou le démarrage d’une nouvelle session.
  • Portée : Any file
  • Type : chaîne, le nom d’un style de sortie intégré ou personnalisé
  • Valeur par défaut : non définie, Claude Code utilise donc le style par défaut
Cet exemple sélectionne le style intégré Explanatory, qui ajoute des éclairages pédagogiques entre les tâches :
settings.json

promptCacheTtl

Choisissez la durée pendant laquelle le cache de prompt conserve la conversation principale. Cette clé s’applique à vos tours interactifs, -p et Agent SDK, ainsi qu’aux requêtes auxiliaires que Claude Code exécute en ligne avec eux. La durée de vie d’une heure garde le cache chaud lors de pauses plus longues, et l’API facture chaque écriture en cache à un tarif plus élevé qu’avec la durée de vie de cinq minutes. Nécessite Claude Code v2.1.242 ou ultérieure. Cet exemple maintient la conversation principale sur la durée de vie d’une heure et laisse les sous-agents sur cinq minutes :
settings.json
Pour connaître le coût de chaque durée de vie, consultez Durée de vie du cache.

showThinkingSummaries

Affichez les résumés de la réflexion étendue de Claude dans les sessions interactives. Définissez ce paramètre si vous souhaitez voir les résumés complets lorsque vous développez la réflexion avec Ctrl+O. Lorsqu’il n’est pas défini ou vaut false, l’API Anthropic masque le contenu des blocs de réflexion et Claude Code affiche un bloc réduit.
  • Portée : Any file
  • Type : booléen
    • true : vous voyez les résumés complets de la réflexion lorsque vous la développez avec Ctrl+O
    • false : l’API Anthropic masque le contenu des blocs de réflexion et Claude Code affiche un bloc réduit
  • Valeur par défaut : false
settings.json
Le masquage ne modifie que ce que vous voyez, pas ce que le modèle génère. Pour réduire les dépenses liées à la réflexion, abaissez le budget ou désactivez la réflexion à la place.

subagentPromptCacheTtl

Choisissez la durée pendant laquelle le cache de prompt conserve les requêtes que Claude Code effectue en dehors de la conversation principale. Cette clé s’applique aux sous-agents, aux workflows et aux requêtes d’arrière-plan et auxiliaires propres à Claude Code, comme la compaction et les titres de session. La durée de vie d’une heure garde le cache chaud lors de pauses plus longues, et l’API facture chaque écriture en cache à un tarif plus élevé qu’avec la durée de vie de cinq minutes. Nécessite Claude Code v2.1.242 ou ultérieure. Cet exemple attribue la durée de vie d’une heure aux sous-agents et aux autres requêtes effectuées en dehors de la conversation principale :
settings.json
Cette clé couvre les requêtes que promptCacheTtl ne couvre pas ; définissez donc les deux pour choisir une durée de vie pour chaque requête effectuée par Claude Code. Pour savoir en quoi le cache d’un sous-agent diffère de celui de la conversation principale, consultez Les sous-agents et le cache.

switchModelsOnFlag

Choisissez ce qui se passe lorsqu’un classifieur de sécurité signale une requête : basculer sur le modèle de secours et continuer, ou faire une pause pour que vous puissiez choisir entre basculer et modifier le prompt.
  • Portée : Any file. Apparaît dans /config sous le nom Switch models when a message is flagged, avec les options Switch automatically et Ask each time.
  • Type : booléen
    • true : Claude Code bascule sur le modèle de secours et continue
    • false : dans une session interactive, Claude Code fait une pause pour que vous puissiez choisir entre basculer et modifier le prompt ; là où aucune boîte de dialogue ne peut s’afficher, comme dans une exécution -p, la requête signalée se termine par une erreur
  • Valeur par défaut : non définie. Claude Code bascule automatiquement, mais il peut demander d’abord dans une session interactive
settings.json
Consultez Demander avant de basculer.

ultracode

Démarrez les sessions avec ultracode activé. Lorsqu’il est activé, Claude planifie un workflow pour chaque tâche substantielle au lieu d’attendre que vous le lui demandiez. Claude ne planifie des workflows que lorsque les workflows dynamiques sont activés pour vous et que votre modèle prend en charge l’effort xhigh. La clé ne modifie pas le niveau d’effort de la session : ultracode s’exécute au niveau utilisé par la session, quel qu’il soit. Claude Code lit cette clé mais ne l’écrit jamais : /effort ultracode active ultracode uniquement pour la session en cours.
  • Portée : Any file
  • Type : booléen
    • true : les sessions démarrent avec ultracode activé lorsque les workflows dynamiques sont activés pour vous et que votre modèle prend en charge xhigh
    • false : les sessions démarrent avec ultracode désactivé
  • Valeur par défaut : non définie, ultracode est donc désactivé
  • Remplacements par session : /effort ultracode active ultracode pour une session sans cette clé, et /effort ultracode off le désactive pour une session lorsque cette clé vaut true. Le flag --effort ultracode l’active également pour une session, avec l’effort xhigh
settings.json
Le niveau d’effort de la session provient de effortLevel, de modelSettings et des autres sources d’effort, et un plafond d’effort tel que maxEffortLevel abaisse ce niveau sans désactiver ultracode. Ce comportement et la forme /effort ultracode off nécessitent Claude Code v2.1.284 ou ultérieure. Avant la v2.1.284, ultracode: true exécutait la session avec l’effort xhigh, et un plafond d’effort inférieur à xhigh maintenait ultracode désactivé. Une requête de contrôle apply_flag_settings de l’Agent SDK accepte également la clé.

Paramètres de permission

Décidez ce que Claude peut faire sans demander, le mode de permission par défaut des nouvelles sessions, et ce que le classificateur du mode auto autorise. Pour la syntaxe des règles et le modèle de permission, consultez Configurer les permissions.

allowManagedPermissionRulesOnly

Rendez les paramètres gérés la seule source de règles de permission. Claude Code ignore alors les règles allow, ask et deny dans les fichiers utilisateur, projet, local et --settings, ignore --allowedTools, masque les choix d’autorisation permanente dans les invites de permission, et arrête d’enregistrer les nouvelles règles. Quand les paramètres parents d’un hôte d’intégration s’appliquent, Claude Code les traite comme faisant partie du niveau géré. Il supprime leurs règles allow et additionalDirectories, et conserve leurs règles deny et ask sauf les règles Read et Edit dont le motif commence par !. Un hôte ne peut pas découper des chemins des règles gérées avec une règle !, que vous définissiez cette clé ou non. Les règles --disallowedTools et les règles deny et ask de la session actuelle s’appliquent toujours, y compris après que Claude Code recharge les paramètres en cours de session. Elles ne font que restreindre, elles ne peuvent donc pas élargir ce que les règles gérées accordent. Avant la v2.1.257, Claude Code supprimait ces règles de ligne de commande et de session au premier rechargement des paramètres. Pour ce qu’un motif ! dans une règle --disallowedTools ou de session peut découper, consultez Règles Read et Edit. Quand vous définissez cette clé, Claude Code v2.1.282 ou ultérieur ignore aussi le frontmatter allowed-tools dans les skills et les fichiers .claude/commands/ provenant de ces sources :
  • Le répertoire .claude/ d’un dépôt
  • Vos répertoires ~/.claude/skills/ et ~/.claude/commands/, y compris les skills synchronisés depuis claude.ai
  • Un répertoire --add-dir
  • Les plugins déclarés avec un manifeste .claude-plugin dans ~/.claude/skills/ ou dans le .claude/skills/ du projet
  • Les plugins chargés pour une seule session, dont l’ID se termine par @inline, lorsque toutes ces conditions sont réunies :
    • La session est une session Code ou une session Cowork, autre qu’une session cloud, pour laquelle l’application Claude Desktop démarre elle-même Claude Code
    • Vos paramètres gérés définissent la clé, et pas seulement les paramètres parents d’un hôte d’intégration
    • La session exécute Claude Code v2.1.305 ou ultérieur
Les skills des paramètres gérés et les skills fournis conservent leur allowed-tools. Les plugins @inline en dehors de ces sessions Desktop conservent aussi le leur, sauf un plugin nommé anthropic-skills. Le disallowed-tools d’un skill s’applique toujours. Pour ce qu’un développeur voit quand Claude Code ignore le champ, consultez Quand seules les règles de permission gérées s’appliquent.
  • Portée : Managed
  • Type : Booléen
    • true : les paramètres gérés deviennent la seule source de règles de permission
    • false : Claude Code applique les règles de permission des fichiers utilisateur, projet, local et --settings en plus des règles gérées
  • Défaut : non défini, donc Claude Code applique les règles de permission des paramètres utilisateur, projet et local et de --settings, en plus des règles gérées
managed-settings.json
Cette clé ne verrouille pas la liste d’autorisation du serveur MCP ; pour cela, définissez allowManagedMcpServersOnly. Consultez Paramètres gérés uniquement.

autoMode

Ajoutez vos propres règles à ce que le classificateur du mode auto bloque et autorise. Utilisez-le pour dire au classificateur quels dépôts, buckets et domaines votre organisation approuve, afin qu’il arrête de bloquer les opérations internes courantes. Le classificateur est livré avec des règles d’autorisation et de blocage intégrées. Incluez la chaîne littérale "$defaults" dans un tableau pour conserver ces règles intégrées à cette position et ajouter les vôtres autour ; omettez-la pour les remplacer par les vôtres. Cet exemple conserve les règles soft_deny intégrées, via "$defaults", et en ajoute une qui bloque terraform apply :
settings.json
Quand plus d’un de ces fichiers définit le même tableau, Claude Code concatène les entrées. Pour le format de règle et comment chaque tableau est appliqué, consultez Configurer le mode auto.

autoMode.classifyAllShell

Envoyez chaque commande Bash et PowerShell via le classificateur du mode auto pendant que le mode auto est actif. Par défaut, le mode auto suspend uniquement les règles d’autorisation qui pourraient exécuter du code arbitraire : les règles à l’échelle de l’outil et les règles avec caractères génériques telles que Bash(*), et les préfixes d’interpréteur ou d’enveloppe shell tels que Bash(python *). Une commande qui correspond à toute autre règle d’autorisation, comme Bash(npm test), ignore le classificateur sauf si elle porte des domaines autorisés par commande. Quand elle l’ignore, un argument destructeur que le préfixe de la règle n’a pas anticipé peut passer inaperçu. Définir cette clé suspend chaque règle d’autorisation shell pour la session afin que le classificateur voie chaque commande. Nécessite Claude Code v2.1.193 ou ultérieur.
  • Portée : User or managed. Lisez partout où autoMode est lu.
  • Type : Booléen
    • true : pendant que le mode auto est actif, Claude Code envoie chaque commande Bash et PowerShell via le classificateur et suspend vos règles d’autorisation shell ; en dehors du mode auto, les règles s’appliquent toujours
    • false : le mode auto suspend uniquement les règles d’autorisation qui pourraient exécuter du code arbitraire, comme Bash(*) et Bash(python *) ; une commande qui correspond à toute autre règle d’autorisation ignore le classificateur sauf si elle porte des domaines autorisés par commande, et chaque autre commande shell le traverse
  • Défaut : false
settings.json
Cette clé fonctionne différemment dans une session Code Mode. Consultez Router toutes les commandes shell via le classificateur.

disableAutoMode

Supprimez le mode auto du cycle Shift+Tab. Toute session qui démarrerait autrement en mode auto, que ce soit via --permission-mode auto, un fichier de paramètres ou la valeur par défaut intégrée, démarre plutôt en default. Les administrateurs le définissent dans les paramètres gérés pour empêcher les développeurs de leur organisation d’utiliser le mode auto.
  • Portée : Any file. Plus utile dans les paramètres gérés, où les utilisateurs ne peuvent pas le remplacer. Également accepté sous permissions comme permissions.disableAutoMode.
  • Type : la chaîne "disable"
  • Défaut : non défini
settings.json

permissions

Contrôlez quels outils Claude peut utiliser sans demander, lesquels déclenchent une demande de confirmation, et lesquels sont bloqués. Définissez aussi le mode de permission par défaut des nouvelles sessions. Chaque clé permissions.* ci-dessous s’imbrique sous cet objet.
  • Portée : Any file
  • Type : objet avec allow, ask, deny, additionalDirectories, blockReadsOutsideWorkingDirectories, blockWritesOutsideWorkingDirectories, defaultMode, denyInsteadOfPrompting, disableBypassPermissionsMode et disableAutoMode
  • Défaut : non défini
Cet exemple approuve les commandes npm run sans demander, invite avant git push, bloque les lectures de .env, et démarre les sessions en acceptEdits :
settings.json
Les trois tableaux de règles partagent une syntaxe ; consultez Syntaxe des règles de permission sous permissions.allow. Pour comment les règles de permission de différents fichiers se combinent, consultez comment les règles de permission fusionnent entre les portées ; pour comment les clés de paramètres en général se combinent, consultez Priorité des paramètres sur le guide des paramètres.

useAutoModeDuringPlan

Choisissez si Claude Code utilise le classificateur du mode auto pour examiner les commandes shell en mode plan. Avec la valeur par défaut true, le classificateur examine chaque commande pendant la planification quand le mode auto est disponible et vous ne voyez aucune invite, sauf pour les suppressions de chemin critique. Définissez false pour obtenir une invite de permission pour chaque commande en dehors de l’ensemble intégré en lecture seule. Apparaît dans /config comme Use auto mode during plan.
  • Portée : User, local, or managed. Un dépôt ne peut pas l’éteindre pour vous.
    • Un false dans l’un de ces fichiers ou dans --settings le désactive, sauf si vous excluez ce fichier utilisateur ou local avec une option telle que --setting-sources. Pour qu’un fichier exclu soit ignoré, Claude Code v2.1.314 ou ultérieur est nécessaire
  • Type : Booléen
    • true : identique à non défini ; quand le mode auto est disponible, le classificateur examine les commandes shell pendant la planification
    • false : vous obtenez une invite de permission pour chaque commande en dehors de l’ensemble intégré en lecture seule
  • Défaut : true
settings.json

permissions.allow

Listez les utilisations d’outils que Claude Code approuve sans vous demander. Dans une règle MCP, * ne peut apparaître que dans le nom de l’outil après le préfixe mcp__<server>__, comme mcp__github__get_* ; il ne peut pas apparaître dans le nom du serveur.
  • Portée : Any file
  • Type : tableau de chaînes de règles de permission
  • Défaut : non défini
  • Remplacements par session : --allowedTools ajoute des règles d’autorisation pour une session, et une règle de blocage de n’importe quel fichier de paramètres bloque toujours un outil qu’elle nomme
Cet exemple approuve git diff et permet à Claude Code de lire votre .zshrc sans demander :
settings.json
Claude Code applique les règles allow du .claude/settings.json d’un projet uniquement après que vous acceptiez le dialogue de confiance d’espace de travail pour ce dossier.

Syntaxe des règles de permission

Les règles de permission suivent le format Tool ou Tool(specifier). Claude Code évalue d’abord les règles deny, puis ask, puis allow, et la première correspondance décide indépendamment de la spécificité de chaque règle ; consultez l’ordre d’évaluation des règles de permission. Chaque ligne montre une forme de règle et ce qu’elle correspond. Pour la syntaxe de règle complète, y compris le comportement des caractères génériques, les motifs spécifiques aux outils pour Read, Edit, WebFetch, MCP et les règles Agent, et les limitations de sécurité des motifs Bash, consultez Syntaxe des règles de permission.

permissions.ask

Listez les utilisations d’outils qui vous invitent à confirmer même dans un mode de permission qui les approuverait autrement, comme acceptEdits ou bypassPermissions. En mode dontAsk, Claude Code refuse une utilisation d’outil correspondante au lieu d’inviter.
  • Portée : Any file
  • Type : tableau de chaînes de règles de permission
  • Défaut : non défini
settings.json

permissions.deny

Listez les utilisations d’outils que Claude Code bloque. Utilisez-le pour les fichiers qui contiennent des clés API, des secrets ou des valeurs d’environnement : Claude Code exclut les fichiers correspondants de la découverte de fichiers et des résultats de recherche, refuse les lectures de ceux-ci, et bloque les outils Edit et Write sur les chemins correspondants. Les règles de blocage Read et Edit s’appliquent aux outils de fichiers intégrés de Claude, aux commandes de fichiers que Claude Code reconnaît dans Bash, comme cat, head, tail, sed et tee, et aux cibles des redirections Bash comme > file et < file ; elles ne s’appliquent pas à une commande qui lit des fichiers sans les nommer, comme grep -r pattern ., ou aux sous-processus arbitraires, donc pour l’application au niveau du système d’exploitation, activez le sandbox.
  • Portée : Any file
  • Type : tableau de chaînes de règles de permission
  • Défaut : non défini
  • Remplacements par session : --disallowedTools ajoute des règles de blocage pour une session à côté de cette clé
Cet exemple refuse les lectures des fichiers .env, du répertoire secrets et d’un fichier d’identifiants, et bloque les commandes curl :
settings.json
Les noms d’outils acceptent les motifs glob, donc "*" bloque chaque outil et "mcp__*" bloque chaque outil MCP. Claude Code ignore une règle de blocage pour l’outil EndConversation tant que tout autre outil est toujours disponible pour Claude. Une règle de blocage Bash correspond à la commande telle que Claude l’écrit, donc Bash(curl *) n’arrête pas /usr/bin/curl ou sh -c 'curl …' ; consultez ce qu’une règle Bash ne correspond pas. Cette clé remplace la configuration ignorePatterns dépréciée.

permissions.additionalDirectories

Donnez à Claude l’accès aux fichiers des répertoires en dehors de celui dans lequel vous avez commencé, comme répertoires de travail supplémentaires. La plupart de la configuration .claude/ n’est pas découverte de ces répertoires.
  • Portée : Any file, avec des limites sur l’accès en écriture du sandbox que confèrent les entrées de projet et locales
  • Type : tableau de chemins de répertoires
  • Défaut : non défini
  • Remplacements par session : --add-dir et /add-dir ajoutent des répertoires pour une session à côté de cette clé
settings.json
Comme les règles allow, les entrées du .claude/settings.json d’un projet prennent effet uniquement après que vous acceptiez le dialogue de confiance d’espace de travail pour ce dossier.

permissions.blockReadsOutsideWorkingDirectories

Faites refuser les lectures en dehors de vos répertoires de travail par les outils de fichiers de Claude dans chaque mode de permission, y compris bypassPermissions. Claude Code refuse les appels Read, Grep, Glob et LSP sur ces chemins et dit à Claude de vous demander d’ajouter le répertoire avec /add-dir. Les fichiers dont Claude Code lui-même a besoin restent lisibles, comme vos skills, plugins, règles, agents, commandes et le fichier de mémoire CLAUDE.md sous ~/.claude/. Nécessite Claude Code v2.1.257 ou ultérieur. Claude Code ne refuse pas les commandes shell de la même manière : Une commande Bash que l’analyseur shell ne peut pas tracer, comme une qui change de répertoire plus d’une fois ou exécute un sous-shell, vous invite même en mode auto et en mode bypassPermissions. L’invite apparaît même quand la commande ne nomme aucun chemin en dehors des répertoires de travail. Cette invite ne s’applique pas quand la commande s’exécute dans le sandbox et que le sandbox applique le blocage. Claude Code écrit aussi true ici quand vous choisissez de bloquer ces lectures sur l’invite du mode auto avant la première lecture en dehors des répertoires de travail.
  • Portée : Any file. Un true dans n’importe quel fichier s’applique, donc un dépôt peut activer le blocage pour lui-même mais ne peut pas lever le vôtre.
  • Type : Booléen
    • true : les outils de fichiers de Claude refusent les lectures en dehors des répertoires de travail
    • false : identique à non défini ; le blocage s’applique toujours si un autre fichier définit true
  • Défaut : non défini, donc les lectures en dehors des répertoires de travail suivent votre mode de permission
settings.json
Pour lever le blocage, supprimez la clé de chaque fichier de paramètres qui la définit, puis redémarrez chaque session en cours. Les répertoires que vous ajoutez avec --add-dir, /add-dir ou additionalDirectories dans vos paramètres utilisateur ou gérés comptent comme répertoires de travail pour le blocage. Les répertoires ajoutés uniquement dans les paramètres du dépôt ne comptent pas : ceux dans .claude/settings.json, et ceux dans .claude/settings.local.json sauf si git signale ce fichier comme non suivi. Dans un répertoire qui n’est pas un dépôt git, ou quand git suit le fichier, Claude Code traite .claude/settings.local.json comme des paramètres fournis par le dépôt, donc mettez les répertoires que vous voulez garder lisibles dans vos paramètres utilisateur à la place. Quand autoMemoryDirectory provient du .claude/settings.json du projet, ou d’un .claude/settings.local.json traité comme fourni par le dépôt, Claude Code ne charge aucune mémoire automatique de ce répertoire et n’en enregistre aucune.

Commandes sandboxées sous le blocage

Quand le sandboxing est activé, le blocage couvre aussi les commandes sandboxées. Claude Code leur refuse l’accès en lecture à votre répertoire personnel et aux autres racines qui contiennent les fichiers utilisateur : /Users, /home, /root, /Volumes, /mnt, /media, /run/media et /srv. Il réouvre ensuite les répertoires de travail, les worktrees que Claude Code crée dans la session, le répertoire temporaire de la session, et les parties de ~/.claude dont les commandes ont besoin, comme les skills et les plugins. Pendant que le blocage est en vigueur, les entrées allowRead et allowWrite des paramètres du dépôt ne comptent pas. Quand le répertoire de travail de la session est un git worktree lié, y compris un que Claude Code a entré en cours de session, le répertoire .git commun du dépôt reste lisible et inscriptible pour les commandes sandboxées, afin que git continue de fonctionner là. Dans ces cas, le blocage n’atteint pas les commandes sandboxées, tandis que les outils de fichiers de Claude continuent de l’appliquer : Sous le blocage, Claude Code réouvre vos fichiers de configuration git globaux pour les commandes sandboxées afin que git conserve votre identité et vos paramètres :
  • ~/.gitconfig
  • Les fichiers config, ignore et attributes sous $XDG_CONFIG_HOME/git, qui par défaut est ~/.config/git
  • Les fichiers que votre configuration git globale nomme via [include], [includeIf], core.excludesFile ou core.attributesFile
Claude Code juge chaque fichier séparément. Quand un fichier se trouve où une commande sandboxée peut écrire, directement ou via un lien symbolique, Claude Code ne réouvre pas les fichiers qu’il nomme. Sur Linux et WSL2, un fichier de configuration qui est un lien symbolique peut rester illisible à son propre chemin, et git s’exécute alors sans lui. ~/.git-credentials et $XDG_CONFIG_HOME/git/credentials restent bloqués. Si un fichier réouvert contient un secret, comme un jeton http.extraHeader, ajoutez son chemin à sandbox.filesystem.denyRead. Une entrée denyRead qui couvre un fichier a toujours priorité sur cette réouverture.

permissions.blockWritesOutsideWorkingDirectories

Faites refuser par les outils Write, Edit et NotebookEdit les chemins en dehors de vos répertoires de travail dans chaque mode de permission, y compris bypassPermissions, à l’exception de certains fichiers propres à Claude Code. La clé ne limite pas les commandes shell, les outils MCP ni les programmes que les hooks exécutent. Pour limiter où les commandes shell écrivent, activez le sandboxing. Nécessite Claude Code v2.1.314 ou ultérieur. Une fois la clé activée, Claude Code supprime aussi les outils EnterWorktree et ExitWorktree ou refuse les appels à ceux-ci. Pour continuer à travailler dans des worktrees, suivez Claude n’a pas d’outil EnterWorktree.
  • Portée : Any file. Un true dans n’importe quel fichier que la session charge s’applique, donc un dépôt peut activer le blocage pour lui-même mais ne peut pas lever le vôtre. Dans une session cloud, Claude Code peut ne pas appliquer la clé, car les outils de fichiers s’exécutent dans un conteneur qui constitue lui-même la frontière.
  • Type : Booléen
    • true : active le blocage
    • false : identique à non défini ; le blocage s’applique toujours si un autre fichier définit true
  • Défaut : non défini, donc les écritures en dehors des répertoires de travail suivent votre mode de permission. Le blocage est aussi actif tant que Claude Code ne peut pas lire l’objet permissions dans vos paramètres gérés.
settings.json
Pour tester le blocage, demandez à Claude d’utiliser l’outil Write pour créer un fichier en dehors de vos répertoires de travail, comme ~/block-test.txt si votre répertoire personnel n’en fait pas partie. Claude Code refuse l’appel, et le refus indique que le paramètre bloque les écritures en dehors des répertoires de travail. Pour lever le blocage, supprimez la clé de chaque fichier de paramètres qui la définit, puis redémarrez Claude Code.

Ce que le blocage en écriture refuse et ce qui reste inscriptible

Certains fichiers propres à Claude Code restent inscriptibles, comme les fichiers de plan, le scratchpad, le répertoire tmp d’une session en arrière-plan, et les fichiers .md de la mémoire automatique de ce projet. En plus de vos propres fichiers en dehors des répertoires de travail, le blocage refuse les écritures vers :
  • Les fichiers de paramètres de Claude Code : Claude Code refuse ces écritures à l’intérieur des répertoires de travail également, car un fichier de paramètres peut lever le blocage. Modifiez vous-même les fichiers de paramètres.
  • Un répertoire que seuls les paramètres du dépôt ajoutent : un répertoire que additionalDirectories liste uniquement dans .claude/settings.json, ou dans .claude/settings.local.json sauf si git signale ce fichier comme non suivi
  • Le worktree d’un sous-agent : les modifications de fichiers d’un sous-agent isolation: worktree sont refusées quand son worktree se trouve en dehors des répertoires de travail
  • La mémoire automatique dans un répertoire choisi par le dépôt : un répertoire que autoMemoryDirectory nomme dans les paramètres du dépôt
Les fichiers de paramètres restent refusés quoi que vous ajoutiez. Pour laisser passer une écriture dans l’un des autres cas, ajoutez un répertoire de travail. /add-dir nécessite un répertoire existant, donc indiquez le répertoire .claude/worktrees à la racine du dépôt pour les worktrees de sous-agents.

Laisser passer un répertoire à travers le blocage en lecture ou en écriture

Pour permettre à Claude d’atteindre un répertoire en dehors du projet pendant que blockReadsOutsideWorkingDirectories ou blockWritesOutsideWorkingDirectories vaut true, ajoutez-le comme répertoire de travail. Exécutez /add-dir <directory> dans la session, passez --add-dir <directory> au démarrage de Claude Code, ou listez-le sous additionalDirectories dans vos paramètres utilisateur ou gérés. Aucune règle d’autorisation ne permet aux outils de fichiers de Claude de franchir l’un ou l’autre blocage.

permissions.defaultMode

Définissez le mode de permission par défaut des nouvelles sessions. Quand vous le laissez non défini, la valeur par défaut intégrée pour votre surface s’applique.
  • Portée : Any file. auto et bypassPermissions ne prennent pas effet à partir des paramètres du projet ou local, donc définissez-les dans ~/.claude/settings.json à la place. Avant la v2.1.257, bypassPermissions prenait effet à partir de n’importe quel fichier. Pour les conversations que l’extension VS Code démarre, Claude Code lit uniquement les valeurs utilisateur, gérées et --settings.
  • Type : chaîne, l’une de :
    • "default" : Claude Code exécute uniquement les lectures sans demander
    • "acceptEdits" : Claude Code exécute aussi les éditions de fichiers et les commandes courantes du système de fichiers comme mkdir et mv sans demander
    • "plan" : Claude Code lit et planifie mais bloque les éditions jusqu’à ce que vous approuviez un plan
    • "auto" : Claude Code exécute sans invites de routine ; avant que les actions telles que les commandes shell et les requêtes réseau s’exécutent, un classificateur en arrière-plan vérifie qu’elles s’alignent avec votre demande
    • "dontAsk" : Claude Code refuse automatiquement chaque appel qui inviterait autrement, bien qu’un mod que vous avez installé puisse toujours approuver certains de ces appels. Les lectures de fichiers dans vos répertoires de travail, les autres actions qui ne nécessitent pas d’approbation, et les outils pré-approuvés s’exécutent toujours, à l’exception des lectures depuis des chemins réseau
    • "bypassPermissions" : Claude Code exécute tout sans demander
    • "manual" : un alias pour "default"
  • Défaut : non défini
  • Remplacements par session : --permission-mode, et son équivalent --dangerously-skip-permissions pour bypassPermissions, ont priorité sur cette clé pour une session
settings.json
Les règles de permission se superposent à chaque mode : les règles deny bloquent dans chaque mode, y compris bypassPermissions. Consultez Modes de permission. Dans les sessions cloud, Claude Code honore uniquement acceptEdits, plan, default et auto de cette clé. Pour les conversations que l’extension VS Code démarre, consultez quel paramètre l’extension lit pour le mode de permission de démarrage.

permissions.denyInsteadOfPrompting

Définissez cette clé sur true pour qu’une session continue de s’exécuter quand personne n’est là pour répondre à une demande de permission. Claude Code refuse un appel d’outil qui attendrait autrement une réponse à une demande de permission, et le tour continue. Nécessite Claude Code v2.1.319 ou ultérieur. Un appel est exécuté si une règle d’autorisation, votre mode de permission ou le classificateur du mode auto l’approuve. Pour autoriser la plupart des appels qui déclencheraient autrement une demande, répondez depuis un hook PermissionRequest.
  • Portée : User or managed, et --settings. Un dépôt ne peut pas la définir pour vous.
  • Type : Booléen
    • true : Claude Code refuse les appels qui déclencheraient autrement une demande
    • false : identique à non défini ; les appels sont toujours refusés si une autre de ces sources définit true
  • Défaut : non défini, donc un appel qui nécessite une approbation vous est soumis par une demande
Dans ~/.claude/settings.json, cet exemple démarre les sessions en mode auto et refuse tout ce qui aboutirait encore à une demande de permission :
settings.json
La clé s’applique dans les exécutions -p, les sessions de terminal interactives, l’extension VS Code, les sessions locales dans l’application Desktop, les sous-agents et les équipes d’agents. Pour refuser plutôt ce qui déclencherait une demande dans une seule exécution non interactive, passez --permission-prompts none avec -p.

Ce que denyInsteadOfPrompting arrête d’autre

Avec le paramètre activé, Claude Code arrête aussi ces demandes de réponse :
  • Outils de question et de plan : Claude Code omet AskUserQuestion, EnterPlanMode et ExitPlanMode, de sorte qu’une session en mode plan ne peut pas en sortir d’elle-même. Un coéquipier dans une équipe d’agents conserve EnterPlanMode et ExitPlanMode
  • Élicitation MCP : Claude Code annule une requête d’élicitation sauf si un hook Elicitation y répond
  • Hôtes de permission : Claude Code n’interroge pas votre callback canUseTool ni --permission-prompt-tool. Pour approuver des appels depuis du code, répondez depuis un hook PermissionRequest. Certains appels sont refusés avant qu’un hook soit consulté, comme une suppression de chemin critique en mode auto qu’aucune règle ask ne couvre.
  • Avis de facturation du classificateur : là où l’avis sur les requêtes facturées du classificateur ouvrirait un dialogue, Claude Code ne l’affiche pas et refuse les actions qui nécessitent ces requêtes
Une session peut encore attendre le dialogue de confiance d’espace de travail et l’approbation des serveurs MCP du projet. Répondez aux deux avant de laisser la session s’exécuter.

Messages de denyInsteadOfPrompting

Ces messages signalent des appels refusés. Ce ne sont pas des demandes, donc rien n’attend votre réponse. Le refus que Claude lit peut commencer par ce texte :
Dans la sortie stream-json, les exécutions qui émettent un message permission_denied signalent ce decision_reason :
En mode auto avec le paramètre activé, le tour se termine après 20 appels consécutifs que le classificateur a bloqués ou qu’une vérification de sécurité a refusés, et vous voyez ce message :
Une exécution -p signale ce tour comme error_during_execution.

permissions.disableBypassPermissionsMode

Empêchez quiconque d’entrer en mode bypassPermissions. Claude Code rejette alors le flag --dangerously-skip-permissions, et ignore le permissionMode: bypassPermissions d’une définition d’agent, donc le sous-agent s’exécute avec le mode de permission de la session parent.
  • Portée : Any file. Généralement défini dans les paramètres gérés pour appliquer la politique organisationnelle.
  • Type : la chaîne "disable"
  • Défaut : non défini
  • Remplacements par session : cette clé a priorité sur --dangerously-skip-permissions, que Claude Code rejette pendant que la clé est définie
settings.json
Avant la v2.1.223, Claude Code appliquait le mode de permission du frontmatter même avec le bypass désactivé.

skipAutoPermissionPrompt

Ignorez l’avis unique décrivant le mode auto que Claude Code affiche quand vous entrez vous-même en mode auto pour la première fois, par exemple via vos propres paramètres ou le sélecteur de mode, plutôt que quand la valeur par défaut intégrée démarre une session dedans. Claude Code affiche cet avis une fois puis enregistre qu’il a été affiché, donc cette clé ne compte que là où l’avis n’a pas encore apparu.
  • Portée : User or managed. Un dépôt ne peut pas le définir pour vous.
  • Type : Booléen
    • true : Claude Code ignore l’avis
    • false : identique à non défini ; l’avis apparaît une fois sauf si un de ces fichiers définit true
  • Défaut : non défini, donc l’avis apparaît une fois
settings.json

skipDangerousModePermissionPrompt

Ignorez le dialogue de confirmation que Claude Code affiche avant qu’une session entre en mode bypassPermissions, que ce soit via --dangerously-skip-permissions ou via defaultMode: "bypassPermissions". Claude Code écrit true ici dans vos paramètres utilisateur quand vous acceptez ce dialogue une fois.
  • Portée : User, local, or managed, et les fichiers passés avec --settings. Les sessions en arrière-plan ne prennent en compte que les paramètres utilisateur et gérés. Un dépôt non approuvé ne peut pas ignorer le dialogue pour vous.
  • Type : Booléen
    • true : Claude Code ignore le dialogue de confirmation avant qu’une session entre en mode bypassPermissions
    • false : identique à non défini ; le dialogue apparaît sauf si un de ces fichiers définit true
  • Défaut : non défini, donc le dialogue apparaît
settings.json

Paramètres du sandbox

Isolez les commandes que Claude exécute de votre système de fichiers, de votre réseau et de vos identifiants. Pour savoir comment fonctionne le sandboxing et connaître les exigences de plateforme, consultez Sandboxing.

sandbox

Isolez les commandes Bash que Claude exécute de votre système de fichiers et de votre réseau avec sandboxing. Activez le sandbox avec enabled, puis réduisez ou élargissez ce que les commandes en sandbox peuvent toucher avec les sous-objets filesystem, network et credentials. Le sandbox s’exécute sur macOS, Linux et WSL2.
  • Scope : Any file
  • Type : objet avec enabled, failIfUnavailable, autoAllowBashIfSandboxed, excludedCommands, allowUnsandboxedCommands, enableWeakerNestedSandbox, enableWeakerNetworkIsolation, allowAppleEvents, allowNestedUserNamespaces, bwrapPath, socatPath, ignoreViolations et ripgrep, ainsi que les objets filesystem, network et credentials
  • Default : non défini, donc Claude Code exécute les commandes sans sandbox
Ceci active le sandbox, ignore les demandes de permission pour les commandes en sandbox, exécute docker en dehors du sandbox, ouvre deux chemins d’écriture supplémentaires, masque votre fichier d’identifiants AWS et pré-autorise GitHub et npm :
settings.json
Lorsque les paramètres gérés définissent une clé booléenne telle que enabled ou failIfUnavailable, cette valeur remplace tout ce qu’un développeur définit. Claude Code fusionne les clés de tableau dans les portées de paramètres que la session charge, donc un développeur peut ajouter des entrées ; consultez Keep developers from widening the policy pour les verrous réservés aux paramètres gérés. Pour exiger le sandbox pour une organisation, consultez Enforce sandboxing with managed settings.

sandbox.enabled

Activez sandboxing pour les commandes Bash. Lorsque vous choisissez un mode dans le panneau /sandbox, Claude Code écrit cette clé dans .claude/settings.local.json pour le projet actuel ; définissez-la dans ~/.claude/settings.json pour mettre en sandbox chaque projet.
settings.json
Sur Linux et WSL2, le sandbox a besoin de bubblewrap et socat ; consultez Set up Linux and WSL2. Lorsque le sandbox ne peut pas démarrer, Claude Code exécute les commandes sans sandbox sauf si vous définissez également failIfUnavailable.

sandbox.failIfUnavailable

Faites en sorte que Claude Code se ferme avec une erreur au démarrage lorsque sandbox.enabled vaut true mais que le sandbox ne peut pas démarrer, parce que la plateforme ne le prend pas en charge ou que la vérification des dépendances échoue. Sans cette clé, Claude Code exécute les commandes hors sandbox. Les déploiements gérés qui exigent le sandboxing comme barrière de sécurité peuvent utiliser ce paramètre. Sur une plateforme que le sandbox ne supporte pas, Claude Code ne démarre pas lorsque cette clé est activée. Consultez Enforce sandboxing with managed settings.
  • Scope : Any file, avec des limites sur les paramètres de projet et locaux
  • Type : booléen
    • true : Claude Code se termine avec une erreur au démarrage lorsque sandbox.enabled vaut true mais que le sandbox ne peut pas démarrer. Si le sandbox passe cette vérification puis échoue à s’initialiser, la session continue et Claude Code refuse chaque commande en sandbox
    • false : Claude Code exécute les commandes hors sandbox lorsque le sandbox ne peut pas démarrer
  • Default : false
Cet exemple active le sandbox sur les machines gérées et définit failIfUnavailable sur true :
managed-settings.json
Consultez Enforce sandboxing with managed settings.

sandbox.autoAllowBashIfSandboxed

Permet à Claude Code d’exécuter les commandes Bash en sandbox sans demande de permission. Les commandes qui ne peuvent pas s’exécuter dans le sandbox passent toujours par le flux de permissions habituel, et les règles deny ainsi que les règles ask ciblant un contenu, comme Bash(git push *), continuent de s’appliquer ; une règle ask Bash seule est ignorée pour les commandes en sandbox. Définissez-la sur false pour faire aussi passer les commandes en sandbox par le flux de permissions habituel, ce que l’onglet Mode de /sandbox appelle le mode de permissions habituel.
  • Scope : Any file
  • Type : Booléen
    • true : Claude Code exécute les commandes Bash en sandbox sans demande de permission, sauf dans les cas que décrit Auto-allow mode ; CLAUDE_CODE_SUBPROCESS_ENV_SCRUB désactive l’auto-allow
    • false : les commandes en sandbox passent par le flux de permission régulier, donc vos règles d’autorisation et le mode de permission décident. L’onglet Mode de /sandbox appelle ceci mode de permissions régulier
  • Default : true
Ceci garde le sandbox activé et envoie les commandes en sandbox par le flux de permission régulier :