~/.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 :
--advisora priorité sur cette clé pour une session.CLAUDE_CODE_DISABLE_ADVISOR_TOOLdésactive l’advisor, et cette clé ne peut pas le réactiver
settings.json
"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éefalse: 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_TOKENSa priorité sur cette clé pour une session :0désactive la réflexion, dans les mêmes limites de modèle et de fournisseur quefalse, et une valeur positive active la réflexion même lorsque cette clé vautfalse. 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
settings.json
"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 pasclaude-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éesbest,opusplanetdefaultsont ignorées
- Valeur par défaut :
"prefix"
managed-settings.json
"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,opusplanetdefaultsont ignorées
- Un alias de famille tel que
- Valeur par défaut : non définie, aucun modèle n’est donc bloqué
managed-settings.json
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 :
--efforta priorité sur cette clé pour une session, etCLAUDE_CODE_EFFORT_LEVELa priorité sur les deux
settings.json
~/.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 deavailableModels, Claude Code la résout vers le premier modèle disponible de la listefalse: cette clé ne modifie pas la façon dont Default est résolue
- Valeur par défaut :
false
settings.json
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-modela priorité sur cette clé pour une session
settings.json
["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
true: Claude Code active le mode rapide pour les sessions où il est disponible. Sur Fable 5.2, vous devez également exécuter/fastlorsque vous utilisez Fable 5.2false: le mode rapide reste désactivé
- Valeur par défaut : non définie, le mode rapide est donc désactivé
- Remplacements par session :
CLAUDE_CODE_DISABLE_FAST_MODEdé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: unfastMode: trueenregistré n’active plus le mode rapide au démarrage de la session, donc chaque personne exécute/fastdans chaque session où elle le souhaite ; unfastMode: truetransmis avec--settingscompte toujours pour cette session, sauf si les paramètres gérés définissent cette cléfalse: unfastMode: trueenregistré fonctionne comme le décritfastMode
- Valeur par défaut :
false
settings.json
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éemodelSettingsd’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
medium et exempte Sonnet 4.6 :
settings.json
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 :
--modela priorité surANTHROPIC_MODEL, et tous deux ont priorité sur cette clé pour une session, y compris sur unmodelgéré ; une listeavailableModelss’applique toujours au choix
settings.json
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
settings.json
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,--settingset 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
optionsde lignes et un booléen facultatifreplaceBuiltInOptions - Valeur par défaut : non définie, le sélecteur affiche donc la liste intégrée
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
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 fichiermanaged-settings.jsonou un programme d’aide de stratégie. Claude Code l’ignore dans les paramètres utilisateur, projet et locaux, dans--settingset, 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éfinitCLAUDE_CODE_PROVIDER_MANAGED_BY_HOSTpeut fournir sa propre table via l’optionmanagedSettingsdu 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
multiplierfacultatif et une tableoverridesfacultative - Valeur par défaut : non définie, Claude Code indique donc le prix catalogue, sauf si une application hôte fournit une table
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
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
modelOverridesou la recherchebedrock: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écuterautoCompactWindow: un nombre de tokens de100000à1000000, ou"auto"pour la fenêtre adaptée au modèle./autocompactenregistre sa valeur ici. Pour ce modèle, la valeur a priorité sur unautoCompactWindowde 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-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
/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
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.
- Portée :
Any file - Type : chaîne, l’une des valeurs suivantes :
"5m": le cache est conservé pendant cinq minutes"1h": le cache est conservé pendant une heure
- Valeur par défaut : non définie, chaque requête de la conversation principale reçoit donc sa durée de vie par défaut
- Remplacements par session :
FORCE_PROMPT_CACHING_5Ma priorité sur tout le reste, puisCLAUDE_CODE_PROMPT_CACHE_TTL, puis cette clé, et enfinENABLE_PROMPT_CACHING_1H
settings.json
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 avecCtrl+Ofalse: 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
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.
- Portée :
Any file - Type : chaîne, l’une des valeurs suivantes :
"5m": le cache est conservé pendant cinq minutes"1h": le cache est conservé pendant une heure
- Valeur par défaut : non définie, chacune de ces requêtes reçoit donc sa durée de vie par défaut
- Remplacements par session :
FORCE_PROMPT_CACHING_5Ma priorité sur tout le reste, puisCLAUDE_CODE_SUBAGENT_PROMPT_CACHE_TTL, puis cette clé, puisENABLE_PROMPT_CACHING_1H, qui demande la durée de vie d’une heure pour chaque requête. Pour savoir où se situe la valeur du frontmatter propre à un sous-agent, consultez Choisir vous-même le TTL
settings.json
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/configsous 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 continuefalse: 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
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 chargexhighfalse: les sessions démarrent avec ultracode désactivé
- Valeur par défaut : non définie, ultracode est donc désactivé
- Remplacements par session :
/effort ultracodeactive ultracode pour une session sans cette clé, et/effort ultracode offle désactive pour une session lorsque cette clé vauttrue. Le flag--effort ultracodel’active également pour une session, avec l’effortxhigh
settings.json
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-plugindans~/.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
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 permissionfalse: Claude Code applique les règles de permission des fichiers utilisateur, projet, local et--settingsen 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
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.
- Portée :
User or managed - Type : objet avec des tableaux
environment,allow,soft_denyethard_denyde règles en prose, plus le BooléenclassifyAllShell - Défaut : non défini, donc le classificateur utilise uniquement ses règles intégrées
soft_deny intégrées, via "$defaults", et en ajoute une qui bloque terraform apply :
settings.json
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ùautoModeest 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 toujoursfalse: le mode auto suspend uniquement les règles d’autorisation qui pourraient exécuter du code arbitraire, commeBash(*)etBash(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
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é souspermissionscommepermissions.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,disableBypassPermissionsModeetdisableAutoMode - Défaut : non défini
npm run sans demander, invite avant git push, bloque les lectures de .env, et démarre les sessions en acceptEdits :
settings.json
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
falsedans l’un de ces fichiers ou dans--settingsle 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
- Un
- Type : Booléen
true: identique à non défini ; quand le mode auto est disponible, le classificateur examine les commandes shell pendant la planificationfalse: 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 :
--allowedToolsajoute 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
git diff et permet à Claude Code de lire votre .zshrc sans demander :
settings.json
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 formatTool 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 :
--disallowedToolsajoute des règles de blocage pour une session à côté de cette clé
.env, du répertoire secrets et d’un fichier d’identifiants, et bloque les commandes curl :
settings.json
"*" 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-diret/add-dirajoutent des répertoires pour une session à côté de cette clé
settings.json
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 :
- Les actions qu’aucun mode n’auto-approuve couvre quand une commande shell qui lit un tel chemin vous invite
- Les commandes sandboxées sous le blocage couvre ce qu’une commande sandboxée peut lire
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. Untruedans 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 travailfalse: identique à non défini ; le blocage s’applique toujours si un autre fichier définittrue
- Défaut : non défini, donc les lectures en dehors des répertoires de travail suivent votre mode de permission
settings.json
--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 :
- L’isolation du système de fichiers est désactivée via
sandbox.filesystem.disabled allowManagedReadPathsOnlyest défini- Le chemin du répertoire dans lequel vous avez démarré Claude Code contient un caractère glob comme
*,?ou[
git conserve votre identité et vos paramètres :
~/.gitconfig- Les fichiers
config,ignoreetattributessous$XDG_CONFIG_HOME/git, qui par défaut est~/.config/git - Les fichiers que votre configuration git globale nomme via
[include],[includeIf],core.excludesFileoucore.attributesFile
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. Untruedans 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 blocagefalse: identique à non défini ; le blocage s’applique toujours si un autre fichier définittrue
- 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
permissionsdans vos paramètres gérés.
settings.json
~/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épertoiretmp 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
additionalDirectoriesliste uniquement dans.claude/settings.json, ou dans.claude/settings.local.jsonsauf si git signale ce fichier comme non suivi - Le worktree d’un sous-agent : les modifications de fichiers d’un sous-agent
isolation: worktreesont 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
autoMemoryDirectorynomme dans les paramètres du dépôt
/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 queblockReadsOutsideWorkingDirectories 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.autoetbypassPermissionsne 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,bypassPermissionsprenait 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 commemkdiretmvsans 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-permissionspourbypassPermissions, ont priorité sur cette clé pour une session
settings.json
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 demandefalse: identique à non défini ; les appels sont toujours refusés si une autre de ces sources définittrue
- Défaut : non défini, donc un appel qui nécessite une approbation vous est soumis par une demande
~/.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
-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,EnterPlanModeetExitPlanMode, 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 conserveEnterPlanModeetExitPlanMode - Élicitation MCP : Claude Code annule une requête d’élicitation sauf si un hook
Elicitationy répond - Hôtes de permission : Claude Code n’interroge pas votre callback
canUseToolni--permission-prompt-tool. Pour approuver des appels depuis du code, répondez depuis un hookPermissionRequest. Certains appels sont refusés avant qu’un hook soit consulté, comme une suppression de chemin critique en modeautoqu’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
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 :
stream-json, les exécutions qui émettent un message permission_denied signalent ce decision_reason :
-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
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’avisfalse: identique à non défini ; l’avis apparaît une fois sauf si un de ces fichiers définittrue
- 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 modebypassPermissionsfalse: identique à non défini ; le dialogue apparaît sauf si un de ces fichiers définittrue
- 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,ignoreViolationsetripgrep, ainsi que les objetsfilesystem,networketcredentials - Default : non défini, donc Claude Code exécute les commandes sans sandbox
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
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.
- Scope :
Any file, avec des limites sur les paramètres de projet et locaux - Type : Booléen
true: Claude Code met en sandbox les commandes Bashfalse: les commandes Bash s’exécutent sans sandbox
- Default :
false
settings.json
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 lorsquesandbox.enabledvauttruemais 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 sandboxfalse: Claude Code exécute les commandes hors sandbox lorsque le sandbox ne peut pas démarrer
- Default :
false
failIfUnavailable sur true :
managed-settings.json
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_SCRUBdésactive l’auto-allowfalse: 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/sandboxappelle ceci mode de permissions régulier
- Default :
true