> ## Documentation Index
> Fetch the complete documentation index at: https://code.claude.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Tous les paramètres

> Référence complète pour chaque clé settings.json de Claude Code : où chacune se trouve, son type et sa valeur par défaut, et un exemple prêt à coller, avec un index de chaque clé.

[Retour à l'index](#all-settings)

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](#global-config-settings) 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](https://code.claude.com/docs/fr/settings.md).

## Index des paramètres

Chaque clé ci-dessous renvoie à son entrée. La colonne Portée indique les [fichiers](https://code.claude.com/docs/fr/settings.md#settings-files-and-who-they-affect) 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](https://code.claude.com/docs/fr/managed-settings.md). `Tout fichier` désigne les quatre, et `Config globale` désigne [`~/.claude.json`](#global-config-settings).

| Clé | Description | Thème | Portée |
| :- | :- | :- | :- |
| [`advisorModel`](#advisormodel) | Choisir le modèle qui répond lorsque Claude interroge l'[outil advisor](https://code.claude.com/docs/fr/advisor.md) | Modèle et réponses | Tout fichier |
| [`agent`](#agent) | Démarrer chaque session en tant que [sous-agent](https://code.claude.com/docs/fr/sub-agents.md) nommé, avec son prompt, ses outils et son modèle | Agents, sessions et worktrees | Tout fichier |
| [`agentPushNotifEnabled`](#agentpushnotifenabled) | Permettre à Claude d'envoyer une [notification push sur votre téléphone](https://code.claude.com/docs/fr/remote-control.md#mobile-push-notifications) lorsqu'il le juge utile | Distant, bureau et notifications | Tout fichier |
| [`allowAllClaudeAiMcps`](#allowallclaudeaimcps) | Charger les [connecteurs claude.ai](https://code.claude.com/docs/fr/mcp.md) que Claude Code récupère lui-même en parallèle d'un [`managed-mcp.json`](https://code.claude.com/docs/fr/managed-mcp#exclusive-control-with-managed-mcp-json) déployé | MCP | Géré |
| [`allowClaudeInChromeWithManagedMcp`](#allowclaudeinchromewithmanagedmcp) | Permettre au serveur intégré [Claude in Chrome](https://code.claude.com/docs/fr/chrome.md) de s'exécuter en parallèle d'un [`managed-mcp.json`](https://code.claude.com/docs/fr/managed-mcp#exclusive-control-with-managed-mcp-json) déployé | MCP | Géré |
| [`allowedChannelPlugins`](#allowedchannelplugins) | Remplacer la liste d'autorisation par défaut des [plugins de canal](https://code.claude.com/docs/fr/channels.md#restrict-which-channel-plugins-can-run) qui peuvent envoyer des messages | Plugins et skills | Géré |
| [`allowedHttpHookUrls`](#allowedhttphookurls) | Limiter les URL que les [hooks HTTP](https://code.claude.com/docs/fr/hooks.md) peuvent cibler | Hooks et automatisation | Tout fichier |
| [`allowedMcpServers`](#allowedmcpservers) | Définir la liste d'autorisation des [serveurs MCP](https://code.claude.com/docs/fr/mcp.md) que les utilisateurs peuvent ajouter | MCP | Tout fichier |
| [`allowedProviders`](#allowedproviders) | Limiter les [fournisseurs d'API](https://code.claude.com/docs/fr/third-party-integrations.md) qu'une machine peut utiliser | Authentification et fournisseurs | Géré |
| [`allowManagedHooksOnly`](#allowmanagedhooksonly) | N'exécuter que les [hooks](https://code.claude.com/docs/fr/hooks.md) déployés par votre organisation | Hooks et automatisation | Géré |
| [`allowManagedMcpServersOnly`](#allowmanagedmcpserversonly) | Faire de la liste d'autorisation [MCP](https://code.claude.com/docs/fr/mcp.md) gérée la seule qui s'applique | MCP | Géré |
| [`allowManagedPermissionRulesOnly`](#allowmanagedpermissionrulesonly) | Faire des [paramètres gérés](https://code.claude.com/docs/fr/managed-settings.md) la seule source de [règles de permission](https://code.claude.com/docs/fr/permissions.md#managed-settings) | Paramètres de permission | Géré |
| [`alwaysThinkingEnabled`](#alwaysthinkingenabled) | Désactiver la [réflexion étendue](https://code.claude.com/docs/fr/model-config.md#extended-thinking) pour toutes les sessions | Modèle et réponses | Tout fichier |
| [`apiKeyHelper`](#apikeyhelper) | Générer l'[identifiant d'API](https://code.claude.com/docs/fr/authentication.md#credential-management) avec votre propre commande | Authentification et fournisseurs | Tout fichier |
| [`askUserQuestionTimeout`](#askuserquestiontimeout) | Permettre à une question restée sans réponse de [continuer automatiquement](https://code.claude.com/docs/fr/tools-reference.md#question-auto-continue-timeout) après un temps d'inactivité | Interface et terminal | Utilisateur ou géré |
| [`appendPlugins`](#appendplugins) | Exécuter les [mods](https://code.claude.com/docs/fr/plugins/mods/admin.md) de votre organisation après chaque mod installé par un utilisateur | Plugins et skills | Utilisateur ou géré |
| [`attribution`](#attribution) | Personnaliser l'attribution que Claude Code ajoute aux commits et aux pull requests | Git et attribution | Tout fichier |
| [`attribution.commit`](#attribution-commit) | Modifier ou masquer le trailer que Claude Code ajoute aux commits | Git et attribution | Tout fichier |
| [`attribution.pr`](#attribution-pr) | Modifier ou masquer la ligne d'attribution dans les descriptions de pull requests | Git et attribution | Tout fichier |
| [`attribution.sessionUrl`](#attribution-sessionurl) | Omettre le lien de session claude.ai des commits [cloud](https://code.claude.com/docs/fr/claude-code-on-the-web.md) et [Remote Control](https://code.claude.com/docs/fr/remote-control.md) | Git et attribution | Tout fichier |
| [`autoCompactEnabled`](#autocompactenabled) | Désactiver ou activer la [compaction automatique](https://code.claude.com/docs/fr/context-window.md) | Mémoire et contexte | Tout fichier |
| [`autoCompactWindow`](#autocompactwindow) | Définir le niveau de remplissage du contexte à partir duquel Claude Code [compacte](https://code.claude.com/docs/fr/context-window.md) | Mémoire et contexte | Tout fichier |
| [`autoConnectIde`](#autoconnectide) | Se connecter automatiquement à un IDE [VS Code](https://code.claude.com/docs/fr/vs-code.md) ou [JetBrains](https://code.claude.com/docs/fr/jetbrains.md#from-external-terminals) en cours d'exécution depuis un terminal externe | Paramètres de configuration globale | Config globale |
| [`autoContinueAtUsageLimit`](#autocontinueatusagelimit) | Attendre dans la session ouverte et [poursuivre la tâche automatiquement](https://code.claude.com/docs/fr/interactive-mode.md#wait-for-a-usage-limit-to-reset) après la réinitialisation d'une limite d'utilisation claude.ai | Interface et terminal | Utilisateur ou géré |
| [`autoInstallIdeExtension`](#autoinstallideextension) | Désactiver l'installation automatique de l'[extension IDE](https://code.claude.com/docs/fr/vs-code.md#install-the-extension) depuis un terminal VS Code | Paramètres de configuration globale | Config globale |
| [`autoMemoryDirectory`](#automemorydirectory) | Stocker la [mémoire automatique](https://code.claude.com/docs/fr/memory.md#auto-memory) dans le répertoire de votre choix | Mémoire et contexte | Tout fichier |
| [`autoMemoryEnabled`](#automemoryenabled) | Désactiver ou activer la [mémoire automatique](https://code.claude.com/docs/fr/memory.md#auto-memory) | Mémoire et contexte | Tout fichier |
| [`autoMode`](#automode) | Ajouter vos propres règles d'autorisation et de refus au classifieur du [mode auto](https://code.claude.com/docs/fr/permission-modes.md#eliminate-prompts-with-auto-mode) | Paramètres de permission | Utilisateur ou géré |
| [`autoMode.classifyAllShell`](#automode-classifyallshell) | Soumettre chaque commande shell au [classifieur du mode auto](https://code.claude.com/docs/fr/permission-modes.md#what-the-classifier-blocks-by-default), même celles qui correspondent à une règle d'autorisation restreinte | Paramètres de permission | Utilisateur ou géré |
| [`autoScrollEnabled`](#autoscrollenabled) | [Suivre la nouvelle sortie](https://code.claude.com/docs/fr/fullscreen.md#auto-follow) jusqu'en bas en rendu plein écran | Interface et terminal | Tout fichier |
| [`autoUpdatesChannel`](#autoupdateschannel) | Suivre le [canal de publication](https://code.claude.com/docs/fr/setup.md#configure-release-channel) stable plutôt que latest | Mises à jour et versions | Tout fichier |
| [`availableModels`](#availablemodels) | [Restreindre les modèles](https://code.claude.com/docs/fr/model-config.md#restrict-model-selection) que les utilisateurs peuvent choisir | Modèle et réponses | Tout fichier |
| [`availableModelsMatch`](#availablemodelsmatch) | Faire en sorte que chaque identifiant de modèle de `availableModels` [n'autorise que la version qu'il nomme](https://code.claude.com/docs/fr/model-config.md#block-specific-models-or-versions) | Modèle et réponses | Géré |
| [`awaySummaryEnabled`](#awaysummaryenabled) | Désactiver le [récapitulatif de session](https://code.claude.com/docs/fr/interactive-mode.md#session-recap) affiché lorsque vous revenez au terminal | Distant, bureau et notifications | Tout fichier |
| [`awsAuthRefresh`](#awsauthrefresh) | Actualiser les [identifiants Bedrock](https://code.claude.com/docs/fr/amazon-bedrock.md#advanced-credential-configuration) expirés dans `.aws` avec votre propre commande | Authentification et fournisseurs | Tout fichier |
| [`awsCredentialExport`](#awscredentialexport) | Fournir les [identifiants Bedrock](https://code.claude.com/docs/fr/amazon-bedrock.md#advanced-credential-configuration) au format JSON depuis votre propre commande | Authentification et fournisseurs | Tout fichier |
| [`axScreenReader`](#axscreenreader) | Produire une [sortie adaptée aux lecteurs d'écran](https://code.claude.com/docs/fr/accessibility.md) | Interface et terminal | Utilisateur ou géré |
| [`bashEditDiffEnabled`](#basheditdiffenabled) | Enregistrer les [fichiers modifiés pendant l'exécution d'une commande Bash](https://code.claude.com/docs/fr/hooks.md#bash) dans tous les modes de permission | Interface et terminal | Utilisateur ou géré |
| [`bashOutputMaxChars`](#bashoutputmaxchars) | Définir la quantité de [sortie](https://code.claude.com/docs/fr/tools-reference.md#output-limits) d'une commande réussie que Claude reçoit directement | Mémoire et contexte | Tout fichier |
| [`blockedMarketplaces`](#blockedmarketplaces) | Bloquer des sources de [marketplaces de plugins](https://code.claude.com/docs/fr/plugins/overview.md) pour votre organisation | Plugins et skills | Géré |
| [`browserExternalPageTools`](#browserexternalpagetools) | Empêcher les outils de Claude d'agir sur les pages externes dans le volet Browser de l'[application de bureau](https://code.claude.com/docs/fr/desktop.md) | Outils | Géré |
| [`channelsEnabled`](#channelsenabled) | Autoriser les [canaux](https://code.claude.com/docs/fr/channels.md#enable-channels-for-your-organization) pour votre organisation | Plugins et skills | Géré |
| [`claudeInChromeDefaultEnabled`](#claudeinchromedefaultenabled) | Activer l'[intégration Chrome](https://code.claude.com/docs/fr/chrome.md) au démarrage d'une session, dans la CLI interactive et l'extension VS Code | Paramètres de configuration globale | Config globale |
| [`claudeMd`](#claudemd) | Injecter des instructions [CLAUDE.md](https://code.claude.com/docs/fr/memory.md#deploy-organization-wide-claude-md) à l'échelle de l'organisation depuis les paramètres gérés | Mémoire et contexte | Géré |
| [`claudeMdExcludes`](#claudemdexcludes) | Ignorer certains fichiers [CLAUDE.md](https://code.claude.com/docs/fr/memory.md#exclude-specific-claude-md-files) lors du chargement de la mémoire | Mémoire et contexte | Tout fichier |
| [`cleanupPeriodDays`](#cleanupperioddays) | Choisir pendant combien de jours Claude Code conserve les [transcriptions](https://code.claude.com/docs/fr/data-usage.md#data-retention) avant de les supprimer | Confidentialité et télémétrie | Tout fichier |
| [`companyAnnouncements`](#companyannouncements) | Afficher les annonces de votre organisation au démarrage | Interface et terminal | Tout fichier |
| [`copyFullResponse`](#copyfullresponse) | Faire en sorte que [`/copy`](https://code.claude.com/docs/fr/commands) copie la réponse complète sans afficher le sélecteur | Paramètres de configuration globale | Config globale |
| [`copyOnSelect`](#copyonselect) | Désactiver la copie automatique du texte sélectionné à la souris en [rendu plein écran](https://code.claude.com/docs/fr/fullscreen.md#use-the-mouse) et dans la vue des agents | Paramètres de configuration globale | Config globale |
| [`crossSessionInbound`](#crosssessioninbound) | Choisir si Claude Code transmet les [messages de vos autres sessions](https://code.claude.com/docs/fr/cross-session-messaging.md#control-inbound-messages), affiche un avis sans les transmettre ou les refuse | Agents, sessions et worktrees | Tout fichier |
| [`defaultShell`](#defaultshell) | Choisir si Bash ou PowerShell exécute les commandes shell que vous saisissez avec le [préfixe `!`](https://code.claude.com/docs/fr/interactive-mode#shell-mode-with-prefix) | Interface et terminal | Tout fichier |
| [`defaultToAgentsView`](#defaulttoagentsview) | Ouvrir la [vue des agents](https://code.claude.com/docs/fr/agent-view.md) au lieu d'une nouvelle conversation lorsque vous exécutez `claude` sans argument | Paramètres de configuration globale | Config globale |
| [`deniedMcpServers`](#deniedmcpservers) | Bloquer des [serveurs MCP](https://code.claude.com/docs/fr/mcp.md) spécifiques par URL, commande ou nom | MCP | Tout fichier |
| [`deniedModels`](#deniedmodels) | [Bloquer des modèles spécifiques](https://code.claude.com/docs/fr/model-config.md#block-specific-models-or-versions), même ceux que `availableModels` autorise | Modèle et réponses | Géré |
| [`desktopSessionCleanupPeriodDays`](#desktopsessioncleanupperioddays) | Définir une limite d'ancienneté en jours pour les [transcriptions de Claude Desktop et Cowork](https://code.claude.com/docs/fr/claude-directory.md#cleaned-up-automatically) | Confidentialité et télémétrie | Utilisateur ou géré |
| [`dialogExpiry`](#dialogexpiry) | Définir combien de temps Claude Code attend que [Remote Control](https://code.claude.com/docs/fr/remote-control.md) ou un hôte SDK réponde à une boîte de dialogue transmise avant de l'annuler | Interface et terminal | Utilisateur ou géré |
| [`diffTool`](#difftool) | Choisir si les modifications de fichiers proposées par Claude s'ouvrent dans la visionneuse de diff de [VS Code](https://code.claude.com/docs/fr/vs-code.md) ou de [JetBrains](https://code.claude.com/docs/fr/jetbrains.md#features) ou restent dans le terminal | Paramètres de configuration globale | Config globale |
| [`disableAgentView`](#disableagentview) | Désactiver les agents en arrière-plan et la [vue des agents](https://code.claude.com/docs/fr/agent-view.md) | Agents, sessions et worktrees | Tout fichier |
| [`disableAllHooks`](#disableallhooks) | Désactiver en une fois les [hooks](https://code.claude.com/docs/fr/hooks.md), une [barre de statut](https://code.claude.com/docs/fr/statusline.md) personnalisée et une commande personnalisée de [suggestion de fichiers `@`](https://code.claude.com/docs/fr/interactive-mode#quick-commands) | Hooks et automatisation | Tout fichier |
| [`disableArtifact`](#disableartifact) | Déprécié ; utilisez `enableArtifact` pour désactiver l'[outil Artifact](https://code.claude.com/docs/fr/artifacts.md) | Distant, bureau et notifications | Tout fichier |
| [`disableAutoMode`](#disableautomode) | Retirer le [mode auto](https://code.claude.com/docs/fr/permission-modes.md#eliminate-prompts-with-auto-mode) du cycle des modes de permission | Paramètres de permission | Tout fichier |
| [`disableBrowserExternalNavigation`](#disablebrowserexternalnavigation) | Limiter le volet Browser de l'[application de bureau](https://code.claude.com/docs/fr/desktop.md) à localhost, pour les utilisateurs comme pour Claude | Outils | Géré |
| [`disableBundledSkills`](#disablebundledskills) | Désactiver les [skills](https://code.claude.com/docs/fr/skills.md#bundled-skills) et les [workflows](https://code.claude.com/docs/fr/workflows.md) fournis avec Claude Code | Plugins et skills | Tout fichier |
| [`disableClaudeAiConnectors`](#disableclaudeaiconnectors) | Désactiver les [connecteurs claude.ai](https://code.claude.com/docs/fr/mcp.md#disable-claude-ai-connectors) pour que Claude Code ne les récupère pas | MCP | Tout fichier |
| [`disableCommandPluginSources`](#disablecommandpluginsources) | Bloquer les [plugins](https://code.claude.com/docs/fr/plugins/overview.md) qui s'installent en exécutant une commande déclarée par une marketplace | Plugins et skills | Géré |
| [`disableDeepLinkRegistration`](#disabledeeplinkregistration) | Empêcher Claude Code d'enregistrer le [gestionnaire `claude-cli://`](https://code.claude.com/docs/fr/deep-links) | Distant, bureau et notifications | Tout fichier |
| [`disableDesktopLocalSessions`](#disabledesktoplocalsessions) | Désactiver les [sessions Code de Desktop](https://code.claude.com/docs/fr/desktop.md#local-sessions-on-managed-devices) qui s'exécutent sur l'appareil, en conservant SSH vers d'autres hôtes et le cloud | Distant, bureau et notifications | Géré |
| [`disabledMcpjsonServers`](#disabledmcpjsonservers) | Rejeter des serveurs spécifiques du fichier [`.mcp.json`](https://code.claude.com/docs/fr/mcp#project-scope) d'un projet | MCP | Tout fichier |
| [`disableMobileSimulatorTools`](#disablemobilesimulatortools) | Bloquer les outils de Claude dans le volet iOS Simulator de l'[application de bureau](https://code.claude.com/docs/fr/desktop.md) | Outils | Géré |
| [`disableRemoteControl`](#disableremotecontrol) | Désactiver [Remote Control](https://code.claude.com/docs/fr/remote-control.md) partout où il peut démarrer | Distant, bureau et notifications | Tout fichier |
| [`disableSideloadFlags`](#disablesideloadflags) | Rejeter les flags de la CLI qui chargent latéralement des [plugins](https://code.claude.com/docs/fr/plugins/overview.md), des [sous-agents](https://code.claude.com/docs/fr/sub-agents.md) et des [serveurs MCP](https://code.claude.com/docs/fr/mcp.md) | Entreprise et paramètres gérés | Géré |
| [`disableSkillShellExecution`](#disableskillshellexecution) | Empêcher les [skills](https://code.claude.com/docs/fr/skills.md) et les commandes personnalisées d'exécuter du shell en ligne | Plugins et skills | Tout fichier |
| [`disableWorkflows`](#disableworkflows) | Désactiver les [workflows dynamiques](https://code.claude.com/docs/fr/workflows.md) pour tout le monde ; utilisez `enableWorkflows` pour vous-même | Hooks et automatisation | Tout fichier |
| [`editorMode`](#editormode) | Utiliser les [raccourcis clavier vim](https://code.claude.com/docs/fr/interactive-mode.md#vim-editor-mode) dans la zone de saisie | Interface et terminal | Tout fichier |
| [`effortLevel`](#effortlevel) | Définir un [niveau d'effort](https://code.claude.com/docs/fr/model-config.md#adjust-effort-level) par défaut pour les modèles sans niveau enregistré | Modèle et réponses | Tout fichier |
| [`emojiCompletionEnabled`](#emojicompletionenabled) | Désactiver les [suggestions et le remplacement des emojis `:shortcode:`](https://code.claude.com/docs/fr/interactive-mode#emoji-shortcodes) dans la zone de saisie | Interface et terminal | Tout fichier |
| [`enableAllProjectMcpServers`](#enableallprojectmcpservers) | Approuver sans demande tous les serveurs des fichiers [`.mcp.json`](https://code.claude.com/docs/fr/mcp#project-server-approvals-and-workspace-trust) de projet | MCP | Tout fichier |
| [`enableArtifact`](#enableartifact) | Désactiver l'[outil Artifact](https://code.claude.com/docs/fr/artifacts.md) avec `false` dans n'importe quel fichier ; aucun fichier ne peut le réactiver | Distant, bureau et notifications | Tout fichier |
| [`enabledMcpjsonServers`](#enabledmcpjsonservers) | Approuver des serveurs spécifiques du fichier [`.mcp.json`](https://code.claude.com/docs/fr/mcp#project-server-approvals-and-workspace-trust) d'un projet | MCP | Tout fichier |
| [`enabledPlugins`](#enabledplugins) | Activer ou désactiver individuellement des [plugins](https://code.claude.com/docs/fr/plugins/overview.md) par portée | Plugins et skills | Tout fichier |
| [`enableWorkflows`](#enableworkflows) | Activer ou désactiver les [workflows dynamiques](https://code.claude.com/docs/fr/workflows.md) par rapport à la valeur par défaut de votre forfait | Hooks et automatisation | Tout fichier |
| [`enforceAvailableModels`](#enforceavailablemodels) | Maintenir le [choix Default de `/model`](https://code.claude.com/docs/fr/model-config#enforce-the-allowlist-for-the-default-model) dans votre liste d'autorisation `availableModels` | Modèle et réponses | Tout fichier |
| [`env`](#env) | Définir des [variables d'environnement](https://code.claude.com/docs/fr/env-vars.md#in-settings-files) pour chaque session et ses sous-processus | Mémoire et contexte | Tout fichier |
| [`externalEditorContext`](#externaleditorcontext) | Afficher la dernière réponse de Claude sous forme de commentaires lorsque vous appuyez sur [Ctrl+G](https://code.claude.com/docs/fr/interactive-mode.md#general-controls) pour éditer | Paramètres de configuration globale | Config globale |
| [`extraKnownMarketplaces`](#extraknownmarketplaces) | Enregistrer des [marketplaces](https://code.claude.com/docs/fr/plugins/overview.md) pour un dépôt ou une organisation | Plugins et skills | Tout fichier |
| [`fallbackModel`](#fallbackmodel) | Désigner des [modèles de secours](https://code.claude.com/docs/fr/model-config.md#fallback-model-chains) lorsque le modèle principal est surchargé | Modèle et réponses | Tout fichier |
| [`fastMode`](#fastmode) | Activer le [mode rapide](https://code.claude.com/docs/fr/fast-mode.md) pour les sessions où il est disponible | Modèle et réponses | Tout fichier |
| [`fastModePerSessionOptIn`](#fastmodepersessionoptin) | Obliger les utilisateurs à activer le [mode rapide](https://code.claude.com/docs/fr/fast-mode.md) à chaque session | Modèle et réponses | Tout fichier |
| [`feedbackDrafts`](#feedbackdrafts) | Contrôler si Claude met en file d'attente des [brouillons de feedback](https://code.claude.com/docs/fr/tools-reference.md#sendfeedback-tool-behavior) que vous pouvez relire | Confidentialité et télémétrie | Utilisateur ou géré |
| [`feedbackSurveyRate`](#feedbacksurveyrate) | Modifier la fréquence d'affichage de l'[enquête sur la qualité des sessions](https://code.claude.com/docs/fr/data-usage.md#session-quality-surveys) | Confidentialité et télémétrie | Tout fichier |
| [`fileCheckpointingEnabled`](#filecheckpointingenabled) | Désactiver ou activer les instantanés de fichiers que [`/rewind`](https://code.claude.com/docs/fr/checkpointing) restaure | Mémoire et contexte | Tout fichier |
| [`fileSuggestion`](#filesuggestion) | Fournir l'[autocomplétion de fichiers `@`](https://code.claude.com/docs/fr/interactive-mode#quick-commands) depuis votre propre commande | Interface et terminal | Tout fichier |
| [`footerLinksRegexes`](#footerlinksregexes) | Transformer les identifiants de tickets ou de revues présents dans la sortie en [liens cliquables](https://code.claude.com/docs/fr/statusline.md#clickable-links) sous la zone de saisie | Interface et terminal | Utilisateur ou géré |
| [`forceLoginGatewayUrl`](#forcelogingatewayurl) | Définir l'[URL de la passerelle](https://code.claude.com/docs/fr/claude-apps-gateway#set-the-gateway-url) à laquelle l'écran de connexion se connecte | Authentification et fournisseurs | Utilisateur ou géré |
| [`forceLoginMethod`](#forceloginmethod) | [Restreindre la connexion](https://code.claude.com/docs/fr/authentication.md#restrict-login-to-your-organization) à claude.ai, à la Claude Console ou à une [passerelle cloud](https://code.claude.com/docs/fr/claude-apps-gateway) | Authentification et fournisseurs | Tout fichier |
| [`forceLoginOrgUUID`](#forceloginorguuid) | [Limiter les connexions claude.ai à votre organisation](https://code.claude.com/docs/fr/authentication.md#restrict-login-to-your-organization) ; seule une source gérée l'impose | Authentification et fournisseurs | Tout fichier |
| [`forceRemoteSettingsRefresh`](#forceremotesettingsrefresh) | Bloquer le démarrage jusqu'à ce que les [paramètres gérés par le serveur](https://code.claude.com/docs/fr/server-managed-settings.md) aient été récupérés à nouveau | Entreprise et paramètres gérés | Géré |
| [`gatewayInternalNetworks`](#gatewayinternalnetworks) | Permettre à `/login` d'atteindre une [passerelle cloud](https://code.claude.com/docs/fr/claude-apps-gateway#allow-a-gateway-on-public-address-space-you-own) sur un espace IPv4 public que votre organisation utilise en interne | Authentification et fournisseurs | Géré |
| [`gcpAuthRefresh`](#gcpauthrefresh) | Actualiser les [identifiants Google Cloud](https://code.claude.com/docs/fr/google-vertex-ai.md#advanced-credential-configuration) avec votre propre commande | Authentification et fournisseurs | Tout fichier |
| [`hooks`](#hooks) | Exécuter vos propres commandes en tant que [hooks](https://code.claude.com/docs/fr/hooks.md) à différents moments du cycle de vie de Claude Code | Hooks et automatisation | Tout fichier |
| [`httpHookAllowedEnvVars`](#httphookallowedenvvars) | Limiter les variables d'environnement que les [hooks HTTP](https://code.claude.com/docs/fr/hooks.md) peuvent placer dans les en-têtes | Hooks et automatisation | Tout fichier |
| [`idleCompaction`](#idlecompaction) | Empêcher Claude Code de compacter une longue conversation pendant que votre session de terminal est inactive | Mémoire et contexte | Tout fichier |
| [`includeCoAuthoredBy`](#includecoauthoredby) | Déprécié ; utilisez `attribution` pour masquer ou modifier l'attribution des commits et des PR | Git et attribution | Tout fichier |
| [`includeGitInstructions`](#includegitinstructions) | Retirer du contexte de Claude les instructions intégrées sur les commits et les PR | Git et attribution | Tout fichier |
| [`inputNeededNotifEnabled`](#inputneedednotifenabled) | Recevoir une [notification push](https://code.claude.com/docs/fr/remote-control.md#mobile-push-notifications) lorsque Claude attend votre intervention | Distant, bureau et notifications | Tout fichier |
| [`isolatePeerMachines`](#isolatepeermachines) | Vous demander votre accord avant que Claude n'[envoie un message à l'une de vos sessions sur une autre machine](https://code.claude.com/docs/fr/cross-session-messaging.md#require-approval-for-cross-machine-messages) | Agents, sessions et worktrees | Tout fichier |
| [`keybindingFlavor`](#keybindingflavor) | Déprécié et sans effet ; les raccourcis d'édition de mots [suivent toujours les conventions readline](https://code.claude.com/docs/fr/interactive-mode.md#make-ctrl-w-delete-back-to-whitespace) | Interface et terminal | Tout fichier |
| [`language`](#language) | Faire répondre Claude dans une langue autre que l'anglais | Modèle et réponses | Tout fichier |
| [`leftArrowOpensAgents`](#leftarrowopensagents) | Désactiver le raccourci `←` qui [place la session en arrière-plan et ouvre la vue des agents](https://code.claude.com/docs/fr/agent-view.md#switch-sessions-without-leaving-the-terminal) | Paramètres de configuration globale | Config globale |
| [`managedMcpServers`](#managedmcpservers) | Fournir des [serveurs MCP](https://code.claude.com/docs/fr/managed-mcp.md#provide-servers-through-managed-settings) distants à tous les utilisateurs, en plus de ceux qu'ils ajoutent | MCP | Géré |
| [`managedSourcesBehavior`](#managedsourcesbehavior) | Combiner toutes les [sources gérées](https://code.claude.com/docs/fr/managed-settings.md#how-claude-code-combines-managed-sources) que vous déployez au lieu d'utiliser uniquement celle de plus haute priorité | Entreprise et paramètres gérés | Géré |
| [`maxEffortLevel`](#maxeffortlevel) | Plafonner le [niveau d'effort](https://code.claude.com/docs/fr/model-config.md#adjust-effort-level) pour tous les modèles ou par modèle, chez tous les fournisseurs | Modèle et réponses | Tout fichier |
| [`maxProseWidth`](#maxprosewidth) | Plafonner la largeur du texte des réponses de Claude dans un terminal large | Interface et terminal | Tout fichier |
| [`minimumVersion`](#minimumversion) | Empêcher les [mises à jour automatiques](https://code.claude.com/docs/fr/setup.md#pin-a-minimum-version) d'installer une version inférieure à une version donnée | Mises à jour et versions | Tout fichier |
| [`model`](#model) | Modifier le [modèle](https://code.claude.com/docs/fr/model-config.md#set-a-default-model-for-new-sessions) avec lequel Claude Code démarre | Modèle et réponses | Tout fichier |
| [`modelOverrides`](#modeloverrides) | [Faire correspondre les identifiants de modèles](https://code.claude.com/docs/fr/model-config.md#override-model-ids-per-version) à ceux de votre fournisseur, comme les ARN Bedrock | Modèle et réponses | Tout fichier |
| [`modelPicker`](#modelpicker) | Choisir les modèles listés par le [sélecteur `/model`](https://code.claude.com/docs/fr/model-config#available-models), dans votre propre ordre et avec vos propres libellés | Modèle et réponses | Utilisateur ou géré |
| [`modelPricing`](#modelpricing) | Calculer les dépenses aux tarifs contractuels de votre organisation plutôt qu'au prix catalogue | Modèle et réponses | Géré |
| [`modelSettings`](#modelsettings) | Conserver un [niveau d'effort](https://code.claude.com/docs/fr/model-config.md#adjust-effort-level) ou une [fenêtre de compaction automatique](https://code.claude.com/docs/fr/model-config.md#set-the-auto-compact-window) enregistrés par modèle, ou plafonner l'effort d'un modèle | Modèle et réponses | Tout fichier |
| [`otelHeadersHelper`](#otelheadershelper) | Générer des en-têtes [OpenTelemetry](https://code.claude.com/docs/fr/monitoring-usage.md#dynamic-headers) tournants avec votre propre commande | Authentification et fournisseurs | Tout fichier |
| [`outputStyle`](#outputstyle) | Modifier le rôle, le ton et le format de sortie de Claude avec un [style de sortie](https://code.claude.com/docs/fr/output-styles.md) | Modèle et réponses | Tout fichier |
| [`parentSettingsBehavior`](#parentsettingsbehavior) | Appliquer ou ignorer les restrictions transmises par un [hôte SDK ou IDE](https://code.claude.com/docs/fr/managed-settings.md#let-an-embedding-host-add-policy) lorsque vous déployez des [paramètres gérés](https://code.claude.com/docs/fr/managed-settings.md) | Entreprise et paramètres gérés | Géré |
| [`permissionExplainerEnabled`](#permissionexplainerenabled) | Supprimé dans la v2.1.257, avec l'explication de commande `Ctrl+E` des demandes de permission shell | Paramètres de configuration globale | Config globale |
| [`permissions`](#permissions) | Définir les règles d'autorisation, de demande et de refus ainsi que le [mode de permission](https://code.claude.com/docs/fr/permission-modes.md) de départ | Paramètres de permission | Tout fichier |
| [`permissions.additionalDirectories`](#permissions-additionaldirectories) | Donner à Claude accès aux fichiers de [répertoires situés en dehors du répertoire actuel](https://code.claude.com/docs/fr/permissions.md#working-directories) | Paramètres de permission | Tout fichier |
| [`permissions.allow`](#permissions-allow) | Approuver sans demande les [utilisations d'outils](https://code.claude.com/docs/fr/permissions.md#permission-rule-syntax) listées | Paramètres de permission | Tout fichier |
| [`permissions.ask`](#permissions-ask) | Toujours demander avant les [utilisations d'outils](https://code.claude.com/docs/fr/permissions.md#permission-rule-syntax) listées | Paramètres de permission | Tout fichier |
| [`permissions.blockReadsOutsideWorkingDirectories`](#permissions-blockreadsoutsideworkingdirectories) | Faire refuser par les outils de fichiers les lectures en dehors des [répertoires de travail](https://code.claude.com/docs/fr/permissions.md#working-directories), dans tous les modes de permission | Paramètres de permission | Tout fichier |
| [`permissions.defaultMode`](#permissions-defaultmode) | Définir le [mode de permission](https://code.claude.com/docs/fr/permission-modes.md#which-mode-a-session-starts-in) dans lequel démarrent les nouvelles sessions | Paramètres de permission | Tout fichier |
| [`permissions.deny`](#permissions-deny) | Bloquer les [utilisations d'outils](https://code.claude.com/docs/fr/permissions.md#permission-rule-syntax) listées, y compris la lecture de fichiers contenant des secrets | Paramètres de permission | Tout fichier |
| [`permissions.disableBypassPermissionsMode`](#permissions-disablebypasspermissionsmode) | Empêcher quiconque d'entrer en [mode bypassPermissions](https://code.claude.com/docs/fr/permission-modes.md#skip-all-checks-with-bypasspermissions-mode) | Paramètres de permission | Tout fichier |
| [`plansDirectory`](#plansdirectory) | Choisir où le [mode plan](https://code.claude.com/docs/fr/permission-modes.md#analyze-before-you-edit-with-plan-mode) écrit les fichiers de plan | Mémoire et contexte | Tout fichier |
| [`pluginConfigs`](#pluginconfigs) | Conserver les réponses que vous avez données dans la boîte de dialogue de configuration d'un [plugin](https://code.claude.com/docs/fr/plugins/overview.md) | Plugins et skills | Utilisateur ou géré |
| [`pluginSuggestionMarketplaces`](#pluginsuggestionmarketplaces) | Choisir quelles [marketplaces](https://code.claude.com/docs/fr/plugins/org.md#restrict-what-users-can-install) peuvent proposer des suggestions d'installation de plugins dans `/plugin` | Plugins et skills | Géré |
| [`pluginTrustMessage`](#plugintrustmessage) | Ajouter votre propre texte à l'avertissement de confiance des [plugins](https://code.claude.com/docs/fr/plugins/overview.md) | Plugins et skills | Géré |
| [`policyHelper`](#policyhelper) | Exécuter un exécutable qui calcule les [paramètres gérés](https://code.claude.com/docs/fr/managed-settings.md#compute-the-policy-with-a-helper-program) au démarrage | Entreprise et paramètres gérés | Géré |
| [`policyHelper.path`](#policyhelper-path) | Désigner l'[exécutable helper](https://code.claude.com/docs/fr/managed-settings.md#compute-the-policy-with-a-helper-program) que Claude Code exécute | Entreprise et paramètres gérés | Géré |
| [`policyHelper.refreshIntervalMs`](#policyhelper-refreshintervalms) | Réexécuter le [helper](https://code.claude.com/docs/fr/managed-settings.md#compute-the-policy-with-a-helper-program) en arrière-plan à intervalle régulier | Entreprise et paramètres gérés | Géré |
| [`policyHelper.timeoutMs`](#policyhelper-timeoutms) | Définir combien de temps Claude Code attend le [helper](https://code.claude.com/docs/fr/managed-settings.md#compute-the-policy-with-a-helper-program) | Entreprise et paramètres gérés | Géré |
| [`preferredNotifChannel`](#preferrednotifchannel) | Choisir une [sonnerie du terminal ou une notification de bureau](https://code.claude.com/docs/fr/terminal-config.md#get-a-terminal-bell-or-notification) à la fin d'une tâche | Distant, bureau et notifications | Tout fichier |
| [`prefersReducedMotion`](#prefersreducedmotion) | [Réduire ou désactiver](https://code.claude.com/docs/fr/accessibility.md#accessibility-settings) les animations de spinner, de scintillement et de clignotement | Interface et terminal | Tout fichier |
| [`prependPlugins`](#prependplugins) | Exécuter les [mods](https://code.claude.com/docs/fr/plugins/mods/admin.md) de votre organisation avant chaque mod installé par un utilisateur | Plugins et skills | Utilisateur ou géré |
| [`processWrapper`](#processwrapper) | Exécuter les processus en arrière-plan de Claude Code via un [lanceur d'entreprise](https://code.claude.com/docs/fr/corporate-launcher.md) sur macOS et Linux | Agents, sessions et worktrees | Utilisateur ou géré |
| [`promptCacheTtl`](#promptcachettl) | Choisir la [durée de vie du cache de prompts](https://code.claude.com/docs/fr/prompt-caching.md#cache-lifetime) pour la conversation principale | Modèle et réponses | Tout fichier |
| [`promptSuggestionEnabled`](#promptsuggestionenabled) | Masquer les [suggestions de prompts](https://code.claude.com/docs/fr/interactive-mode.md#prompt-suggestions) grisées dans la zone de saisie | Interface et terminal | Tout fichier |
| [`prStatusFooterEnabled`](#prstatusfooterenabled) | Désactiver le badge de [statut de revue de PR](https://code.claude.com/docs/fr/interactive-mode.md#pr-review-status) dans le pied de la zone de saisie et la vérification de pull request associée | Paramètres de configuration globale | Config globale |
| [`prUrlTemplate`](#prurltemplate) | Faire pointer les liens de PR vers un outil interne de revue de code plutôt que vers github.com | Git et attribution | Tout fichier |
| [`remote.defaultEnvironmentId`](#remote-defaultenvironmentid) | Choisir l'[environnement cloud](https://code.claude.com/docs/fr/cloud-environments.md) par défaut pour `claude --cloud` ; un identifiant auto-hébergé `ccpool_` n'est lu que depuis les paramètres utilisateur et gérés et `--settings` | Distant, bureau et notifications | Tout fichier |
| [`remoteControlAtStartup`](#remotecontrolatstartup) | Connecter automatiquement [Remote Control](https://code.claude.com/docs/fr/remote-control.md#enable-remote-control-for-all-sessions) au démarrage d'une session | Distant, bureau et notifications | Tout fichier |
| [`requiredMaximumVersion`](#requiredmaximumversion) | [Refuser de démarrer](https://code.claude.com/docs/fr/setup.md#pin-a-minimum-version) sur une version plus récente que celle autorisée par votre organisation | Mises à jour et versions | Géré |
| [`requiredMinimumVersion`](#requiredminimumversion) | [Refuser de démarrer](https://code.claude.com/docs/fr/setup.md#pin-a-minimum-version) sur une version plus ancienne que celle exigée par votre organisation | Mises à jour et versions | Géré |
| [`respectGitignore`](#respectgitignore) | Exclure les fichiers ignorés par git du [sélecteur de fichiers `@`](https://code.claude.com/docs/fr/interactive-mode#quick-commands) | Interface et terminal | Tout fichier |
| [`respondToBashCommands`](#respondtobashcommands) | Empêcher Claude de répondre après l'exécution d'une [commande shell `!`](https://code.claude.com/docs/fr/interactive-mode#shell-mode-with-prefix) | Interface et terminal | Tout fichier |
| [`sandbox`](#sandbox) | [Isoler les commandes Bash](https://code.claude.com/docs/fr/sandboxing.md) de votre système de fichiers et de votre réseau sur macOS, Linux et WSL2 | Paramètres du sandbox | Tout fichier |
| [`sandbox.allowAppleEvents`](#sandbox-allowappleevents) | Permettre aux commandes [en sandbox](https://code.claude.com/docs/fr/sandboxing.md) d'envoyer des Apple Events sur macOS | Paramètres du sandbox | Utilisateur ou géré |
| [`sandbox.allowNestedUserNamespaces`](#sandbox-allownestedusernamespaces) | Permettre aux commandes [en sandbox](https://code.claude.com/docs/fr/sandboxing.md#chromium-or-rootless-podman-fails-inside-the-sandbox-on-linux) de créer des espaces de noms utilisateur sur Linux et WSL2 | Paramètres du sandbox | Utilisateur ou géré |
| [`sandbox.allowUnsandboxedCommands`](#sandbox-allowunsandboxedcommands) | Permettre à Claude de réessayer une commande bloquée en dehors du [sandbox](https://code.claude.com/docs/fr/sandboxing.md#the-unsandboxed-retry-escape-hatch), ou l'interdire | Paramètres du sandbox | Tout fichier |
| [`sandbox.autoAllowBashIfSandboxed`](#sandbox-autoallowbashifsandboxed) | Exécuter les commandes [en sandbox](https://code.claude.com/docs/fr/sandboxing.md#auto-allow-mode) sans demande de permission | Paramètres du sandbox | Tout fichier |
| [`sandbox.bwrapPath`](#sandbox-bwrappath) | Indiquer au [sandbox](https://code.claude.com/docs/fr/sandboxing.md) un binaire bubblewrap situé en dehors de `PATH` | Paramètres du sandbox | Géré |
| [`sandbox.credentials`](#sandbox-credentials) | Masquer ou occulter les fichiers et variables d'identifiants dans le [sandbox](https://code.claude.com/docs/fr/sandboxing.md#protect-credentials) | Paramètres du sandbox | Tout fichier |
| [`sandbox.credentials.allowPlaintextInject`](#sandbox-credentials-allowplaintextinject) | Permettre aux [identifiants masqués](https://code.claude.com/docs/fr/sandboxing.md#mask-credentials) d'atteindre des services HTTP en clair sur des réseaux de test de confiance | Paramètres du sandbox | Utilisateur ou géré |
| [`sandbox.credentials.awsPairs`](#sandbox-credentials-awspairs) | Associer des variables de clés AWS aux noms personnalisés en un seul identifiant pour la [re-signature](https://code.claude.com/docs/fr/sandboxing.md#re-sign-aws-requests) | Paramètres du sandbox | Utilisateur ou géré |
| [`sandbox.credentials.envVars`](#sandbox-credentials-envvars) | Supprimer ou masquer une variable d'environnement dans le [sandbox](https://code.claude.com/docs/fr/sandboxing.md#mask-environment-variables) | Paramètres du sandbox | Tout fichier |
| [`sandbox.credentials.files`](#sandbox-credentials-files) | Bloquer ou masquer la lecture d'un fichier d'identifiants dans le [sandbox](https://code.claude.com/docs/fr/sandboxing.md#mask-credential-files) | Paramètres du sandbox | Tout fichier |
| [`sandbox.credentials.sigv4`](#sandbox-credentials-sigv4) | Choisir si les [requêtes AWS](https://code.claude.com/docs/fr/sandboxing.md#re-sign-aws-requests) en streaming, pré-signées ou SigV4A échouent ou passent sans modification | Paramètres du sandbox | Utilisateur ou géré |
| [`sandbox.enabled`](#sandbox-enabled) | Activer le [sandboxing de Bash](https://code.claude.com/docs/fr/sandboxing.md#get-started) sur macOS, Linux et WSL2 | Paramètres du sandbox | Tout fichier |
| [`sandbox.enableWeakerNestedSandbox`](#sandbox-enableweakernestedsandbox) | Exécuter le [sandbox](https://code.claude.com/docs/fr/sandboxing.md) Linux à l'intérieur d'un conteneur non privilégié | Paramètres du sandbox | Tout fichier |
| [`sandbox.enableWeakerNetworkIsolation`](#sandbox-enableweakernetworkisolation) | Permettre à `gh`, `gcloud` et `terraform` de vérifier TLS derrière un proxy MITM dans le [sandbox](https://code.claude.com/docs/fr/sandboxing.md#go-based-clis-fail-tls-verification-on-macos) sur macOS | Paramètres du sandbox | Tout fichier |
| [`sandbox.excludedCommands`](#sandbox-excludedcommands) | Désigner les commandes que Claude Code peut exécuter en dehors du [sandbox](https://code.claude.com/docs/fr/sandboxing.md) | Paramètres du sandbox | Tout fichier |
| [`sandbox.failIfUnavailable`](#sandbox-failifunavailable) | Refuser de démarrer lorsque le [sandbox](https://code.claude.com/docs/fr/sandboxing.md) ne peut pas démarrer, au lieu de s'exécuter sans sandbox | Paramètres du sandbox | Tout fichier |
| [`sandbox.filesystem`](#sandbox-filesystem) | Contrôler les chemins que les commandes [en sandbox](https://code.claude.com/docs/fr/sandboxing.md#filesystem-isolation) peuvent lire et écrire | Paramètres du sandbox | Tout fichier |
| [`sandbox.filesystem.allowManagedReadPathsOnly`](#sandbox-filesystem-allowmanagedreadpathsonly) | Empêcher les développeurs de rouvrir des [chemins de lecture bloqués par votre organisation](https://code.claude.com/docs/fr/sandboxing.md#keep-developers-from-widening-the-policy) | Paramètres du sandbox | Géré |
| [`sandbox.filesystem.allowRead`](#sandbox-filesystem-allowread) | Rouvrir la lecture à l'intérieur d'une zone bloquée par [`denyRead`](#sandbox-filesystem-denyread) | Paramètres du sandbox | Tout fichier |
| [`sandbox.filesystem.allowWrite`](#sandbox-filesystem-allowwrite) | Ajouter des chemins dans lesquels les commandes [en sandbox](https://code.claude.com/docs/fr/sandboxing.md) peuvent écrire | Paramètres du sandbox | Tout fichier |
| [`sandbox.filesystem.denyRead`](#sandbox-filesystem-denyread) | Empêcher les commandes [en sandbox](https://code.claude.com/docs/fr/sandboxing.md) de lire des chemins spécifiques | Paramètres du sandbox | Tout fichier |
| [`sandbox.filesystem.denyWrite`](#sandbox-filesystem-denywrite) | Empêcher les commandes [en sandbox](https://code.claude.com/docs/fr/sandboxing.md) d'écrire dans des chemins spécifiques | Paramètres du sandbox | Tout fichier |
| [`sandbox.filesystem.disabled`](#sandbox-filesystem-disabled) | [Désactiver l'isolation du système de fichiers](https://code.claude.com/docs/fr/sandboxing.md#disable-filesystem-isolation) tout en conservant l'isolation réseau | Paramètres du sandbox | Utilisateur ou géré |
| [`sandbox.ignoreViolations`](#sandbox-ignoreviolations) | Ne plus signaler les violations pour les chemins qu'une commande est censée sonder | Paramètres du sandbox | Tout fichier |
| [`sandbox.network`](#sandbox-network) | Contrôler les hôtes, ports et sockets que les commandes [en sandbox](https://code.claude.com/docs/fr/sandboxing.md#network-isolation) peuvent atteindre | Paramètres du sandbox | Tout fichier |
| [`sandbox.network.allowAllUnixSockets`](#sandbox-network-allowallunixsockets) | Permettre aux commandes [en sandbox](https://code.claude.com/docs/fr/sandboxing.md) de se connecter à tous les sockets Unix | Paramètres du sandbox | Tout fichier |
| [`sandbox.network.allowedDomains`](#sandbox-network-alloweddomains) | Pré-autoriser des domaines pour que les commandes [en sandbox](https://code.claude.com/docs/fr/sandboxing.md) ne déclenchent pas de demande à leur sujet | Paramètres du sandbox | Tout fichier |
| [`sandbox.network.allowLocalBinding`](#sandbox-network-allowlocalbinding) | Permettre aux commandes [en sandbox](https://code.claude.com/docs/fr/sandboxing.md) d'écouter sur des ports réseau et de se connecter à localhost sur macOS | Paramètres du sandbox | Tout fichier |
| [`sandbox.network.allowMachLookup`](#sandbox-network-allowmachlookup) | Permettre aux outils macOS [en sandbox](https://code.claude.com/docs/fr/sandboxing.md), comme iOS Simulator ou Playwright, d'atteindre leurs services XPC | Paramètres du sandbox | Tout fichier |
| [`sandbox.network.allowManagedDomainsOnly`](#sandbox-network-allowmanageddomainsonly) | Verrouiller la liste d'autorisation réseau sur les [paramètres gérés](https://code.claude.com/docs/fr/sandboxing.md#keep-developers-from-widening-the-policy) | Paramètres du sandbox | Géré |
| [`sandbox.network.allowUnixSockets`](#sandbox-network-allowunixsockets) | Lister les chemins de sockets Unix que les commandes [en sandbox](https://code.claude.com/docs/fr/sandboxing.md) peuvent utiliser sur macOS | Paramètres du sandbox | Tout fichier |
| [`sandbox.network.deniedDomains`](#sandbox-network-denieddomains) | Bloquer des domaines pour les commandes [en sandbox](https://code.claude.com/docs/fr/sandboxing.md), même à l'intérieur d'un caractère générique autorisé | Paramètres du sandbox | Tout fichier |
| [`sandbox.network.httpProxyPort`](#sandbox-network-httpproxyport) | Faire passer le trafic HTTP du [sandbox](https://code.claude.com/docs/fr/sandboxing.md#custom-proxy-configuration) par votre propre proxy | Paramètres du sandbox | Tout fichier |
| [`sandbox.network.socksProxyPort`](#sandbox-network-socksproxyport) | Faire passer le trafic SOCKS du [sandbox](https://code.claude.com/docs/fr/sandboxing.md#custom-proxy-configuration) par votre propre proxy | Paramètres du sandbox | Tout fichier |
| [`sandbox.network.strictAllowlist`](#sandbox-network-strictallowlist) | Refuser les hôtes absents de la [liste d'autorisation](https://code.claude.com/docs/fr/sandboxing.md#network-isolation) au lieu de demander | Paramètres du sandbox | Utilisateur ou géré |
| [`sandbox.network.tlsTerminate`](#sandbox-network-tlsterminate) | Faire terminer TLS par le proxy du [sandbox](https://code.claude.com/docs/fr/sandboxing.md#network-isolation) afin qu'il puisse lire les requêtes HTTPS | Paramètres du sandbox | Utilisateur ou géré |
| [`sandbox.ripgrep`](#sandbox-ripgrep) | Utiliser votre propre binaire ripgrep dans le [sandbox](https://code.claude.com/docs/fr/sandboxing.md) | Paramètres du sandbox | Utilisateur ou géré |
| [`sandbox.socatPath`](#sandbox-socatpath) | Indiquer au proxy du [sandbox](https://code.claude.com/docs/fr/sandboxing.md) un binaire `socat` situé en dehors de `PATH` | Paramètres du sandbox | Géré |
| [`showClearContextOnPlanAccept`](#showclearcontextonplanaccept) | Afficher une option « clear context » sur l'[écran d'acceptation du plan](https://code.claude.com/docs/fr/permission-modes.md#review-and-approve-a-plan) | Interface et terminal | Tout fichier |
| [`showThinkingSummaries`](#showthinkingsummaries) | Afficher des résumés de la [réflexion](https://code.claude.com/docs/fr/model-config.md#extended-thinking) de Claude au lieu d'un aperçu réduit | Modèle et réponses | Tout fichier |
| [`showTurnDuration`](#showturnduration) | Masquer la durée « Cooked for » affichée après chaque réponse | Interface et terminal | Tout fichier |
| [`skillListingBudgetFraction`](#skilllistingbudgetfraction) | Réserver plus ou moins de contexte pour la [liste des skills](https://code.claude.com/docs/fr/skills.md#skill-descriptions-are-cut-short) | Mémoire et contexte | Tout fichier |
| [`skillListingMaxDescChars`](#skilllistingmaxdescchars) | Plafonner la longueur de la description de chaque skill dans la [liste des skills](https://code.claude.com/docs/fr/skills.md#skill-descriptions-are-cut-short) | Mémoire et contexte | Tout fichier |
| [`skillOverrides`](#skilloverrides) | [Masquer ou réduire un skill](https://code.claude.com/docs/fr/skills.md#override-skill-visibility-from-settings) sans modifier son SKILL.md | Plugins et skills | Tout fichier |
| [`skipAutoPermissionPrompt`](#skipautopermissionprompt) | Ignorer l'avis unique que Claude Code affiche lorsque vous entrez pour la première fois en [mode auto](https://code.claude.com/docs/fr/permission-modes.md#eliminate-prompts-with-auto-mode) par vous-même plutôt que via la valeur par défaut intégrée | Paramètres de permission | Utilisateur ou géré |
| [`skipDangerousModePermissionPrompt`](#skipdangerousmodepermissionprompt) | Ignorer la boîte de dialogue de confirmation avant le [mode bypassPermissions](https://code.claude.com/docs/fr/permission-modes.md#skip-all-checks-with-bypasspermissions-mode) | Paramètres de permission | Utilisateur, local ou géré |
| [`skipWebFetchPreflight`](#skipwebfetchpreflight) | Ignorer la [vérification du nom d'hôte par WebFetch](https://code.claude.com/docs/fr/tools-reference.md#webfetch-tool-behavior) lorsqu'Anthropic est injoignable | Confidentialité et télémétrie | Tout fichier |
| [`spellcheck`](#spellcheck) | Souligner les mots mal orthographiés dans la zone de saisie avec un [correcteur orthographique](https://code.claude.com/docs/fr/interactive-mode.md#check-spelling-as-you-type) que vous installez | Interface et terminal | Utilisateur ou géré |
| [`spinnerTipsEnabled`](#spinnertipsenabled) | Masquer les astuces du spinner pendant que Claude travaille | Interface et terminal | Tout fichier |
| [`spinnerTipsOverride`](#spinnertipsoverride) | Ajouter vos propres astuces à la rotation du spinner, ou remplacer les astuces intégrées | Interface et terminal | Tout fichier |
| [`spinnerVerbs`](#spinnerverbs) | Ajouter ou remplacer les verbes affichés pendant un tour | Interface et terminal | Tout fichier |
| [`sshConfigs`](#sshconfigs) | Ajouter des [connexions SSH](https://code.claude.com/docs/fr/desktop.md#pre-configure-ssh-connections-for-your-team) au sélecteur d'environnement de Desktop | Distant, bureau et notifications | Utilisateur ou géré |
| [`sshHostAllowlist`](#sshhostallowlist) | Limiter les hôtes que les [sessions SSH de Desktop](https://code.claude.com/docs/fr/desktop.md#restrict-which-ssh-hosts-users-can-connect-to) peuvent atteindre | Distant, bureau et notifications | Géré |
| [`sshHostCommands`](#sshhostcommands) | Ajouter au sélecteur d'environnement de Desktop des [connexions SSH dont l'hôte provient d'une commande](https://code.claude.com/docs/fr/desktop.md#create-an-ssh-connection-from-a-command) | Distant, bureau et notifications | Utilisateur ou géré |
| [`statusLine`](#statusline) | Exécuter votre propre commande pour afficher une [barre de statut](https://code.claude.com/docs/fr/statusline.md) sous la zone de saisie | Interface et terminal | Tout fichier |
| [`strictKnownMarketplaces`](#strictknownmarketplaces) | Définir la liste d'autorisation des sources de [marketplaces](https://code.claude.com/docs/fr/plugins/overview.md) que les utilisateurs peuvent ajouter et depuis lesquelles ils peuvent installer | Plugins et skills | Géré |
| [`strictPluginOnlyCustomization`](#strictpluginonlycustomization) | Bloquer les [skills](https://code.claude.com/docs/fr/skills.md), [agents](https://code.claude.com/docs/fr/sub-agents.md), [hooks](https://code.claude.com/docs/fr/hooks.md) et [serveurs MCP](https://code.claude.com/docs/fr/mcp.md) provenant des sources utilisateur et projet | Plugins et skills | Géré |
| [`strictPluginOnlyCustomization.agents`](#strictpluginonlycustomization-agents) | Restreindre les [agents](https://code.claude.com/docs/fr/sub-agents.md) aux sources de plugins et gérées | Plugins et skills | Géré |
| [`strictPluginOnlyCustomization.hooks`](#strictpluginonlycustomization-hooks) | Restreindre les [hooks](https://code.claude.com/docs/fr/hooks.md) aux sources de plugins et gérées | Plugins et skills | Géré |
| [`strictPluginOnlyCustomization.mcp`](#strictpluginonlycustomization-mcp) | Restreindre les [serveurs MCP](https://code.claude.com/docs/fr/mcp.md) aux sources de plugins et gérées | Plugins et skills | Géré |
| [`strictPluginOnlyCustomization.skills`](#strictpluginonlycustomization-skills) | Restreindre les [skills](https://code.claude.com/docs/fr/skills.md) aux sources de plugins et gérées | Plugins et skills | Géré |
| [`subagentPromptCacheTtl`](#subagentpromptcachettl) | Choisir la [durée de vie du cache de prompts](https://code.claude.com/docs/fr/prompt-caching.md#cache-lifetime) pour les sous-agents et les autres requêtes hors de la conversation principale | Modèle et réponses | Tout fichier |
| [`subagentStatusLine`](#subagentstatusline) | Réécrire les lignes de l'affichage des tâches des [sous-agents](https://code.claude.com/docs/fr/sub-agents.md) avec votre propre commande | Interface et terminal | Tout fichier |
| [`switchModelsOnFlag`](#switchmodelsonflag) | Changer de modèle automatiquement ou faire une pause lorsqu'un [classifieur de sécurité](https://code.claude.com/docs/fr/model-config.md#ask-before-switching) signale une requête | Modèle et réponses | Tout fichier |
| [`syncClaudeAiPlugins`](#syncclaudeaiplugins) | Ne plus charger les [plugins activés sur votre compte claude.ai](https://code.claude.com/docs/fr/plugins/loading.md#synced-plugins) et ne plus en télécharger de nouveaux | Plugins et skills | Utilisateur, local ou géré |
| [`syncClaudeAiSkills`](#syncclaudeaiskills) | Ne plus charger les [skills activés sur votre compte claude.ai](https://code.claude.com/docs/fr/skills.md#how-synced-skills-behave) et ne plus en télécharger de nouveaux | Plugins et skills | Utilisateur, local ou géré |
| [`syntaxHighlightingDisabled`](#syntaxhighlightingdisabled) | Désactiver la coloration syntaxique dans les diffs et les blocs de code | Interface et terminal | Tout fichier |
| [`taskOutputMaxChars`](#taskoutputmaxchars) | Supprimé dans la v2.1.277, avec l'outil `TaskOutput` dont il définissait la taille | Mémoire et contexte | Tout fichier |
| [`teammateDefaultModel`](#teammatedefaultmodel) | Supprimé dans la v2.1.234 ; consultez [Spécifier les coéquipiers et les modèles](https://code.claude.com/docs/fr/agent-teams.md#specify-teammates-and-models) pour savoir comment Claude Code choisit le modèle d'un coéquipier | Paramètres de configuration globale | Config globale |
| [`teammateMode`](#teammatemode) | Choisir le [mode d'affichage des coéquipiers d'une équipe d'agents](https://code.claude.com/docs/fr/agent-teams.md#choose-a-display-mode) | Agents, sessions et worktrees | Tout fichier |
| [`terminalProgressBarEnabled`](#terminalprogressbarenabled) | Masquer la barre de progression du terminal dans les terminaux qui la prennent en charge | Interface et terminal | Tout fichier |
| [`terminalTitleFromRename`](#terminaltitlefromrename) | Empêcher [`/rename`](https://code.claude.com/docs/fr/sessions#name-your-sessions) et `--name` de modifier le titre de l'onglet du terminal | Interface et terminal | Tout fichier |
| [`theme`](#theme) | Choisir le [thème de couleurs](https://code.claude.com/docs/fr/terminal-config.md#match-the-color-theme) de l'interface, intégré ou personnalisé | Interface et terminal | Tout fichier |
| [`timeFormat`](#timeformat) | Afficher les heures de l'interface au format 12 heures ou 24 heures, en UTC ou avec un modèle strftime | Interface et terminal | Tout fichier |
| [`timeZone`](#timezone) | Afficher les heures de l'interface dans un fuseau horaire différent de celui de votre système | Interface et terminal | Tout fichier |
| [`tui`](#tui) | Choisir le moteur de rendu [plein écran](https://code.claude.com/docs/fr/fullscreen.md) ou classique du terminal | Interface et terminal | Tout fichier |
| [`ultracode`](#ultracode) | Faire planifier par Claude un [workflow](https://code.claude.com/docs/fr/workflows.md#let-claude-decide-with-ultracode) pour chaque tâche substantielle sans qu'on le lui demande | Modèle et réponses | Tout fichier |
| [`useAutoModeDuringPlan`](#useautomodeduringplan) | Permettre au classifieur du [mode auto](https://code.claude.com/docs/fr/permission-modes.md#eliminate-prompts-with-auto-mode) d'examiner les commandes shell en [mode plan](https://code.claude.com/docs/fr/permission-modes.md#analyze-before-you-edit-with-plan-mode) ; définissez `false` pour recevoir des demandes à la place | Paramètres de permission | Utilisateur, local ou géré |
| [`verbose`](#verbose) | Afficher la [sortie complète des outils](https://code.claude.com/docs/fr/cli-reference.md#cli-flags) au lieu de résumés tronqués ; `viewMode` a priorité lorsque les deux sont définis | Interface et terminal | Tout fichier |
| [`viewMode`](#viewmode) | Démarrer chaque session en [vue par défaut, détaillée ou focus](https://code.claude.com/docs/fr/cli-reference.md#cli-flags) | Interface et terminal | Tout fichier |
| [`vimInsertModeRemaps`](#viminsertmoderemaps) | Associer une [séquence de deux touches en mode INSERT](https://code.claude.com/docs/fr/interactive-mode.md#remap-insert-mode-key-sequences), comme `jj`, à Échap | Interface et terminal | Utilisateur ou géré |
| [`voice`](#voice) | Activer la [dictée vocale](https://code.claude.com/docs/fr/voice-dictation.md) et choisir le mode maintien ou appui | Interface et terminal | Tout fichier |
| [`voiceEnabled`](#voiceenabled) | Activer la [dictée vocale](https://code.claude.com/docs/fr/voice-dictation.md) avec l'ancienne forme à clé unique | Interface et terminal | Tout fichier |
| [`wheelScrollAccelerationEnabled`](#wheelscrollaccelerationenabled) | Désactiver l'[accélération de la molette de la souris](https://code.claude.com/docs/fr/fullscreen.md#mouse-wheel-scrolling) en rendu plein écran | Interface et terminal | Tout fichier |
| [`workflowKeywordTriggerEnabled`](#workflowkeywordtriggerenabled) | Permettre au mot `ultracode` dans un prompt de lancer un [workflow](https://code.claude.com/docs/fr/workflows.md) ; définissez `false` pour le saisir sans en lancer | Hooks et automatisation | Tout fichier |
| [`workflowSizeGuideline`](#workflowsizeguideline) | Définir le nombre d'agents visé par Claude dans les [workflows dynamiques](https://code.claude.com/docs/fr/workflows.md) | Hooks et automatisation | Tout fichier |
| [`worktree`](#worktree) | Configurer la manière dont Claude Code crée les [worktrees](https://code.claude.com/docs/fr/worktrees.md) git | Agents, sessions et worktrees | Tout fichier |
| [`worktree.baseRef`](#worktree-baseref) | Créer les nouveaux [worktrees](https://code.claude.com/docs/fr/worktrees.md) à partir de la branche par défaut distante ou de votre HEAD local | Agents, sessions et worktrees | Tout fichier |
| [`worktree.bgIsolation`](#worktree-bgisolation) | Permettre aux sessions en arrière-plan de modifier la copie de travail sans [worktree](https://code.claude.com/docs/fr/worktrees.md) | Agents, sessions et worktrees | Tout fichier |
| [`worktree.location`](#worktree-location) | Choisir où les [sessions SSH de Desktop](https://code.claude.com/docs/fr/desktop.md#ssh-sessions) créent leurs worktrees sur une machine distante | Agents, sessions et worktrees | Utilisateur |
| [`worktree.sparsePaths`](#worktree-sparsepaths) | N'extraire que les répertoires dont vous avez besoin dans chaque [worktree](https://code.claude.com/docs/fr/worktrees.md) | Agents, sessions et worktrees | Tout fichier |
| [`worktree.symlinkDirectories`](#worktree-symlinkdirectories) | Créer des liens symboliques vers les gros répertoires dans chaque [worktree](https://code.claude.com/docs/fr/worktrees.md) au lieu de les dupliquer | Agents, sessions et worktrees | Tout fichier |
| [`wslInheritsWindowsSettings`](#wslinheritswindowssettings) | Faire lire à WSL les [paramètres gérés](https://code.claude.com/docs/fr/managed-settings.md) depuis la chaîne de stratégies Windows | Entreprise et paramètres gérés | Géré |

## Modèle et réponses

Choisissez les modèles que Claude Code utilise et comment il répond. Pour savoir comment ces paramètres interagissent avec la commande `/model` et les variables d'environnement, consultez [Configuration du modèle](https://code.claude.com/docs/fr/model-config.md).

### `advisorModel`

Choisissez quel modèle répond quand Claude appelle l'[outil advisor](https://code.claude.com/docs/fr/advisor.md) côté serveur. Laissez-le non défini pour désactiver l'advisor. L'advisor doit être au moins aussi capable que votre modèle principal. Consultez [Choisir un modèle advisor](https://code.claude.com/docs/fr/advisor.md#choose-an-advisor-model) pour connaître les appairements acceptés et ce qui se passe quand vous en choisissez un qui n'est pas accepté.

Vous n'éditez généralement pas cette clé à la main. Exécutez `/advisor` pour ouvrir un sélecteur qui affiche le choix actuel, les modèles qui peuvent conseiller, et **Pas d'advisor**. Claude Code enregistre votre choix dans cette clé dans `~/.claude/settings.json`. Si vous choisissez à partir d'un client [Remote Control](https://code.claude.com/docs/fr/remote-control.md) ou dans une session attachée à un worker distant, le choix s'applique à cette session uniquement et ne modifie pas cette clé.

Si votre compte nécessite le [consentement usage-credits](https://code.claude.com/docs/fr/advisor.md#fable-advisor-and-usage-credits), acceptez-le d'abord en exécutant `/model fable`. Jusqu'à ce que vous le fassiez, choisir Fable dans `/advisor` n'enregistre rien et Claude Code vous dit d'exécuter `/model fable` d'abord.

* **Portée** : [`Tout fichier`](#scopes)
* **Type** : chaîne, l'un des alias `"fable"`, `"opus"`, ou `"sonnet"`, qui se résolvent à 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"`
* **Par défaut** : non défini, donc l'advisor est désactivé
* **Remplacements par session** : `--advisor` a la priorité sur cette clé pour une session. [`CLAUDE_CODE_DISABLE_ADVISOR_TOOL`](https://code.claude.com/docs/fr/env-vars) désactive l'advisor, et cette clé ne peut pas le réactiver

```json settings.json theme={null}
{
  "advisorModel": "opus"
}
```

La clé n'a aucun effet sur les fournisseurs où l'advisor [n'est pas disponible](https://code.claude.com/docs/fr/advisor.md#requirements), comme Amazon Bedrock et Claude Platform sur AWS. `"fable"` nécessite l'[accès à Fable](https://code.claude.com/docs/fr/advisor.md#choose-an-advisor-model).

### `alwaysThinkingEnabled`

Désactivez la [réflexion étendue](https://code.claude.com/docs/fr/model-config.md#extended-thinking) pour chaque session en définissant ceci à `false`. La réflexion est activée par défaut, donc `true` ne change rien. La plupart des gens définissent ceci via `/config` plutôt qu'en éditant 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. Sur les [fournisseurs tiers](https://code.claude.com/docs/fr/third-party-integrations.md), Claude Code omet le paramètre `thinking` au lieu de désactiver la réflexion, donc les modèles de raisonnement adaptatif peuvent toujours réfléchir. Avec la réflexion désactivée sur l'API Anthropic, Claude Code envoie l'effort `high` au lieu d'un niveau supérieur aux modèles qu'il sait [ne pas accepter cette combinaison](https://code.claude.com/docs/fr/errors.md#effort-isnt-available-with-thinking-turned-off), comme Opus 5.

* **Portée** : [`Tout fichier`](#scopes)
* **Type** : Booléen
  * `true` : aucun effet ; la réflexion est déjà activée
  * `false` : Claude Code désactive la réflexion étendue pour chaque session
* **Par défaut** : non défini, donc la réflexion est activée pour les modèles qui la supportent
* **Remplacements par session** : [`MAX_THINKING_TOKENS`](https://code.claude.com/docs/fr/env-vars) a la priorité sur cette clé pour une session : `0` désactive la réflexion, sous les mêmes limites de modèle et de fournisseur que `false`, et une valeur positive active la réflexion même quand cette clé est `false`. Sur les modèles de raisonnement adaptatif, le nombre lui-même est ignoré

```json settings.json theme={null}
{
  "alwaysThinkingEnabled": false
}
```

### `availableModels`

Limitez les modèles que les gens peuvent sélectionner pour la session principale, les [sous-agents](https://code.claude.com/docs/fr/sub-agents.md), les [compétences](https://code.claude.com/docs/fr/skills.md), et l'[advisor](https://code.claude.com/docs/fr/advisor.md). Une liste gérée contraint `/model`, `--model`, et la clé `model` dans les fichiers propres d'un développeur ; un modèle en dehors ne peut pas être sélectionné. Avec la correspondance de préfixe par défaut, cela ne touche pas l'option Par défaut en soi ; associez-le à [`enforceAvailableModels`](#enforceavailablemodels) pour cela.

* **Portée** : [`Tout fichier`](#scopes). Déployez-le dans les paramètres gérés pour l'appliquer à une organisation.
* **Type** : tableau d'alias de modèles ou d'ID
* **Par défaut** : non défini, donc chaque modèle est disponible

Cet exemple permet aux gens de sélectionner uniquement les modèles Sonnet et Haiku :

```json settings.json theme={null}
{
  "availableModels": ["sonnet", "haiku"]
}
```

Une entrée d'ID de modèle telle que `"claude-opus-5"` permet également les versions ultérieures qui l'étendent, comme Opus 5.5. Pour bloquer l'une de ces versions, utilisez [`deniedModels`](#deniedmodels). Pour que chaque entrée d'ID de modèle permette uniquement la version qu'elle nomme, utilisez [`availableModelsMatch`](#availablemodelsmatch). Consultez [Restreindre la sélection du modèle](https://code.claude.com/docs/fr/model-config.md#restrict-model-selection).

### `availableModelsMatch`

Choisissez comment les entrées [`availableModels`](#availablemodels) correspondent aux ID de modèles. Par défaut, une entrée d'ID de modèle permet également les versions ultérieures qui l'étendent, donc `"claude-opus-5"` permet Opus 5.5. Avec `"exact"`, chaque entrée d'ID de modèle permet uniquement la version qu'elle nomme, donc une version plus récente de ce modèle reste bloquée jusqu'à ce que vous la listiez. Nécessite Claude Code v2.1.283 ou ultérieur.

* **Portée** : [`Géré`](#scopes). Claude Code ignore la clé dans les paramètres utilisateur, de projet et locaux et dans `--settings`, avec un avertissement
* **Type** : chaîne, l'une de :
  * `"prefix"` : une entrée d'ID de modèle permet sa version et tout ID de modèle qui l'étend avec un autre segment
  * `"exact"` : une entrée d'ID de modèle permet uniquement la version qu'elle nomme, y compris les ID datés de cette version, donc `"claude-opus-5"` permet Opus 5 mais pas `claude-opus-5-5`. Un alias de famille comme `"opus"` permet toujours la famille entière, et les entrées `best`, `opusplan`, et `default` sont ignorées
* **Par défaut** : `"prefix"`

Cet exemple permet Opus 5 et Sonnet 5 et aucune version ultérieure de l'un ou l'autre :

```json managed-settings.json theme={null}
{
  "availableModels": ["claude-opus-5", "claude-sonnet-5"],
  "availableModelsMatch": "exact"
}
```

Avec `"exact"`, l'option Par défaut est également limitée aux modèles énumérés chaque fois que la liste nomme au moins un modèle ou une famille. Consultez [Bloquer des modèles ou des versions spécifiques](https://code.claude.com/docs/fr/model-config.md#block-specific-models-or-versions).

### `deniedModels`

Bloquez des modèles spécifiques, avec ou sans une liste d'autorisation [`availableModels`](#availablemodels) et même quand cette liste les permet. Claude Code masque un modèle bloqué du sélecteur `/model`, et le modèle ne peut pas être sélectionné nulle part où `availableModels` est appliqué. Une session sur l'option Par défaut n'exécute pas non plus un modèle bloqué, comme [Bloquer des modèles ou des versions spécifiques](https://code.claude.com/docs/fr/model-config.md#block-specific-models-or-versions) le décrit. Nécessite Claude Code v2.1.283 ou ultérieur.

* **Portée** : [`Géré`](#scopes). Claude Code ignore la clé dans les paramètres utilisateur, de projet et locaux et dans `--settings`, avec un avertissement
* **Type** : tableau d'alias de modèles ou d'ID
  * Un alias de famille comme `"opus"` bloque chaque modèle de cette famille
  * Un ID de modèle comme `"claude-opus-5-5"` bloque cette version dans chaque orthographe, y compris les ID datés et spécifiques au fournisseur
  * Un ID de modèle sans version mineure, comme `"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
* **Par défaut** : non défini, donc aucun modèle n'est bloqué

Cet exemple permet les modèles Opus et Sonnet et bloque Opus 5.5 :

```json managed-settings.json theme={null}
{
  "availableModels": ["opus", "sonnet"],
  "deniedModels": ["claude-opus-5-5"]
}
```

Consultez [Bloquer des modèles ou des versions spécifiques](https://code.claude.com/docs/fr/model-config.md#block-specific-models-or-versions).

### `effortLevel`

Définissez un [niveau d'effort](https://code.claude.com/docs/fr/model-config.md#adjust-effort-level) par défaut pour les modèles pour lesquels vous n'avez pas enregistré de niveau. Les niveaux inférieurs sont plus rapides et moins chers sur les tâches simples, et les niveaux supérieurs raisonnent plus profondément sur les problèmes complexes.

Quand 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`](#modelsettings) plutôt que d'écrire cette clé. Avant la v2.1.251, `/effort` écrivait cette clé.

Dans le même fichier de paramètres, Claude Code utilise le niveau enregistré d'un modèle plutôt que cette clé. [`modelSettings`](#modelsettings) indique la précédence entre fichiers.

Dans une session attachée à un worker distant, dans une exécution `-p`, et dans l'Agent SDK, `/effort` s'applique à cette session uniquement. [Ajuster le niveau d'effort](https://code.claude.com/docs/fr/model-config.md#adjust-effort-level) énumère les choix interactifs qui s'appliquent également à cette session uniquement. Le message que `/effort` affiche indique ce qui s'est passé.

* **Portée** : [`Tout fichier`](#scopes)
* **Type** : chaîne, l'une de :
  * `"low"` : le moins de raisonnement, pour les tâches courtes, délimitées, sensibles à la latence qui ne sont pas sensibles à l'intelligence
  * `"medium"` : réduit l'utilisation des tokens pour le travail sensible aux coûts qui peut faire des compromis sur l'intelligence
  * `"high"` : équilibre l'utilisation des tokens et l'intelligence
  * `"xhigh"` : raisonnement plus profond avec une dépense de tokens plus élevée
* **Par défaut** : non défini
* **Remplacements par session** : `--effort` a la priorité sur cette clé pour une session, et [`CLAUDE_CODE_EFFORT_LEVEL`](https://code.claude.com/docs/fr/env-vars) a la priorité sur les deux

```json settings.json theme={null}
{
  "effortLevel": "xhigh"
}
```

Dans votre fichier de paramètres utilisateur, `~/.claude/settings.json`, cette clé est la forme plus ancienne que `/effort` écrivait avant d'enregistrer les niveaux par modèle, et elle continue de s'appliquer où elle s'appliquait avant, sur Opus 5, Fable 5.1, et les modèles antérieurs. Opus 5.5 et les modèles publiés après l'ignorent et commencent à leur propre défaut jusqu'à ce que vous enregistriez un niveau pour eux, que `/effort` écrit sous [`modelSettings`](#modelsettings). Dans les paramètres de projet, locaux et gérés, et avec `--settings`, cette clé s'applique à chaque modèle.

### `enforceAvailableModels`

Le sélecteur `/model` a une option **Par défaut**, et [paramètre de modèle par défaut](https://code.claude.com/docs/fr/model-config.md#default-model-setting) décrit le modèle auquel il se résout. Une liste d'autorisation [`availableModels`](#availablemodels) limite les modèles que vous pouvez nommer, mais avec la [correspondance de préfixe](#availablemodelsmatch) par défaut elle ne remapppe pas le défaut de votre type de compte, donc **Par défaut** peut toujours se résoudre à un modèle en dehors de la liste. Cette clé comble cette lacune. Nécessite Claude Code v2.1.175 ou ultérieur.

Quand votre organisation déploie des paramètres gérés, Claude Code lit cette clé à partir de la source gérée uniquement 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](https://code.claude.com/docs/fr/amazon-bedrock.md#when-your-organization-enforces-a-model-allowlist) et [la plateforme Agent de Google Cloud](https://code.claude.com/docs/fr/google-vertex-ai.md#when-your-organization-enforces-a-model-allowlist).

* **Portée** : [`Tout fichier`](#scopes)
* **Type** : Booléen
  * `true` : quand **Par défaut** se résoudrait à un modèle en dehors de `availableModels`, Claude Code le résout au premier modèle disponible de la liste
  * `false` : cette clé ne change pas comment **Par défaut** se résout
* **Par défaut** : `false`

Cet exemple restreint les sélections nommées aux modèles Sonnet et Haiku et fait que **Par défaut** se résout au premier d'entre eux qui est disponible :

```json settings.json theme={null}
{
  "availableModels": ["sonnet", "haiku"],
  "enforceAvailableModels": true
}
```

Cette clé n'a aucun effet quand `availableModels` est non défini ou vide. Consultez [Appliquer la liste d'autorisation au modèle Par défaut](https://code.claude.com/docs/fr/model-config.md#enforce-the-allowlist-for-the-default-model). Nécessite Claude Code v2.1.175 ou ultérieur.

### `fallbackModel`

Nommez les modèles de secours que Claude Code doit essayer, dans l'ordre, quand votre modèle principal est surchargé ou indisponible. Claude Code bascule vers le modèle disponible suivant dans la chaîne pour le reste du tour et affiche un avis. Sans chaîne, Claude Code réessaie le même modèle puis affiche l'erreur du serveur, et vous réessayez ou changez de modèles vous-même.

Un changement signifie un tour avec un [cache de prompt](https://code.claude.com/docs/fr/prompt-caching.md#switching-models) froid sur le modèle de secours ; votre message suivant réessaie d'abord le modèle principal.

* **Portée** : [`Tout fichier`](#scopes)
* **Type** : tableau d'alias de modèles ou d'ID ; `"default"` se développe au modèle par défaut
* **Par défaut** : non défini, donc une demande échouée n'est pas réessayée sur un autre modèle
* **Remplacements par session** : `--fallback-model` a la priorité sur cette clé pour une session

Cet exemple essaie d'abord Sonnet 5, puis Haiku 4.5, quand votre modèle principal échoue :

```json settings.json theme={null}
{
  "fallbackModel": ["claude-sonnet-5", "claude-haiku-4-5"]
}
```

Contrairement à la plupart des paramètres de tableau, cette clé ne fusionne pas entre les fichiers de paramètres : le fichier de plus haute priorité qui la définit fournit la chaîne entière. Si votre fichier de projet définit `["claude-sonnet-5"]` et votre fichier utilisateur définit `["claude-haiku-4-5"]`, la chaîne est `["claude-sonnet-5"]` uniquement. Claude Code conserve au maximum trois modèles distincts autorisés de la liste et ignore le reste. Consultez [Chaînes de modèles de secours](https://code.claude.com/docs/fr/model-config.md#fallback-model-chains).

### `fastMode`

Activez le [mode rapide](https://code.claude.com/docs/fr/fast-mode.md) pour les sessions où il est disponible, pour le travail interactif comme l'itération rapide ou le débogage en direct où vous voulez la vitesse à un coût plus élevé par token. Vous n'éditez généralement pas cette clé à la main : exécuter `/fast` écrit `fastMode: true` dans `~/.claude/settings.json`, et l'exécuter à nouveau pour désactiver le mode rapide supprime la clé. Le mode rapide s'exécute uniquement sur Opus 5.5, Opus 5, et Opus 4.8 : l'activer à partir d'un autre modèle vous bascule vers Opus, et basculer vers un modèle non supporté le désactive. Consultez [Changer de modèle pendant que le mode rapide est activé](https://code.claude.com/docs/fr/fast-mode.md#switch-models-while-fast-mode-is-on).

* **Portée** : [`Tout fichier`](#scopes)
* **Type** : Booléen
  * `true` : Claude Code active le mode rapide pour les sessions où il est disponible
  * `false` : le mode rapide reste désactivé
* **Par défaut** : non défini, donc le mode rapide est désactivé
* **Remplacements par session** : [`CLAUDE_CODE_DISABLE_FAST_MODE`](https://code.claude.com/docs/fr/env-vars) désactive le mode rapide pour une session, et cette clé ne peut pas l'activer

```json settings.json theme={null}
{
  "fastMode": true
}
```

### `fastModePerSessionOptIn`

Normalement, exécuter `/fast` enregistre [`fastMode`](#fastmode) dans les paramètres utilisateur d'une personne, donc le mode rapide est activé au début de chaque session ultérieure. Définissez cette clé à `true` pour arrêter cela : un `fastMode: true` enregistré n'active plus le mode rapide au démarrage de la session, et chaque personne doit exécuter `/fast` dans chaque session où elle le souhaite. Claude Code laisse la clé `fastMode` dans son fichier, donc désactiver cette clé restaure l'ancien comportement.

Les propriétaires sur les plans Team ou Enterprise peuvent le déployer à l'échelle de l'organisation via les [paramètres gérés par le serveur](https://code.claude.com/docs/fr/server-managed-settings.md). Quand les paramètres gérés définissent la clé, `/fast on` est refusé en dehors des sessions de terminal interactif et rapporte que votre organisation a désactivé le mode rapide. Cela couvre le [mode non interactif](https://code.claude.com/docs/fr/headless.md), l'[extension VS Code](https://code.claude.com/docs/fr/vs-code.md), et les [sessions cloud](https://code.claude.com/docs/fr/claude-code-on-the-web.md).

* **Portée** : [`Tout fichier`](#scopes)
* **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` passé avec `--settings` compte toujours pour cette session sauf si les paramètres gérés définissent cette clé
  * `false` : un `fastMode: true` enregistré active le mode rapide au début de chaque session ultérieure
* **Par défaut** : `false`

```json settings.json theme={null}
{
  "fastModePerSessionOptIn": true
}
```

Consultez [Exiger l'opt-in par session](https://code.claude.com/docs/fr/fast-mode.md#require-per-session-opt-in).

### `language`

Faites répondre Claude dans une langue autre que l'anglais par défaut. Il n'y a pas de liste fixe pour les réponses : Claude Code transmet la valeur verbatim à Claude comme instruction pour toujours répondre dans cette langue, donc tout nom de langue que Claude peut lire fonctionne. Claude Code ne vérifie pas la valeur, donc un nom mal orthographié atteint Claude tel qu'écrit plutôt que de produire une erreur. La même valeur définit la langue pour la [dictée vocale](https://code.claude.com/docs/fr/voice-dictation.md#change-the-dictation-language), qui a une liste fixe de [langues de dictée supportées](https://code.claude.com/docs/fr/voice-dictation.md#change-the-dictation-language), et pour les titres de session générés automatiquement.

* **Portée** : [`Tout fichier`](#scopes)
* **Type** : chaîne, tout nom de langue, comme `"japanese"`, `"spanish"`, ou `"french"` ; Claude Code ne le valide pas
* **Par défaut** : non défini ; les titres de session correspondent alors à la langue de votre conversation

```json settings.json theme={null}
{
  "language": "japanese"
}
```

### `maxEffortLevel`

Limitez le [niveau d'effort](https://code.claude.com/docs/fr/model-config.md#adjust-effort-level) qu'une session peut utiliser, en laissant les niveaux inférieurs disponibles. Tout niveau supérieur s'exécute à la limite à la place, y compris celui de `/effort`, du sélecteur `/model`, de `--effort`, de [`CLAUDE_CODE_EFFORT_LEVEL`](https://code.claude.com/docs/fr/env-vars), du frontmatter `effort` d'une compétence ou d'un sous-agent, ou du défaut du modèle lui-même. Claude Code applique la limite lui-même avant chaque demande, donc elle s'applique sur chaque fournisseur, y compris Amazon Bedrock, la plateforme Agent de Google Cloud, et Microsoft Foundry. Nécessite Claude Code v2.1.267 ou ultérieur.

* **Portée** : [`Tout fichier`](#scopes). Déployez-le dans les paramètres gérés pour l'appliquer à une organisation. Quand plusieurs portées définissent une limite, la plus basse s'applique, donc une limite définie dans une portée ne peut pas être augmentée à partir d'une autre
* **Type** : chaîne, l'une de `"low"`, `"medium"`, `"high"`, `"xhigh"`, ou `"max"`. Une valeur `"max"` ne définit aucune limite
* **Par défaut** : non défini, donc aucune limite ne s'applique
* **Limites par modèle** : ajoutez `maxEffortLevel` à l'entrée [`modelSettings`](#modelsettings) d'un modèle. Cette entrée remplace cette clé pour le modèle uniquement dans la source de paramètres qui définit les deux, comme vos paramètres utilisateur ou une [source gérée](https://code.claude.com/docs/fr/managed-settings.md#how-claude-code-combines-managed-sources). Définissez `"max"` là pour exempter le modèle de la limite de cette source ; Claude Code applique toujours les limites d'autres sources

Cet exemple limite chaque modèle à `medium` et exempte Sonnet 4.6 :

```json settings.json theme={null}
{
  "maxEffortLevel": "medium",
  "modelSettings": {
    "claude-sonnet-4-6": {
      "maxEffortLevel": "max"
    }
  }
}
```

Quand votre organisation définit également une [limite d'effort](https://code.claude.com/docs/fr/model-config.md#organization-effort-limits) pour un modèle, la limite inférieure des deux s'applique.

### `model`

Définissez le modèle que chaque nouvelle session utilise, donc vous n'avez pas à en choisir un avec `/model` à chaque fois. Le définir ici ne vous empêche pas de basculer en milieu de session. Si votre administrateur a défini un [modèle par défaut de l'organisation](https://code.claude.com/docs/fr/model-config.md#organization-default-model) pour remplacer la sélection de l'utilisateur, vous obtenez ce modèle même quand vous définissez cette clé dans les paramètres utilisateur, de projet ou locaux.

* **Portée** : [`Tout fichier`](#scopes)
* **Type** : chaîne, un alias de modèle ou un ID de modèle complet
* **Par défaut** : non défini, donc Claude Code utilise le modèle par défaut de votre compte
* **Remplacements par session** : `--model` a la priorité sur [`ANTHROPIC_MODEL`](https://code.claude.com/docs/fr/env-vars), et les deux ont la priorité sur cette clé pour une session, y compris sur un `model` géré ; une liste [`availableModels`](#availablemodels) s'applique toujours au choix

```json settings.json theme={null}
{
  "model": "claude-sonnet-5"
}
```

Une valeur ici surclasse [`ANTHROPIC_DEFAULT_MODEL`](https://code.claude.com/docs/fr/model-config#set-a-default-model-for-new-sessions), que Claude Code utilise uniquement quand rien d'autre ne sélectionne un modèle.

### `modelOverrides`

Mappez les ID de modèles Anthropic aux ID de modèles spécifiques au fournisseur, comme les ARN de profil d'inférence Amazon Bedrock. Chaque entrée du sélecteur de modèles utilise alors sa valeur mappée lors de l'appel de l'API du fournisseur. Les administrateurs utilisent ceci sur [Amazon Bedrock, la plateforme Agent de Google Cloud, et Microsoft Foundry](https://code.claude.com/docs/fr/model-config.md#override-model-ids-per-version) pour router chaque version de modèle vers un profil d'inférence spécifique, un nom de version, ou un déploiement pour la gouvernance, l'allocation des coûts, ou le routage régional.

* **Portée** : [`Tout fichier`](#scopes)
* **Type** : objet mappant l'ID du modèle à l'ID du modèle du fournisseur
* **Par défaut** : non défini

Cet exemple route chaque appel pour Opus 4.6 vers le profil d'inférence Bedrock nommé :

```json settings.json theme={null}
{
  "modelOverrides": {
    "claude-opus-4-6": "arn:aws:bedrock:us-east-1:123456789012:inference-profile/example"
  }
}
```

Consultez [Remplacer les ID de modèles par version](https://code.claude.com/docs/fr/model-config.md#override-model-ids-per-version).

### `modelPicker`

Énumérez les modèles que le sélecteur `/model` offre, dans l'ordre que vous écrivez et sous les étiquettes que vous choisissez, donc le sélecteur énumère les modèles que votre organisation exécute, après la gamme intégrée ou à la place. Le `model` de chaque ligne est pris verbatim, donc il accepte tout ce que `--model` accepte : un alias comme `opus`, un ID de modèle Anthropic, ou un ID au format du fournisseur pour Amazon Bedrock, la plateforme Agent de Google Cloud, Microsoft Foundry, ou une passerelle LLM. Nécessite Claude Code v2.1.242 ou ultérieur.

* **Portée** : [`Utilisateur ou géré`](#scopes). Claude Code lit la clé à partir des paramètres gérés, `--settings`, et des paramètres utilisateur, et l'ignore dans les paramètres de projet et locaux donc un référentiel que vous clonez ne peut pas réétiqueter le sélecteur. Le plus élevé de ces trois qui définit la clé fournit la gamme entière, et Claude Code ne combine jamais les gammes de deux sources.
* **Type** : objet avec un tableau `options` de lignes et un Booléen `replaceBuiltInOptions` optionnel
* **Par défaut** : non défini, donc le sélecteur affiche la gamme intégrée

Cet exemple ajoute deux déploiements Bedrock après la gamme intégrée, sous des noms que votre équipe reconnaît :

```json managed-settings.json theme={null}
{
  "modelPicker": {
    "options": [
      { "model": "us.anthropic.claude-opus-4-8", "label": "Opus (production)" },
      {
        "model": "us.anthropic.claude-sonnet-4-6",
        "label": "Sonnet (production)",
        "description": "Day-to-day work"
      }
    ]
  }
}
```

#### Champs pour `modelPicker`

La clé prend deux champs, l'un pour les lignes elles-mêmes et l'un pour savoir si elles remplacent la gamme intégrée ou l'ajoutent.

| Champ | Type | Ce qu'il fait |
| :- | :- | :- |
| `options` | tableau de lignes, chacune avec un `model` requis et un `label`, une `description`, et un `behavesAs` optionnels | Les lignes que le sélecteur affiche, dans cet ordre, sauf qu'une ligne grisée se déplace vers le bas. Sans un `label`, Claude Code titre la ligne avec le nom intégré pour un modèle qu'il connaît, ou l'ID du modèle sinon, et sans une `description` il écrit une deuxième ligne générique |
| `replaceBuiltInOptions` | Booléen, par défaut `false` | Définissez-le à `true` pour afficher uniquement ces lignes, **Par défaut**, et une ligne pour le modèle que la session utilise déjà. Laissez-le non défini pour ajouter ces lignes après la gamme intégrée |

Une entrée dans `options` peut également porter une chaîne `behavesAs` optionnelle à côté de son `model`, qui nécessite v2.1.257 ou ultérieur. Définissez-la à 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 les capacités et les défauts d'effort de ce modèle connu à l'entrée au lieu de traiter son modèle comme inconnu. L'étiquette de l'entrée et l'ID du modèle que Claude Code envoie dans les demandes ne changent pas.

Avec `replaceBuiltInOptions` activé, Claude Code masque chaque autre ligne : la gamme intégrée, les lignes qu'il ajoute pour les entrées [`availableModels`](#availablemodels), les modèles que la [découverte de passerelle](https://code.claude.com/docs/fr/llm-gateway-protocol.md#model-discovery) a trouvés, et [`ANTHROPIC_CUSTOM_MODEL_OPTION`](https://code.claude.com/docs/fr/model-config#add-a-custom-model-option). Avec lui désactivé, Claude Code saute un modèle énuméré que la gamme intégrée couvre déjà. Un label change ce que le sélecteur affiche, pas quel modèle Claude Code exécute.

Une liste d'autorisation [`availableModels`](#availablemodels) s'applique toujours à ces lignes. Avant d'ajouter un modèle énuméré à la liste d'autorisation, lisez [Comportement de fusion](https://code.claude.com/docs/fr/model-config.md#merge-behavior) : 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 sélectionner encore, affichée avec la raison
* **Aucune ligne ne survit** : Claude Code conserve la gamme intégrée, filtrée par la liste d'autorisation comme d'habitude

Claude Code supprime une ligne qu'il ne peut pas analyser et conserve le reste. Consultez [Corriger un fichier de paramètres cassé](https://code.claude.com/docs/fr/settings.md#fix-a-broken-settings-file).

### `modelPricing`

Rapportez les dépenses aux tarifs que votre organisation paie au lieu du prix catalogue. Définissez-le quand votre organisation a des tarifs contractuels, donc les chiffres en dollars que les développeurs voient correspondent à votre facture. Claude Code applique les tarifs dans `/usage`, la [ligne d'état](https://code.claude.com/docs/fr/statusline.md), le `total_cost_usd` de l'Agent SDK, la limite [`--max-budget-usd`](https://code.claude.com/docs/fr/cli-reference), et la métrique de coût [OpenTelemetry](https://code.claude.com/docs/fr/monitoring-usage.md) et les événements. Vous fournissez les tarifs : Claude Code ne les lit pas à partir de votre contrat ou de la Claude Console. Nécessite Claude Code v2.1.242 ou ultérieur.

* **Portée** : [`Géré`](#scopes). Déployez la clé via les paramètres gérés par le serveur, une politique MDM, un fichier `managed-settings.json`, ou un [assistant de politique](https://code.claude.com/docs/fr/managed-settings.md#compute-the-policy-with-a-helper-program). Claude Code l'ignore dans les paramètres utilisateur, de projet et locaux, dans `--settings`, et sur Windows dans le [registre HKCU](https://code.claude.com/docs/fr/managed-settings.md#where-each-mechanism-stores-the-policy) inscriptible par l'utilisateur. Avec les paramètres gérés par le serveur, chaque session rapporte les coûts au prix catalogue jusqu'à ce que la [récupération des paramètres](https://code.claude.com/docs/fr/server-managed-settings.md#fetch-and-caching-behavior) 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`](https://code.claude.com/docs/fr/env-vars) peut fournir sa propre table via l'option SDK [`managedSettings`](https://code.claude.com/docs/fr/agent-sdk/typescript#options), que Claude Code utilise uniquement quand aucune source gérée ne définit la clé et uniquement dans Claude Code v2.1.246 ou ultérieur.
* **Type** : objet avec un `multiplier` optionnel et une carte `overrides` optionnelle
* **Par défaut** : non défini, donc Claude Code rapporte 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 les tarifs contractuels pour Sonnet 4.6 puis réduit chaque chiffre, la ligne Sonnet incluse, de 15 % :

```json managed-settings.json theme={null}
{
  "modelPricing": {
    "multiplier": 0.85,
    "overrides": {
      "claude-sonnet-4-6": {
        "input": 2.4,
        "output": 12,
        "cacheRead": 0.24,
        "cacheWrite": 3
      }
    }
  }
}
```

Définissez `multiplier` au-dessus de 1, jusqu'à 10, pour majorer chaque chiffre. Une majoration nécessite Claude Code v2.1.271 ou ultérieur. Les versions antérieures ignorent un `multiplier` au-dessus de 1 avec un avertissement et conservent le reste du paramètre.

Pour les étapes, y compris comment confirmer que les tarifs sont en vigueur, consultez [Rapporter les dépenses à vos tarifs contractuels](https://code.claude.com/docs/fr/costs.md#report-spend-at-your-contracted-rates).

#### Champs pour `modelPricing`

| Champ | Type | Ce qu'il fait |
| :- | :- | :- |
| `multiplier` | nombre supérieur à 0 et au maximum 10 | Redimensionne chaque coût que Claude Code calcule, qu'une ligne `overrides` le couvre ou non. Inférieur à 1 est une remise, supérieur à 1 une majoration |
| `overrides` | carte d'ID de modèle à un objet de tarif avec `input`, `output`, `cacheRead`, et `cacheWrite`, chacun de 0 à 10000 | Les tarifs USD par million de tokens pour ce modèle, les quatre requis. `cacheWrite` couvre à la fois les écritures de cache de cinq minutes et d'une heure. Consultez [Quels modèles une ligne s'applique à](#which-models-a-modelpricing-row-applies-to) |

Claude Code utilise les tarifs d'une ligne exactement comme vous les avez écrits, sans ajouter la surcharge du mode rapide ou le [tarif d'inférence réservé aux États-Unis](https://platform.claude.com/docs/en/about-claude/pricing). Si vous définissez également `multiplier`, Claude Code l'applique en plus des tarifs de la ligne. Claude Code supprime une ligne avec un tarif qu'il ne peut pas analyser, ou un `multiplier` qu'il ne peut pas analyser, et conserve le reste ; consultez [Corriger un fichier de paramètres cassé](https://code.claude.com/docs/fr/settings.md#fix-a-broken-settings-file).

#### Quels modèles une ligne `modelPricing` s'applique à

Claude Code décide quels modèles une ligne s'applique à à partir de la clé de la ligne :

* **L'ID d'un modèle intégré** : une clé que Claude Code lui-même utilise pour un modèle intégré, que cette clé soit l'ID du modèle lui-même, comme `claude-sonnet-4-6`, ou son ID Bedrock, Agent Platform, ou Foundry. Claude Code applique la ligne à chaque ID de snapshot daté et ID spécifique au 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 ID uniquement. Quand un ID de modèle correspond exactement à l'une de vos clés et tombe également sous une ligne clé par 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 au modèle vers lequel il route, via votre carte [`modelOverrides`](#modeloverrides) ou la [recherche `bedrock:GetInferenceProfile`](https://code.claude.com/docs/fr/amazon-bedrock#iam-configuration), Claude Code applique la ligne de ce modèle au profil.

### `modelSettings`

Enregistrez un [niveau d'effort](https://code.claude.com/docs/fr/model-config.md#adjust-effort-level) pour chaque modèle que vous utilisez. Nécessite Claude Code v2.1.251 ou ultérieur.

Dans une session interactive sur votre machine, quand vous enregistrez `low`, `medium`, `high`, ou `xhigh` comme votre 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, donc vous éditez rarement cette clé vous-même. Quand vous choisissez l'un de ces niveaux dans le [sélecteur de modèles de l'extension VS Code](https://code.claude.com/docs/fr/vs-code.md#use-the-prompt-box), Claude Code l'enregistre ici de la même manière. L'entrée [`effortLevel`](#effortlevel) énumère les sessions où `/effort` s'applique à cette session uniquement.

Éditez la clé à la main pour modifier ou supprimer un niveau que vous avez enregistré.

Un `effortLevel` d'un modèle ici a la priorité sur le [`effortLevel`](#effortlevel) de niveau supérieur dans le même fichier de paramètres. Entre les fichiers, Claude Code résout chaque modèle séparément : le [fichier de paramètres](https://code.claude.com/docs/fr/settings.md#settings-precedence) de plus haute priorité qui définit soit un `effortLevel` pour ce modèle soit un `effortLevel` de niveau supérieur qui [s'applique à ce modèle](#effortlevel) décide, donc un `effortLevel` dans les paramètres gérés surclasse un niveau que vous avez enregistré dans les paramètres utilisateur. [Ajuster le niveau d'effort](https://code.claude.com/docs/fr/model-config.md#adjust-effort-level) énumère ce qui d'autre peut remplacer un niveau enregistré, comme `--effort` au lancement.

Pour limiter l'effort d'un modèle plutôt que de définir son niveau, ajoutez un champ [`maxEffortLevel`](#maxeffortlevel) à l'entrée de ce modèle. Le champ nécessite Claude Code v2.1.267 ou ultérieur.

* **Portée** : [`Tout fichier`](#scopes)
* **Type** : objet mappant un nom de modèle à un objet avec n'importe lequel de ces champs :
  * `effortLevel` : l'un de `"low"`, `"medium"`, `"high"`, ou `"xhigh"`
  * [`maxEffortLevel`](#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 ajustée au modèle. [`/autocompact`](https://code.claude.com/docs/fr/model-config#set-the-auto-compact-window) enregistre ici. Pour ce modèle, la valeur a la priorité sur un [`autoCompactWindow`](#autocompactwindow) de niveau supérieur dans le même fichier de paramètres. Nécessite Claude Code v2.1.288 ou ultérieur
* **Par défaut** : non défini

Claude Code écrit chaque entrée sous le nom canonique du modèle, comme `claude-opus-5-5`, et correspond à l'alias de ce modèle, daté, `[1m]`, et les ID spécifiques au fournisseur reconnus à la même entrée.

Cet exemple garde Opus 5.5 à `high` tandis que les autres modèles utilisent leurs propres niveaux enregistrés ou par défaut :

```json settings.json theme={null}
{
  "modelSettings": {
    "claude-opus-5-5": {
      "effortLevel": "high"
    }
  }
}
```

Exécutez `/effort auto` pour effacer votre niveau enregistré pour le modèle que vous utilisez. Claude Code laisse les autres entrées et tout `effortLevel` de niveau supérieur en place.

### `outputStyle`

Sélectionnez un [style de sortie](https://code.claude.com/docs/fr/output-styles.md) par nom. Un style de sortie est un ensemble d'instructions enregistrées qui change le rôle, le ton et le format de sortie de Claude, comme les styles Explanatory et Learning intégrés ou l'un que vous avez écrit vous-même.

Si vous modifiez cette clé pendant une session, Claude utilise le nouveau style à partir de votre message suivant. Pour ce que ce message coûte en cache de prompt, consultez [Changer le style de sortie](https://code.claude.com/docs/fr/prompt-caching.md#changing-output-style). Avant la v2.1.251, l'édition s'appliquait uniquement après que vous ayez exécuté `/clear` ou démarré une nouvelle session.

* **Portée** : [`Tout fichier`](#scopes)
* **Type** : chaîne, le nom d'un style de sortie [intégré](https://code.claude.com/docs/fr/output-styles.md#built-in-output-styles) ou [personnalisé](https://code.claude.com/docs/fr/output-styles.md#create-a-custom-output-style)
* **Par défaut** : non défini, donc Claude Code utilise le style par défaut

Cet exemple sélectionne le style Explanatory intégré, qui ajoute des perspectives éducatives entre les tâches :

```json settings.json theme={null}
{
  "outputStyle": "Explanatory"
}
```

### `promptCacheTtl`

Choisissez combien de temps le [cache de prompt](https://code.claude.com/docs/fr/prompt-caching.md) conserve la conversation principale. Cette clé s'applique à vos tours interactifs, `-p`, et Agent SDK, ainsi que les assistants que Claude Code exécute en ligne avec eux. La durée de vie d'une heure garde le cache chaud entre les pauses plus longues, et l'API [facture chaque écriture de cache à un tarif plus élevé](https://platform.claude.com/docs/en/build-with-claude/prompt-caching#pricing) qu'à la durée de vie de cinq minutes. Nécessite Claude Code v2.1.242 ou ultérieur.

* **Portée** : [`Tout fichier`](#scopes)
* **Type** : chaîne, l'une de :
  * `"5m"` : le cache se conserve pendant cinq minutes
  * `"1h"` : le cache se conserve pendant une heure
* **Par défaut** : non défini, donc chaque demande de conversation principale obtient sa [durée de vie par défaut](https://code.claude.com/docs/fr/prompt-caching.md#which-ttl-each-request-gets)
* **Remplacements par session** : [`FORCE_PROMPT_CACHING_5M`](https://code.claude.com/docs/fr/env-vars) a la priorité sur tout le reste, puis [`CLAUDE_CODE_PROMPT_CACHE_TTL`](https://code.claude.com/docs/fr/env-vars), puis cette clé, et enfin [`ENABLE_PROMPT_CACHING_1H`](https://code.claude.com/docs/fr/env-vars)

Cet exemple garde la conversation principale sur la durée de vie d'une heure et laisse les sous-agents sur cinq minutes :

```json settings.json theme={null}
{
  "promptCacheTtl": "1h",
  "subagentPromptCacheTtl": "5m"
}
```

Pour ce que chaque durée de vie coûte, consultez [Durée de vie du cache](https://code.claude.com/docs/fr/prompt-caching.md#cache-lifetime).

### `showThinkingSummaries`

Voyez les résumés de la [réflexion étendue](https://code.claude.com/docs/fr/model-config.md#extended-thinking) de Claude dans les sessions interactives. Définissez-le si vous voulez les résumés complets quand vous développez la réflexion avec `Ctrl+O`. Quand il est non défini ou `false`, l'API Anthropic masque les blocs de réflexion et Claude Code affiche un résumé réduit.

* **Portée** : [`Tout fichier`](#scopes)
* **Type** : Booléen
  * `true` : vous voyez les résumés complets de la réflexion quand vous développez la réflexion avec `Ctrl+O`
  * `false` : l'API Anthropic rédige les blocs de réflexion et Claude Code affiche un stub réduit
* **Par défaut** : `false`

```json settings.json theme={null}
{
  "showThinkingSummaries": true
}
```

La rédaction change uniquement ce que vous voyez, pas ce que le modèle génère. Pour réduire la dépense de réflexion, [réduisez le budget ou désactivez la réflexion](https://code.claude.com/docs/fr/model-config.md#extended-thinking) à la place.

### `subagentPromptCacheTtl`

Choisissez combien de temps le [cache de prompt](https://code.claude.com/docs/fr/prompt-caching.md) conserve les demandes que Claude Code fait en dehors de la conversation principale. Cette clé s'applique aux [sous-agents](https://code.claude.com/docs/fr/sub-agents.md), aux [workflows](https://code.claude.com/docs/fr/workflows.md), et aux demandes propres de Claude Code en arrière-plan et d'assistance, comme la compaction et les titres de session. La durée de vie d'une heure garde le cache chaud entre les pauses plus longues, et l'API [facture chaque écriture de cache à un tarif plus élevé](https://platform.claude.com/docs/en/build-with-claude/prompt-caching#pricing) qu'à la durée de vie de cinq minutes. Nécessite Claude Code v2.1.242 ou ultérieur.

* **Portée** : [`Tout fichier`](#scopes)
* **Type** : chaîne, l'une de :
  * `"5m"` : le cache se conserve pendant cinq minutes
  * `"1h"` : le cache se conserve pendant une heure
* **Par défaut** : non défini, donc chacune de ces demandes obtient sa [durée de vie par défaut](https://code.claude.com/docs/fr/prompt-caching.md#which-ttl-each-request-gets)
* **Remplacements par session** : [`FORCE_PROMPT_CACHING_5M`](https://code.claude.com/docs/fr/env-vars) a la priorité sur tout le reste, puis [`CLAUDE_CODE_SUBAGENT_PROMPT_CACHE_TTL`](https://code.claude.com/docs/fr/env-vars), puis cette clé, puis [`ENABLE_PROMPT_CACHING_1H`](https://code.claude.com/docs/fr/env-vars), qui demande la durée de vie d'une heure sur chaque demande. Pour où la valeur du frontmatter propre d'un sous-agent se classe, consultez [Choisir la TTL vous-même](https://code.claude.com/docs/fr/prompt-caching.md#choose-the-ttl-yourself)

Cet exemple donne aux sous-agents et aux autres demandes en dehors de la conversation principale la durée de vie d'une heure :

```json settings.json theme={null}
{
  "subagentPromptCacheTtl": "1h"
}
```

Cette clé couvre les demandes que [`promptCacheTtl`](#promptcachettl) ne couvre pas, donc définissez les deux pour choisir une durée de vie pour chaque demande que Claude Code fait. Pour comment le cache d'un sous-agent diffère de celui de la conversation principale, consultez [Sous-agents et le cache](https://code.claude.com/docs/fr/prompt-caching.md#subagents-and-the-cache).

### `switchModelsOnFlag`

Choisissez ce qui se passe quand un [classificateur de sécurité signale une demande](https://code.claude.com/docs/fr/model-config.md#automatic-model-fallback) : basculer vers le modèle de secours et continuer, ou faire une pause pour que vous puissiez choisir entre basculer et éditer l'invite.

* **Portée** : [`Tout fichier`](#scopes). Apparaît dans `/config` comme **Changer de modèles quand un message est signalé**, avec les options **Basculer automatiquement** et **Demander à chaque fois**.
* **Type** : Booléen
  * `true` : Claude Code bascule vers 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 éditer l'invite ; où aucune boîte de dialogue ne peut s'afficher, comme une exécution `-p`, la demande signalée se termine comme une erreur
* **Par défaut** : non défini. Claude Code bascule automatiquement, bien qu'il puisse [demander d'abord](https://code.claude.com/docs/fr/model-config.md#ask-before-switching) dans une session interactive

```json settings.json theme={null}
{
  "switchModelsOnFlag": false
}
```

Consultez [Demander avant de basculer](https://code.claude.com/docs/fr/model-config.md#ask-before-switching).

### `ultracode`

Démarrez les sessions avec [ultracode](https://code.claude.com/docs/fr/workflows.md#let-claude-decide-with-ultracode) activé. Avec lui activé, Claude planifie un workflow pour chaque tâche substantielle au lieu d'attendre que vous le demandiez. Claude planifie les workflows uniquement quand les [workflows dynamiques](https://code.claude.com/docs/fr/workflows.md) sont activés pour vous et votre modèle supporte l'effort `xhigh`. La clé ne change pas le niveau d'effort de la session : ultracode s'exécute au niveau que la session utilise. Claude Code lit cette clé mais ne l'écrit jamais : `/effort ultracode` active ultracode pour la session actuelle uniquement.

* **Portée** : [`Tout fichier`](#scopes)
* **Type** : Booléen
  * `true` : les sessions commencent avec ultracode activé quand les workflows dynamiques sont activés pour vous et votre modèle supporte `xhigh`
  * `false` : les sessions commencent avec ultracode désactivé
* **Par défaut** : non défini, donc ultracode est 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 quand cette clé est `true`. Le flag `--effort ultracode` l'active également pour une session, à l'effort `xhigh`

```json settings.json theme={null}
{
  "ultracode": true
}
```

Le niveau d'effort de la session provient de [`effortLevel`](#effortlevel), [`modelSettings`](#modelsettings), et des autres [sources d'effort](https://code.claude.com/docs/fr/model-config.md#adjust-effort-level), et une [limite d'effort](https://code.claude.com/docs/fr/model-config.md#organization-effort-limits) comme [`maxEffortLevel`](#maxeffortlevel) abaisse ce niveau sans désactiver ultracode. Ceci et la forme `/effort ultracode off` nécessitent Claude Code v2.1.284 ou ultérieur. Avant la v2.1.284, `ultracode: true` exécutait la session à l'effort `xhigh`, et une limite d'effort inférieure à `xhigh` gardait ultracode désactivé. Une demande 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, quel mode de permission une session démarre, 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](https://code.claude.com/docs/fr/permissions.md).

### `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](https://code.claude.com/docs/fr/managed-settings.md#let-an-embedding-host-add-policy) 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](https://code.claude.com/docs/fr/permissions.md#read-and-edit).

Quand vous définissez cette clé, Claude Code v2.1.282 ou ultérieur ignore aussi le frontmatter [`allowed-tools`](https://code.claude.com/docs/fr/skills#pre-approve-tools-for-a-skill) 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](https://code.claude.com/docs/fr/skills.md#where-synced-skills-load)
* Un répertoire `--add-dir`
* Les [plugins déclarés avec un manifeste `.claude-plugin`](https://code.claude.com/docs/fr/plugins/loading#plugins-shared-through-a-repository) 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`](https://code.claude.com/docs/fr/plugins/loading#find-where-a-plugin-came-from), lorsque toutes ces conditions sont réunies :
  * La session est une [session Code](https://code.claude.com/docs/fr/desktop.md#environment-configuration) ou une [session Cowork](https://code.claude.com/docs/fr/managed-settings.md#where-and-when-a-policy-applies), 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](https://code.claude.com/docs/fr/managed-settings.md#let-an-embedding-host-add-policy) 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`](https://code.claude.com/docs/fr/skills#names-reserved-for-synced-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](https://code.claude.com/docs/fr/skills.md#when-only-managed-permission-rules-apply).

* **Portée** : [`Managed`](#scopes)
* **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

```json managed-settings.json theme={null}
{
  "allowManagedPermissionRulesOnly": true
}
```

Cette clé ne verrouille pas la liste d'autorisation du serveur MCP ; pour cela, définissez [`allowManagedMcpServersOnly`](#allowmanagedmcpserversonly). Consultez [Paramètres gérés uniquement](https://code.claude.com/docs/fr/managed-settings.md#managed-only-settings).

### `autoMode`

Ajoutez vos propres règles à ce que le classificateur du [mode auto](https://code.claude.com/docs/fr/permission-modes.md#eliminate-prompts-with-auto-mode) 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](https://code.claude.com/docs/fr/auto-mode-config.md#inspect-the-defaults-and-your-effective-config). 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`](#scopes)
* **Type** : objet avec des tableaux `environment`, `allow`, `soft_deny` et `hard_deny` de règles en prose, plus le Booléen [`classifyAllShell`](#automode-classifyallshell)
* **Défaut** : non défini, donc le classificateur utilise uniquement ses [règles intégrées](https://code.claude.com/docs/fr/auto-mode-config.md#inspect-the-defaults-and-your-effective-config)

Cet exemple conserve les règles `soft_deny` intégrées, via `"$defaults"`, et en ajoute une qui bloque `terraform apply` :

```json settings.json theme={null}
{
  "autoMode": {
    "soft_deny": ["$defaults", "Never run terraform apply"]
  }
}
```

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](https://code.claude.com/docs/fr/auto-mode-config.md).

### `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](https://code.claude.com/docs/fr/sandboxing.md#per-command-allowed-domains-in-auto-mode). 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`](#scopes). Lisez partout où [`autoMode`](#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](https://code.claude.com/docs/fr/sandboxing.md#per-command-allowed-domains-in-auto-mode), et chaque autre commande shell le traverse
* **Défaut** : `false`

```json settings.json theme={null}
{
  "autoMode": {
    "classifyAllShell": true
  }
}
```

Consultez [Router toutes les commandes shell via le classificateur](https://code.claude.com/docs/fr/auto-mode-config.md#route-all-shell-commands-through-the-classifier).

### `disableAutoMode`

Supprimez le [mode auto](https://code.claude.com/docs/fr/permission-modes.md#eliminate-prompts-with-auto-mode) du cycle `Shift+Tab`. Toute session qui démarrerait autrement [en mode auto](https://code.claude.com/docs/fr/permission-modes.md#which-mode-a-session-starts-in), 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`](#scopes). Plus utile dans [les paramètres gérés](https://code.claude.com/docs/fr/managed-settings.md), 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

```json settings.json theme={null}
{
  "disableAutoMode": "disable"
}
```

### `permissions`

Contrôlez quels outils Claude peut utiliser sans demander, lesquels invitent toujours, et lesquels sont bloqués, et définissez le [mode de permission](https://code.claude.com/docs/fr/permission-modes.md) qu'une session démarre. Chaque clé `permissions.*` ci-dessous s'imbrique sous cet objet.

* **Portée** : [`Any file`](#scopes)
* **Type** : objet avec `allow`, `ask`, `deny`, `additionalDirectories`, `blockReadsOutsideWorkingDirectories`, `defaultMode`, `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` :

```json settings.json theme={null}
{
  "permissions": {
    "allow": ["Bash(npm run *)"],
    "ask": ["Bash(git push *)"],
    "deny": ["Read(./.env)"],
    "defaultMode": "acceptEdits"
  }
}
```

Les trois tableaux de règles partagent une syntaxe ; consultez [Syntaxe des règles de permission](#permission-rule-syntax) 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](https://code.claude.com/docs/fr/permissions.md#settings-precedence) ; pour comment les clés de paramètres en général se combinent, consultez [Priorité des paramètres](https://code.claude.com/docs/fr/settings.md#settings-precedence) 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](https://code.claude.com/docs/fr/permission-modes.md#critical-paths). 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`](#scopes). Un dépôt ne peut pas l'éteindre pour vous.
* **Type** : Booléen
  * `true` : identique à non défini ; quand le mode auto est disponible, le classificateur examine chaque commande shell pendant la planification au lieu de vous l'inviter, sauf [les suppressions de chemin critique](https://code.claude.com/docs/fr/permission-modes.md#critical-paths). Un `false` dans l'un de ces fichiers l'éteint toujours
  * `false` : vous obtenez une invite de permission pour chaque commande en dehors de l'ensemble intégré en lecture seule
* **Défaut** : `true`

```json settings.json theme={null}
{
  "useAutoModeDuringPlan": false
}
```

### `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`](#scopes)
* **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 :

```json settings.json theme={null}
{
  "permissions": {
    "allow": ["Bash(git diff *)", "Read(~/.zshrc)"]
  }
}
```

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](https://code.claude.com/docs/fr/permissions.md#project-allow-rules-and-workspace-trust) 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](https://code.claude.com/docs/fr/permissions.md#manage-permissions).

Chaque ligne montre une forme de règle et ce qu'elle correspond.

| Règle | Ce qu'elle correspond |
| :- | :- |
| `Bash` | Chaque commande Bash |
| `Bash(npm run *)` | Commandes commençant par `npm run` |
| `Read(./.env)` | Lectures du fichier `.env` |
| `WebFetch(domain:example.com)` | Demandes de récupération vers example.com |

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](https://code.claude.com/docs/fr/permissions.md#permission-rule-syntax).

### `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`](#scopes)
* **Type** : tableau de chaînes de règles de permission
* **Défaut** : non défini

```json settings.json theme={null}
{
  "permissions": {
    "ask": ["Bash(git push *)"]
  }
}
```

### `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](https://code.claude.com/docs/fr/permissions.md#read-and-edit) 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](https://code.claude.com/docs/fr/permissions.md#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](https://code.claude.com/docs/fr/sandboxing.md).

* **Portée** : [`Any file`](#scopes)
* **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` :

```json settings.json theme={null}
{
  "permissions": {
    "deny": [
      "Read(./.env)",
      "Read(./.env.*)",
      "Read(./secrets/**)",
      "Read(./config/credentials.json)",
      "Bash(curl *)"
    ]
  }
}
```

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`](https://code.claude.com/docs/fr/tools-reference#endconversation-tool-behavior) 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](https://code.claude.com/docs/fr/permissions.md#bash-rule-limits). 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](https://code.claude.com/docs/fr/permissions.md#working-directories) supplémentaires. La plupart de la configuration `.claude/` n'est [pas découverte](https://code.claude.com/docs/fr/permissions.md#additional-directories-grant-file-access-not-configuration) de ces répertoires.

* **Portée** : [`Any file`](#scopes), avec des [limites sur l'accès en écriture du sandbox](https://code.claude.com/docs/fr/sandboxing.md#repository-settings-under-an-admin-required-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é

```json settings.json theme={null}
{
  "permissions": {
    "additionalDirectories": ["../docs/"]
  }
}
```

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](https://code.claude.com/docs/fr/permissions.md#project-allow-rules-and-workspace-trust) pour ce dossier.

### `permissions.blockReadsOutsideWorkingDirectories`

Faites refuser les lectures en dehors de vos [répertoires de travail](https://code.claude.com/docs/fr/permissions.md#working-directories) 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](https://code.claude.com/docs/fr/permission-modes.md#actions-no-mode-auto-approves) couvre quand une commande shell qui lit un tel chemin vous invite
* [Les commandes sandboxées sous le blocage](#sandboxed-commands-under-the-block) couvre ce qu'une commande sandboxée peut lire

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](https://code.claude.com/docs/fr/sandboxing.md) 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](https://code.claude.com/docs/fr/permission-modes.md#first-read-outside-the-working-directories).

* **Portée** : [`Any file`](#scopes). 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](https://code.claude.com/docs/fr/permission-modes.md)

```json settings.json theme={null}
{
  "permissions": {
    "blockReadsOutsideWorkingDirectories": true
  }
}
```

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`](#automemorydirectory) provient du `.claude/settings.json` du projet, ou d'un `.claude/settings.local.json` [traité comme fourni par le dépôt](https://code.claude.com/docs/fr/permissions.md#when-your-local-settings-file-needs-trust), Claude Code ne charge aucune [mémoire automatique](https://code.claude.com/docs/fr/memory.md#storage-location) de ce répertoire et n'en enregistre aucune.

Pour lever le blocage, supprimez la clé de chaque fichier de paramètres qui la définit, puis démarrez une nouvelle session.

#### Commandes sandboxées sous le blocage

Quand le [sandboxing](https://code.claude.com/docs/fr/sandboxing.md) 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](https://code.claude.com/docs/fr/worktrees.md) 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](https://code.claude.com/docs/fr/worktrees.md) 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`](#sandbox-filesystem-disabled)
* [`allowManagedReadPathsOnly`](#sandbox-filesystem-allowmanagedreadpathsonly) est défini
* Le chemin du répertoire dans lequel vous avez démarré Claude Code contient un caractère glob comme `*`, `?` ou `[`

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`](#sandbox-filesystem-denyread). Une entrée `denyRead` qui couvre un fichier a toujours priorité sur cette réouverture.

### `permissions.defaultMode`

Définissez le [mode de permission](https://code.claude.com/docs/fr/permission-modes.md) que les nouvelles sessions démarrent. Quand vous le laissez non défini, les sessions démarrent dans la [valeur par défaut intégrée](https://code.claude.com/docs/fr/permission-modes.md#which-mode-a-session-starts-in) pour votre surface.

* **Portée** : [`Any file`](#scopes). `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](https://code.claude.com/docs/fr/plugins/mods/overview.md) que vous avez installé puisse toujours approuver [certains de ces appels](https://code.claude.com/docs/fr/permissions.md#precedence-among-rules-hooks-and-mods). 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](https://code.claude.com/docs/fr/permissions.md#network-paths)
  * `"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

```json settings.json theme={null}
{
  "permissions": {
    "defaultMode": "acceptEdits"
  }
}
```

Les règles de permission se superposent à chaque mode : les règles `deny` bloquent dans chaque mode, y compris `bypassPermissions`. Consultez [Modes de permission](https://code.claude.com/docs/fr/permission-modes.md). 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](https://code.claude.com/docs/fr/permission-modes.md#switch-permission-modes).

### `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](https://code.claude.com/docs/fr/sub-agents.md#permission-modes), donc le sous-agent s'exécute avec le mode de permission de la session parent.

* **Portée** : [`Any file`](#scopes). Généralement défini dans [les paramètres gérés](https://code.claude.com/docs/fr/managed-settings.md) 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

```json settings.json theme={null}
{
  "permissions": {
    "disableBypassPermissionsMode": "disable"
  }
}
```

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](https://code.claude.com/docs/fr/permission-modes.md#eliminate-prompts-with-auto-mode) 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`](#scopes). 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

```json settings.json theme={null}
{
  "skipAutoPermissionPrompt": true
}
```

### `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`](#scopes). 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

```json settings.json theme={null}
{
  "skipDangerousModePermissionPrompt": true
}
```

## 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](https://code.claude.com/docs/fr/sandboxing.md).

### `sandbox`

Isolez les commandes Bash que Claude exécute de votre système de fichiers et de votre réseau avec [sandboxing](https://code.claude.com/docs/fr/sandboxing.md). 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`](#scopes)
* **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 :

```json settings.json theme={null}
{
  "sandbox": {
    "enabled": true,
    "autoAllowBashIfSandboxed": true,
    "excludedCommands": ["docker *"],
    "filesystem": {
      "allowWrite": ["/tmp/build", "~/.kube"],
      "denyRead": ["~/.aws/credentials"]
    },
    "network": {
      "allowedDomains": ["github.com", "*.npmjs.org"]
    }
  }
}
```

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](https://code.claude.com/docs/fr/sandboxing.md#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](https://code.claude.com/docs/fr/sandboxing.md#enforce-sandboxing-with-managed-settings).

### `sandbox.enabled`

Activez [sandboxing](https://code.claude.com/docs/fr/sandboxing.md) 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`](#scopes), avec des [limites sur les paramètres de projet et locaux](https://code.claude.com/docs/fr/sandboxing.md#repository-settings-under-an-admin-required-sandbox)
* **Type** : Booléen
  * `true` : Claude Code met en sandbox les commandes Bash
  * `false` : les commandes Bash s'exécutent sans sandbox
* **Default** : `false`

```json settings.json theme={null}
{
  "sandbox": {
    "enabled": true
  }
}
```

Sur Linux et WSL2, le sandbox a besoin de `bubblewrap` et `socat` ; consultez [Set up Linux and WSL2](https://code.claude.com/docs/fr/sandboxing.md#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).

### `sandbox.failIfUnavailable`

Faites en sorte que Claude Code se termine avec une erreur au démarrage lorsque `sandbox.enabled` est `true` mais que le sandbox ne peut pas démarrer, car une dépendance est manquante ou la plateforme n'est pas supportée. Sans cette clé, Claude Code exécute les commandes sans 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](https://code.claude.com/docs/fr/sandboxing.md#enforce-sandboxing-with-managed-settings).

* **Scope** : [`Any file`](#scopes), avec des [limites sur les paramètres de projet et locaux](https://code.claude.com/docs/fr/sandboxing.md#repository-settings-under-an-admin-required-sandbox)
* **Type** : Booléen
  * `true` : Claude Code se termine avec une erreur au démarrage lorsque `sandbox.enabled` est `true` mais que le sandbox ne peut pas démarrer
  * `false` : Claude Code exécute les commandes sans sandbox lorsque le sandbox ne peut pas démarrer
* **Default** : `false`

Ceci fait en sorte que chaque machine gérée mette en sandbox les commandes ou refuse de démarrer :

```json managed-settings.json theme={null}
{
  "sandbox": {
    "enabled": true,
    "failIfUnavailable": true
  }
}
```

Consultez [Enforce sandboxing with managed settings](https://code.claude.com/docs/fr/sandboxing.md#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`](#scopes)
* **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](https://code.claude.com/docs/fr/sandboxing.md#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 :

```json settings.json theme={null}
{
  "sandbox": {
    "enabled": true,
    "autoAllowBashIfSandboxed": false
  }
}
```

Consultez [Auto-allow mode](https://code.claude.com/docs/fr/sandboxing.md#auto-allow-mode) pour savoir sur quoi le mode auto-allow demande toujours et comment il se comporte en mode plan.

### `sandbox.excludedCommands`

Nommez les commandes que Claude Code exécute en dehors du sandbox, comme les outils qui ne fonctionnent pas sous celui-ci. Chaque entrée utilise la même syntaxe que le contenu d'une [règle de permission](https://code.claude.com/docs/fr/permissions.md#permission-rule-syntax) `Bash(...)` : une commande exacte, un préfixe tel que `docker *`, ou un motif avec caractères génériques. Un motif sans caractère générique est une correspondance exacte, donc `docker` ne correspond qu'à `docker` sans arguments.

Vos entrées sortent un appel Bash du sandbox uniquement lorsqu'elles couvrent chaque commande dedans, et certaines formes d'appel restent en sandbox même dans ce cas. Une entrée `docker *` seule ne sort pas `npm ci && docker build .` du sandbox.

* **Scope** : [`Any file`](#scopes), avec des [limites sur les paramètres de projet et locaux](https://code.claude.com/docs/fr/sandboxing.md#repository-settings-under-an-admin-required-sandbox)
* **Type** : tableau de motifs de commande
* **Default** : non défini, donc aucune commande n'est exclue

```json settings.json theme={null}
{
  "sandbox": {
    "excludedCommands": ["docker *"]
  }
}
```

Claude Code garde un appel Bash en sandbox lorsqu'il a l'une de ces formes, parmi d'autres :

* Une commande commençant par `sudo`, `eval` ou `xargs`
* Un `cd`, `pushd` ou `popd`, où qu'il apparaisse dans l'appel
* Une substitution de commande, un sous-shell ou un bloc de contrôle de flux tel que `if` ou `for`
* Une redirection, comme `docker build . > build.log`, autre qu'une qui duplique uniquement un descripteur de fichier, comme `2>&1` le fait
* Un nom de commande qui provient d'une variable
* Un `git clone`, `git init`, `git worktree add`, `git worktree move` ou `git bundle create` avec un argument de chemin qui est absolu, commence par `~` ou contient un segment `..`

Par exemple, `cd build && docker compose up` reste en sandbox sous une entrée `docker *`, et ajouter une entrée `cd` ne change pas cela. Sous une entrée `git *`, `git clone <url> vendor/lib` s'exécute en dehors du sandbox, mais `git clone <url> ~/tools` reste en sandbox. Un clone écrit toute une arborescence de fichiers, éventuellement exécutables, à l'endroit où pointe son chemin de destination.

Les commandes exclues passent toujours par le flux de permission régulier. L'exclusion est une commodité, pas une limite de sécurité : lorsqu'un outil ne doit écrire que quelque part de spécifique, [`filesystem.allowWrite`](#sandbox-filesystem-allowwrite) le garde en sandbox.

Les entrées des portées de paramètres que la session charge se combinent en une seule liste, sauf si le sandbox est [exigé par l'administrateur](https://code.claude.com/docs/fr/sandboxing.md#repository-settings-under-an-admin-required-sandbox). Dans ce cas, Claude Code ignore les entrées de `.claude/settings.json` et `.claude/settings.local.json`, afin qu'un dépôt cloné ne puisse pas sortir des commandes du sandbox. Les entrées des paramètres gérés, de `--settings` et de votre `~/.claude/settings.json` s'appliquent toujours, et aucun verrou réservé aux paramètres gérés ne couvre cette liste.

### `sandbox.allowUnsandboxedCommands`

Laissez Claude réessayer une commande en dehors du sandbox avec le paramètre `dangerouslyDisableSandbox` après que le sandbox l'ait bloquée. Lorsqu'elle vaut `false`, Claude Code ignore ce paramètre. Tant que le sandbox est en cours d'exécution, les commandes que Claude exécute sont alors en sandbox, sauf si elles correspondent à une entrée [`excludedCommands`](#sandbox-excludedcommands). L'onglet **Overrides** de `/sandbox` affiche cet état comme **Strict sandbox mode**. Un `false` dans les paramètres gérés active le mode sandbox strict pour les développeurs qu'ils couvrent.

* **Scope** : [`Any file`](#scopes), avec une [limite sur les paramètres de projet et locaux](https://code.claude.com/docs/fr/sandboxing.md#turn-off-the-retry-with-strict-sandbox-mode)
* **Type** : Booléen
  * `true` : Claude peut réessayer une commande en dehors du sandbox avec le paramètre `dangerouslyDisableSandbox` après que le sandbox l'ait bloquée
  * `false` : Claude Code ignore ce paramètre, donc tant que le sandbox est en cours d'exécution, les commandes que Claude exécute sont en sandbox, sauf si elles correspondent à une entrée `excludedCommands`
* **Default** : `true`

Ceci applique le mode sandbox strict pour tous les utilisateurs couverts par les paramètres gérés :

```json managed-settings.json theme={null}
{
  "sandbox": {
    "enabled": true,
    "allowUnsandboxedCommands": false
  }
}
```

Un `false` provenant des paramètres gérés ou de `--settings` rend également le sandbox [exigé par l'administrateur](https://code.claude.com/docs/fr/sandboxing.md#repository-settings-under-an-admin-required-sandbox). Un `false` dans vos paramètres utilisateur prévaut sur le `true` d'un projet, mais ne rend pas le sandbox exigé par l'administrateur. Prévaloir sur la valeur d'un projet nécessite Claude Code v2.1.285 ou ultérieur.

Qui approuve une nouvelle tentative sans sandbox dépend de votre mode de permission et de vos règles d'autorisation. Consultez [The unsandboxed retry escape hatch](https://code.claude.com/docs/fr/sandboxing.md#the-unsandboxed-retry-escape-hatch).

Pour voir quand les commandes que vous tapez vous-même à l'[invite de commandes du mode shell `!`](https://code.claude.com/docs/fr/interactive-mode#shell-mode-with-prefix) s'exécutent en sandbox, consultez [strict sandbox mode](https://code.claude.com/docs/fr/sandboxing.md#turn-off-the-retry-with-strict-sandbox-mode).

### `sandbox.filesystem`

Contrôlez les chemins que les commandes en sandbox peuvent lire et écrire. Par défaut, elles peuvent écrire dans le répertoire de travail, le répertoire temporaire propre à l'utilisateur et les répertoires que vous ajoutez avec `--add-dir`, `/add-dir` ou `permissions.additionalDirectories`, et peuvent lire le reste du système de fichiers, y compris les fichiers d'identifiants. Élargissez ou réduisez cela avec les quatre listes de chemins, ou désactivez la couche du système de fichiers avec `disabled`. Consultez [Filesystem isolation](https://code.claude.com/docs/fr/sandboxing.md#filesystem-isolation) pour les limites par défaut.

* **Scope** : [`Any file`](#scopes)
* **Type** : objet avec les tableaux `allowWrite`, `denyWrite`, `denyRead` et `allowRead`, plus les booléens `allowManagedReadPathsOnly` et `disabled`
* **Default** : non défini, donc les limites de lecture et d'écriture par défaut s'appliquent

Ceci permet aux commandes en sandbox d'écrire dans un répertoire de build et votre kubeconfig, et masque votre fichier d'identifiants AWS :

```json settings.json theme={null}
{
  "sandbox": {
    "filesystem": {
      "allowWrite": ["/tmp/build", "~/.kube"],
      "denyRead": ["~/.aws/credentials"]
    }
  }
}
```

Claude Code applique ces listes à la limite du sandbox du système d'exploitation, donc elles s'appliquent à chaque sous-processus qu'une commande en sandbox démarre, comme `kubectl`, `terraform` ou `npm`. Claude Code ajoute vos [règles de permission](https://code.claude.com/docs/fr/sandboxing.md#permission-rules) aux mêmes listes : les règles `Edit` allow et deny à `allowWrite` et `denyWrite`, les règles `Read` deny à `denyRead`, et les règles `WebFetch(domain:...)` allow et deny aux listes de domaines [`network`](#sandbox-network).

Sauf si un verrou s'applique, Claude Code fusionne ces listes dans les fichiers de paramètres que la session charge. [`allowManagedReadPathsOnly`](#sandbox-filesystem-allowmanagedreadpathsonly) limite `allowRead` aux entrées des paramètres gérés, et [`allowManagedDomainsOnly`](#sandbox-network-allowmanageddomainsonly) fait la même chose pour les domaines autorisés. Les [verrous de dépôt](https://code.claude.com/docs/fr/sandboxing.md#repository-settings-under-an-admin-required-sandbox) laissent de côté les entrées des fichiers de paramètres d'un dépôt.

[Configure sandboxing](https://code.claude.com/docs/fr/sandboxing.md#configure-sandboxing) couvre les sources que vous excluez avec `--setting-sources`. Lorsque vous modifiez une liste pendant une session, Claude Code [applique la modification à la session en cours d'exécution](https://code.claude.com/docs/fr/settings.md#when-edits-take-effect).

#### Préfixes de chemin du sandbox

Les chemins dans `allowWrite`, `denyWrite`, `denyRead`, `allowRead` et [`credentials.files`](#sandbox-credentials-files) se résolvent par leur préfixe :

| Préfixe | Signification | Exemple |
| :- | :- | :- |
| `/` | Chemin absolu à partir de la racine du système de fichiers | `/tmp/build` reste `/tmp/build` |
| `~/` | Relatif au répertoire personnel | `~/.kube` devient `$HOME/.kube` |
| `./` ou pas de préfixe | Relatif à la racine du projet pour les paramètres du projet, ou à `~/.claude` pour les paramètres utilisateur | `./output` dans `.claude/settings.json` se résout en `<project-root>/output` |

Le préfixe `//path` pour les chemins absolus fonctionne également. Si vous utilisez `/path` simple en attendant une résolution relative au projet, passez à `./path`. Cette syntaxe diffère des [règles de permission Read et Edit](https://code.claude.com/docs/fr/permissions.md#read-and-edit), qui utilisent `//path` pour absolu et `/path` pour relatif au projet : les chemins du système de fichiers du sandbox utilisent des conventions standard, donc `/tmp/build` est un chemin absolu.

Claude Code supprime une barre oblique finale d'un chemin de répertoire, donc `~/.aws` et `~/.aws/` correspondent au même répertoire. Avant v2.1.224, Claude Code transmettait la barre oblique finale au sandbox, et Claude pouvait toujours lire ou écrire des chemins sous une entrée `denyRead` ou `denyWrite` écrite avec une.

Claude Code supprime également un `/**` final, donc `~/build/**` et `~/build` couvrent le même répertoire. Le fait qu'un caractère générique tel que `*` fonctionne dépend de la liste dans laquelle se trouve l'entrée et de la plateforme :

* **`allowWrite` et `denyWrite`** : sur macOS, les caractères génériques fonctionnent. Sur Linux et WSL2, le sandbox monte des chemins concrets, donc Claude Code ignore une entrée qui contient `*`, `?` ou `[` une fois que le `/**` final est supprimé, et cette entrée n'a aucun effet. Claude Code ajoute les chemins de vos règles de permission `Edit` à ces listes, donc la même limite s'applique à elles, et l'onglet **Config** de `/sandbox` avertit des règles de permission `Edit` et `Read` qui contiennent des caractères génériques.
* **`denyRead` et `allowRead`** : les caractères génériques fonctionnent sur chaque plateforme. Sur Linux et WSL2, Claude Code développe une entrée de lecture aux chemins concrets qu'elle correspond, ce qu'il ne fait pas pour les listes d'écriture.

Les accolades correspondent à des caractères ordinaires dans un nom, donc `~/data/{keys,tokens}` couvre un répertoire littéralement nommé `{keys,tokens}`, et non deux alternatives. Pour couvrir `~/data/keys` et `~/data/tokens`, ajoutez chacun comme une entrée distincte.

### `sandbox.filesystem.allowWrite`

Ajoutez des chemins où les commandes en sandbox peuvent écrire, au-delà du répertoire de travail, du répertoire temporaire propre à l'utilisateur et des répertoires que vous avez ajoutés avec `--add-dir`, `/add-dir` ou `permissions.additionalDirectories`. Utilisez-le lorsqu'un sous-processus tel que `kubectl` ou un outil de build doit écrire en dehors du projet.

* **Scope** : [`Any file`](#scopes), avec des [limites sur les paramètres de projet et locaux](https://code.claude.com/docs/fr/sandboxing.md#repository-settings-under-an-admin-required-sandbox)
* **Type** : tableau de chaînes de chemin, utilisant les [préfixes de chemin du sandbox](#sandbox-path-prefixes)
* **Default** : non défini, donc les commandes en sandbox peuvent écrire dans le répertoire de travail, le répertoire temporaire propre à l'utilisateur, les répertoires que vous avez ajoutés avec `--add-dir` ou `/add-dir`, et les répertoires dans [`permissions.additionalDirectories`](#permissions-additionaldirectories)

Ceci permet à un build d'écrire sous `/tmp/build` et permet à `kubectl` de mettre à jour votre kubeconfig :

```json settings.json theme={null}
{
  "sandbox": {
    "filesystem": {
      "allowWrite": ["/tmp/build", "~/.kube"]
    }
  }
}
```

Claude Code fusionne les entrées `allowWrite` et les chemins de vos règles de permission `Edit(...)` allow dans les portées de paramètres que la session charge, en laissant de côté ceux des paramètres du dépôt tant que [`permissions.blockReadsOutsideWorkingDirectories`](#sandboxed-commands-under-the-block) est activé. Les [verrous de dépôt](https://code.claude.com/docs/fr/sandboxing.md#repository-settings-under-an-admin-required-sandbox) peuvent également laisser de côté les entrées d'un dépôt. Une entrée `allowWrite` ne peut pas lever un [chemin protégé](https://code.claude.com/docs/fr/sandboxing.md#protected-paths).

### `sandbox.filesystem.denyWrite`

Bloquez les commandes en sandbox d'écrire dans des chemins spécifiques, y compris les chemins à l'intérieur d'un répertoire qui est autrement accessible en écriture.

* **Scope** : [`Any file`](#scopes)
* **Type** : tableau de chaînes de chemin, utilisant les [préfixes de chemin du sandbox](#sandbox-path-prefixes)
* **Default** : non défini

Ceci empêche les commandes en sandbox de modifier la configuration système ou d'installer des binaires :

```json settings.json theme={null}
{
  "sandbox": {
    "filesystem": {
      "denyWrite": ["/etc", "/usr/local/bin"]
    }
  }
}
```

Claude Code fusionne les entrées dans chaque portée de paramètres que la session charge, et ajoute les chemins de vos règles de permission `Edit(...)` deny.

### `sandbox.filesystem.denyRead`

Bloquez les commandes en sandbox de lire des chemins spécifiques, comme les fichiers d'identifiants que la politique de lecture par défaut exposerait autrement. Pour protéger un fichier d'identifiants et le garder utilisable via le proxy du sandbox, consultez [`sandbox.credentials`](#sandbox-credentials) à la place.

* **Scope** : [`Any file`](#scopes)
* **Type** : tableau de chaînes de chemin, utilisant les [préfixes de chemin du sandbox](#sandbox-path-prefixes)
* **Default** : non défini, donc les commandes en sandbox conservent l'[accès en lecture par défaut](https://code.claude.com/docs/fr/sandboxing.md#filesystem-isolation), qui inclut les fichiers d'identifiants tels que `~/.aws/credentials`

```json settings.json theme={null}
{
  "sandbox": {
    "filesystem": {
      "denyRead": ["~/.aws/credentials"]
    }
  }
}
```

Claude Code fusionne les entrées dans chaque portée de paramètres que la session charge, et ajoute les chemins de vos règles de permission `Read(...)` deny. Lorsque [`filesystem.disabled`](#sandbox-filesystem-disabled) est `true`, Claude Code n'applique pas ces entrées.

### `sandbox.filesystem.allowRead`

Rouvrez la lecture pour des chemins spécifiques à l'intérieur d'une région que [`denyRead`](#sandbox-filesystem-denyread) bloque, pour construire un accès en lecture réservé à l'espace de travail. Une entrée `denyRead` exacte ou avec caractères génériques reste bloquée à l'intérieur d'une `allowRead` plus large, comme le montre le [tableau de chevauchement](https://code.claude.com/docs/fr/sandboxing.md#configure-sandboxing). Lorsqu'une entrée `denyRead` avec caractères génériques telle que `~/**/.env` correspond à un répertoire, Claude Code bloque également les lectures de son contenu. Avant v2.1.236 sur macOS, Claude Code rouvrait les chemins qu'une entrée `denyRead` avec caractères génériques correspondait partout où une entrée `allowRead` plus large les couvrait, et laissait le contenu d'un répertoire correspondant lisible.

* **Scope** : [`Any file`](#scopes), avec des [limites sur les paramètres de projet et locaux](https://code.claude.com/docs/fr/sandboxing.md#repository-settings-under-an-admin-required-sandbox)
* **Type** : tableau de chaînes de chemin, utilisant les [préfixes de chemin du sandbox](#sandbox-path-prefixes)
* **Default** : non défini

Ceci bloque les lectures de votre répertoire personnel sauf le projet lui-même :

```json settings.json theme={null}
{
  "sandbox": {
    "filesystem": {
      "denyRead": ["~/"],
      "allowRead": ["."]
    }
  }
}
```

Claude Code résout une entrée `.` à la racine du projet dans les paramètres du projet et à `~/.claude` dans les paramètres utilisateur. Claude Code fusionne les entrées dans les fichiers de paramètres que la session charge sauf si [`allowManagedReadPathsOnly`](#sandbox-filesystem-allowmanagedreadpathsonly) est défini, et laisse de côté les entrées des paramètres du dépôt tant que [`permissions.blockReadsOutsideWorkingDirectories`](#sandboxed-commands-under-the-block) est activé. Les [verrous de dépôt](https://code.claude.com/docs/fr/sandboxing.md#repository-settings-under-an-admin-required-sandbox) peuvent également laisser de côté les entrées d'un dépôt.

### `sandbox.filesystem.allowManagedReadPathsOnly`

Honorez uniquement les entrées [`allowRead`](#sandbox-filesystem-allowread) qui proviennent des paramètres gérés, afin que les développeurs ne puissent pas rouvrir l'accès en lecture aux chemins que votre organisation a bloqués. Claude Code fusionne toujours les entrées `denyRead` de chaque portée de paramètres que la session charge.

* **Scope** : [`Managed`](#scopes)
* **Type** : Booléen
  * `true` : Claude Code honore uniquement les entrées `allowRead` des paramètres gérés
  * `false` : les entrées `allowRead` d'autres fichiers de paramètres peuvent être fusionnées
* **Default** : `false`

Ceci bloque les lectures du répertoire personnel, rouvre `~/work`, et empêche les développeurs de rouvrir autre chose :

```json managed-settings.json theme={null}
{
  "sandbox": {
    "filesystem": {
      "denyRead": ["~/"],
      "allowRead": ["~/work"],
      "allowManagedReadPathsOnly": true
    }
  }
}
```

Consultez [Keep developers from widening the policy](https://code.claude.com/docs/fr/sandboxing.md#keep-developers-from-widening-the-policy).

### `sandbox.filesystem.disabled`

Ignorez l'isolation du système de fichiers tout en conservant l'isolation du réseau. Les commandes en sandbox obtiennent un accès en lecture et écriture sans restriction au système de fichiers hôte, et leur sortie réseau reste confinée à [`network.allowedDomains`](#sandbox-network-alloweddomains). Utilisez-le lorsque vous mettez en sandbox pour contrôler où les commandes se connectent plutôt que ce qu'elles écrivent. Nécessite Claude Code v2.1.216 ou ultérieur.

* **Scope** : [`User or managed`](#scopes). Lorsque les paramètres gérés configurent `sandbox.filesystem` du tout, ou listent une entrée `sandbox.credentials.files` avec `"mode": "deny"`, seuls les paramètres gérés peuvent la définir.
* **Type** : Booléen
  * `true` : Claude Code ignore l'isolation du système de fichiers et conserve l'isolation du réseau
  * `false` : l'isolation du système de fichiers reste activée
* **Default** : `false`, donc l'isolation du système de fichiers reste activée

Ceci laisse le système de fichiers ouvert et confine la sortie réseau à GitHub et npm :

```json settings.json theme={null}
{
  "sandbox": {
    "enabled": true,
    "filesystem": {
      "disabled": true
    },
    "network": {
      "allowedDomains": ["github.com", "*.npmjs.org"]
    }
  }
}
```

Avec la couche désactivée, Claude Code n'applique pas les entrées `denyRead` ou `credentials.files` `deny`, tandis que les entrées `credentials.envVars` et les entrées `mask` appliquées continuent de fonctionner. [`autoAllowBashIfSandboxed`](#sandbox-autoallowbashifsandboxed) utilise toujours `true` par défaut, donc définissez-le sur `false` pour continuer à demander. Consultez [Disable filesystem isolation](https://code.claude.com/docs/fr/sandboxing.md#disable-filesystem-isolation) pour la liste complète des sources qui peuvent la définir et ce qui change lorsque l'isolation est désactivée. Nécessite Claude Code v2.1.216 ou ultérieur.

### `sandbox.ignoreViolations`

Silence les rapports de violation du sandbox pour les chemins qu'une commande est censée sonder et se voir refuser, comme un outil qui vérifie `/etc/hosts` au démarrage, afin que ces refus ne s'affichent pas comme des violations ou dans ce que Claude voit. Le sandbox bloque toujours l'accès ; seul le rapport est supprimé. Les clés sont des sous-chaînes à faire correspondre avec la commande, avec `*` correspondant à chaque commande, et les valeurs sont des sous-chaînes de la violation à ignorer pour cette commande, comme un chemin du système de fichiers.

* **Scope** : [`Any file`](#scopes), avec des [limites sur les paramètres de projet et locaux](https://code.claude.com/docs/fr/sandboxing.md#repository-settings-under-an-admin-required-sandbox)
* **Type** : objet mappant une sous-chaîne de commande à un tableau de sous-chaînes de violation, généralement des chemins
* **Default** : non défini, donc chaque violation est signalée

```json settings.json theme={null}
{
  "sandbox": {
    "ignoreViolations": {
      "*": ["/etc/hosts"]
    }
  }
}
```

### `sandbox.enableWeakerNestedSandbox`

Exécutez le sandbox Linux à l'intérieur d'un conteneur Docker sans privilèges, où bubblewrap ne peut pas monter un `/proc` frais. À la place, le sandbox interne lie-monte le `/proc` existant du conteneur, ce qui expose les informations de processus qu'un montage frais cacherait. Ceci réduit la sécurité ; utilisez-le uniquement lorsque le conteneur externe fournit déjà l'isolation dont vous avez besoin.

* **Scope** : [`Any file`](#scopes), avec des [limites sur les paramètres de projet et locaux](https://code.claude.com/docs/fr/sandboxing.md#repository-settings-under-an-admin-required-sandbox)
* **Type** : Booléen
  * `true` : le sandbox interne lie-monte le `/proc` existant du conteneur au lieu de monter un frais
  * `false` : le sandbox monte un `/proc` frais, ce qui ne fonctionne pas dans un conteneur Docker sans privilèges
* **Default** : `false`

```json settings.json theme={null}
{
  "sandbox": {
    "enabled": true,
    "enableWeakerNestedSandbox": true
  }
}
```

Linux et WSL2 uniquement. Consultez [Bubblewrap fails to start inside a container](https://code.claude.com/docs/fr/sandboxing.md#bubblewrap-fails-to-start-inside-a-container).

### `sandbox.enableWeakerNetworkIsolation`

Laissez les commandes en sandbox sur macOS atteindre le service de confiance TLS système, `com.apple.trustd.agent`. Les outils basés sur Go tels que `gh`, `gcloud` et `terraform` en ont besoin pour vérifier les certificats TLS lorsque vous utilisez [`network.httpProxyPort`](#sandbox-network-httpproxyport) avec un proxy MITM et une CA personnalisée. Ceci réduit la sécurité en ouvrant un chemin potentiel d'exfiltration de données via le service de confiance.

* **Scope** : [`Any file`](#scopes), avec des [limites sur les paramètres de projet et locaux](https://code.claude.com/docs/fr/sandboxing.md#repository-settings-under-an-admin-required-sandbox)
* **Type** : Booléen
  * `true` : les commandes en sandbox sur macOS peuvent atteindre `com.apple.trustd.agent`
  * `false` : les commandes en sandbox sur macOS ne peuvent pas atteindre le service de confiance TLS système
* **Default** : `false`

```json settings.json theme={null}
{
  "sandbox": {
    "enabled": true,
    "enableWeakerNetworkIsolation": true
  }
}
```

Si vous n'utilisez pas de proxy MITM, listez plutôt les outils défaillants dans [`excludedCommands`](#sandbox-excludedcommands) ; consultez [Go-based CLIs fail TLS verification on macOS](https://code.claude.com/docs/fr/sandboxing.md#go-based-clis-fail-tls-verification-on-macos).

### `sandbox.allowAppleEvents`

Laissez les commandes en sandbox sur macOS envoyer des Apple Events, que `open`, `osascript` et les outils qui ouvrent des URL dans un navigateur nécessitent ; sans cela, ils échouent avec l'erreur `-600`. Ceci supprime l'isolation de l'exécution du code : les commandes en sandbox peuvent lancer d'autres applications sans sandbox sans demande à l'utilisateur, et peuvent envoyer des commandes AppleScript aux applications en cours d'exécution telles que Terminal, sous réserve de l'invite de consentement d'automatisation macOS par application (TCC).

* **Scope** : [`User or managed`](#scopes)
* **Type** : Booléen
  * `true` : les commandes en sandbox sur macOS peuvent envoyer des Apple Events
  * `false` : les commandes en sandbox sur macOS ne peuvent pas envoyer des Apple Events, donc `open` et `osascript` échouent avec l'erreur `-600`
* **Default** : `false`

```json settings.json theme={null}
{
  "sandbox": {
    "enabled": true,
    "allowAppleEvents": true
  }
}
```

Pour conserver l'isolation et exécuter quand même un tel outil, ajoutez-le à [`excludedCommands`](#sandbox-excludedcommands) à la place. Consultez [Apple Events on macOS](https://code.claude.com/docs/fr/sandboxing.md#security-limitations).

### `sandbox.allowNestedUserNamespaces`

Permettez aux commandes en sandbox sur Linux et WSL2 de créer des espaces de noms utilisateur, dont ont besoin le sandbox propre de Chromium et d'Electron, un bubblewrap imbriqué et `unshare`. Si vous définissez cette clé sur `true`, vous désactivez une frontière de sécurité : du code issu d'une commande en sandbox peut finir par s'exécuter hors du sandbox. Pour Podman ou Buildah en mode rootless, utilisez plutôt [`excludedCommands`](#sandbox-excludedcommands), car le sandbox les bloque aussi d'autres manières. Nécessite Claude Code v2.1.305 ou ultérieur.

* **Portée** : [`User or managed`](#scopes). Une valeur `true` est prise en compte depuis `~/.claude/settings.json`, du JSON transmis avec `--settings`, ou les [paramètres gérés](https://code.claude.com/docs/fr/managed-settings.md). Claude Code ignore une valeur `true` dans le `.claude/settings.json` ou le `.claude/settings.local.json` d'un projet. Dans une session où [`CLAUDE_CODE_SUBPROCESS_ENV_SCRUB`](https://code.claude.com/docs/fr/env-vars#variables) vaut `1`, Claude Code ignore une valeur `true` quelle que soit sa source. Une valeur `false` est prise en compte depuis n'importe quel fichier, selon la [priorité des paramètres](https://code.claude.com/docs/fr/settings.md#settings-precedence).
* **Type** : booléen
  * `true` : les commandes en sandbox peuvent créer des espaces de noms utilisateur
  * `false` : cette clé n'autorise rien de plus, et le comportement par défaut du sandbox s'applique
* **Par défaut** : `false`

```json settings.json theme={null}
{
  "sandbox": {
    "enabled": true,
    "allowNestedUserNamespaces": true
  }
}
```

Lorsque cette clé est activée, ne comptez sur aucune des restrictions du sandbox, y compris les [chemins protégés](https://code.claude.com/docs/fr/sandboxing.md#protected-paths) et les entrées [`credentials.files`](#sandbox-credentials-files), pour arrêter une commande malveillante. En [mode d'autorisation automatique](https://code.claude.com/docs/fr/sandboxing.md#auto-allow-mode), cette commande peut s'exécuter sans demande de permission. Si votre organisation dispose d'une équipe de sécurité, consultez-la avant d'activer cette clé.

Pour trouver la solution adaptée à votre outil, consultez [Chromium ou Podman rootless échoue dans le sandbox sur Linux](https://code.claude.com/docs/fr/sandboxing.md#chromium-or-rootless-podman-fails-inside-the-sandbox-on-linux).

### `sandbox.ripgrep`

Pointez le sandbox vers un binaire ripgrep de votre choix au lieu de celui que Claude Code utilise, par exemple lorsque votre plateforme a besoin d'un `rg` construit différemment.

* **Scope** : [`User or managed`](#scopes)
* **Type** : objet avec `command`, le chemin vers le binaire ripgrep, et optionnellement `args`, un tableau d'arguments à ajouter en préfixe
* **Default** : non défini, donc le sandbox utilise le même binaire ripgrep que Claude Code. C'est le binaire fourni sauf si vous définissez [`USE_BUILTIN_RIPGREP`](https://code.claude.com/docs/fr/env-vars) sur `0`

```json settings.json theme={null}
{
  "sandbox": {
    "ripgrep": {
      "command": "/usr/local/bin/rg"
    }
  }
}
```

### `sandbox.bwrapPath`

Pointez le sandbox vers un binaire bubblewrap installé en dehors de `PATH`, comme une copie vendorisée sur un hôte isolé. Claude Code utilise le chemin à la fois pour la vérification de dépendance au démarrage et lorsqu'il enveloppe chaque commande en sandbox.

* **Scope** : [`Managed`](#scopes). Claude Code le lit uniquement à partir des paramètres gérés afin qu'un fichier utilisateur, projet ou local ne puisse pas pointer le sandbox vers un binaire différent.
* **Type** : chaîne, un chemin absolu ; Claude Code abandonne un chemin relatif et revient à la recherche `PATH`
* **Default** : non défini, donc Claude Code trouve `bwrap` sur `PATH`

```json managed-settings.json theme={null}
{
  "sandbox": {
    "enabled": true,
    "bwrapPath": "/opt/admin/bwrap"
  }
}
```

Linux et WSL2 uniquement.

### `sandbox.socatPath`

Pointez le proxy réseau du sandbox vers un binaire `socat` installé en dehors de `PATH`.

* **Scope** : [`Managed`](#scopes)
* **Type** : chaîne, un chemin absolu ; Claude Code abandonne un chemin relatif et revient à la recherche `PATH`
* **Default** : non défini, donc Claude Code trouve `socat` sur `PATH`

```json managed-settings.json theme={null}
{
  "sandbox": {
    "enabled": true,
    "socatPath": "/opt/admin/socat"
  }
}
```

Linux et WSL2 uniquement.

### `sandbox.credentials`

Déclarez les fichiers d'identifiants et les variables d'environnement à [protéger des commandes en sandbox](https://code.claude.com/docs/fr/sandboxing.md#protect-credentials). Chaque entrée nomme un fichier `path` ou une variable `name` et un `mode` : `deny` masque l'identifiant à l'intérieur du sandbox, et `mask` affiche aux commandes en sandbox un espace réservé tandis que le [proxy du sandbox](https://code.claude.com/docs/fr/sandboxing.md#mask-credentials) substitue la valeur réelle sur les requêtes sortantes. Claude Code protège uniquement les entrées que vous listez ; il n'y a pas de liste de refus d'identifiants intégrée.

* **Scope** : [`Any file`](#scopes). Claude Code honore les entrées `mask`, `allowPlaintextInject`, `awsPairs` et `sigv4` uniquement à partir des paramètres utilisateur, gérés et du flag `--settings`.
* **Type** : objet avec `files`, `envVars`, `allowPlaintextInject`, `awsPairs` et `sigv4`
* **Default** : non défini, donc aucun identifiant n'est protégé

Ceci masque votre fichier d'identifiants AWS et supprime `GITHUB_TOKEN` des commandes en sandbox :

```json settings.json theme={null}
{
  "sandbox": {
    "credentials": {
      "files": [{ "path": "~/.aws/credentials", "mode": "deny" }],
      "envVars": [{ "name": "GITHUB_TOKEN", "mode": "deny" }]
    }
  }
}
```

La protection de fichier `deny` fait partie de la couche du système de fichiers, donc elle ne s'applique pas lorsque vous [désactivez l'isolation du système de fichiers](https://code.claude.com/docs/fr/sandboxing.md#disable-filesystem-isolation) ; la protection de variable d'environnement s'applique toujours.

#### Entrées d'identifiants invalides dans les paramètres gérés

Lorsqu'une entrée `sandbox.credentials` gérée échoue la validation, Claude Code continue de protéger l'identifiant où il peut :

* Une entrée dans `files` ou `envVars` qui a toujours un `path` ou `name` valide et un `mode` de `mask` ou `deny`, comme une dont le motif `extract` n'a pas de groupe de capture, est dégradée à `mode: "deny"` avec un avertissement, donc l'identifiant reste bloqué, pas masqué, jusqu'à ce que vous corrigiez l'entrée. Une entrée `files` dégradée épingle [`filesystem.disabled`](https://code.claude.com/docs/fr/sandboxing#disable-filesystem-isolation) comme une entrée `deny` explicite, et l'avertissement note que son bloc de lecture n'est pas appliqué si les paramètres gérés désactivent l'isolation du système de fichiers.
* Une entrée avec un `mode` inconnu ou un `path` ou `name` invalide est supprimée.
* Chaque cas avertit ; qu'une entrée soit dégradée ou supprimée, les entrées valides restantes sont toujours appliquées.

S'applique en v2.1.191 et ultérieur ; avant v2.1.221, chaque entrée invalide était supprimée. Pour les autres clés gérées avec gestion par champ, consultez [Invalid entries in managed settings](https://code.claude.com/docs/fr/managed-settings.md#invalid-entries-in-managed-settings).

### `sandbox.credentials.files`

Protégez les fichiers ou répertoires d'identifiants des commandes en sandbox. Avec `"mode": "deny"`, Claude Code bloque les lectures du chemin à l'intérieur du sandbox, le même bloc de lecture que [`sandbox.filesystem.denyRead`](#sandbox-filesystem-denyread). Avec `"mode": "mask"`, les commandes en sandbox sur Linux et WSL2 lisent une copie sentinelle du fichier, et le proxy du sandbox substitue la valeur réelle sur les requêtes sortantes vers les `injectHosts` de cette entrée ; sur macOS le fichier est illisible à l'intérieur du sandbox à la place. `"mode": "mask"` nécessite Claude Code v2.1.221 ou ultérieur.

* **Scope** : [`Any file`](#scopes). Claude Code abandonne les entrées `mask` de `.claude/settings.json` du projet et de `.claude/settings.local.json` local.
* **Type** : tableau d'objets, chacun avec `path` et un `mode` de `"deny"` ou `"mask"`, plus les [champs mask optionnels pour les fichiers](#mask-fields-for-files)
* **Default** : non défini, donc aucun fichier d'identifiants n'est protégé

Ceci masque votre fichier d'identifiants AWS et masque le fichier hosts `gh`, en substituant la valeur réelle uniquement sur les requêtes vers `api.github.com` :

```json settings.json theme={null}
{
  "sandbox": {
    "credentials": {
      "files": [
        { "path": "~/.aws/credentials", "mode": "deny" },
        { "path": "~/.config/gh/hosts.yml", "mode": "mask", "injectHosts": ["api.github.com"] }
      ]
    }
  }
}
```

Les chemins utilisent les mêmes [préfixes](#sandbox-path-prefixes) que les paramètres `sandbox.filesystem.*`, et Claude Code fusionne les tableaux de chaque portée de paramètres que la session charge. [Protect credentials](https://code.claude.com/docs/fr/sandboxing.md#protect-credentials) couvre ce qui s'applique toujours à partir des sources que vous excluez avec `--setting-sources`. Les entrées `mask` nécessitent Claude Code v2.1.221 ou ultérieur.

La substitution `mask` s'exécute uniquement via le proxy du sandbox, donc définissez [`sandbox.network.tlsTerminate`](#sandbox-network-tlsterminate), ou [`allowPlaintextInject`](#sandbox-credentials-allowplaintextinject) pour les réseaux de test HTTP simple. `mask` s'applique à un seul fichier, donc listez chaque fichier d'identifiants individuellement. Claude Code accepte mais ignore les champs `mask` sur une entrée `deny`. [Mask credentials](https://code.claude.com/docs/fr/sandboxing.md#mask-credentials) couvre quelles sources de paramètres sont honorées, et [Mask credential files](https://code.claude.com/docs/fr/sandboxing.md#mask-credential-files) couvre quand une entrée revient à `deny`.

#### Champs mask pour les fichiers

Une entrée `mask` accepte ces champs optionnels. Sans `extract` ou `decode`, Claude Code remplace le contenu du fichier entier par un sentinelle. Sur macOS avec l'isolation du système de fichiers activée, Claude Code applique une entrée `mask` comme `deny` avant que `extract` ou `decode` s'exécute ; consultez [Mask credential files](https://code.claude.com/docs/fr/sandboxing.md#mask-credential-files).

| Champ | Type | Ce qu'il fait |
| :- | :- | :- |
| `extract` | chaîne, une expression régulière avec au moins un groupe de capture | Masquez uniquement le texte capturé par le groupe 1 de chaque correspondance, afin que le reste du fichier reste analysable. Avec `decode` également défini, Claude Code vérifie chaque capture comme un JWT possible au lieu de la remplacer directement. Nécessite v2.1.221 ou ultérieur |
| `onExtractNoMatch` | `"warn"`, `"deny"` ou `"error"` ; par défaut `"warn"` | Ce qui se passe lorsque `extract` ou `decode` ne trouve rien à masquer. `warn` laisse le fichier lisible tel quel à l'intérieur du sandbox, `deny` le rend illisible, et `error` arrête la configuration du sandbox jusqu'à ce que vous corrigiez la configuration. Claude Code traite `deny` comme `error` lorsque le bloc de lecture ne serait pas appliqué, car vous [désactivez l'isolation du système de fichiers](https://code.claude.com/docs/fr/sandboxing.md#disable-filesystem-isolation) ou une entrée [`sandbox.filesystem.allowRead`](#sandbox-filesystem-allowread) rouvre le chemin. Nécessite v2.1.221 ou ultérieur ; le cas `decode` nécessite v2.1.224 ou ultérieur |
| `decode` | la chaîne `"jwt"` | Trouvez les JSON Web Tokens (JWTs) dans le fichier, avec un motif intégré ou avec `extract` lorsqu'il est défini, vérifiez chaque candidat, et remplacez-le par un faux token structurellement valide, afin que le code à l'intérieur du sandbox qui décode le token continue de fonctionner. Lorsqu'aucun candidat ne se vérifie, `onExtractNoMatch` gouverne le résultat. Nécessite v2.1.224 ou ultérieur |
| `maskClaims` | tableau de chaînes, au moins un nom de claim ; nécessite `decode` | Masquez uniquement les claims de charge utile de niveau supérieur nommés à l'intérieur de chaque JWT vérifié et reconstruisez le token autour de la charge utile modifiée, afin que les autres claims restent lisibles. Lorsqu'aucun claim nommé ne correspond, `onExtractNoMatch` gouverne le résultat. Nécessite v2.1.224 ou ultérieur |
| `maskDuplicates` | Booléen, par défaut `false` | Remplacez également les copies verbatim de chaque valeur masquée ailleurs dans le fichier, comme un secret collé dans un commentaire. Claude Code correspond aux sous-chaînes brutes, donc réservez-le aux secrets longs et à haute entropie. Consulté uniquement lorsque `extract` ou `decode` est défini. Nécessite v2.1.221 ou ultérieur |
| `injectHosts` | tableau de chaînes, chacun un hôte que [`sandbox.network.allowedDomains`](#sandbox-network-alloweddomains) admet également | Réduisez les hôtes où le proxy du sandbox substitue la valeur réelle. Lorsqu'il n'est pas défini, le proxy la substitue sur les requêtes vers chaque hôte dans `sandbox.network.allowedDomains`. Nécessite v2.1.221 ou ultérieur |

Ceci masque uniquement la valeur `oauth_token` dans le fichier hosts `gh`, remplace chaque autre copie de celle-ci dans le fichier, rend le fichier illisible si le motif ne correspond à rien, et substitue le token réel uniquement sur les requêtes vers `api.github.com` :

```json settings.json theme={null}
{
  "sandbox": {
    "credentials": {
      "files": [
        {
          "path": "~/.config/gh/hosts.yml",
          "mode": "mask",
          "extract": "oauth_token:\\s*(\\S+)",
          "maskDuplicates": true,
          "onExtractNoMatch": "deny",
          "injectHosts": ["api.github.com"]
        }
      ]
    }
  }
}
```

### `sandbox.credentials.envVars`

Protégez les variables d'environnement des commandes en sandbox. Avec `"mode": "deny"`, Claude Code supprime la variable de l'environnement des commandes en sandbox. Avec `"mode": "mask"`, les commandes en sandbox voient une valeur sentinelle par session, et le proxy du sandbox substitue la valeur réelle sur les requêtes sortantes vers les `injectHosts` de cette entrée, afin que les outils tels que `gh` et `npm` continuent de s'authentifier sans jamais détenir l'identifiant réel.

* **Scope** : [`Any file`](#scopes). Claude Code abandonne les entrées `mask` de `.claude/settings.json` du projet et de `.claude/settings.local.json` local.
* **Type** : tableau d'objets, chacun avec `name` et un `mode` de `"deny"` ou `"mask"`, plus les [champs mask optionnels pour les variables d'environnement](#mask-fields-for-environment-variables)
* **Default** : non défini, donc aucune variable d'environnement n'est protégée

Ceci supprime `NPM_TOKEN` des commandes en sandbox et masque `GITHUB_TOKEN`, en substituant la valeur réelle uniquement sur les requêtes vers `api.github.com` :

```json settings.json theme={null}
{
  "sandbox": {
    "credentials": {
      "envVars": [
        { "name": "NPM_TOKEN", "mode": "deny" },
        { "name": "GITHUB_TOKEN", "mode": "mask", "injectHosts": ["api.github.com"] }
      ]
    }
  }
}
```

Le `name` doit commencer par une lettre ou un trait de soulignement et contenir uniquement des lettres, des chiffres et des traits de soulignement. Claude Code fusionne les tableaux de chaque portée de paramètres que la session charge, et applique `deny` lorsque la même variable apparaît avec les deux modes. [Protect credentials](https://code.claude.com/docs/fr/sandboxing.md#protect-credentials) couvre ce qui s'applique toujours à partir des sources que vous excluez avec `--setting-sources`.

La substitution `mask` s'exécute uniquement via le proxy du sandbox, donc définissez [`sandbox.network.tlsTerminate`](#sandbox-network-tlsterminate), ou [`allowPlaintextInject`](#sandbox-credentials-allowplaintextinject) pour les réseaux de test HTTP simple ; consultez [Mask credentials](https://code.claude.com/docs/fr/sandboxing.md#mask-credentials). Claude Code accepte mais ignore les champs `mask` sur une entrée `deny`.

#### Champs mask pour les variables d'environnement

Une entrée `mask` accepte ces champs optionnels. Sans `extract` ou `decode`, Claude Code remplace la valeur entière par un sentinelle. `extract` et `decode` ne peuvent pas être combinés sur la même entrée.

| Champ | Type | Ce qu'il fait |
| :- | :- | :- |
| `extract` | chaîne, une expression régulière avec au moins un groupe de capture | Masquez uniquement le texte capturé par le groupe 1 de chaque correspondance, comme le mot de passe à l'intérieur d'une chaîne de connexion `DATABASE_URL`, afin que le reste de la valeur reste analysable. Nécessite v2.1.224 ou ultérieur |
| `onExtractNoMatch` | `"warn"`, `"deny"` ou `"error"` ; par défaut `"warn"`. Sur une entrée avec `decode`, seul `"warn"` est accepté | Ce qui se passe lorsque `extract` ne correspond à rien. `warn` transmet la variable sans masque, `deny` la supprime de l'environnement à l'intérieur du sandbox, et `error` arrête la configuration du sandbox jusqu'à ce que vous corrigiez la configuration. Nécessite v2.1.224 ou ultérieur |
| `decode` | la chaîne `"jwt"` | Vérifiez que la valeur entière est un JWT et remplacez-la par un faux token structurellement valide, afin que le code à l'intérieur du sandbox qui décode le token continue de fonctionner ; le proxy substitue le token réel entier à la sortie. Une valeur qui ne se vérifie pas passe sans masque avec un avertissement. Nécessite v2.1.224 ou ultérieur |
| `maskClaims` | tableau de chaînes, au moins un nom de claim ; nécessite `decode` | Masquez uniquement les claims de charge utile de niveau supérieur nommés à l'intérieur du JWT décodé et reconstruisez le token autour de la charge utile modifiée, afin que les autres claims restent lisibles. Lorsqu'aucun claim nommé ne correspond, la variable passe sans masque avec un avertissement. Nécessite v2.1.224 ou ultérieur |
| `injectHosts` | tableau de chaînes, chacun un hôte que [`sandbox.network.allowedDomains`](#sandbox-network-alloweddomains) admet également | Réduisez les hôtes où le proxy du sandbox substitue la valeur réelle. Lorsqu'il n'est pas défini, le proxy la substitue sur les requêtes vers chaque hôte dans `sandbox.network.allowedDomains`. Écrivez une destination IPv6 comme l'adresse compressée nue, comme `"::1"`, pas la forme entre crochets ; consultez [IPv6 destinations in `injectHosts`](https://code.claude.com/docs/fr/sandboxing#ipv6-destinations-in-injecthosts) |

Ceci masque uniquement le mot de passe à l'intérieur de `DATABASE_URL`, supprime la variable de l'environnement si le motif ne correspond à rien, et masque un JWT dans `SERVICE_JWT` tout en laissant chaque claim sauf `api_key` lisible :

```json settings.json theme={null}
{
  "sandbox": {
    "credentials": {
      "envVars": [
        {
          "name": "DATABASE_URL",
          "mode": "mask",
          "extract": "://[^:]+:([^@]+)@",
          "onExtractNoMatch": "deny"
        },
        {
          "name": "SERVICE_JWT",
          "mode": "mask",
          "decode": "jwt",
          "maskClaims": ["api_key"]
        }
      ]
    }
  }
}
```

### `sandbox.credentials.allowPlaintextInject`

Autorisez la substitution `mask` sur les requêtes HTTP simples ainsi que sur HTTPS terminé par TLS. Sur HTTP simple, l'identité en amont n'est pas vérifiée et l'identifiant voyage en clair, donc laissez ceci désactivé en dehors des réseaux de test de confiance.

* **Scope** : [`User or managed`](#scopes)
* **Type** : Booléen
  * `true` : Claude Code autorise la substitution `mask` sur les requêtes HTTP simples ainsi que sur HTTPS terminé par TLS
  * `false` : Claude Code autorise la substitution `mask` uniquement sur HTTPS terminé par TLS
* **Default** : `false`

```json settings.json theme={null}
{
  "sandbox": {
    "credentials": {
      "allowPlaintextInject": true
    }
  }
}
```

### `sandbox.credentials.awsPairs`

Groupez les variables d'environnement masquées qui forment un identifiant AWS pour le [re-signing SigV4](https://code.claude.com/docs/fr/sandboxing.md#re-sign-aws-requests) lorsque votre identifiant vit dans des variables avec des noms non standard. Claude Code lie automatiquement le trio conventionnel `AWS_ACCESS_KEY_ID`, `AWS_SECRET_ACCESS_KEY` et `AWS_SESSION_TOKEN` lorsque vous masquez leurs valeurs entières, donc vous n'avez besoin de cette clé que pour d'autres noms. Nécessite Claude Code v2.1.224 ou ultérieur.

* **Scope** : [`User or managed`](#scopes)
* **Type** : tableau d'objets, chacun avec `accessKeyIdVar`, `secretAccessKeyVar` et optionnellement `sessionTokenVar`, nommant les entrées `sandbox.credentials.envVars`
* **Default** : non défini, donc seul le trio conventionnel est appairé

Ceci lie trois variables nommées personnalisées en un identifiant AWS pour re-signing :

```json settings.json theme={null}
{
  "sandbox": {
    "credentials": {
      "awsPairs": [
        {
          "accessKeyIdVar": "MY_KEY_ID",
          "secretAccessKeyVar": "MY_SECRET_KEY",
          "sessionTokenVar": "MY_SESSION_TOKEN"
        }
      ]
    }
  }
}
```

Chaque variable nommée doit être une entrée `mask` de valeur entière dans [`sandbox.credentials.envVars`](#sandbox-credentials-envvars), sans `extract` ou `decode`, et ne peut remplir qu'un seul rôle dans toutes les paires. Ces règles s'appliquent également :

* Le proxy re-signe les requêtes sur les hôtes listés dans les `injectHosts` de l'entrée de l'ID de clé d'accès
* Lorsque `sessionTokenVar` est défini, le proxy envoie le jeton réel comme `x-amz-security-token` sur les requêtes re-signées
* Nommer l'une des variables conventionnelles dans une paire remplace l'appairage automatique

### `sandbox.credentials.sigv4`

Choisissez ce que le proxy du sandbox fait avec les formes de requête AWS qu'il [ne peut pas re-signer](https://code.claude.com/docs/fr/sandboxing.md#re-sign-aws-requests) : `streaming` pour les téléchargements en streaming aws-chunked, `presigned` pour les URLs présignées, et `sigv4a` pour les signatures asymétriques SigV4A. Ceci s'applique uniquement aux requêtes signées avec l'ID de clé d'accès espace réservé d'une paire masquée. Nécessite Claude Code v2.1.224 ou ultérieur.

* **Scope** : [`User or managed`](#scopes)
* **Type** : objet avec `streaming`, `presigned` et `sigv4a`, chacun l'un de :
  * `"deny"` : le proxy fait échouer la requête
  * `"passthrough"` : le proxy transmet la requête signée avec l'espace réservé masqué, afin que l'outil reçoive le propre rejet d'AWS
* **Default** : non défini, donc chaque forme est `"deny"`

Ceci transmet les téléchargements en streaming au lieu de les faire échouer au niveau du proxy :

```json settings.json theme={null}
{
  "sandbox": {
    "credentials": {
      "sigv4": {
        "streaming": "passthrough"
      }
    }
  }
}
```

Avec `deny`, le proxy fait échouer la requête. Avec `passthrough`, le proxy transmet la requête avec sa signature calculée à partir de l'espace réservé masqué, afin qu'AWS la rejette et que l'outil appelant reçoive la propre réponse d'AWS au lieu d'une erreur de proxy.

### `sandbox.network`

Contrôlez les hôtes, ports et sockets que les commandes en sandbox peuvent atteindre. Le sandbox achemine le trafic sortant via un proxy qui applique ces listes ; consultez [Network isolation](https://code.claude.com/docs/fr/sandboxing.md#network-isolation) pour savoir comment le proxy décide et quand il demande.

* **Scope** : [`Any file`](#scopes). `strictAllowlist`, `allowManagedDomainsOnly` et `tlsTerminate` sont lus à partir de moins de sources, comme leurs entrées le disent.
* **Type** : objet avec les sous-clés ci-dessous
* **Default** : non défini, donc aucun domaine n'est pré-autorisé et votre mode de permission décide [ce qu'il advient de chaque nouvel hôte](https://code.claude.com/docs/fr/sandboxing.md#hosts-outside-your-allowed-domains)

Ceci pré-autorise GitHub et npm, bloque `uploads.github.com`, et permet aux commandes de se lier à localhost :

```json settings.json theme={null}
{
  "sandbox": {
    "network": {
      "allowedDomains": ["github.com", "*.npmjs.org"],
      "deniedDomains": ["uploads.github.com"],
      "allowLocalBinding": true
    }
  }
}
```

Claude Code fusionne les sous-clés de tableau dans les portées de paramètres, donc un projet peut ajouter des domaines à votre liste utilisateur, sauf si un [verrou de dépôt](https://code.claude.com/docs/fr/sandboxing.md#repository-settings-under-an-admin-required-sandbox) s'applique. Les [règles de permission](https://code.claude.com/docs/fr/sandboxing.md#permission-rules) `WebFetch(domain:...)` allow et deny alimentent les mêmes listes allow et deny.

### `sandbox.network.allowUnixSockets`

Listez les chemins de socket Unix auxquels les commandes en sandbox peuvent se connecter sur macOS. Claude Code ignore cette liste sur Linux et WSL2, où le filtre seccomp ne peut pas inspecter les chemins de socket ; utilisez [`allowAllUnixSockets`](#sandbox-network-allowallunixsockets) à la place.

* **Scope** : [`Any file`](#scopes), avec des [limites sur les paramètres de projet et locaux](https://code.claude.com/docs/fr/sandboxing.md#repository-settings-under-an-admin-required-sandbox)
* **Type** : tableau de chaînes, chacun un chemin de socket
* **Default** : non défini, donc le sandbox macOS bloque chaque socket Unix

```json settings.json theme={null}
{
  "sandbox": {
    "network": {
      "allowUnixSockets": ["~/.ssh/agent-socket"]
    }
  }
}
```

Un chemin de socket peut accorder un accès large : autoriser `/var/run/docker.sock`, par exemple, permet à une commande en sandbox de contrôler le démon Docker. Consultez [Security limitations](https://code.claude.com/docs/fr/sandboxing.md#security-limitations).

### `sandbox.network.allowAllUnixSockets`

Laissez les commandes en sandbox se connecter à chaque socket Unix. Sur Linux et WSL2, le [filtre seccomp](https://code.claude.com/docs/fr/sandboxing.md#set-up-linux-and-wsl2) du sandbox bloque les appels `socket(AF_UNIX, ...)`, donc c'est le seul moyen de permettre les sockets Unix là. Lorsque le filtre est manquant, que `/sandbox` rapporte sur son onglet Dependencies, le sandbox ne bloque pas les appels de socket Unix. Consultez [Set up Linux and WSL2](https://code.claude.com/docs/fr/sandboxing.md#set-up-linux-and-wsl2) pour savoir d'où vient le filtre.

* **Scope** : [`Any file`](#scopes), avec des [limites sur les paramètres de projet et locaux](https://code.claude.com/docs/fr/sandboxing.md#repository-settings-under-an-admin-required-sandbox)
* **Type** : booléen
  * `true` : les commandes en sandbox peuvent se connecter à tous les sockets Unix. Sous Linux et WSL2, elles peuvent également se connecter aux sockets de VM, la famille d'adresses `AF_VSOCK`
  * `false` : le sandbox bloque les connexions aux sockets Unix : sous macOS, sauf pour les chemins de `allowUnixSockets`, et sous Linux et WSL2, via le filtre seccomp lorsqu'il est présent
* **Default** : `false`

```json settings.json theme={null}
{
  "sandbox": {
    "network": {
      "allowAllUnixSockets": true
    }
  }
}
```

Sur WSL2, `true` rouvre également le socket interop qui lance les binaires Windows tels que `cmd.exe` et `powershell.exe`.

### `sandbox.network.allowLocalBinding`

Laissez les commandes en sandbox sur macOS écouter sur des ports réseau, par exemple pour démarrer un serveur de développement, et se connecter à n'importe quel port sur localhost. Une commande qui écoute sur une adresse autre que loopback accepte les connexions provenant d'autres machines. La clé n'a aucun effet sur Linux et WSL2, où chaque commande en sandbox possède sa propre interface loopback. Pour atteindre un serveur sur l'hôte depuis Linux ou WSL2, consultez [A command fails to reach a server on localhost](https://code.claude.com/docs/fr/sandboxing.md#a-command-fails-to-reach-a-server-on-localhost).

* **Scope** : [`Any file`](#scopes), avec des [limites sur les paramètres de projet et locaux](https://code.claude.com/docs/fr/sandboxing.md#repository-settings-under-an-admin-required-sandbox)
* **Type** : Booléen
  * `true` : les commandes en sandbox sur macOS peuvent écouter sur n'importe quelle adresse locale et se connecter à n'importe quel port sur localhost
  * `false` : les commandes en sandbox sur macOS ne peuvent pas écouter sur un port ni se connecter directement aux serveurs sur localhost
* **Default** : `false`

```json settings.json theme={null}
{
  "sandbox": {
    "network": {
      "allowLocalBinding": true
    }
  }
}
```

### `sandbox.network.allowMachLookup`

Listez les noms de service XPC et Mach supplémentaires que le sandbox macOS peut rechercher. Les outils qui communiquent via XPC, comme le simulateur iOS ou Playwright, ont besoin de leurs services listés ici.

* **Scope** : [`Any file`](#scopes), avec des [limites sur les paramètres de projet et locaux](https://code.claude.com/docs/fr/sandboxing.md#repository-settings-under-an-admin-required-sandbox)
* **Type** : tableau de chaînes, chacun un nom de service ; un seul `*` final correspond à un préfixe, et `"*"` seul correspond à chaque service
* **Default** : non défini

Ceci permet chaque service sous le préfixe `com.apple.coresimulator.` :

```json settings.json theme={null}
{
  "sandbox": {
    "network": {
      "allowMachLookup": ["com.apple.coresimulator.*"]
    }
  }
}
```

### `sandbox.network.allowedDomains`

Pré-autorisez les domaines pour le trafic sortant des commandes en sandbox, afin que le sandbox ne demande pas pour eux. Les caractères génériques tels que `*.example.com` correspondent aux sous-domaines, et un suffixe `:port` optionnel limite une entrée à un port ; une entrée sans port correspond à chaque port.

* **Scope** : [`Any file`](#scopes), avec des [limites sur les paramètres de projet et locaux](https://code.claude.com/docs/fr/sandboxing.md#repository-settings-under-an-admin-required-sandbox). Uniquement les paramètres gérés lorsque [`allowManagedDomainsOnly`](#sandbox-network-allowmanageddomainsonly) est défini.
* **Type** : tableau de chaînes, chacun un domaine, motif avec caractères génériques ou littéral IP, avec un suffixe `:port` optionnel
* **Default** : non défini, donc votre mode de permission décide [ce qu'il advient de chaque nouvel hôte](https://code.claude.com/docs/fr/sandboxing.md#hosts-outside-your-allowed-domains)

Ceci pré-autorise GitHub sur chaque port, chaque sous-domaine npm, et un hôte API sur le port 443 uniquement :

```json settings.json theme={null}
{
  "sandbox": {
    "network": {
      "allowedDomains": ["github.com", "*.npmjs.org", "api.example.com:443"]
    }
  }
}
```

Écrivez les littéraux IPv6 entre crochets, avec un port optionnel : `"[::1]"` autorise chaque port et `"[::1]:443"` un port. La forme entre crochets nécessite Claude Code v2.1.229 ou ultérieur. Consultez [IPv6 addresses in domain lists](https://code.claude.com/docs/fr/sandboxing.md#ipv6-addresses-in-domain-lists).

### `sandbox.network.deniedDomains`

Bloquez les domaines pour le trafic sortant des commandes en sandbox, en utilisant la même syntaxe de caractères génériques, port et IPv6 que [`allowedDomains`](#sandbox-network-alloweddomains). Un domaine refusé reste bloqué même lorsqu'une entrée `allowedDomains` le correspond également.

* **Scope** : [`Any file`](#scopes)
* **Type** : tableau de chaînes, chacun un domaine, motif avec caractères génériques ou littéral IP, avec un suffixe `:port` optionnel
* **Default** : non défini

```json settings.json theme={null}
{
  "sandbox": {
    "network": {
      "deniedDomains": ["sensitive.cloud.example.com"]
    }
  }
}
```

Claude Code fusionne cette liste de chaque source de paramètres que la session charge même lorsque `allowManagedDomainsOnly` est défini, donc un développeur peut toujours resserrer la liste de refus. Pour les littéraux IPv6, consultez [IPv6 addresses in domain lists](https://code.claude.com/docs/fr/sandboxing.md#ipv6-addresses-in-domain-lists).

Une entrée écrite avec le point final qui marque un nom de domaine pleinement qualifié, comme `example.com.`, bloque les mêmes connexions que `example.com`.

### `sandbox.network.strictAllowlist`

Refusez aux commandes en sandbox l'accès aux hôtes en dehors de la liste d'autorisation au lieu de demander l'approbation. La liste d'autorisation est [`allowedDomains`](#sandbox-network-alloweddomains) plus les domaines des règles allow `WebFetch(domain:...)`, ou uniquement les entrées des paramètres gérés lorsque [`allowManagedDomainsOnly`](#sandbox-network-allowmanageddomainsonly) est défini. [Locks that apply without an admin-required sandbox](https://code.claude.com/docs/fr/sandboxing.md#locks-that-apply-without-an-admin-required-sandbox) couvre les entrées d'un dépôt. Nécessite Claude Code v2.1.219 ou ultérieur.

* **Scope** : [`User or managed`](#scopes). Un dépôt ne peut pas l'activer ou le désactiver.
* **Type** : Booléen
  * `true` : Claude Code refuse aux commandes en sandbox l'accès aux hôtes en dehors de la liste d'autorisation
  * `false` : sauf si un autre fichier de paramètres de confiance définit `true`, Claude Code décide un hôte en dehors de la liste d'autorisation par mode de permission au lieu de le refuser directement : en mode auto il vérifie l'hôte par rapport aux [domaines autorisés par commande](https://code.claude.com/docs/fr/sandboxing.md#per-command-allowed-domains-in-auto-mode), en mode `dontAsk` il refuse, en mode `bypassPermissions` et en sessions en mode plan de terminal interactif où le bypass est disponible il autorise, et sinon il vous demande
* **Default** : `false`

```json settings.json theme={null}
{
  "sandbox": {
    "network": {
      "strictAllowlist": true
    }
  }
}
```

Claude Code applique ceci uniquement pour les commandes en sandbox ; les outils en processus tels que `WebFetch` suivent toujours leurs [règles de permission](https://code.claude.com/docs/fr/sandboxing.md#permission-rules). Lorsque l'une des sources honorées la définit sur `true`, elle reste activée. Consultez [Network isolation](https://code.claude.com/docs/fr/sandboxing.md#network-isolation). Nécessite Claude Code v2.1.219 ou ultérieur.

### `sandbox.network.allowManagedDomainsOnly`

Verrouillez la liste d'autorisation du réseau à ce que les paramètres gérés définissent. Claude Code honore alors uniquement `allowedDomains` et les règles allow `WebFetch(domain:...)` des paramètres gérés, ignore les domaines des paramètres utilisateur, projet, local et `--settings`, et bloque automatiquement un domaine non autorisé au lieu de demander.

* **Scope** : [`Managed`](#scopes)
* **Type** : Booléen
  * `true` : Claude Code honore uniquement `allowedDomains` et les règles allow `WebFetch(domain:...)` des paramètres gérés et bloque un domaine non autorisé au lieu de demander
  * `false` : les domaines d'autres fichiers de paramètres peuvent être fusionnés dans la liste d'autorisation
* **Default** : `false`

Ceci verrouille la liste d'autorisation à GitHub et npm et ignore tous les domaines que les développeurs ajoutent :

```json managed-settings.json theme={null}
{
  "sandbox": {
    "network": {
      "allowManagedDomainsOnly": true,
      "allowedDomains": ["github.com", "*.npmjs.org"]
    }
  }
}
```

Tant que la clé vaut `true`, le sandbox est [exigé par l'administrateur](https://code.claude.com/docs/fr/sandboxing.md#repository-settings-under-an-admin-required-sandbox), et seuls les paramètres gérés peuvent définir un [port de proxy](#sandbox-network-httpproxyport).

Les domaines refusés fusionnent toujours de chaque source que la session charge. Consultez [Keep developers from widening the policy](https://code.claude.com/docs/fr/sandboxing.md#keep-developers-from-widening-the-policy).

### `sandbox.network.httpProxyPort`

Pointez le sandbox vers votre propre proxy HTTP au lieu de celui que Claude Code exécute. Les organisations font cela pour inspecter le trafic HTTPS, appliquer leurs propres règles de filtrage ou journaliser les requêtes. Votre proxy prend en charge le filtrage, et Claude Code cesse d'appliquer ses listes de domaines et ses demandes réseau au trafic qui y est envoyé. Lorsqu'il n'est pas défini, Claude Code démarre son propre proxy pour le trafic HTTP.

* **Scope** : [`Any file`](#scopes), sauf si [d'autres paramètres du sandbox limitent les fichiers pouvant définir un port](https://code.claude.com/docs/fr/sandboxing.md#custom-proxy-configuration)
* **Type** : nombre, un port TCP local
* **Default** : non défini, donc Claude Code exécute son propre proxy

```json settings.json theme={null}
{
  "sandbox": {
    "network": {
      "httpProxyPort": 8080
    }
  }
}
```

Définissez également [`socksProxyPort`](#sandbox-network-socksproxyport) si votre proxy doit également transporter le trafic SOCKS ; avec un seul des deux défini, Claude Code exécute toujours son propre proxy pour l'autre protocole. Consultez [Custom proxy configuration](https://code.claude.com/docs/fr/sandboxing.md#custom-proxy-configuration).

### `sandbox.network.socksProxyPort`

Pointez le sandbox vers votre propre proxy SOCKS5 au lieu de celui que Claude Code exécute. Votre proxy prend en charge le filtrage, et Claude Code cesse d'appliquer ses listes de domaines et ses demandes réseau au trafic qui y est envoyé. Lorsqu'il n'est pas défini, Claude Code démarre son propre proxy pour le trafic SOCKS.

* **Scope** : [`Any file`](#scopes), sauf si [d'autres paramètres du sandbox limitent les fichiers pouvant définir un port](https://code.claude.com/docs/fr/sandboxing.md#custom-proxy-configuration)
* **Type** : nombre, un port TCP local
* **Default** : non défini, donc Claude Code exécute son propre proxy

```json settings.json theme={null}
{
  "sandbox": {
    "network": {
      "socksProxyPort": 8081
    }
  }
}
```

Consultez [Custom proxy configuration](https://code.claude.com/docs/fr/sandboxing.md#custom-proxy-configuration).

### `sandbox.network.tlsTerminate`

Faites en sorte que le proxy du sandbox termine TLS afin qu'il puisse lire le contenu des requêtes HTTPS. Ceci est expérimental, et la [substitution d'identifiants](https://code.claude.com/docs/fr/sandboxing.md#mask-credentials) `mask` l'exige. Définissez `{}` pour générer une autorité de certification éphémère pour la session, ou définissez `caCertPath` et `caKeyPath` pour utiliser la vôtre.

* **Scope** : [`User or managed`](#scopes). Un dépôt ne peut pas l'activer ou fournir une autorité de certification.
* **Type** : objet avec les chaînes optionnelles `caCertPath` et `caKeyPath`, chacune un chemin de fichier
* **Default** : non défini, donc le proxy ne termine pas ou n'inspecte pas TLS

```json settings.json theme={null}
{
  "sandbox": {
    "network": {
      "tlsTerminate": {}
    }
  }
}
```

Lorsque plus d'une source honorée la définit, Claude Code utilise la valeur de la source la plus prioritaire : paramètres gérés, puis le flag `--settings`, puis paramètres utilisateur.

## Mémoire et contexte

Contrôlez ce que Claude Code charge dans le contexte, comment il compacte et où il conserve la mémoire et les plans. Voir [Gérer le contexte](https://code.claude.com/docs/fr/context-window.md) et [Mémoire](https://code.claude.com/docs/fr/memory.md).

### `autoCompactEnabled`

Faites en sorte que Claude Code [compacte la conversation automatiquement](https://code.claude.com/docs/fr/context-window.md#when-your-context-fills-up) lorsque le contexte approche de la limite. Apparaît dans `/config` sous **Auto-compact**, et le basculer là-bas écrit cette clé dans vos paramètres utilisateur.

* **Scope** : [`Any file`](#scopes)
* **Type** : Boolean
  * `true` : Claude Code compacte la conversation automatiquement lorsque le contexte approche de la limite
  * `false` : Claude Code ne compacte pas automatiquement
* **Default** : `true`
* **Per-session overrides** : [`DISABLE_AUTO_COMPACT`](https://code.claude.com/docs/fr/env-vars) désactive le compactage automatique pour une session ; celui des deux qui le désactive, l'autre ne peut pas le réactiver

```json settings.json theme={null}
{
  "autoCompactEnabled": false
}
```

La commande manuelle `/compact` continue de fonctionner tandis que la compaction automatique est désactivée. Si vous désactivez la compaction automatique, la [compaction en cas d'inactivité](#idlecompaction) est également désactivée.

### `autoCompactWindow`

Définissez le remplissage du contexte avant que Claude Code [compacte automatiquement](https://code.claude.com/docs/fr/context-window.md#when-your-context-fills-up).

* **Scope** : [`Any file`](#scopes)
* **Type** : nombre de tokens, de `100000` à `1000000`. Claude Code plafonne la valeur à la fenêtre de contexte de votre modèle ; l'[aperçu des modèles](https://platform.claude.com/docs/en/about-claude/models/overview) répertorie la fenêtre de chaque modèle
* **Default** : non défini, donc Claude Code choisit une fenêtre adaptée à votre modèle
* **Per-session overrides** : [`--autocompact`](https://code.claude.com/docs/fr/cli-reference#cli-flags) a la priorité sur cette clé pour une session, et [`CLAUDE_CODE_AUTO_COMPACT_WINDOW`](https://code.claude.com/docs/fr/env-vars) a la priorité sur les deux, sauf si Claude Code [ignore la valeur de la variable](https://code.claude.com/docs/fr/model-config.md#claude_code_auto_compact_window-values)

```json settings.json theme={null}
{
  "autoCompactWindow": 500000
}
```

La commande [`/autocompact`](https://code.claude.com/docs/fr/commands#all-commands) enregistre une fenêtre pour le modèle actuel sous [`modelSettings`](#modelsettings), qui a la priorité sur cette clé dans le même fichier pour ce modèle. [Définir la fenêtre de compaction automatique](https://code.claude.com/docs/fr/model-config.md#set-the-auto-compact-window) explique comment la commande, le flag, la variable et le paramètre interagissent.

### `autoMemoryDirectory`

Stockez la [mémoire automatique](https://code.claude.com/docs/fr/memory.md#storage-location) dans un répertoire de votre choix au lieu de la valeur par défaut par projet.

* **Scope** : [`Any file`](#scopes)
* **Type** : string, un chemin de répertoire absolu ou préfixé par `~/`
* **Default** : non défini, donc Claude Code utilise `~/.claude/projects/<project>/memory/`

```json settings.json theme={null}
{
  "autoMemoryDirectory": "~/my-memory-dir"
}
```

À partir des paramètres de projet ou locaux, Claude Code honore cette clé selon la même [règle de confiance d'espace de travail que les hooks](https://code.claude.com/docs/fr/permissions.md#what-runs-before-you-trust-a-folder), car un référentiel cloné peut fournir ces fichiers.

### `autoMemoryEnabled`

Activez ou désactivez la [mémoire automatique](https://code.claude.com/docs/fr/memory.md#enable-or-disable-auto-memory). Lorsque `false`, Claude ne lit pas et n'écrit pas dans le répertoire de mémoire automatique. Vous pouvez également le basculer avec `/memory` pendant une session, ce qui écrit cette clé dans vos paramètres utilisateur.

* **Scope** : [`Any file`](#scopes)
* **Type** : Boolean
  * `true` : identique à non défini ; la mémoire automatique reste activée sauf si quelque chose qui surclasse cette clé la désactive pour la session, comme `--bare`, le mode sécurisé ou `CLAUDE_CODE_DISABLE_AUTO_MEMORY`
  * `false` : Claude ne lit pas et n'écrit pas dans le répertoire de mémoire automatique
* **Default** : `true`
* **Per-session overrides** : [`CLAUDE_CODE_DISABLE_AUTO_MEMORY`](https://code.claude.com/docs/fr/env-vars) a la priorité sur cette clé pour une session, dans les deux sens

```json settings.json theme={null}
{
  "autoMemoryEnabled": false
}
```

### `bashOutputMaxChars`

Définissez le nombre de caractères de la [sortie d'une commande Bash ou PowerShell réussie que Claude reçoit en ligne](https://code.claude.com/docs/fr/tools-reference.md#output-limits). Lorsque la sortie dépasse la limite, Claude Code l'enregistre dans un fichier et Claude reçoit un court aperçu plus le chemin du fichier. Augmentez la limite lorsque la sortie de commande, comme une compilation détaillée ou un journal complet de suite de tests, dépasse régulièrement la valeur par défaut et que vous souhaitez que Claude la lise sans ouvrir le fichier. Nécessite Claude Code v2.1.261 ou ultérieur.

* **Scope** : [`Any file`](#scopes)
* **Type** : nombre de caractères, un entier positif. Claude Code limite la valeur à la plage `4000` à `128000`
* **Default** : non défini, donc Claude reçoit jusqu'à 30 000 caractères en ligne

```json settings.json theme={null}
{
  "bashOutputMaxChars": 100000
}
```

Lorsque vous définissez cette clé, Claude Code ignore la variable d'environnement [`BASH_MAX_OUTPUT_LENGTH`](https://code.claude.com/docs/fr/env-vars).

### `claudeMd`

Injectez les instructions de style CLAUDE.md en tant que mémoire gérée par l'organisation sans déployer un fichier séparé. Claude Code charge le texte en tant qu'entrée de mémoire gérée avant les fichiers CLAUDE.md utilisateur et projet.

* **Scope** : [`Managed`](#scopes)
* **Type** : string, le texte d'un fichier CLAUDE.md ; écrivez-le comme vous le feriez pour le fichier, Markdown inclus, avec les sauts de ligne comme `\n`
* **Default** : non défini

Cet exemple déploie deux règles sous forme de courte liste Markdown :

```json managed-settings.json theme={null}
{
  "claudeMd": "# Engineering rules\n\n- Always run make lint before committing.\n- Never push directly to main."
}
```

Voir [Déployer CLAUDE.md à l'échelle de l'organisation](https://code.claude.com/docs/fr/memory.md#deploy-organization-wide-claude-md).

### `claudeMdExcludes`

Ignorez les fichiers `CLAUDE.md` spécifiques lorsque Claude Code charge la [mémoire](https://code.claude.com/docs/fr/memory.md#exclude-specific-claude-md-files). Dans un grand monorepo, utilisez-le pour ignorer les fichiers CLAUDE.md d'autres équipes qui ne sont pas pertinents pour votre travail ; [Exclure les fichiers CLAUDE.md non pertinents](https://code.claude.com/docs/fr/large-codebases.md#exclude-irrelevant-claude-md-files) dans le guide des grands codebases explique ce cas. Les motifs correspondent aux chemins de fichiers absolus.

* **Scope** : [`Any file`](#scopes)
* **Type** : array of strings, chacun un motif glob ou un chemin absolu
* **Default** : non défini, donc Claude Code charge chaque CLAUDE.md qu'il trouve

```json settings.json theme={null}
{
  "claudeMdExcludes": ["**/vendor/**/CLAUDE.md"]
}
```

Les exclusions s'appliquent uniquement aux fichiers de mémoire utilisateur, projet et local ; les fichiers CLAUDE.md de politique gérée ne peuvent pas être exclus.

### `env`

Définissez les variables d'environnement pour chaque session et pour les sous-processus que Claude Code démarre à partir de celle-ci. Toute variable dans la [référence des variables d'environnement](https://code.claude.com/docs/fr/env-vars.md) peut aller ici, ce qui est comment vous l'appliquez à chaque session ou la déployez à votre équipe. Les paramètres de projet et locaux ne peuvent pas définir [certaines d'entre elles](#variables-claude-code-ignores-in-env).

* **Scope** : [`Any file`](#scopes)
* **Type** : object mapping variable names to string values
* **Default** : non défini

Cet exemple désactive le compactage automatique et achemine les demandes d'API via un proxy :

```json settings.json theme={null}
{
  "env": {
    "DISABLE_AUTO_COMPACT": "1",
    "ANTHROPIC_BASE_URL": "https://proxy.example.com"
  }
}
```

#### Comment les valeurs `env` interagissent avec votre shell

* Une valeur ici écrase la même variable exportée dans votre shell, et lorsque plus d'un fichier de paramètres définit une variable, celle avec la [plus haute priorité](https://code.claude.com/docs/fr/settings.md#settings-precedence) s'applique. [Variables que Claude Code ignore dans `env`](#variables-claude-code-ignores-in-env) répertorie les exceptions pour les paramètres de projet et locaux.
* Lorsque l'application Claude Desktop ou un [environnement auto-hébergé](https://code.claude.com/docs/fr/self-hosted-environments) démarre la session, l'environnement de lancement qu'il construit a la priorité à la place : Claude Code ignore une valeur `env` de n'importe quel fichier de paramètres pour une variable que l'environnement de lancement a déjà définie. Le [journal de débogage](https://code.claude.com/docs/fr/debug-your-config.md) nomme chaque variable ignorée.
* Pour annuler une exportation de shell, définissez la variable sur `""`. Claude Code traite une valeur vide comme non définie pour la sélection du fournisseur, et les sous-processus héritent de la valeur vide.
* `NO_COLOR` et `FORCE_COLOR` définis ici ne parviennent qu'aux sous-processus. Pour modifier les couleurs de l'interface de Claude Code lui-même, définissez-les dans votre shell avant de lancer `claude`.
* Les valeurs ici sont du texte brut dans le fichier de paramètres et parviennent à chaque sous-processus que Claude Code démarre. Pour un jeton porteur OTLP qui tourne, utilisez [`otelHeadersHelper`](#otelheadershelper) ; pour les identifiants d'API, utilisez [`apiKeyHelper`](#apikeyhelper).

#### Quand Claude Code applique les valeurs `env`

* À partir des paramètres utilisateur, `--settings` et des paramètres gérés : au démarrage, et à nouveau dans la session en cours lorsqu'une modification enregistrée modifie le `env` fusionné.
* À partir des paramètres de projet et locaux : après avoir approuvé l'espace de travail, ou au démarrage en mode `-p`, qui n'affiche jamais la boîte de dialogue de confiance, et à nouveau lorsqu'une modification enregistrée modifie le `env` fusionné.
* Les variables que Claude Code classe comme sûres, telles que la sélection du modèle, les délais d'attente et les limites, et les basculements de fonctionnalités : au démarrage à partir de chaque fichier de paramètres, à l'exception des [variables que les paramètres de projet et locaux ne peuvent pas définir](#variables-claude-code-ignores-in-env).
* Après avoir [déplacé la session avec `/cd`](https://code.claude.com/docs/fr/permissions#move-the-session-to-another-directory) sur v2.1.246 ou ultérieur : les valeurs `env` du nouveau répertoire du projet et locales, en plus de celles du répertoire précédent.

#### Variables que Claude Code ignore dans `env`

* Les paramètres de projet et locaux ne peuvent pas définir les variables qu'un dépôt extrait ne devrait pas contrôler ; définissez-les plutôt dans votre shell, vos paramètres utilisateur ou vos paramètres gérés. Claude Code supprime chacune d'elles, à l'exception de quelques valeurs qui désactivent la télémétrie, et consigne un avertissement que vous pouvez voir avec `claude --debug`. Elles incluent :

  * Les variables qui choisissent où Claude Code stocke ou écrit ses propres fichiers : `CLAUDE_CONFIG_DIR`, `CLAUDE_CODE_TMPDIR` et les variables de répertoire du système d'exploitation telles que `HOME`, `TMPDIR`, `TMP`, `TEMP` et la famille `XDG_*`.
  * Les variables Windows qui choisissent les programmes et la configuration à l'échelle de la machine pour les processus que Claude Code démarre, telles que `SystemRoot`, `ComSpec`, `ProgramData`, `LOCALAPPDATA`, `PATHEXT`, `PSModulePath` et la famille `ProgramFiles`.
  * Les variables qui exportent le contenu de la session : [`OTEL_LOG_RAW_API_BODIES`](https://code.claude.com/docs/fr/env-vars#variables) et la paire de traçage bêta détaillée `ENABLE_BETA_TRACING_DETAILED` et `BETA_TRACING_ENDPOINT`.
  * Les variables [OpenTelemetry exporter](https://code.claude.com/docs/fr/monitoring-usage.md) qui activent la télémétrie, choisissent où elle va ou choisissent quel contenu elle capture :

    * `CLAUDE_CODE_ENABLE_TELEMETRY`, plus la paire de télémétrie améliorée bêta `CLAUDE_CODE_ENHANCED_TELEMETRY_BETA` et `ENABLE_ENHANCED_TELEMETRY_BETA`
    * Les sélecteurs d'exportateur `OTEL_LOGS_EXPORTER`, `OTEL_METRICS_EXPORTER` et `OTEL_TRACES_EXPORTER`
    * Les variables de contenu `OTEL_LOG_USER_PROMPTS`, `OTEL_LOG_ASSISTANT_RESPONSES`, `OTEL_LOG_TOOL_CONTENT` et `OTEL_LOG_TOOL_DETAILS`
    * Les variables `OTEL_EXPORTER_OTLP_*` dont les noms se terminent par `_ENDPOINT`, `_HEADERS`, `_PROTOCOL`, `_CERTIFICATE`, `_CLIENT_KEY` ou `_INSECURE`, dans les formes génériques et par signal, telles que `OTEL_EXPORTER_OTLP_ENDPOINT` et `OTEL_EXPORTER_OTLP_METRICS_HEADERS`
    * `OTEL_EXPORTER_PROMETHEUS_HOST` et `OTEL_EXPORTER_PROMETHEUS_PORT`

    Seules ces valeurs s'appliquent toujours à partir des paramètres de projet et locaux, car elles désactivent quelque chose : `none` pour les trois sélecteurs d'exportateur, et une valeur désactivée telle que `0` pour `OTEL_LOG_USER_PROMPTS`, `OTEL_LOG_TOOL_CONTENT` et `OTEL_LOG_TOOL_DETAILS`. Une telle valeur remplace la même variable dans vos paramètres utilisateur, mais pas celle que l'environnement à partir duquel vous lancez Claude Code, un fichier `--settings` ou les paramètres gérés définissent.

    Lorsqu'un fichier de paramètres de projet ou locaux définit une variable dans ce groupe, une session interactive locale affiche un avis au démarrage. Exécutez `/status` ou `claude doctor` pour voir lesquels Claude Code a ignorés et lesquels ont désactivé la télémétrie ; les deux répertorient les noms, jamais les valeurs. Une exécution non interactive avec `-p` ou une session Agent SDK n'affiche aucun avis, donc vérifiez que votre collecteur reçoit toujours des données après la mise à niveau. S'il ne le fait pas, définissez les variables dans vos paramètres utilisateur, paramètres gérés, l'environnement du travail ou un fichier que vous transmettez avec `--settings`.

    Ignorer ce groupe dans les paramètres de projet et locaux nécessite Claude Code v2.1.282 ou ultérieur.
  * Les variables qui changent la façon dont Claude Code démarre ou se synchronise, telles que `CLAUDE_CODE_PROCESS_WRAPPER`, `CLAUDE_CODE_SYNC_SKILLS`, `CLAUDE_CODE_SYNC_PLUGINS`, `CLAUDE_CODE_PLUGIN_CACHE_DIR` et `CLAUDE_CODE_PLUGIN_SEED_DIR`.
  * La variable du [mode lecteur d'écran](https://code.claude.com/docs/fr/accessibility.md) `CLAUDE_AX_SCREEN_READER` et les autres variables dont les noms commencent par `CLAUDE_AX_`, telles que [`CLAUDE_AX_STARTUP_QUIET_MS`](https://code.claude.com/docs/fr/env-vars#variables).
  * [`CLAUDE_CODE_USER_DIALOG_TIMEOUT_MS`](https://code.claude.com/docs/fr/env-vars#variables), qui définit le minuteur d'une boîte de dialogue sans réponse.
  * [`CLAUDE_CODE_DISABLE_ATTACHMENTS`](https://code.claude.com/docs/fr/env-vars#variables), qui désactive le traitement des pièces jointes.
  * [`CLAUDE_CODE_DISABLE_FILE_MENTIONS`](https://code.claude.com/docs/fr/env-vars#variables), qui empêche Claude Code de développer les mentions `@` de fichiers et de répertoires.

  Avant v2.1.251, les paramètres de projet et locaux pouvaient également définir les variables de cette liste qui choisissent où Claude Code écrit ses fichiers ou qui exportent le contenu de la session, sauf `HOME` et `XDG_CONFIG_HOME`. Avant v2.1.290, ils pouvaient également définir les variables de minuteur de boîte de dialogue et `CLAUDE_CODE_DISABLE_ATTACHMENTS`.
* Les variables d'identité que les environnements d'hébergement de Claude Code possèdent, telles que `CLAUDE_CODE_REMOTE` et `CLAUDE_CODE_ACCOUNT_UUID`, sont ignorées de chaque fichier.
* [`CLAUDE_CODE_MESSAGING_SOCKET` et `CLAUDE_CODE_MESSAGING_TOKEN`](https://code.claude.com/docs/fr/env-vars#variables), que Claude Code exporte lui-même, sont ignorées de chaque fichier. Ignorer la variable de socket nécessite Claude Code v2.1.224 ou ultérieur, et ignorer le jeton nécessite v2.1.228 ou ultérieur.
* [`CLAUDE_CODE_PROJECT_DIR_NAME`](https://code.claude.com/docs/fr/sessions#name-the-project-directory-yourself), que Claude Code lit uniquement à partir de l'environnement de lancement, est ignorée de chaque fichier ; nécessite v2.1.234 ou ultérieur.
* [`CLAUDE_CODE_RESTRICTED`](https://code.claude.com/docs/fr/env-vars#variables), que Claude Code lit uniquement à partir de l'environnement de lancement, est ignorée de chaque fichier.
* [`CLAUDE_CODE_DISABLE_POWERSHELL_CMD_RM_DENY`](https://code.claude.com/docs/fr/env-vars#variables), que Claude Code lit uniquement à partir de l'environnement de lancement, est ignorée de chaque fichier. La variable nécessite Claude Code v2.1.283 ou ultérieur.
* [`CLAUDE_CODE_DISABLE_DANGEROUS_RM_TIMEOUT`, `CLAUDE_CODE_DISABLE_SUBSTITUTION_RM_PROMPT`, `CLAUDE_CODE_DISABLE_INLINE_SHELL_RM_PROMPT` et `CLAUDE_CODE_DISABLE_MOUNTED_DRIVE_RM_PROMPT`](https://code.claude.com/docs/fr/env-vars#variables), que Claude Code lit uniquement à partir de l'environnement de lancement, sont ignorées de chaque fichier.
* [`CLAUDE_CODE_WARN_DISK_FREE_GIB` et `CLAUDE_CODE_WARN_MEMORY_FREE_GIB`](https://code.claude.com/docs/fr/env-vars#variables), que Claude Code lit uniquement à partir de l'environnement de lancement, sont ignorées de chaque fichier. Les variables nécessitent Claude Code v2.1.304 ou ultérieur.

### `fileCheckpointingEnabled`

Faites en sorte que Claude Code crée des instantanés de fichiers avant chaque modification afin que [`/rewind`](https://code.claude.com/docs/fr/checkpointing) puisse les restaurer. Apparaît dans `/config` sous **Rewind code (checkpoints)**, et le basculer là-bas écrit cette clé dans vos paramètres utilisateur.

* **Scope** : [`Any file`](#scopes)
* **Type** : Boolean
  * `true` : Claude Code crée des instantanés de fichiers avant chaque modification afin que `/rewind` puisse les restaurer
  * `false` : Claude Code ne crée pas d'instantanés de fichiers, donc `/rewind` ne peut pas les restaurer
* **Default** : `true`
* **Per-session overrides** : [`CLAUDE_CODE_DISABLE_FILE_CHECKPOINTING`](https://code.claude.com/docs/fr/env-vars) désactive les points de contrôle pour une session ; celui des deux qui le désactive, l'autre ne peut pas le réactiver

```json settings.json theme={null}
{
  "fileCheckpointingEnabled": false
}
```

Dans une exécution `-p` ou une session Agent SDK, Claude Code ignore cette clé. Le SDK active les points de contrôle avec son option `enableFileCheckpointing`, et une exécution `-p` nue a besoin de `CLAUDE_CODE_ENABLE_SDK_FILE_CHECKPOINTING=true`. Voir [File checkpointing in the Agent SDK](https://code.claude.com/docs/fr/agent-sdk/file-checkpointing.md).

### `idleCompaction`

La compaction en cas d'inactivité [compacte](https://code.claude.com/docs/fr/context-window.md#what-survives-compaction) une longue conversation que vous avez laissée de côté, peu avant l'expiration de son cache de prompt. Votre prochain message envoie alors un résumé au lieu de la conversation entière. À votre retour, la conversation affiche une ligne qui commence par `Compacted while idle, before the prompt cache expired`.

La compaction en cas d'inactivité est activée par défaut pour les conversations qui remplissent toutes ces conditions :

* **Session** : vous êtes dans une session de terminal interactive
* **Compaction automatique** : [`autoCompactEnabled`](#autocompactenabled) est activé
* **Cache de prompt** : la conversation utilise le [TTL d'une heure du cache de prompt](https://code.claude.com/docs/fr/prompt-caching.md#which-ttl-each-request-gets)
* **Feature flags** : Claude Code peut [récupérer les feature flags auprès d'Anthropic](https://code.claude.com/docs/fr/env-vars.md#features-that-need-feature-flag-fetching)
* **Taille** : le contexte de la conversation a atteint le seuil de tokens, que vous pouvez [modifier](#change-the-idle-compaction-threshold) par rapport à sa valeur par défaut de 200 000
* **Temps d'inactivité** : environ 54 minutes se sont écoulées depuis la dernière requête, et votre ordinateur est en éveil à ce moment-là

Pour désactiver la compaction en cas d'inactivité, définissez cette clé sur `false`.

* **Scope** : [`Any file`](#scopes)
* **Type** : Boolean
  * `true` : Claude Code compacte les conversations inactives qui remplissent les conditions
  * `false` : Claude Code ne compacte pas pendant que votre session est inactive
* **Default** : `true`
* **Per-session overrides** : [`DISABLE_AUTO_COMPACT`](https://code.claude.com/docs/fr/env-vars) désactive la compaction en cas d'inactivité en même temps que la compaction automatique

```json settings.json theme={null}
{
  "idleCompaction": false
}
```

Pour désactiver ou activer la compaction en cas d'inactivité depuis une session, exécutez `/config` et modifiez la ligne **Idle compaction**. Votre choix est enregistré dans vos paramètres utilisateur et s'applique immédiatement. La ligne nécessite Claude Code v2.1.302 ou ultérieur. Si vous utilisez l'une de ces versions et que `/config` n'affiche pas la ligne, vérifiez les causes suivantes :

* **Une autre source de paramètres définit la clé** : une valeur dans les paramètres gérés, le flag `--settings` ou un fichier de paramètres de projet ou local remplace vos paramètres utilisateur. Modifiez plutôt la clé dans cette source
* **Les feature flags sont indisponibles** : lorsque Claude Code ne peut pas [récupérer les feature flags auprès d'Anthropic](https://code.claude.com/docs/fr/env-vars.md#features-that-need-feature-flag-fetching), la compaction en cas d'inactivité ne s'exécute pas, il n'y a donc rien à désactiver

La clé nécessite Claude Code v2.1.290 ou ultérieur. Sur une version antérieure, qui ignore cette clé, désactivez [`autoCompactEnabled`](#autocompactenabled) pour arrêter la compaction en cas d'inactivité.

#### Modifier le seuil de compaction en cas d'inactivité

Définissez [`CLAUDE_CODE_IDLE_COMPACT_MIN_TOKENS`](https://code.claude.com/docs/fr/env-vars) sur le nombre de tokens que le contexte d'une conversation doit atteindre avant que la compaction en cas d'inactivité ne s'y applique. Utilisez un nombre entier positif. Les valeurs inférieures à `100000` sont relevées à `100000`, le seuil le plus bas.

Avec la valeur par défaut, une conversation sur une fenêtre de contexte de 200K se compacte automatiquement avant d'atteindre 200 000 tokens. Cet exemple abaisse le seuil à 150 000 afin que ces conversations soient éligibles :

```json settings.json theme={null}
{
  "env": {
    "CLAUDE_CODE_IDLE_COMPACT_MIN_TOKENS": "150000"
  }
}
```

### `plansDirectory`

Choisissez où Claude Code stocke les fichiers de plan qu'il écrit en [mode plan](https://code.claude.com/docs/fr/permission-modes.md#analyze-before-you-edit-with-plan-mode). Claude Code résout le chemin par rapport à la racine du projet.

* **Scope** : [`Any file`](#scopes)
* **Type** : string, a path relative to the project root
* **Default** : non défini, donc Claude Code utilise `~/.claude/plans`

```json settings.json theme={null}
{
  "plansDirectory": "./plans"
}
```

Claude Code stocke les plans dans `~/.claude/plans` au lieu du répertoire que vous avez défini dans des cas tels que ceux-ci :

* **En dehors de la racine du projet** : le chemin se résout en dehors de la racine du projet, comme le fait `"../plans"`.
* **Barre oblique inverse sur macOS, Linux et WSL** : le chemin résolu contient une barre oblique inverse, comme le fait `"docs\\plans"` de style Windows. Écrivez `"docs/plans"`, qui fonctionne aussi sous Windows.

### `skillListingBudgetFraction`

À chaque tour, Claude voit un [listing de vos compétences](https://code.claude.com/docs/fr/skills.md#skill-descriptions-are-cut-short) avec leurs descriptions, et Claude Code plafonne ce listing à une part de la fenêtre de contexte. Lorsque le listing dépasse le plafond, Claude Code conserve le nom de chaque compétence mais supprime les descriptions des compétences les moins utilisées, afin que Claude puisse toujours invoquer ces compétences mais soit moins susceptible d'en choisir une de sa propre initiative. Augmentez cette clé pour conserver plus de descriptions visibles au détriment de plus de contexte par tour.

* **Scope** : [`Any file`](#scopes)
* **Type** : number, a fraction greater than `0` and at most `1`
* **Default** : `0.01`, which reserves 1% of the context window

```json settings.json theme={null}
{
  "skillListingBudgetFraction": 0.02
}
```

Pour voir la quantité de contexte utilisée par le listing et les compétences qui contribuent le plus, exécutez `/doctor`.

### `skillListingMaxDescChars`

À chaque tour, Claude voit un [listing de vos compétences](https://code.claude.com/docs/fr/skills.md#skill-descriptions-are-cut-short) qui affiche le texte `description` et `when_to_use` de chaque compétence. Cette clé plafonne le nombre de caractères de ce texte que Claude Code affiche par compétence ; le texte plus long est coupé au plafond.

* **Scope** : [`Any file`](#scopes)
* **Type** : number of characters, a positive integer
* **Default** : `1536`

```json settings.json theme={null}
{
  "skillListingMaxDescChars": 2048
}
```

Augmentez-le pour conserver les descriptions longues intactes au détriment de plus de contexte par tour ; diminuez-le pour adapter plus de compétences sous [`skillListingBudgetFraction`](#skilllistingbudgetfraction).

### `taskOutputMaxChars`

> [!WARNING]
>
> Supprimé dans v2.1.277, ainsi que l'outil `TaskOutput` qu'il dimensionnait. Le définir n'a aucun effet sur les versions actuelles. Claude lit le [fichier de sortie](https://code.claude.com/docs/fr/tools-reference.md#background-commands) d'une tâche en arrière-plan avec `Read` à la place.

Jusqu'à v2.1.276, vous définissiez cette clé au nombre de caractères de la [sortie d'une tâche en arrière-plan](https://code.claude.com/docs/fr/tools-reference.md#background-commands) que Claude reçoit en ligne lorsqu'il lisait la tâche avec l'outil `TaskOutput`.

## Interface et terminal

Modifiez l'apparence et le comportement de Claude Code dans votre terminal : thème, mode d'éditeur, ligne d'état, spinner, notifications dans la session et accessibilité. Voir [Configuration du terminal](https://code.claude.com/docs/fr/terminal-config.md).

### `askUserQuestionTimeout`

Permettez à une boîte de dialogue [`AskUserQuestion`](https://code.claude.com/docs/fr/tools-reference) sans réponse de continuer automatiquement après une période d'inactivité, en soumettant les options que vous aviez déjà sélectionnées. Définissez-le lorsque vous vous éloignez et que vous voulez que Claude continue sans vous. Par défaut, les questions attendent que vous y répondiez. Pour savoir quand le minuteur se met en pause ou ne démarre jamais, voir [Délai de continuation automatique des questions](https://code.claude.com/docs/fr/tools-reference.md#question-auto-continue-timeout).

* **Portée** : [`Utilisateur ou géré`](#scopes)
* **Type** : chaîne de caractères, l'une de `"60s"`, `"5m"`, `"10m"`, ou `"never"`
* **Défaut** : `"never"`

```json settings.json theme={null}
{
  "askUserQuestionTimeout": "5m"
}
```

Apparaît dans `/config` sous **Question auto-continue timeout**, qui écrit cette clé dans les paramètres utilisateur ; Claude Code masque la ligne tandis que les paramètres gérés ou le flag `--settings` définissent la clé.

### `autoContinueAtUsageLimit`

Après qu'une limite d'utilisation de claude.ai arrête votre session, attendez dans la session ouverte et continuez la tâche automatiquement après la réinitialisation. Voir [Désactiver la continuation automatique](https://code.claude.com/docs/fr/interactive-mode.md#turn-automatic-continue-off). Nécessite Claude Code v2.1.234 ou ultérieur.

* **Portée** : [`Utilisateur ou géré`](#scopes). Lire à partir des paramètres utilisateur, `--settings`, et des paramètres gérés uniquement. Lorsqu'aucun de ceux-ci ne définit la clé, un fichier de paramètres de projet ou local qui la définit désactive la fonctionnalité plutôt que d'être ignoré.
* **Type** : Booléen
  * `true` : après qu'une limite d'utilisation de claude.ai arrête votre session, Claude Code attend dans la session ouverte et continue la tâche automatiquement après la réinitialisation
  * `false` : Claude Code ne démarre pas l'attente de lui-même. Vous pouvez toujours [démarrer une attente vous-même](https://code.claude.com/docs/fr/interactive-mode.md#start-a-wait-yourself) à partir du menu des options de limite d'utilisation
* **Défaut** : `true`

```json settings.json theme={null}
{
  "autoContinueAtUsageLimit": false
}
```

Apparaît dans `/config` sous **Continue automatically at usage limit**, qui écrit cette clé dans les paramètres utilisateur ; Claude Code masque la ligne tandis que les paramètres gérés ou l'indicateur `--settings` définissent la clé.

### `autoScrollEnabled`

Suivez la nouvelle sortie jusqu'au bas de la conversation dans [rendu plein écran](https://code.claude.com/docs/fr/fullscreen.md). Désactivez-le pour rester où vous avez fait défiler tandis que Claude continue à travailler ; les invites de permission défilent toujours dans la vue.

* **Portée** : [`N'importe quel fichier`](#scopes)
* **Type** : Booléen
  * `true` : la conversation suit la nouvelle sortie jusqu'au bas
  * `false` : vous restez où vous avez fait défiler tandis que Claude continue à travailler ; les invites de permission apparaissent toujours sous la transcription
* **Défaut** : `true`

```json settings.json theme={null}
{
  "autoScrollEnabled": false
}
```

Apparaît dans `/config` sous **Auto-scroll** lorsque le rendu plein écran est activé, qui écrit cette clé dans les paramètres utilisateur.

### `axScreenReader`

Rendez la sortie compatible avec les lecteurs d'écran : texte plat sans bordures décoratives ni animations. Le mode lecteur d'écran utilise le moteur de rendu classique, donc le paramètre `tui` n'a aucun effet tant qu'il est actif ; les [sessions en arrière-plan](https://code.claude.com/docs/fr/agent-view.md) attachées restent rendues en plein écran.

* **Portée** : [`Utilisateur ou géré`](#scopes). Vous pouvez également définir la clé dans un fichier que vous transmettez avec `--settings`. Claude Code ignore la clé dans les paramètres de projet et locaux, donc ni un dépôt ni votre propre `.claude/settings.local.json` ne peuvent activer ou désactiver le mode lecteur d'écran.
* **Type** : Booléen
  * `true` : Claude Code rend le texte plat sans bordures décoratives ni animations, en utilisant le moteur de rendu classique
  * `false` : Claude Code rend normalement
* **Défaut** : non défini, donc le mode lecteur d'écran est désactivé
* **Remplacements par session** : [`--ax-screen-reader`](https://code.claude.com/docs/fr/cli-reference#cli-flags) a la priorité sur [`CLAUDE_AX_SCREEN_READER`](https://code.claude.com/docs/fr/env-vars), et les deux ont la priorité sur cette clé pour une session

```json settings.json theme={null}
{
  "axScreenReader": true
}
```

### `bashEditDiffEnabled`

Choisissez si Claude Code enregistre les fichiers qui ont changé dans un référentiel Git pendant l'exécution d'une commande Bash. Lorsqu'il les enregistre, vous voyez leur diff dans le terminal après la commande, et vos [hooks Bash PostToolUse](https://code.claude.com/docs/fr/hooks.md#bash) reçoivent la liste des fichiers modifiés.

Un fichier listé n'est pas toujours un fichier que la commande a modifié. Une modification qu'un autre programme ou un autre appel Bash a effectuée pendant que la commande s'exécutait peut également y apparaître.

Définissez la clé à `true` pour les enregistrer dans chaque mode de permission. Nécessite Claude Code v2.1.269 ou ultérieur.

* **Portée** : [`Utilisateur ou géré`](#scopes). Un `true` compte uniquement à partir de vos paramètres utilisateur, du JSON transmis avec `--settings`, ou des [paramètres gérés](https://code.claude.com/docs/fr/managed-settings.md), donc un `true` dans le `.claude/settings.json` ou `.claude/settings.local.json` d'un référentiel ne peut pas activer l'enregistrement. Un `false` dans l'un ou l'autre fichier de référentiel le désactive toujours à moins qu'un fichier de [priorité supérieure](https://code.claude.com/docs/fr/settings.md#settings-precedence) ne définisse `true`.
* **Type** : Booléen
* **Défaut** : non défini, donc Claude Code enregistre les modifications en mode auto et en mode `bypassPermissions` lorsqu'il dirige Claude à modifier les fichiers via Bash
* **Remplacements par session** : [`CLAUDE_CODE_BASH_EDIT_DIFF`](https://code.claude.com/docs/fr/env-vars) a la priorité sur cette clé pour une session

```json settings.json theme={null}
{
  "bashEditDiffEnabled": true
}
```

### `companyAnnouncements`

Affichez les annonces de votre organisation aux utilisateurs au démarrage. Lorsque vous en listez plus d'une, Claude Code en choisit une au hasard pour chaque session ; au tout premier lancement d'une personne, il affiche la première entrée.

* **Portée** : [`N'importe quel fichier`](#scopes)
* **Type** : tableau de chaînes de caractères
* **Défaut** : non défini, donc aucune annonce ne s'affiche

```json settings.json theme={null}
{
  "companyAnnouncements": [
    "Welcome to Acme Corp! Review our code guidelines at docs.example.com"
  ]
}
```

### `defaultShell`

Choisissez si Bash ou PowerShell exécute les commandes shell que vous tapez avec le préfixe [`!`](https://code.claude.com/docs/fr/interactive-mode#shell-mode-with-prefix) dans la boîte d'entrée, celles que Claude Code exécute directement et ajoute à la session.

`"powershell"` fonctionne uniquement lorsque l'[outil PowerShell](https://code.claude.com/docs/fr/tools-reference.md#powershell-tool) est activé. L'outil est activé par défaut sur Windows sans Git Bash, et sur Windows avec Git Bash pour les comptes claude.ai et Console. Dans les sessions Amazon Bedrock, Google Cloud's Agent Platform, et Microsoft Foundry, et sur macOS, Linux, et WSL, définissez `CLAUDE_CODE_USE_POWERSHELL_TOOL=1` pour activer l'outil. Définissez cette variable à `0` pour désactiver l'outil.

* **Portée** : [`N'importe quel fichier`](#scopes)
* **Type** : chaîne de caractères, l'une de :
  * `"bash"` : Claude Code exécute vos commandes `!` dans Bash
  * `"powershell"` : Claude Code exécute vos commandes `!` dans PowerShell
* **Défaut** : `"bash"`, ou `"powershell"` sur Windows lorsque Bash n'est pas disponible

```json settings.json theme={null}
{
  "defaultShell": "powershell"
}
```

Si le shell que vous nommez n'est pas disponible, Claude Code utilise l'autre : `"powershell"` revient à Bash lorsque l'outil PowerShell est désactivé, et `"bash"` revient à PowerShell lorsque Bash n'est pas installé.

### `dialogExpiry`

Définissez la date limite pour les boîtes de dialogue que Claude Code [transfère à un client distant](https://code.claude.com/docs/fr/remote-control.md#limitations), tel qu'un hôte Remote Control ou SDK, et pour la boîte de dialogue d'approbation d'un [message inter-session retenu](https://code.claude.com/docs/fr/cross-session-messaging.md#control-inbound-messages). Sur Claude Code v2.1.236 ou ultérieur, la même date limite limite l'invite de consentement d'utilisation de crédits Fable [en milieu de session](https://code.claude.com/docs/fr/model-config.md#fable-and-usage-credits) dans une session qui peut n'avoir personne au terminal. Lorsqu'aucune réponse n'arrive avant la date limite, Claude Code annule la boîte de dialogue et continue avec sa valeur par défaut sans action. Nécessite Claude Code v2.1.224 ou ultérieur.

* **Portée** : [`Utilisateur ou géré`](#scopes)
* **Type** : chaîne de caractères, l'une de `"60s"`, `"5m"`, `"10m"`, ou `"never"`, qui désactive la date limite
* **Défaut** : `"5m"`
* **Remplacements par session** : [`CLAUDE_CODE_USER_DIALOG_TIMEOUT_MS`](https://code.claude.com/docs/fr/env-vars) a la priorité sur cette clé pour une session

```json settings.json theme={null}
{
  "dialogExpiry": "10m"
}
```

Les invites de permission et les questions [`AskUserQuestion`](https://code.claude.com/docs/fr/tools-reference#askuserquestion-tool-behavior) utilisent leurs propres flux et ne sont pas régies par cette date limite. Apparaît dans `/config` sous **Dialog expiry**, qui écrit cette clé dans les paramètres utilisateur ; la ligne nécessite Claude Code v2.1.232 ou ultérieur, et Claude Code la masque tandis que les paramètres gérés ou l'indicateur `--settings` définissent la clé.

### `editorMode`

Choisissez le mode de liaison de touches pour l'invite d'entrée.

* **Portée** : [`N'importe quel fichier`](#scopes)
* **Type** : chaîne de caractères, l'une de :
  * `"normal"` : liaisons de touches standard dans l'entrée d'invite
  * `"vim"` : édition de style vim avec modes NORMAL, INSERT, et VISUAL
* **Défaut** : `"normal"`

```json settings.json theme={null}
{
  "editorMode": "vim"
}
```

Apparaît dans `/config` sous **Editor mode**, qui écrit cette clé dans les paramètres utilisateur.

### `emojiCompletionEnabled`

Affichez les suggestions d'emoji lorsque vous tapez `:` plus un raccourci dans l'entrée d'invite, et remplacez un raccourci complété tel que `:heart:` par son emoji. Définissez-le à `false` pour désactiver les deux.

* **Portée** : [`N'importe quel fichier`](#scopes)
* **Type** : Booléen
  * `true` : Claude Code affiche les suggestions d'emoji après `:` et remplace un raccourci complété par son emoji
  * `false` : Claude Code ne suggère pas d'emoji et ne remplace pas les raccourcis
* **Défaut** : `true`

```json settings.json theme={null}
{
  "emojiCompletionEnabled": false
}
```

Voir [Raccourcis emoji](https://code.claude.com/docs/fr/interactive-mode.md#emoji-shortcodes). Nécessite Claude Code v2.1.217 ou ultérieur.

### `fileSuggestion`

Exécutez votre propre commande pour fournir l'autocomplétion du chemin de fichier `@` au lieu de la suggestion de fichier intégrée. La suggestion intégrée utilise la traversée rapide du système de fichiers ; un grand monorepo peut mieux fonctionner avec l'indexation spécifique au projet, comme un index de fichier pré-construit.

* **Portée** : [`N'importe quel fichier`](#scopes). Sous les [portes de ligne d'état et de suggestion de fichier](#status-line-and-file-suggestion-gates), Claude Code désactive la commande ou exécute uniquement une valeur gérée, et ignore la vôtre sans avertissement.
* **Type** : objet avec `type`, toujours `"command"`, et `command`, la commande shell à exécuter
* **Défaut** : non défini, donc Claude Code utilise la suggestion de fichier intégrée

```json settings.json theme={null}
{
  "fileSuggestion": {
    "type": "command",
    "command": "~/.claude/file-suggestion.sh"
  }
}
```

Après avoir enregistré ceci, tapez `@` suivi d'une partie d'un chemin dans l'invite : les suggestions proviennent de la sortie de votre commande.

#### Entrée et sortie de commande

Claude Code exécute la commande avec les mêmes variables d'environnement que les [hooks](https://code.claude.com/docs/fr/hooks.md), y compris `CLAUDE_PROJECT_DIR`, et arrête d'attendre après cinq secondes. La commande reçoit du JSON sur stdin avec un champ `query` contenant ce que vous avez tapé jusqu'à présent :

```json theme={null}
{"query": "src/comp"}
```

Imprimez les chemins de fichier séparés par des sauts de ligne sur stdout. Claude Code en affiche au maximum 15 :

```text theme={null}
src/components/Button.tsx
src/components/Modal.tsx
src/components/Form.tsx
```

Le script suivant lit la requête et la transmet à un index de fichier de référentiel :

```bash theme={null}
#!/bin/bash
query=$(cat | jq -r '.query')
# Replace your-repo-file-index with your own file search command
your-repo-file-index --query "$query" | head -20
```

### `footerLinksRegexes`

Rendez les badges cliquables supplémentaires dans le pied de page sous la boîte d'entrée lorsqu'une regex correspond à la sortie de tour : résultats d'outils, y compris le contenu des fichiers et les pages récupérées, et les propres réponses de Claude. Utilisez-le pour transformer les ID imprimés par les CLI de projet, tels que les outils d'examen et les suivi de problèmes, en liens de session.

* **Portée** : [`Utilisateur ou géré`](#scopes)
* **Type** : tableau d'objets, chacun avec `type` défini à `"regex"`, une regex `pattern`, un modèle `url`, et un `label` optionnel ; les espaces réservés `{name}` dans `url` et `label` sont remplis à partir des groupes de capture nommés dans `pattern`
* **Défaut** : non défini, donc aucun badge ne s'affiche

Cet exemple correspond aux clés de problème telles que `PROJ-1234` et construit chaque lien à partir de la clé capturée :

```json settings.json theme={null}
{
  "footerLinksRegexes": [
    {
      "type": "regex",
      "pattern": "\\b(?<key>PROJ-\\d+)\\b",
      "url": "https://issues.example.com/browse/{key}",
      "label": "{key}"
    }
  ]
}
```

Avec ceci configuré, lorsque `PROJ-1234` apparaît dans un résultat d'outil ou dans la réponse de Claude, un badge `PROJ-1234` apparaît dans le pied de page liant à `https://issues.example.com/browse/PROJ-1234`.

#### Contraintes de badge

L'URL, le label et le nombre de badges de chaque entrée sont limités comme suit :

| Contrainte | Comportement |
| :- | :- |
| Origine de l'URL | Les valeurs capturées sont codées en URL et l'URL construite doit partager l'origine littérale du modèle. Une capture peut remplir un segment de chemin ou une valeur de requête mais ne peut pas changer où le lien pointe |
| Longueur de l'URL | Les URL construites plus longues que 2048 caractères sont supprimées |
| Schéma d'URL | Doit être `https`, `http`, ou un schéma de lien profond d'éditeur ou d'espace de travail reconnu : `vscode`, `vscode-insiders`, `cursor`, `windsurf`, `zed`, `jetbrains`, `idea`, `slack`, `linear`, `notion`, `figma` |
| Label | Par défaut le texte correspondant et est tronqué à 28 colonnes d'affichage |
| Nombre de badges | Au maximum 5 badges s'affichent. Le plus ancien est remplacé par les correspondances plus récentes et `/clear` les supprime |

Lorsqu'un tour se termine, Claude Code correspond à la regex `pattern` de chaque entrée par rapport à la sortie de tour sur le thread principal, donc une regex lente bloque l'interface utilisateur jusqu'à ce qu'elle se termine. Les quantificateurs imbriqués tels que `(a+)+$` peuvent prendre un temps exponentiel par rapport à certaines entrées et geler la session, donc gardez chaque `pattern` linéaire et évitez d'imbriquer `+` ou `*`.

Les badges de pied de page s'affichent aux côtés d'une [ligne d'état personnalisée](https://code.claude.com/docs/fr/statusline.md) lorsqu'une est configurée ; ni l'une ni l'autre ne remplace l'autre. Utilisez une ligne d'état pour une ligne pilotée par script qui calcule son propre contenu à partir des données de session, et les badges de pied de page pour transformer les ID de la conversation en liens sans script.

### `keybindingFlavor`

> [!WARNING]
>
> Déprécié depuis v2.1.261 et n'a aucun effet. Les touches d'édition de mots de l'invite suivent toujours les [conventions readline](https://code.claude.com/docs/fr/interactive-mode.md#make-ctrl-w-delete-back-to-whitespace), comme dans Bash. Claude Code accepte toujours `keybindingFlavor`, donc un fichier de paramètres qui le définit reste valide.

Dans v2.1.238 à v2.1.260, le définir à `"readline"` faisait que `Ctrl+W` supprime jusqu'à l'espace blanc précédent au lieu de seulement le mot précédent.

* **Portée** : [`N'importe quel fichier`](#scopes)
* **Type** : chaîne de caractères, `"classic"` ou `"readline"`
* **Défaut** : non défini

### `maxProseWidth`

Limitez la largeur de la prose dans les réponses de Claude afin que les lignes restent lisibles dans un terminal large. Les paragraphes, les titres, les listes, et les citations en bloc s'enroulent dans ce nombre de colonnes, tandis que les tableaux et les blocs de code conservent la largeur complète du terminal. Nécessite Claude Code v2.1.282 ou ultérieur.

* **Portée** : [`N'importe quel fichier`](#scopes)
* **Type** : nombre de colonnes de terminal, un nombre entier, minimum `40`. Claude Code ignore toute autre valeur
* **Défaut** : non défini, donc la prose s'enroule au bord du terminal

```json settings.json theme={null}
{
  "maxProseWidth": 80
}
```

### `prefersReducedMotion`

Réduisez ou désactivez les animations de l'interface telles que le spinner, le shimmer, et les effets de flash. Apparaît dans `/config` sous **Reduce motion**.

* **Portée** : [`N'importe quel fichier`](#scopes)
* **Type** : Booléen
  * `true` : Claude Code réduit ou désactive les animations de l'interface telles que le spinner, le shimmer, et les effets de flash
  * `false` : identique à non défini ; Claude Code affiche ses animations
* **Défaut** : `false`

```json settings.json theme={null}
{
  "prefersReducedMotion": true
}
```

### `promptSuggestionEnabled`

Affichez ou masquez les [suggestions d'invite](https://code.claude.com/docs/fr/interactive-mode.md#prompt-suggestions), les prédictions grisées qui apparaissent dans votre entrée d'invite. Définissez-le à `false`, ou désactivez **Prompt suggestions** dans `/config`, pour les masquer.

* **Portée** : [`N'importe quel fichier`](#scopes)
* **Type** : Booléen
  * `true` : vous voyez les suggestions d'invite dans votre entrée d'invite
  * `false` : Claude Code masque les suggestions d'invite
* **Défaut** : `true`
* **Remplacements par session** : [`CLAUDE_CODE_ENABLE_PROMPT_SUGGESTION`](https://code.claude.com/docs/fr/env-vars) a la priorité sur cette clé pour une session

```json settings.json theme={null}
{
  "promptSuggestionEnabled": false
}
```

Les suggestions d'invite nécessitent un compte claude.ai ou Console avec la télémétrie activée. Sur Amazon Bedrock, Google Cloud's Agent Platform, et Microsoft Foundry, ou avec la télémétrie désactivée, comme par [`DISABLE_TELEMETRY`](https://code.claude.com/docs/fr/env-vars), cette clé n'a aucun effet et seul `CLAUDE_CODE_ENABLE_PROMPT_SUGGESTION=1` les active.

### `respectGitignore`

Contrôlez si le sélecteur de fichier `@` laisse de côté les fichiers qui correspondent aux motifs `.gitignore`. Apparaît dans `/config` sous **Respect .gitignore in file picker**.

* **Portée** : [`N'importe quel fichier`](#scopes). Lorsqu'aucun fichier de paramètres ne le définit, Claude Code revient à `respectGitignore` dans `~/.claude.json`, que le bouton bascule `/config` écrit.
* **Type** : Booléen
  * `true` : le sélecteur de fichier `@` laisse de côté les fichiers qui correspondent aux motifs `.gitignore`
  * `false` : le sélecteur de fichier `@` inclut les fichiers qui correspondent aux motifs `.gitignore`
* **Défaut** : `true`

```json settings.json theme={null}
{
  "respectGitignore": false
}
```

### `respondToBashCommands`

Choisissez si Claude répond après que vous exécutiez une commande shell avec le préfixe [`!`](https://code.claude.com/docs/fr/interactive-mode#shell-mode-with-prefix) dans la boîte d'entrée. Par défaut, Claude Code ajoute la sortie de la commande à la conversation et Claude y répond. Définissez cette clé à `false` pour ajouter la sortie au contexte sans réponse, afin que vous puissiez exécuter plusieurs commandes et les interroger ensemble.

* **Portée** : [`N'importe quel fichier`](#scopes)
* **Type** : Booléen
  * `true` : Claude Code ajoute la sortie de la commande à la conversation et Claude y répond
  * `false` : Claude Code ajoute la sortie au contexte sans réponse
* **Défaut** : `true`

```json settings.json theme={null}
{
  "respondToBashCommands": false
}
```

Voir [Mode shell avec préfixe `!`](https://code.claude.com/docs/fr/interactive-mode#shell-mode-with-prefix).

### `showClearContextOnPlanAccept`

Lorsque Claude termine un plan en [mode plan](https://code.claude.com/docs/fr/permission-modes.md#review-and-approve-a-plan), il affiche un menu d'approbation. La planification peut utiliser beaucoup de contexte, donc cette clé ajoute une première option à ce menu, **Yes, clear context and …**, qui approuve le plan, efface le contexte de la conversation, et commence l'implémentation à partir du plan seul. Le reste du label nomme le mode de permission dans lequel la session continue, et affiche la quantité de contexte que la planification a utilisée.

* **Portée** : [`N'importe quel fichier`](#scopes)
* **Type** : Booléen
  * `true` : le menu d'approbation du plan obtient une première option, **Yes, clear context and …**, qui approuve le plan et efface le contexte de la conversation
  * `false` : le menu d'approbation du plan n'affiche aucune option d'effacement de contexte
* **Défaut** : `false`

```json settings.json theme={null}
{
  "showClearContextOnPlanAccept": true
}
```

### `showTurnDuration`

Affichez ou masquez le message de durée de tour après chaque réponse, tel que « Cooked for 1m 6s · done 6:05 PM ». L'horloge après « done » affiche quand le tour s'est terminé ; [`timeFormat`](#timeformat) et [`timeZone`](#timezone) contrôlent son format et sa zone. Apparaît dans `/config` sous **Show turn duration**.

* **Portée** : [`N'importe quel fichier`](#scopes). Une valeur dans `~/.claude.json` d'une version antérieure s'applique lorsqu'aucun fichier de paramètres ne la définit.
* **Type** : Booléen
  * `true` : vous voyez le message de durée de tour après chaque réponse
  * `false` : Claude Code masque le message de durée de tour
* **Défaut** : `true`

```json settings.json theme={null}
{
  "showTurnDuration": false
}
```

### `spellcheck`

Soulignez les mots mal orthographiés dans l'entrée d'invite au fur et à mesure que vous tapez, en utilisant un correcteur orthographique que vous installez. Claude Code vérifie uniquement le texte dans la boîte d'entrée. [Vérifier l'orthographe au fur et à mesure que vous tapez](https://code.claude.com/docs/fr/interactive-mode.md#check-spelling-as-you-type) couvre l'installation d'aspell, hunspell, ou ispell et ce que le correcteur couvre. Nécessite Claude Code v2.1.235 ou ultérieur.

* **Portée** : [`Utilisateur ou géré`](#scopes). Le bloc du niveau le plus élevé qui le définit s'applique dans son ensemble.
* **Type** : objet avec `enabled` (Booléen), `checker` (`"aspell"`, `"hunspell"`, `"ispell"`, ou `"auto"`), `language` (chaîne de caractères, passée au correcteur comme son nom de dictionnaire), et `color` (chaîne de caractères, un nom de couleur de terminal, `#rrggbb`, `rgb(r,g,b)`, `ansi256(n)`, ou `ansi:<name>`)
* **Défaut** : non défini, donc la vérification orthographique est désactivée ; `checker` par défaut à `"auto"`, le premier des trois trouvé sur `PATH` ; `language` par défaut au propre dictionnaire du correcteur ; `color` par défaut à la couleur d'erreur du thème

```json settings.json theme={null}
{
  "spellcheck": { "enabled": true, "language": "en_GB" }
}
```

### `spinnerTipsEnabled`

Tandis que Claude travaille, la ligne du spinner tourne à travers de courts conseils sur les fonctionnalités de Claude Code, tels que « Use Plan Mode to prepare for a complex request before making changes. Press Shift+Tab twice to enable. » Définissez cette clé à `false` pour les masquer. Apparaît dans `/config` sous **Show tips**.

* **Portée** : [`N'importe quel fichier`](#scopes)
* **Type** : Booléen
  * `true` : vous voyez les conseils dans le spinner tandis que Claude travaille
  * `false` : Claude Code masque les conseils du spinner
* **Défaut** : `true`

```json settings.json theme={null}
{
  "spinnerTipsEnabled": false
}
```

### `spinnerTipsOverride`

Ajoutez vos propres conseils aux [conseils du spinner](#spinnertipsenabled) que Claude Code affiche tandis que Claude travaille, ou remplacez les conseils intégrés par les vôtres. Claude Code met vos conseils dans la même rotation que les conseils intégrés.

Si vous définissez [`spinnerTipsEnabled`](#spinnertipsenabled) à `false`, Claude Code masque tous les conseils, les vôtres inclus.

* **Portée** : [`N'importe quel fichier`](#scopes). Claude Code honore les objets de conseil, `tipsFile`, `label`, et `excludeDefault` à partir des paramètres utilisateur, l'indicateur `--settings`, et les paramètres gérés ; à partir des paramètres de projet et local, il lit uniquement les conseils en chaîne de caractères simples.
* **Type** : objet avec les champs `tips`, `tipsFile`, `label`, et `excludeDefault`, chacun optionnel
* **Défaut** : non défini, donc Claude Code affiche uniquement les conseils intégrés

Les objets de conseil, `tipsFile`, `label`, et la règle de la ligne Portée selon laquelle les paramètres de projet et local ne contribuent que des chaînes de caractères simples nécessitent Claude Code v2.1.247 ou ultérieur.

Chaque entrée `tips` est une chaîne de caractères simple ou un objet avec ces champs :

| Champ | Requis | Description |
| :- | :- | :- |
| `id` | Oui | Jusqu'à 64 lettres, chiffres, `.`, `_`, ou `-`. Claude Code clé l'historique d'affichage du conseil sur lui, donc la période de refroidissement du conseil survit à la réorganisation de la liste. De deux entrées avec le même id, Claude Code utilise la première |
| `text` | Oui | Le conseil, une ligne de jusqu'à 500 caractères. Claude Code supprime les échappements ANSI et les caractères de contrôle et réduit les espaces |
| `cooldownSessions` | Non | Sessions Claude Code attend avant d'afficher le conseil à nouveau, `0` à `1000`, par défaut `0` |
| `priority` | Non | Ordre parmi les conseils qui n'ont pas été affichés aussi longtemps, plus élevé en premier, `-10` à `10`, par défaut `0` |

Claude Code lit une chaîne de caractères simple comme un conseil avec ces valeurs par défaut et un id basé sur la position, donc son historique d'affichage se réinitialise lorsque vous réorganisez la liste. Donnez à un conseil un `id` pour conserver son historique à travers les modifications.

Claude Code lit au maximum 200 conseils à travers `tips` et `tipsFile`, et supprime une entrée invalide avec un avertissement de débogage au lieu de rejeter le fichier de paramètres.

Utilisez les champs restants pour nommer un fichier de conseils, définir le préfixe, et masquer les conseils intégrés :

* `tipsFile` : un chemin absolu ou `~/` vers un fichier JSON local contenant un tableau des mêmes entrées, ou un objet avec un tableau `tips`, jusqu'à 256 KB. Claude Code lit le fichier une fois par processus, donc il charge vos modifications au prochain démarrage. Vous ne pouvez pas le définir via les [paramètres gérés par serveur](https://code.claude.com/docs/fr/server-managed-settings.md) ; déployez les `tips` en ligne là, ou déployez le chemin dans un `managed-settings.json` sur disque.
* `label` : le préfixe Claude Code affiche avant les conseils à partir des paramètres utilisateur, `--settings`, et les paramètres gérés, jusqu'à 40 caractères. La valeur par défaut est `Tip`, le même préfixe que les conseils intégrés, et les conseils à partir des paramètres de projet et local l'utilisent toujours.
* `excludeDefault` : définissez-le à `true` pour masquer les conseils intégrés et afficher uniquement les vôtres. Lorsque Claude Code ne peut pas charger l'un de vos conseils, par exemple parce que `tipsFile` n'existe pas ou que chaque entrée est invalide, il conserve la rotation intégrée au lieu d'une rotation vide.

Lorsque plus d'un fichier de paramètres définit la clé, Claude Code affiche les conseils de tous et prend `tipsFile`, `label`, et `excludeDefault` à partir de celui des paramètres gérés, l'indicateur `--settings`, et les paramètres utilisateur qui est le plus élevé en priorité qui définit chacun.

Cet exemple, dans vos paramètres utilisateur, ajoute un conseil en chaîne de caractères simple et un conseil en objet à la rotation sous le préfixe `Acme tip` :

```json settings.json theme={null}
{
  "spinnerTipsOverride": {
    "label": "Acme tip",
    "tips": [
      "Run /review before opening a PR",
      {
        "id": "gateway-errors",
        "text": "Seeing 5xx errors? Check the gateway status page first",
        "cooldownSessions": 5,
        "priority": 2
      }
    ]
  }
}
```

Chaque champ dans l'exemple change une chose sur la façon dont Claude Code affiche les conseils :

* `label` : Claude Code affiche les deux conseils comme `Acme tip: ...` au lieu de `Tip: ...`.
* La chaîne de caractères simple : Claude Code lui donne les valeurs par défaut, donc elle peut réapparaître dans la session suivante.
* `id` : Claude Code clé l'historique d'affichage du deuxième conseil sur `gateway-errors`, donc sa période de refroidissement s'applique toujours après que vous ajoutiez ou réorganisiez les conseils.
* `cooldownSessions` : après que Claude Code affiche le conseil `gateway-errors`, il n'affiche pas ce conseil à nouveau jusqu'à cinq sessions plus tard.
* `priority` : lorsque le conseil `gateway-errors` et un autre conseil n'ont pas été affichés pendant le même nombre de sessions, par exemple lorsqu'aucun n'a été affiché encore, Claude Code affiche `gateway-errors` en premier. La chaîne de caractères simple a la priorité par défaut, `0`.

Tandis que Claude travaille, Claude Code affiche vos conseils dans le spinner avec votre préfixe, tel que `Acme tip: Run /review before opening a PR`.

### `spinnerVerbs`

Tandis qu'un tour est en cours, le spinner affiche un verbe rotatif tel que « Accomplishing », « Architecting », ou « Baking ». Utilisez cette clé pour ajouter vos propres verbes à cette rotation ou remplacer la liste intégrée par la vôtre.

* **Portée** : [`N'importe quel fichier`](#scopes)
* **Type** : objet avec un tableau `verbs` de chaînes de caractères et `mode`, l'un de :
  * `"append"` : Claude Code ajoute vos verbes à l'ensemble intégré
  * `"replace"` : Claude Code affiche uniquement vos verbes
* **Défaut** : non défini, donc Claude Code utilise les verbes intégrés

Cet exemple ajoute deux verbes à l'ensemble intégré :

```json settings.json theme={null}
{
  "spinnerVerbs": {
    "mode": "append",
    "verbs": ["Pondering", "Crafting"]
  }
}
```

En mode `"replace"` avec un tableau `verbs` vide, Claude Code conserve les verbes intégrés.

### `statusLine`

Exécutez votre propre commande pour rendre une [ligne d'état](https://code.claude.com/docs/fr/statusline.md) sous l'invite avec un contexte tel que le modèle, le coût, ou la branche git. Les champs optionnels ajustent l'espacement, ajoutent des réexécutions périodiques, et masquent l'indicateur de mode vim intégré lorsque votre script rend `vim.mode` lui-même.

* **Portée** : [`N'importe quel fichier`](#scopes). Lorsque [`allowManagedHooksOnly`](#allowmanagedhooksonly) est activé, ou [`disableAllHooks`](#disableallhooks) est défini en dehors des paramètres gérés, seule la valeur des paramètres gérés s'exécute.
* **Type** : objet avec `type` défini à `"command"` et une chaîne de caractères `command`, plus `padding` optionnel comme un nombre de caractères, `refreshInterval` comme un nombre de secondes, minimum `1`, et `hideVimModeIndicator` comme un Booléen
* **Défaut** : non défini, donc aucune ligne d'état

Cet exemple imprime le nom du modèle et l'utilisation du contexte, et ajoute deux caractères d'espacement horizontal :

```json settings.json theme={null}
{
  "statusLine": {
    "type": "command",
    "command": "jq -r '\"[\\(.model.display_name)] \\(.context_window.used_percentage // 0)% context\"'",
    "padding": 2
  }
}
```

L'exemple a besoin de [`jq`](https://jqlang.org/) installé et s'exécute dans un shell. Pour les équivalents PowerShell et Git Bash, voir [Configuration Windows](https://code.claude.com/docs/fr/statusline.md#windows-configuration) ; pour la configuration complète, voir [Configurer manuellement une ligne d'état](https://code.claude.com/docs/fr/statusline.md#manually-configure-a-status-line).

### `subagentStatusLine`

Lorsque Claude exécute des [sous-agents](https://code.claude.com/docs/fr/sub-agents.md), Claude Code les liste dans un affichage de tâche sous l'invite, une ligne par sous-agent affichant `name · description · token count`. Cette clé vous permet d'exécuter votre propre commande pour réécrire ces lignes, par exemple pour afficher l'utilisation du contexte de chaque sous-agent en pourcentage. À chaque actualisation, Claude Code envoie les lignes visibles comme un objet JSON sur stdin, avec un tableau `tasks` portant l'`id`, `name`, `status`, `model`, `tokenCount`, et plus de chaque sous-agent, et remplace la ligne pour chaque `id` que vous écrivez en retour comme une ligne `{"id", "content"}`. Les lignes que vous n'écrivez pas en retour conservent le rendu par défaut.

* **Portée** : [`N'importe quel fichier`](#scopes). Lorsque [`allowManagedHooksOnly`](#allowmanagedhooksonly) est activé, ou [`disableAllHooks`](#disableallhooks) est défini en dehors des paramètres gérés, seule la valeur des paramètres gérés s'exécute.
* **Type** : objet avec `type` défini à `"command"` et une chaîne de caractères `command`
* **Défaut** : non défini, donc Claude Code rend les lignes par défaut

```json settings.json theme={null}
{
  "subagentStatusLine": {
    "type": "command",
    "command": "jq -c '.tasks[] | {id, content: \"\\(.name): \\(.tokenCount) tokens\"}'"
  }
}
```

Voir [Lignes d'état des sous-agents](https://code.claude.com/docs/fr/statusline.md#subagent-status-lines).

### `syntaxHighlightingDisabled`

Claude Code colore le code par langage dans les diffs, les blocs de code, et les aperçus de fichier qu'il affiche dans le terminal, avec son surlignage intégré ; aucun plugin ou serveur de langage n'est impliqué. Définissez cette clé à `true` pour les afficher en texte brut à la place, par exemple si les couleurs entrent en conflit avec votre thème de terminal ou ralentissent un lecteur d'écran.

* **Portée** : [`N'importe quel fichier`](#scopes)
* **Type** : Booléen
  * `true` : Claude Code désactive la coloration syntaxique dans les diffs, les blocs de code, et les aperçus de fichier
  * `false` : Claude Code colore la syntaxe
* **Défaut** : `false`

```json settings.json theme={null}
{
  "syntaxHighlightingDisabled": true
}
```

### `terminalProgressBarEnabled`

Certains terminaux peuvent afficher un indicateur de progression sur l'onglet ou dans la barre des tâches pour le programme qui s'exécute en eux. Tandis que Claude travaille, Claude Code signale un état en cours au terminal, afin que vous puissiez voir à partir d'un autre onglet ou fenêtre si la session est toujours occupée. L'indicateur reste visible après la fin du tour tandis que les [sous-agents en arrière-plan](https://code.claude.com/docs/fr/sub-agents.md#run-subagents-in-foreground-or-background) ou les [flux de travail dynamiques](https://code.claude.com/docs/fr/workflows.md) s'exécutent toujours, et s'efface une fois que la session est inactive.

Claude Code le signale uniquement dans les terminaux qui supportent l'indicateur : ConEmu, Ghostty 1.2.0 ou ultérieur, et iTerm2 3.6.6 ou ultérieur. Définissez cette clé à `false` pour arrêter Claude Code de le signaler. Apparaît dans `/config` sous **Terminal progress bar**.

* **Portée** : [`N'importe quel fichier`](#scopes). Une valeur dans `~/.claude.json` d'une version antérieure s'applique lorsqu'aucun fichier de paramètres ne la définit.
* **Type** : Booléen
  * `true` : vous voyez la barre de progression du terminal dans les terminaux qui la supportent
  * `false` : Claude Code masque la barre de progression du terminal
* **Défaut** : `true`

```json settings.json theme={null}
{
  "terminalProgressBarEnabled": false
}
```

### `terminalTitleFromRename`

Claude Code définit le titre de l'onglet de votre terminal. Par défaut, il utilise un titre qu'il génère à partir de la conversation, et une fois que vous donnez à la session un [nom](https://code.claude.com/docs/fr/sessions.md#name-your-sessions) avec `/rename` ou `--name`, l'onglet affiche ce nom à la place. Définissez cette clé à `false` pour conserver le titre généré sur l'onglet même après que vous nommez la session. Le nom lui-même s'applique toujours, donc `/resume <name>` et le sélecteur de session le trouvent.

* **Portée** : [`N'importe quel fichier`](#scopes)
* **Type** : Booléen
  * `true` : le titre de l'onglet du terminal affiche le nom de session que vous avez défini
  * `false` : l'onglet conserve le titre que Claude Code génère à partir de votre conversation
* **Défaut** : `true`

```json settings.json theme={null}
{
  "terminalTitleFromRename": false
}
```

Pour arrêter Claude Code de mettre à jour le titre du terminal du tout, définissez [`CLAUDE_CODE_DISABLE_TERMINAL_TITLE`](https://code.claude.com/docs/fr/env-vars) à `1` à la place.

### `theme`

Choisissez le thème de couleur pour l'interface. Apparaît dans `/config` sous **Theme**.

* **Portée** : [`N'importe quel fichier`](#scopes). Une valeur dans `~/.claude.json` d'une version antérieure s'applique lorsqu'aucun fichier de paramètres ne la définit.
* **Type** : chaîne de caractères, l'une de :
  * `"auto"` : correspond au fond clair ou sombre de votre terminal
  * `"dark"` : le thème sombre
  * `"light"` : le thème clair
  * `"dark-daltonized"` : le thème sombre avec des couleurs adaptées aux daltoniens
  * `"light-daltonized"` : le thème clair avec des couleurs adaptées aux daltoniens
  * `"dark-ansi"` : le thème sombre utilisant uniquement la palette de couleurs ANSI de votre terminal
  * `"light-ansi"` : le thème clair utilisant uniquement la palette de couleurs ANSI de votre terminal
  * `"custom:<slug>"` ou `"custom:<plugin-name>:<slug>"` : un thème personnalisé à partir de `~/.claude/themes/` ou un plugin
* **Défaut** : `"dark"`

```json settings.json theme={null}
{
  "theme": "light-daltonized"
}
```

Voir [Créer un thème personnalisé](https://code.claude.com/docs/fr/terminal-config.md#create-a-custom-theme).

### `timeFormat`

Choisissez comment Claude Code écrit les heures qu'il affiche dans l'interface, telles que le `done 6:05 PM` à la fin de chaque message de durée de tour et les horodatages dans le [lecteur de transcription](https://code.claude.com/docs/fr/interactive-mode.md#transcript-viewer). Pour choisir un préréglage, exécutez `/config` et définissez **Time format**. Nécessite Claude Code v2.1.257 ou ultérieur.

* **Portée** : [`N'importe quel fichier`](#scopes)
* **Type** : chaîne de caractères, l'une de :
  * `"auto"` : identique à non défini ; chaque heure conserve son format intégré, qui suit votre locale sur le message de durée de tour
  * `"12-hour"` : une horloge 12 heures
  * `"24-hour"` : une horloge 24 heures
  * `"24-hour-utc"` : une horloge 24 heures en UTC avec `Z` après les minutes, telle que `18:05Z` ; Claude Code ignore [`timeZone`](#timezone) pour ce préréglage
  * Un motif strftime tel que `"%H:%M"` : Claude Code écrit chaque heure avec le motif. Toute valeur qui contient un `%` est un motif, et toute autre valeur en dehors des préréglages compte comme `"auto"`
* **Défaut** : `"auto"`

```json settings.json theme={null}
{
  "timeFormat": "24-hour"
}
```

`/config` offre uniquement les préréglages, donc pour utiliser un motif strftime, ajoutez la clé à un fichier de paramètres. Cet exemple affiche chaque heure comme une horloge 24 heures à deux chiffres :

```json settings.json theme={null}
{
  "timeFormat": "%H:%M"
}
```

Le message de durée de tour et le lecteur de transcription affichent alors les heures telles que `18:05`. Dans le lecteur de transcription, le motif est l'horodatage entier, donc ajoutez des directives de date lorsque vous voulez la date là. Cet exemple met la date devant l'horloge :

```json settings.json theme={null}
{
  "timeFormat": "%Y-%m-%d %H:%M"
}
```

Les mêmes surfaces affichent alors les heures telles que `2026-09-01 18:05`.

### `timeZone`

Affichez les heures dans l'interface dans un fuseau horaire autre que celui de votre système. Définissez-le à un [nom de fuseau horaire IANA](https://www.iana.org/time-zones), tel que `"UTC"` ou `"Europe/Dublin"`. Les heures que [`timeFormat`](#timeformat) contrôle affichent alors dans cette zone. Si `timeFormat` est `"24-hour-utc"`, les heures restent en UTC et Claude Code ignore cette clé. `/config` n'a aucune ligne pour cette clé, donc définissez-la dans un fichier de paramètres. Nécessite Claude Code v2.1.257 ou ultérieur.

* **Portée** : [`N'importe quel fichier`](#scopes)
* **Type** : chaîne de caractères, un nom de fuseau horaire IANA. Lorsque Claude Code ne reconnaît pas le nom, il utilise votre fuseau horaire système
* **Défaut** : non défini, donc les heures s'affichent dans votre fuseau horaire système

```json settings.json theme={null}
{
  "timeZone": "Europe/Dublin"
}
```

### `tui`

Choisissez le moteur de rendu de l'interface utilisateur du terminal. Utilisez `"fullscreen"` pour le moteur de rendu [alt-screen](https://code.claude.com/docs/fr/fullscreen.md) sans scintillement avec défilement virtualisé, ou `"default"` pour le moteur de rendu classique de l'écran principal. Exécuter `/tui fullscreen` ou `/tui default` écrit cette clé pour vous.

* **Portée** : [`N'importe quel fichier`](#scopes)
* **Type** : chaîne de caractères, l'une de :
  * `"default"` : le moteur de rendu classique de l'écran principal
  * `"fullscreen"` : le moteur de rendu alt-screen sans scintillement avec défilement virtualisé
* **Défaut** : non défini, donc Claude Code [choisit le moteur de rendu pour vous](https://code.claude.com/docs/fr/fullscreen.md#fullscreen-by-default)
* **Remplacements par session** : [`CLAUDE_CODE_NO_FLICKER`](https://code.claude.com/docs/fr/env-vars) et [`CLAUDE_CODE_DISABLE_ALTERNATE_SCREEN`](https://code.claude.com/docs/fr/env-vars) ont la priorité sur cette clé pour une session : `CLAUDE_CODE_NO_FLICKER=1` active le plein écran, et `CLAUDE_CODE_NO_FLICKER=0` ou `CLAUDE_CODE_DISABLE_ALTERNATE_SCREEN=1` le désactive ; lorsque les deux sont définis, Claude Code le désactive

```json settings.json theme={null}
{
  "tui": "fullscreen"
}
```

Sous tmux `-CC` ou via SSH vers Windows, Claude Code conserve le moteur de rendu classique à moins que vous définissiez `CLAUDE_CODE_NO_FLICKER=1`. Les sessions en arrière-plan ouvertes à partir de la [vue agent](https://code.claude.com/docs/fr/agent-view.md) utilisent toujours le moteur de rendu plein écran indépendamment de ce paramètre.

### `verbose`

Par défaut, la transcription réduit chaque appel d'outil à un court résumé, tel que la commande que Claude a exécutée et un nombre de lignes de sa sortie, et vous appuyez sur `Ctrl+O` pour basculer la transcription entière vers la vue développée lorsque vous voulez les détails. Définissez cette clé à `true` pour afficher l'entrée et la sortie complètes de chaque appel d'outil en ligne au fur et à mesure qu'elles se produisent, ce qui est utile lorsque vous déboguez un hook, un serveur MCP, ou une longue commande shell. Apparaît dans `/config` sous **Verbose output**.

* **Portée** : [`N'importe quel fichier`](#scopes). Une valeur dans `~/.claude.json` d'une version antérieure s'applique lorsqu'aucun fichier de paramètres ne la définit.
* **Type** : Booléen
  * `true` : vous voyez la sortie complète de l'outil
  * `false` : vous voyez les résumés tronqués de la sortie de l'outil
* **Défaut** : `false`
* **Remplacements par session** : [`--verbose`](https://code.claude.com/docs/fr/cli-reference#cli-flags) a la priorité sur cette clé pour une session

```json settings.json theme={null}
{
  "verbose": true
}
```

Une valeur [`viewMode`](#viewmode) ou une sélection `/focus` collante remplace cette clé chaque session.

### `viewMode`

Définissez la vue de transcription dans laquelle Claude Code démarre : `"default"`, `"verbose"`, ou `"focus"`. Lorsqu'elle est définie, elle remplace à la fois la sélection `/focus` collante et le paramètre [`verbose`](#verbose).

* **Portée** : [`N'importe quel fichier`](#scopes)
* **Type** : chaîne de caractères, l'une de :
  * `"default"` : la transcription normale avec sortie d'outil tronquée
  * `"verbose"` : la transcription avec sortie d'outil complète
  * `"focus"` : uniquement votre dernière invite, un résumé d'une ligne des appels d'outil avec les statistiques de diff d'édition, et la réponse finale. La vue focus nécessite le [moteur de rendu plein écran](#tui)
* **Défaut** : non défini, donc le paramètre `verbose` et votre dernier choix `/focus` s'appliquent
* **Remplacements par session** : [`--verbose`](https://code.claude.com/docs/fr/cli-reference#cli-flags) a la priorité sur cette clé pour une session

```json settings.json theme={null}
{
  "viewMode": "focus"
}
```

### `vimInsertModeRemaps`

Mappez des séquences à deux touches du mode INSERT vers Escape en [mode d'éditeur vim](https://code.claude.com/docs/fr/interactive-mode.md#vim-editor-mode). Chaque clé est exactement deux caractères imprimables tapés en séquence, et `"<Esc>"` est la seule cible prise en charge ; Claude Code ignore les autres entrées.

* **Portée** : [`Utilisateur ou géré`](#scopes). Un référentiel ne peut pas remapper vos frappes.
* **Type** : objet mappant une séquence de deux caractères à `"<Esc>"`
* **Défaut** : non défini

```json settings.json theme={null}
{
  "vimInsertModeRemaps": {
    "jj": "<Esc>"
  }
}
```

N'a aucun effet à moins que `editorMode` ne soit `"vim"`. Voir [Remapper les séquences de touches du mode INSERT](https://code.claude.com/docs/fr/interactive-mode.md#remap-insert-mode-key-sequences).

### `voice`

Activez la [dictée vocale](https://code.claude.com/docs/fr/voice-dictation.md) et choisissez comment la touche de dictée se comporte. Claude Code écrit cet objet pour vous lorsque vous exécutez `/voice`.

* **Portée** : [`N'importe quel fichier`](#scopes)
* **Type** : objet avec `enabled` comme Booléen, `autoSubmit` comme Booléen qui s'applique uniquement en mode maintien, et `mode`, l'un de :
  * `"hold"` : vous maintenez la touche de dictée enfoncée en parlant et la relâchez pour arrêter
  * `"tap"` : vous appuyez sur la touche une fois pour commencer l'enregistrement et à nouveau pour envoyer
* **Défaut** : non défini, donc la dictée est désactivée ; lorsque `enabled` est `true` et `mode` est non défini, Claude Code utilise `"hold"`

Cet exemple active la dictée et fait que la touche appuie une fois pour commencer l'enregistrement et à nouveau pour envoyer :

```json settings.json theme={null}
{
  "voice": {
    "enabled": true,
    "mode": "tap"
  }
}
```

`autoSubmit` envoie l'invite lorsque vous relâchez la touche en mode maintien. La dictée vocale nécessite un compte claude.ai.

### `voiceEnabled`

> [!WARNING]
>
> Déprécié depuis v2.1.92, lorsque l'objet [`voice`](#voice) l'a remplacé. Claude Code le lit toujours afin que les fichiers de paramètres plus anciens continuent à fonctionner, mais les nouvelles configurations doivent définir `voice.enabled`.

Activez la dictée vocale avec la forme Booléenne simple qui précède l'objet `voice`. Lorsque les deux sont définis, `voice.enabled` s'applique.

* **Portée** : [`N'importe quel fichier`](#scopes)
* **Type** : Booléen
  * `true` : la dictée vocale est activée lorsque vous êtes connecté avec un compte claude.ai et que la politique de votre organisation permet la voix, à moins que `voice.enabled` soit défini
  * `false` : la dictée vocale est désactivée, à moins que `voice.enabled` soit défini
* **Défaut** : non défini

```json settings.json theme={null}
{
  "voiceEnabled": true
}
```

### `wheelScrollAccelerationEnabled`

Accélérez la vitesse de défilement à la molette de la souris lors de défilements rapides en [rendu plein écran](https://code.claude.com/docs/fr/fullscreen.md#mouse-wheel-scrolling). Définissez-le à `false` pour un taux de défilement constant par cran de molette.

* **Portée** : [`N'importe quel fichier`](#scopes)
* **Type** : Booléen
  * `true` : Claude Code accélère la vitesse de défilement à la molette de la souris lors de défilements rapides
  * `false` : Claude Code défile à un taux constant par cran de molette
* **Défaut** : `true`

```json settings.json theme={null}
{
  "wheelScrollAccelerationEnabled": false
}
```

## Git et attribution

Contrôlez l'attribution que Claude Code ajoute aux commits et aux pull requests et comment cela fonctionne avec git.

### `attribution`

Personnalisez l'attribution que Claude Code ajoute aux commits git et aux pull requests. Les commits reçoivent une [git trailer](https://git-scm.com/docs/git-interpret-trailers) telle que `Co-Authored-By` par défaut ; les descriptions de pull request reçoivent du texte brut. Définissez chaque partie séparément avec les sous-clés ci-dessous.

* **Portée** : [`Any file`](#scopes)
* **Type** : objet avec les chaînes `commit` et `pr` et un booléen `sessionUrl`, ou `false` pour masquer toute attribution. La valeur `false` nécessite Claude Code v2.1.281 ou ultérieur ; les versions antérieures la rejettent et [ignorent l'intégralité du fichier de paramètres utilisateur, projet ou local](https://code.claude.com/docs/fr/settings.md#fix-a-broken-settings-file) qui la contient
* **Défaut** : non défini, donc Claude Code utilise l'attribution standard affichée sous chaque sous-clé

Pour masquer toute attribution, définissez `attribution` sur `false`. Dans un fichier de paramètres que les versions antérieures lisent également, définissez [`commit`](#attribution-commit) et [`pr`](#attribution-pr) sur des chaînes vides et [`sessionUrl`](#attribution-sessionurl) sur `false` à la place.

Cet exemple remplace l'attribution du commit, supprime l'attribution de la pull request et supprime le lien de session :

```json settings.json theme={null}
{
  "attribution": {
    "commit": "Generated with AI\n\nCo-Authored-By: AI <ai@example.com>",
    "pr": "",
    "sessionUrl": false
  }
}
```

Une fois que vous définissez `commit` ou `pr`, Claude Code ignore le paramètre `includeCoAuthoredBy` déprécié et utilise son texte par défaut pour celui des deux que vous avez laissé non défini.

Claude Code indique à Claude que vos propres instructions concernant l'attribution, telles qu'une règle CLAUDE.md ou [memory](https://code.claude.com/docs/fr/memory.md), ont la priorité sur ces lignes de commit et de PR, sauf si la ligne est définie dans les [paramètres gérés](https://code.claude.com/docs/fr/managed-settings.md).

### `includeCoAuthoredBy`

> [!WARNING]
>
> Déprécié depuis v2.0.62, quand [`attribution`](#attribution) l'a remplacé. Claude Code le lit toujours, mais les nouvelles configurations doivent définir `attribution`.

Utilisez [`attribution`](#attribution) à la place, qui remplace cette clé et vous permet de modifier ou masquer la trailer de commit, le texte de la pull request et le lien de session séparément. Claude Code honore toujours `includeCoAuthoredBy: false` des fichiers de paramètres antérieurs à `attribution`, mais l'ignore une fois que vous définissez `attribution.commit` ou `attribution.pr`.

* **Portée** : [`Any file`](#scopes)
* **Type** : booléen
  * `true` : identique à non défini ; Claude Code ajoute la trailer de commit et le texte d'attribution de la pull request
  * `false` : Claude Code omet à la fois la trailer de commit et le texte d'attribution de la pull request, sauf si `attribution` définit `commit` ou `pr`, auquel cas les règles [`attribution`](#attribution) s'appliquent
* **Défaut** : `true`

```json settings.json theme={null}
{
  "includeCoAuthoredBy": false
}
```

Pour masquer toute attribution, voir [`attribution`](#attribution).

### `includeGitInstructions`

Claude Code donne à Claude deux éléments de contexte liés à git : ses instructions intégrées sur la façon d'écrire des commits et des pull requests, dans la description de l'outil Bash, et un snapshot d'état git de votre référentiel. Le snapshot contient la branche actuelle, la branche principale, la sortie `git status` et les commits récents. Claude Code le lit au démarrage d'une conversation.

Définissez cette clé sur `false` pour laisser les deux de côté, par exemple lorsque vous utilisez vos propres skills de flux de travail git.

* **Portée** : [`Any file`](#scopes)
* **Type** : booléen
  * `true` : Claude Code inclut ses instructions intégrées de flux de travail de commit et de pull request et le snapshot d'état git. Les sessions cloud n'incluent jamais le snapshot
  * `false` : Claude Code laisse les deux de côté
* **Défaut** : `true`
* **Remplacements par session** : [`CLAUDE_CODE_DISABLE_GIT_INSTRUCTIONS`](https://code.claude.com/docs/fr/env-vars) a la priorité sur cette clé pour une session

```json settings.json theme={null}
{
  "includeGitInstructions": false
}
```

Si vous remplacez le prompt système en [mode non interactif](https://code.claude.com/docs/fr/headless.md) ou dans l'Agent SDK, la session démarre sans le snapshot même lorsque cette clé est `true` :

* **Exécutions `-p`** : vous remplacez le prompt lorsque vous passez [`--system-prompt`](https://code.claude.com/docs/fr/cli-reference#system-prompt-flags) ou `--system-prompt-file`. Vous le remplacez également lorsque vous exécutez un agent personnalisé avec son propre prompt, sélectionné avec [`--agent`](https://code.claude.com/docs/fr/sub-agents#invoke-subagents-explicitly) ou le paramètre [`agent`](#agent). En dehors du [mode bare](https://code.claude.com/docs/fr/headless.md#start-faster-with-bare-mode), pour conserver le snapshot, exécutez sans agent personnalisé et ajoutez vos instructions avec [`--append-system-prompt`](https://code.claude.com/docs/fr/cli-reference#system-prompt-flags) au lieu de remplacer le prompt.
* **[Agent SDK](https://code.claude.com/docs/fr/agent-sdk/modifying-system-prompts.md)** : vous remplacez le prompt par un prompt système personnalisé ou par un agent de thread principal personnalisé. Si vous ne définissez aucun prompt système, le SDK utilise son prompt par défaut minimal et la session démarre également sans le snapshot. En dehors du [mode bare](https://code.claude.com/docs/fr/headless.md#start-faster-with-bare-mode), pour conserver le snapshot, utilisez le preset `claude_code` sans `agent` personnalisé.

### `prUrlTemplate`

Pointez les liens PR que Claude Code rend, dans le badge de pied de page et dans les résumés de résultats d'outils, vers un outil d'examen de code interne au lieu de `github.com`. Claude Code substitue `{host}`, `{owner}`, `{repo}`, `{number}` et `{url}` à partir de l'URL PR. Les liens de [demande de fusion GitLab](https://code.claude.com/docs/fr/interactive-mode.md#gitlab-merge-requests) sur les deux surfaces conservent leur URL GitLab.

* **Portée** : [`Any file`](#scopes)
* **Type** : chaîne, un modèle d'URL utilisant l'un des cinq espaces réservés
* **Défaut** : non défini

```json settings.json theme={null}
{
  "prUrlTemplate": "https://reviews.example.com/{owner}/{repo}/pull/{number}"
}
```

Claude Code applique le modèle uniquement aux liens qu'il rend lui-même ; un numéro PR que Claude écrit dans un message, tel que `#123`, reste tel que Claude l'a écrit. Une URL qui n'a pas la forme `/pull/<number>` est laissée inchangée.

### `attribution.commit`

Définissez le texte d'attribution que Claude Code ajoute aux commits git, y compris les trailers. Définissez-le sur une chaîne vide pour masquer l'attribution du commit.

* **Portée** : [`Any file`](#scopes)
* **Type** : chaîne
* **Défaut** : non défini, donc Claude Code ajoute `Co-Authored-By: <name> <noreply@anthropic.com>`. Le nom est le modèle en utilisation lorsque le commit est effectué, tel que `Claude Sonnet 5`. Lorsqu'un [subagent](https://code.claude.com/docs/fr/sub-agents.md) effectue le commit, la trailer nomme le modèle du subagent.
  * Lorsque Claude Code reconnaît le modèle comme un modèle Claude mais ne peut pas confirmer sa version exacte, il écrit `Claude` seul.
  * Lorsqu'il ne peut pas faire correspondre l'ID du modèle à un modèle Claude, tel qu'un modèle tiers servi via une [`ANTHROPIC_BASE_URL`](https://code.claude.com/docs/fr/env-vars) personnalisée, il écrit `Claude Code`.

Cet exemple remplace la trailer par défaut par une ligne personnalisée et une trailer `Co-Authored-By` personnalisée :

```json settings.json theme={null}
{
  "attribution": {
    "commit": "Generated with AI\n\nCo-Authored-By: AI <ai@example.com>"
  }
}
```

### `attribution.pr`

Définissez le texte d'attribution que Claude Code ajoute aux descriptions de pull request. Définissez-le sur une chaîne vide pour masquer l'attribution de la pull request.

* **Portée** : [`Any file`](#scopes)
* **Type** : chaîne
* **Défaut** : non défini, donc Claude Code ajoute `🤖 Generated with [Claude Code](https://claude.com/claude-code)`

```json settings.json theme={null}
{
  "attribution": {
    "pr": ""
  }
}
```

### `attribution.sessionUrl`

Choisissez si Claude Code ajoute le lien de session claude.ai lorsqu'il valide ou ouvre une pull request à partir d'une session [cloud](https://code.claude.com/docs/fr/claude-code-on-the-web.md) ou [Remote Control](https://code.claude.com/docs/fr/remote-control.md). Claude Code ajoute le lien en tant que trailer `Claude-Session` sur les commits et en tant que lien dans les descriptions de pull request. Définissez-le sur `false` pour omettre le lien.

* **Portée** : [`Any file`](#scopes)
* **Type** : booléen
  * `true` : Claude Code ajoute le lien de session claude.ai lorsqu'il valide ou ouvre une pull request à partir d'une session cloud ou Remote Control
  * `false` : Claude Code omet le lien
* **Défaut** : `true`

```json settings.json theme={null}
{
  "attribution": {
    "sessionUrl": false
  }
}
```

## Hooks et automatisation

Enregistrez des hooks, limitez les hooks qui s'exécutent et contrôlez les workflows. Pour les événements et les charges utiles des hooks, consultez la [référence des hooks](https://code.claude.com/docs/fr/hooks.md).

### `allowedHttpHookUrls`

Limitez les URL que les [hooks HTTP](https://code.claude.com/docs/fr/hooks.md#http-hook-fields) peuvent cibler. Lorsque vous définissez cette clé, Claude Code exécute un hook HTTP uniquement si son URL correspond à l'un des modèles et bloque les autres sans les exécuter ; un tableau vide bloque tous les hooks HTTP.

* **Portée** : [`Any file`](#scopes). Les tableaux fusionnent dans les fichiers de paramètres.
* **Type** : tableau de modèles d'URL, avec `*` comme caractère générique
* **Valeur par défaut** : non défini, donc toute URL est autorisée

Cet exemple autorise toute URL sous `https://hooks.example.com/` et toute URL `http://localhost` :

```json settings.json theme={null}
{
  "allowedHttpHookUrls": ["https://hooks.example.com/*", "http://localhost:*"]
}
```

La correspondance du nom d'hôte est insensible à la casse et traite `hooks.example.com.`, avec le point final qui marque un nom de domaine pleinement qualifié, de la même manière que `hooks.example.com`, ce qui est la façon dont le DNS les traite. La liste d'autorisation s'applique aux hooks de toutes les sources, y compris les paramètres gérés.

Dans l'option `managedSettings` de l'Agent SDK, Claude Code ignore une liste contenant des entrées ; transmettez-la donc plutôt dans l'[option `settings`](https://code.claude.com/docs/fr/agent-sdk/typescript#options) du SDK. Consultez [ce que fait une liste vide dans les paramètres parents](https://code.claude.com/docs/fr/claude-apps-gateway#how-hook-and-skill-keys-in-parent-settings-take-effect).

### `allowManagedHooksOnly`

Limitez l'exécution des hooks aux hooks que votre organisation déploie.

* **Portée** : [`Managed`](#scopes)
* **Type** : Booléen
  * `true` : seuls les hooks gérés s'exécutent, plus les hooks Agent SDK et les hooks des plugins que vos paramètres gérés force-enable. Voir [Ce qui s'exécute sous `allowManagedHooksOnly`](#what-runs-under-allowmanagedhooksonly)
  * `false` : les hooks de chaque portée de paramètres et plugin s'exécutent
* **Valeur par défaut** : non défini, donc les hooks de chaque portée de paramètres et plugin s'exécutent

```json managed-settings.json theme={null}
{
  "allowManagedHooksOnly": true
}
```

#### Ce qui s'exécute sous `allowManagedHooksOnly`

Lorsque vous le définissez à `true`, Claude Code change les hooks et les commandes de type hook qui se chargent :

* **Les hooks gérés et SDK s'exécutent** : les hooks des paramètres gérés et les hooks que l'[Agent SDK](https://code.claude.com/docs/fr/agent-sdk/overview.md) enregistre en processus
* **Les hooks des plugins force-enabled s'exécutent** : les hooks des plugins que vos paramètres gérés force-enable via [`enabledPlugins`](#enabledplugins). Claude Code correspond sur l'ID complet `plugin@marketplace`, donc un plugin portant le même nom d'une marketplace différente reste bloqué. Cela vous permet de distribuer des hooks vérifiés via une marketplace d'organisation tout en bloquant tout le reste. Un [mod](https://code.claude.com/docs/fr/plugins/mods/overview.md) dans un tel plugin se charge uniquement lorsqu'il [compte comme celui de votre organisation](https://code.claude.com/docs/fr/plugins/mods/admin.md#install-your-organizations-mods)
* **Tout le reste est bloqué** : les hooks utilisateur, projet et local, les hooks et mods d'autres plugins installés, et les hooks déclarés dans le frontmatter de l'agent. Les [mods intégrés à Claude Code](https://code.claude.com/docs/fr/plugins/mods/overview.md#mods-built-into-claude-code) continuent de s'exécuter. Pour bloquer uniquement les mods des utilisateurs, définissez [`allowManagedModsOnly`](https://code.claude.com/docs/fr/plugins/mods/admin#set-options-on-the-built-in-guard) à la place.
* **Les plugins sourced par commande sont désactivés** : Claude Code désactive également les plugins avec une [`command` source](https://code.claude.com/docs/fr/plugins/marketplace-reference#command-plugin-source), y compris les plugins force-enabled dans les `enabledPlugins` gérés, sauf si vous définissez [`disableCommandPluginSources`](#disablecommandpluginsources) explicitement à `false`
* **Les commandes `headersHelper` de la marketplace sont bloquées** : Claude Code bloque également les commandes [`headersHelper`](https://code.claude.com/docs/fr/plugins/host-marketplace#authenticate-archive-downloads) de la marketplace sauf si [`disableCommandPluginSources`](#disablecommandpluginsources) est explicitement défini à `false`, sauf pour une marketplace que les paramètres gérés eux-mêmes déclarent. Nécessite Claude Code v2.1.238 ou ultérieur
* **La barre de statut et la suggestion de fichier se limitent aux paramètres gérés** : Claude Code lit [`statusLine`](https://code.claude.com/docs/fr/statusline), [`fileSuggestion`](#filesuggestion) et [`subagentStatusLine`](https://code.claude.com/docs/fr/statusline#subagent-status-lines) uniquement à partir des paramètres gérés, en suivant les [portes de barre de statut et de suggestion de fichier](#status-line-and-file-suggestion-gates)

La commande [`/goal`](https://code.claude.com/docs/fr/goal) ne peut pas s'exécuter tant que cette clé est définie, car elle dépend des hooks.

### `disableAllHooks`

Désactivez les [hooks](https://code.claude.com/docs/fr/hooks.md#disable-or-remove-hooks), toute [barre de statut](https://code.claude.com/docs/fr/statusline.md) personnalisée et toute commande [suggestion de fichier](#filesuggestion) personnalisée. Utilisez-la pour désactiver tous ces éléments temporairement sans les supprimer de vos paramètres.

* **Portée** : [`Any file`](#scopes). Seuls les paramètres gérés peuvent désactiver les hooks gérés.
* **Type** : Booléen
  * `true` : Claude Code désactive les hooks, toute barre de statut personnalisée et toute commande de suggestion de fichier personnalisée
  * `false` : les hooks, la barre de statut et la commande de suggestion de fichier s'exécutent
* **Valeur par défaut** : non défini, donc les hooks s'exécutent

```json settings.json theme={null}
{
  "disableAllHooks": true
}
```

La portée dépend du fichier qui porte la clé :

* **Dans les paramètres gérés** : Claude Code désactive tous les hooks configurés, y compris les hooks gérés, et continue d'exécuter les hooks que l'[Agent SDK](https://code.claude.com/docs/fr/agent-sdk/overview.md) enregistre en processus
* **Dans l'option `managedSettings` de l'Agent SDK** : Claude Code traite la clé comme `allowManagedHooksOnly: true` ; consultez donc [ce qui s'exécute sous `allowManagedHooksOnly`](#what-runs-under-allowmanagedhooksonly) pour savoir quels hooks s'arrêtent. Sur une machine où un administrateur déploie des paramètres gérés, Claude Code ignore cette clé sauf si l'administrateur [autorise un hôte d'intégration à ajouter une politique](https://code.claude.com/docs/fr/managed-settings.md#let-an-embedding-host-add-policy). Nécessite Claude Code v2.1.309 ou ultérieur.
* **Dans tout autre fichier de paramètres** : Claude Code désactive les hooks utilisateur, projet, local et plugin ; les hooks gérés, les hooks Agent SDK et les hooks des plugins force-enabled dans les [`enabledPlugins`](#enabledplugins) gérés continuent de s'exécuter

La clé arrête également les [mods](https://code.claude.com/docs/fr/plugins/mods/overview.md), qui sont des plugins dont le code enregistre des hooks :

* **Dans les paramètres gérés** : les mods de chaque plugin installé s'arrêtent, y compris ceux de votre organisation
* **Dans tout autre fichier de paramètres** : les mods que vous avez installés s'arrêtent, et [les mods de votre organisation](https://code.claude.com/docs/fr/plugins/mods/admin.md#install-your-organizations-mods) continuent de s'exécuter

Les mods intégrés à Claude Code continuent de s'exécuter dans les deux cas. Chacun dispose de [son propre interrupteur](https://code.claude.com/docs/fr/plugins/mods/overview.md#mods-built-into-claude-code).

Garder les hooks Agent SDK en cours d'exécution lorsque les paramètres gérés définissent cette clé nécessite Claude Code v2.1.242 ou ultérieur.

La commande [`/goal`](https://code.claude.com/docs/fr/goal) ne peut pas s'exécuter tant que les hooks sont désactivés, et le menu `/hooks` affiche un avis au lieu de vos hooks.

#### Portes de barre de statut et de suggestion de fichier

Claude Code prend deux décisions pour `statusLine`, `fileSuggestion` et `subagentStatusLine`, dans cet ordre :

* **Désactivé entièrement** : lorsque les paramètres gérés définissent `disableAllHooks`, ou lorsque le dossier n'est pas approuvé selon la même [règle de confiance d'espace de travail que les hooks dans les fichiers de paramètres](https://code.claude.com/docs/fr/permissions.md#what-runs-before-you-trust-a-folder)
* **Limité aux paramètres gérés** : lorsque [`allowManagedHooksOnly`](#allowmanagedhooksonly) est défini, lorsque `disableAllHooks` est `true` en dehors des paramètres gérés après l'application de la [priorité des paramètres](https://code.claude.com/docs/fr/hooks.md#disable-or-remove-hooks), ou lorsque vous démarrez Claude Code avec `--safe-mode`

Sous limitation, Claude Code exécute une valeur gérée si une est déployée. Sinon, il ignore votre valeur sans avertissement : la barre de statut est désactivée et l'autocomplétion `@` revient à la suggestion de fichier intégrée.

### `disableWorkflows`

Désactivez les [workflows dynamiques](https://code.claude.com/docs/fr/workflows.md#turn-workflows-off) et les commandes de workflow groupées pour tous ceux que vos paramètres atteignent, comme une organisation via les paramètres gérés. Pour activer ou désactiver les workflows uniquement pour vous-même, utilisez [`enableWorkflows`](#enableworkflows) à la place, que le bouton bascule **Dynamic workflows** dans `/config` écrit dans vos paramètres utilisateur.

* **Portée** : [`Any file`](#scopes)
* **Type** : Booléen
  * `true` : Claude Code désactive les workflows dynamiques et les commandes de workflow groupées pour tous ceux que vos paramètres atteignent
  * `false` : identique à non défini ; que les workflows soient activés dépend alors de [`enableWorkflows`](#enableworkflows) et de la valeur par défaut de votre plan
* **Valeur par défaut** : `false`
* **Remplacements par session** : [`CLAUDE_CODE_DISABLE_WORKFLOWS`](https://code.claude.com/docs/fr/env-vars) désactive les workflows pour une session ; quel que soit celui des deux qui les désactive, l'autre ne peut pas les réactiver

```json settings.json theme={null}
{
  "disableWorkflows": true
}
```

### `enableWorkflows`

Activez ou désactivez les [workflows dynamiques](https://code.claude.com/docs/fr/workflows.md) pour vous-même lorsque la valeur par défaut de votre plan n'est pas ce que vous voulez. Apparaît dans `/config` comme **Dynamic workflows**, qui écrit cette clé dans vos paramètres utilisateur et la supprime à nouveau lorsque vous basculez vers la valeur par défaut de votre plan. Pour désactiver les workflows pour tout le monde à partir des paramètres gérés, utilisez [`disableWorkflows`](#disableworkflows) à la place.

* **Portée** : [`Any file`](#scopes)
* **Type** : Booléen
  * `true` : Claude Code active les workflows dynamiques pour vous
  * `false` : Claude Code désactive les workflows dynamiques pour vous
* **Valeur par défaut** : non défini, donc les workflows sont activés sauf si vous êtes sur le plan Pro, où ils sont désactivés
* **Remplacements par session** : [`CLAUDE_CODE_DISABLE_WORKFLOWS`](https://code.claude.com/docs/fr/env-vars) désactive les workflows pour une session, et `true` ici ne peut pas les réactiver tant qu'il est défini

```json settings.json theme={null}
{
  "enableWorkflows": true
}
```

[`disableWorkflows`](#disableworkflows) et la politique de workflows de votre organisation prennent également la priorité : `enableWorkflows: true` ne peut pas réactiver les workflows tant qu'une source les désactive. Claude Code masque la ligne `/config` tant qu'une source autre que vos paramètres utilisateur définit `enableWorkflows`, ou définit `disableWorkflows` à `true`.

### `hooks`

Exécutez vos propres commandes, prompts, agents, requêtes HTTP ou outils MCP en tant que [hooks](https://code.claude.com/docs/fr/hooks.md) à des points du cycle de vie de Claude Code, comme avant un appel d'outil ou au démarrage d'une session ; la [référence des hooks](https://code.claude.com/docs/fr/hooks.md#hook-events) répertorie tous les événements, leur charge utile et leurs codes de sortie. Chaque événement correspond à une liste de groupes de matchers, et chaque groupe répertorie les gestionnaires à exécuter lorsque le matcher s'applique.

* **Portée** : [`Any file`](#scopes). Les hooks fusionnent dans les fichiers plutôt que de se remplacer les uns les autres, et les hooks des paramètres gérés ne peuvent pas être supprimés d'autres fichiers.
* **Type** : objet indexé par [événement hook](https://code.claude.com/docs/fr/hooks.md#hook-events) ; chaque valeur est un tableau de groupes `{ "matcher", "hooks" }` dont les entrées `hooks` ont un `type` de `"command"`, `"prompt"`, `"agent"`, `"http"` ou `"mcp_tool"`
* **Valeur par défaut** : non défini, donc aucun hook ne s'exécute

Cet exemple exécute un script avant chaque appel d'outil Bash :

```json settings.json theme={null}
{
  "hooks": {
    "PreToolUse": [
      {
        "matcher": "Bash",
        "hooks": [
          { "type": "command", "command": "~/.claude/hooks/check-bash.sh" }
        ]
      }
    ]
  }
}
```

Pour chaque événement, modèle de matcher et champ de gestionnaire, consultez la [référence des hooks](https://code.claude.com/docs/fr/hooks.md#configuration). Pour désactiver les hooks, consultez [`disableAllHooks`](#disableallhooks) ; pour limiter les hooks à ceux que votre organisation déploie, consultez [`allowManagedHooksOnly`](#allowmanagedhooksonly).

### `httpHookAllowedEnvVars`

Un [hook HTTP](https://code.claude.com/docs/fr/hooks.md#http-hook-fields) peut mettre la valeur d'une variable d'environnement dans un en-tête de requête, par exemple un en-tête `Authorization: Bearer $HOOK_TOKEN`, mais uniquement pour les variables que le hook répertorie dans son propre `allowedEnvVars`. Cette clé définit une limite externe sur cette liste pour chaque hook HTTP : un hook ne peut utiliser une variable que si à la fois son propre `allowedEnvVars` et cette clé la nomment. Utilisez-la pour empêcher un hook de lire un secret qu'il ne devrait pas, même lorsque la définition du hook le demande.

* **Portée** : [`Any file`](#scopes). Les tableaux fusionnent dans les fichiers de paramètres.
* **Type** : tableau de noms de variables d'environnement
* **Valeur par défaut** : non défini, donc la liste `allowedEnvVars` de chaque hook s'applique

Cet exemple limite l'interpolation d'en-tête à `MY_TOKEN` et `HOOK_SECRET` :

```json settings.json theme={null}
{
  "httpHookAllowedEnvVars": ["MY_TOKEN", "HOOK_SECRET"]
}
```

La liste d'autorisation s'applique aux hooks de toutes les sources, y compris les paramètres gérés.

Dans l'option `managedSettings` de l'Agent SDK, Claude Code ignore une liste contenant des entrées ; transmettez-la donc plutôt dans l'[option `settings`](https://code.claude.com/docs/fr/agent-sdk/typescript#options) du SDK. Consultez [ce que fait une liste vide dans les paramètres parents](https://code.claude.com/docs/fr/claude-apps-gateway#how-hook-and-skill-keys-in-parent-settings-take-effect).

### `workflowKeywordTriggerEnabled`

Choisissez si taper le mot-clé `ultracode` dans un prompt déclenche un [workflow dynamique](https://code.claude.com/docs/fr/workflows.md#ask-for-a-workflow-in-your-prompt). Définissez-le à `false` pour taper le mot sans en déclencher un.

* **Portée** : [`Any file`](#scopes). Apparaît dans `/config` comme **Ultracode keyword trigger**.
* **Type** : Booléen
  * `true` : taper `ultracode` dans un prompt déclenche un workflow dynamique
  * `false` : vous pouvez taper le mot sans en déclencher un
* **Valeur par défaut** : `true`

```json settings.json theme={null}
{
  "workflowKeywordTriggerEnabled": false
}
```

Le paramètre d'effort `ultracode`, `/workflows` et les commandes de workflow enregistrées ne sont pas affectés.

### `workflowSizeGuideline`

Définissez le [nombre d'agents que Claude vise](https://code.claude.com/docs/fr/workflows.md#set-a-size-guideline) dans les workflows dynamiques qu'il écrit. Claude Code envoie la valeur à Claude comme conseil, pas une limite appliquée : `"small"` demande moins de 5 agents, `"medium"` moins de 10, et `"large"` moins de 50. Choisissez `"small"` lorsque vous voulez limiter ce qu'un workflow dépense. Nécessite Claude Code v2.1.219 ou ultérieur.

* **Portée** : [`Any file`](#scopes). Une valeur là prend la priorité sur le choix **Dynamic workflow size** dans `/config`, que Claude Code stocke dans `~/.claude.json`, et Claude Code masque cette ligne tant qu'un fichier de paramètres définit la clé.
* **Type** : chaîne, l'une des :
  * `"unrestricted"` : pas de directive, donc Claude dimensionne le workflow à la tâche
  * `"small"` : Claude vise moins de 5 agents
  * `"medium"` : Claude vise moins de 10 agents
  * `"large"` : Claude vise moins de 50 agents
* **Valeur par défaut** : `"medium"`, ou `"small"` lorsque vous êtes connecté sur un plan Pro avec Claude Code v2.1.271 ou ultérieur

```json settings.json theme={null}
{
  "workflowSizeGuideline": "small"
}
```

Nécessite Claude Code v2.1.219 ou ultérieur ; sur v2.1.202 à v2.1.218, définissez la directive dans `/config` à la place.

## Plugins et skills

Activez les plugins, enregistrez les marketplaces, limitez les sources de plugins que votre organisation autorise, et contrôlez les skills qui se chargent. Pour installer et créer des plugins, consultez [Plugins](https://code.claude.com/docs/fr/plugins/overview.md).

### `disableBundledSkills`

Désactivez les [skills](https://code.claude.com/docs/fr/skills.md) et workflows inclus avec Claude Code. Claude Code supprime complètement les skills et workflows fournis, tandis que les commandes intégrées telles que `/init` restent tapables mais sont masquées au modèle.

* **Scope** : [`Any file`](#scopes)
* **Type** : Boolean
  * `true` : Claude Code supprime les skills et workflows fournis et masque les commandes intégrées telles que `/init` au modèle
  * `false` : les skills fournis se chargent
* **Default** : unset, donc les skills fournis se chargent
* **Per-session overrides** : [`CLAUDE_CODE_DISABLE_BUNDLED_SKILLS`](https://code.claude.com/docs/fr/env-vars) défini à `1` désactive les skills fournis pour une session ; celui des deux qui les désactive, l'autre ne peut pas les réactiver

```json settings.json theme={null}
{
  "disableBundledSkills": true
}
```

Les skills provenant de plugins, `.claude/skills/`, et `.claude/commands/` ne sont pas affectés. `/doctor` reste tapable comme les commandes intégrées ; pour le masquer, définissez [`DISABLE_DOCTOR_COMMAND`](https://code.claude.com/docs/fr/env-vars) à la place.

### `disableSkillShellExecution`

Désactivez l'exécution de shell en ligne pour `` !`...` `` et ` ```! ` blocs dans [skills](https://code.claude.com/docs/fr/skills.md) et commandes personnalisées provenant de sources utilisateur, projet, plugin ou répertoire supplémentaire. Claude Code remplace chaque commande par `[shell command execution disabled by policy]` au lieu de l'exécuter.

* **Scope** : [`Any file`](#scopes). Un `true` dans les paramètres gérés ne peut pas être remplacé par `false` ailleurs.
* **Type** : Boolean
  * `true` : Claude Code remplace chaque commande shell en ligne par `[shell command execution disabled by policy]` au lieu de l'exécuter
  * `false` : le shell en ligne s'exécute
* **Default** : unset, donc le shell en ligne s'exécute

```json settings.json theme={null}
{
  "disableSkillShellExecution": true
}
```

Les skills fournis et les skills déployés via les paramètres gérés ne sont pas affectés.

### `skillOverrides`

Masquez ou réduisez un [skill](https://code.claude.com/docs/fr/skills.md#override-skill-visibility-from-settings) sans modifier son `SKILL.md`. Claude Code applique la valeur sous le nom de chaque skill à la liste des skills que Claude voit et à votre autocomplétion `/`.

* **Scope** : [`Any file`](#scopes). Le menu `/skills` écrit dans `.claude/settings.local.json`.
* **Type** : objet mappant le nom du skill à l'un des éléments suivants :
  * `"on"` : Claude voit le skill et vous pouvez taper `/name`
  * `"name-only"` : Claude voit le skill par son nom sans sa description
  * `"user-invocable-only"` : Claude ne voit pas le skill, mais vous pouvez toujours taper `/name`
  * `"off"` : Claude ne voit pas le skill et `/name` est masqué de l'autocomplétion
* **Default** : unset, donc chaque skill est `"on"`

Cet exemple liste `legacy-context` à Claude par nom uniquement et masque `deploy` à Claude et de l'autocomplétion `/` :

```json settings.json theme={null}
{
  "skillOverrides": {
    "legacy-context": "name-only",
    "deploy": "off"
  }
}
```

Les remplacements ne s'appliquent pas aux skills de plugin, que vous gérez via `/plugin`.

Dans les paramètres gérés et les fichiers passés avec `--settings`, une clé sur un alias de skill fourni, tel que `checkup` pour `/doctor`, s'applique également au skill ; consultez [comment les clés d'alias se combinent avec les clés sur le nom propre du skill](https://code.claude.com/docs/fr/skills.md#override-skill-visibility-from-settings).

### `syncClaudeAiSkills`

Désactivez le téléchargement des [skills activés pour votre compte claude.ai](https://code.claude.com/docs/fr/skills.md#how-synced-skills-behave). Claude Code les télécharge dans `~/.claude/skills/synced/` dans [les sessions de terminal où vous vous connectez avec votre compte claude.ai](https://code.claude.com/docs/fr/skills.md#where-synced-skills-load), interactives ou non interactives, et dans les sessions Cowork et cloud. Définissez `false` pour arrêter ce téléchargement et arrêter le chargement des skills qu'il a déjà synchronisés. Claude Code honore uniquement `false` : `true` est identique à unset et n'active pas la synchronisation où elle est autrement désactivée.

* **Scope** : [`User, local, or managed`](#scopes), et fichiers passés avec `--settings`. Un dépôt ne peut pas le désactiver pour vous.
* **Type** : Boolean
  * `false` : Claude Code arrête de télécharger les skills synchronisés et arrête de charger ceux déjà dans `~/.claude/skills/synced/`. Dans les paramètres utilisateur ou gérés, il les déplace également vers `~/.claude/skills/.trash/`
  * `true` : identique à unset
* **Default** : unset, donc les sessions connectées avec votre compte claude.ai synchronisent vos skills

Cet exemple empêche une machine de télécharger les skills du compte dans n'importe quelle session :

```json settings.json theme={null}
{
  "syncClaudeAiSkills": false
}
```

### `syncClaudeAiPlugins`

Désactivez le téléchargement des [plugins activés pour votre compte claude.ai](https://code.claude.com/docs/fr/plugins/loading.md#synced-plugins). Claude Code les télécharge dans `~/.claude/plugins/synced/` au début des sessions de terminal où vous vous connectez avec votre compte claude.ai et dans les sessions Cowork, et charge chacun comme `<name>@synced`. Définissez `false` pour arrêter ce téléchargement et arrêter le chargement des plugins qu'il a déjà synchronisés. Claude Code honore uniquement `false` : `true` est identique à unset et n'active pas la synchronisation où elle est autrement désactivée. Nécessite Claude Code v2.1.273 ou ultérieur.

* **Scope** : [`User, local, or managed`](#scopes), et fichiers passés avec `--settings`. Un dépôt ne peut pas le désactiver pour vous.
* **Type** : Boolean
  * `false` : Claude Code arrête de télécharger les plugins synchronisés et arrête de charger ceux déjà dans `~/.claude/plugins/synced/`. Dans les paramètres utilisateur ou gérés, il les déplace également vers `~/.claude/plugins/.trash/`
  * `true` : identique à unset
* **Default** : unset, donc les sessions connectées avec votre compte claude.ai synchronisent vos plugins

Pour désactiver un seul plugin synchronisé plutôt que tous, définissez `"<name>@synced": false` dans [`enabledPlugins`](#enabledplugins).

Cet exemple empêche une machine de télécharger les plugins du compte dans n'importe quelle session :

```json settings.json theme={null}
{
  "syncClaudeAiPlugins": false
}
```

### `allowedChannelPlugins`

Choisissez quels plugins de [canal](https://code.claude.com/docs/fr/channels.md) peuvent envoyer des messages dans les sessions de votre organisation. Lorsque vous le définissez, Claude Code utilise votre liste à la place de la liste d'autorisation par défaut d'Anthropic ; chaque entrée nomme un plugin et la marketplace d'où il provient.

* **Scope** : [`Managed`](#scopes)
* **Type** : tableau d'objets, chacun avec des chaînes `marketplace` et `plugin`. Une entrée peut à la place être une chaîne `"plugin@marketplace"` telle que `"telegram@claude-plugins-official"`, que Claude Code traite comme l'objet équivalent. La forme de chaîne nécessite Claude Code v2.1.267 ou ultérieur ; les versions antérieures rejettent la valeur `allowedChannelPlugins` entière lorsqu'elle en contient une
* **Default** : unset, donc Claude Code utilise la liste d'autorisation par défaut d'Anthropic

Cet exemple active les canaux et autorise uniquement le plugin Telegram de la marketplace officielle d'Anthropic :

```json managed-settings.json theme={null}
{
  "channelsEnabled": true,
  "allowedChannelPlugins": [
    { "marketplace": "claude-plugins-official", "plugin": "telegram" }
  ]
}
```

Un tableau vide bloque tous les plugins de canal.

Cette clé prend effet une fois que les canaux passent la porte [`channelsEnabled`](#channelsenabled) pour le compte : sur les plans Team et Enterprise, et sur les comptes Console avec des paramètres gérés, cela signifie `channelsEnabled: true`. Consultez [Restreindre les plugins de canal qui peuvent s'exécuter](https://code.claude.com/docs/fr/channels.md#restrict-which-channel-plugins-can-run).

### `blockedMarketplaces`

Bloquez les sources de marketplace de plugins pour votre organisation. Claude Code vérifie la liste de blocage lors de l'ajout de marketplace et lors de l'installation, la mise à jour, l'actualisation et la mise à jour automatique du plugin, donc une marketplace que quelqu'un a ajoutée avant que vous ne définissiez la politique ne peut pas être utilisée pour récupérer des plugins non plus. Les sources bloquées sont vérifiées avant le téléchargement, donc elles ne touchent jamais le système de fichiers.

Si vous définissez cette clé dans la [console d'administration claude.ai](https://code.claude.com/docs/fr/server-managed-settings.md), claude.ai l'applique également lorsque quelqu'un de votre organisation ajoute une marketplace à partir d'un dépôt git sur claude.ai, comme [Comment les restrictions fonctionnent](https://code.claude.com/docs/fr/plugins/org.md#restrict-what-users-can-install) le décrit.

* **Scope** : [`Managed`](#scopes)
* **Type** : tableau d'objets source de marketplace, dans les mêmes formes que [`strictKnownMarketplaces`](#allowed-source-types)
* **Default** : unset, donc aucune marketplace n'est bloquée

Cet exemple bloque un dépôt GitHub comme source de marketplace :

```json managed-settings.json theme={null}
{
  "blockedMarketplaces": [
    { "source": "github", "repo": "untrusted/plugins" }
  ]
}
```

Une entrée `github` peut utiliser la forme [owner-wildcard](#owner-wildcards) `"owner/*"` pour bloquer tous les dépôts sous ce propriétaire GitHub, ce qui nécessite Claude Code v2.1.223 ou ultérieur. Ajoutez `{ "source": "skills-dir" }` pour arrêter le chargement des [plugins `@skills-dir`](https://code.claude.com/docs/fr/plugins/loading#plugins-shared-through-a-repository) par Claude Code depuis `~/.claude/skills/` et depuis le `.claude/skills/` d'un projet, sans restreindre aucune marketplace. Consultez [Restrictions de marketplace gérées](https://code.claude.com/docs/fr/plugins/org.md#restrict-what-users-can-install).

### `channelsEnabled`

Autorisez les [canaux](https://code.claude.com/docs/fr/channels.md) pour votre organisation. Sur les plans Team et Enterprise de claude.ai, Claude Code bloque les canaux jusqu'à ce que vous le définissiez à `true`. Pour les comptes [Anthropic Console](https://code.claude.com/docs/fr/authentication.md#claude-console-authentication) qui s'authentifient avec une clé API, les canaux sont autorisés par défaut. Si votre organisation déploie des paramètres gérés, Claude Code bloque également les canaux sur ces comptes jusqu'à ce que vous définissiez cette clé à `true`.

* **Scope** : [`Managed`](#scopes)
* **Type** : Boolean
  * `true` : Claude Code autorise les canaux pour votre organisation
  * `false` : identique à unset ; que les canaux soient bloqués dépend de votre plan, comme le Default l'indique
* **Default** : unset ; les canaux sont bloqués sur les plans Team et Enterprise et sur les comptes Console avec des paramètres gérés, et autorisés sur les plans Pro et Max et sur les comptes Console sans paramètres gérés

```json managed-settings.json theme={null}
{
  "channelsEnabled": true
}
```

Pour restreindre les plugins qui peuvent s'enregistrer en tant que canaux une fois qu'ils sont activés, définissez [`allowedChannelPlugins`](#allowedchannelplugins). Consultez [Contrôles d'entreprise](https://code.claude.com/docs/fr/channels.md#enterprise-controls).

### `disableCommandPluginSources`

Bloquez la [source de plugin `command`](https://code.claude.com/docs/fr/plugins/marketplace-reference#command-plugin-source), qui installe un plugin en exécutant une commande déclarée par la marketplace sur la machine de l'utilisateur. Lorsque vous le définissez à `true`, Claude Code n'exécute jamais la commande, n'installe ni ne met à jour les plugins provenant de sources de commande, et arrête de charger ceux déjà installés. Définissez-le à `false` pour les autoriser explicitement. Chaque fois qu'il bloque les sources de commande, que vous le définissiez à `true` ou que vous le laissiez unset sous [`allowManagedHooksOnly`](#allowmanagedhooksonly), il bloque également les commandes [`headersHelper`](https://code.claude.com/docs/fr/plugins/host-marketplace#authenticate-archive-downloads) de la marketplace, sauf pour une marketplace que les paramètres gérés eux-mêmes déclarent. Nécessite Claude Code v2.1.229 ou ultérieur, et le blocage `headersHelper` nécessite v2.1.238 ou ultérieur.

* **Scope** : [`Managed`](#scopes)
* **Type** : Boolean
  * `true` : Claude Code n'exécute jamais la commande déclarée par la marketplace, n'installe ni ne met à jour les plugins provenant de sources de commande, et arrête de charger ceux déjà installés
  * `false` : Claude Code autorise explicitement les plugins provenant de sources de commande
* **Default** : unset, donc Claude Code suit [`allowManagedHooksOnly`](#allowmanagedhooksonly) : une organisation qui restreint l'exécution des hooks aux paramètres gérés obtient également les sources de commande désactivées

```json managed-settings.json theme={null}
{
  "disableCommandPluginSources": true
}
```

Nécessite Claude Code v2.1.229 ou ultérieur.

### `pluginSuggestionMarketplaces`

Nommez les marketplaces dont les plugins peuvent apparaître comme suggestions d'installation contextuelle, dans les conseils de spinner et épinglés en haut de l'onglet **Discover** de `/plugin`. Le conseil intégré de conception frontale propriétaire n'est pas affecté. Les suggestions proviennent de la déclaration `relevance` de chaque plugin dans son entrée de marketplace.

* **Scope** : [`Managed`](#scopes)
* **Type** : tableau de noms de marketplace
* **Default** : unset, donc aucune suggestion déclarée par la marketplace ne s'affiche

```json managed-settings.json theme={null}
{
  "pluginSuggestionMarketplaces": ["acme-corp-plugins"]
}
```

Un nom prend effet uniquement lorsque la marketplace est enregistrée sur la machine et que sa source enregistrée est également déclarée dans les mêmes paramètres gérés, soit comme l'entrée [`extraKnownMarketplaces`](#extraknownmarketplaces) pour ce nom, soit comme une entrée de [`strictKnownMarketplaces`](#strictknownmarketplaces). Claude Code ignore une marketplace enregistrée à partir d'une source différente sous un nom autorisé. La marketplace officielle est exempte de l'exigence de source : autoriser son nom seul suffit, puisque ce nom ne peut s'enregistrer que depuis la source Anthropic officielle. Consultez [Suggérer des plugins par contexte](https://code.claude.com/docs/fr/plugins/relevance.md).

### `pluginTrustMessage`

Ajoutez le texte de votre organisation à l'avertissement de confiance du plugin que Claude Code affiche avant l'installation, par exemple pour confirmer que les plugins de votre marketplace interne sont vérifiés.

* **Scope** : [`Managed`](#scopes)
* **Type** : string
* **Default** : unset, donc Claude Code affiche uniquement l'avertissement standard

```json managed-settings.json theme={null}
{
  "pluginTrustMessage": "All plugins from our marketplace are approved by IT"
}
```

### `strictKnownMarketplaces`

Limitez les sources de marketplace de plugins à partir desquelles les personnes de votre organisation peuvent ajouter et installer des plugins. Claude Code applique la liste d'autorisation lors de l'ajout de marketplace et lors de l'installation, la mise à jour, l'actualisation et la mise à jour automatique du plugin, avant toute opération réseau ou système de fichiers, donc une marketplace que quelqu'un a ajoutée avant que vous ne définissiez la politique ne peut pas être utilisée pour récupérer des plugins une fois que sa source ne correspond plus. Les utilisateurs bloqués voient une erreur nommant la politique gérée.

Si vous définissez cette clé dans la [console d'administration claude.ai](https://code.claude.com/docs/fr/server-managed-settings.md), claude.ai l'applique également lorsque quelqu'un de votre organisation ajoute une marketplace à partir d'un dépôt git sur claude.ai, comme [Comment les restrictions fonctionnent](https://code.claude.com/docs/fr/plugins/org.md#restrict-what-users-can-install) le décrit.

* **Scope** : [`Managed`](#scopes)
* **Type** : tableau d'objets source de marketplace ; consultez [Types de source autorisés](#allowed-source-types)
* **Default** : unset, donc les utilisateurs peuvent ajouter n'importe quelle marketplace. Un tableau vide est un verrouillage complet qui bloque toutes les sources de marketplace, y compris la marketplace officielle d'Anthropic

Cet exemple autorise deux dépôts GitHub, l'un épinglé à la ref `v2.0`, et une URL `marketplace.json` hébergée :

```json managed-settings.json theme={null}
{
  "strictKnownMarketplaces": [
    { "source": "github", "repo": "acme-corp/approved-plugins" },
    { "source": "github", "repo": "acme-corp/security-tools", "ref": "v2.0" },
    { "source": "url", "url": "https://plugins.example.com/marketplace.json" }
  ]
}
```

Vous pouvez également écrire cette clé comme `allowedMarketplaces` ; [Alias de clé Marketplace](#marketplace-key-aliases) décrit comment Claude Code traite l'alias et quelle version l'accepte. Cette clé est une porte de politique : elle contrôle ce que les utilisateurs peuvent ajouter mais n'enregistre rien. Pour restreindre et pré-enregistrer dans un seul fichier, consultez [Combiner avec `extraKnownMarketplaces`](#combine-with-extraknownmarketplaces). Pour la vue côté utilisateur, consultez [Restrictions de marketplace gérées](https://code.claude.com/docs/fr/plugins/org.md#restrict-what-users-can-install).

#### Types de source autorisés

Chaque entrée ci-dessous montre une entrée de liste d'autorisation par type de source et les champs qu'elle accepte. La plupart des types correspondent exactement ; `hostPattern` et `pathPattern` correspondent par regex, et les entrées `github` peuvent utiliser un [wildcard de propriétaire](#owner-wildcards).

| Source | Exemple d'entrée | Champs |
| :- | :- | :- |
| `github` | `{ "source": "github", "repo": "acme-corp/plugins", "ref": "main", "path": "marketplace" }` | `repo` requis ; `ref` est une branche ou une étiquette ; `path` est un sous-répertoire |
| `git` | `{ "source": "git", "url": "https://gitlab.example.com/tools/plugins.git", "ref": "production" }` | `url` requis ; `ref` et `path` comme pour `github` |
| `url` | `{ "source": "url", "url": "https://plugins.example.com/marketplace.json", "headers": { "Authorization": "Bearer ${TOKEN}" } }` | `url` requis ; `headers` ajoute des en-têtes HTTP pour l'accès authentifié |
| `file` | `{ "source": "file", "path": "/opt/acme-corp/plugins/marketplace.json" }` | `path` requis, le chemin absolu vers un fichier `marketplace.json` |
| `directory` | `{ "source": "directory", "path": "/opt/acme-corp/approved-marketplaces" }` | `path` requis, le chemin absolu vers un répertoire contenant `.claude-plugin/marketplace.json` |
| `hostPattern` | `{ "source": "hostPattern", "hostPattern": "^github\\.example\\.com$" }` | `hostPattern` requis, une regex correspondant n'importe où dans l'hôte de la marketplace ; ancrez-la avec `^` et `$` pour correspondre à l'hôte entier |
| `pathPattern` | `{ "source": "pathPattern", "pathPattern": "^/opt/approved/" }` | `pathPattern` requis, une regex correspondant n'importe où dans le `path` des sources `file` et `directory` ; commencez-la avec `^` pour épingler un préfixe |
| `skills-dir` | `{ "source": "skills-dir" }` | Pas de champs |

Certains types de source portent des règles au-delà du tableau :

* **`url`** : une marketplace URL télécharge uniquement le fichier `marketplace.json`, et Claude Code ne récupère pas les fichiers de plugin par chemin relatif depuis ce serveur, donc ses plugins doivent utiliser une [source de plugin](https://code.claude.com/docs/fr/plugins/marketplace-reference.md#plugin-sources) autre qu'un chemin relatif, comme une URL d'archive, qui peut être sur le même hôte. Pour les plugins avec des chemins relatifs, utilisez plutôt une marketplace basée sur Git. Consultez [Les plugins avec des chemins relatifs échouent dans les marketplaces basées sur URL](https://code.claude.com/docs/fr/plugins/troubleshooting.md#plugins-with-relative-paths-fail-in-url-based-marketplaces).
* **`hostPattern`** : utilisez-le pour autoriser chaque marketplace sur un serveur GitHub Enterprise ou GitLab interne sans lister chaque dépôt. Claude Code compare les sources `github` à `github.com`, prend le nom d'hôte des sources `url`, et le prend des sources `git` selon la forme de l'[URL git](https://git-scm.com/docs/git-clone#_git_urls) :

  * Une URL avec un schéma, tel que `https://` ou `ssh://` : le nom d'hôte dans l'URL.
  * Une adresse SSH sans schéma, sous la forme `user@host:path` de git, telle que `git@git.example.com:tools/plugins.git` : l'hôte entre `@` et `:`, qui est l'hôte auquel git se connecte.
  * Toute autre forme sans schéma : pas d'hôte, donc aucune entrée `strictKnownMarketplaces` `hostPattern` ne lui correspond. Pour une entrée `blockedMarketplaces` `hostPattern`, Claude Code prend un hôte à partir d'un ensemble plus large de formes, donc une entrée de liste de blocage peut toujours correspondre à une telle forme. Avant v2.1.234, une entrée `strictKnownMarketplaces` `hostPattern` correspondait également à certaines formes que git ne traite pas comme des adresses SSH.

  Les sources `file` et `directory` n'ont pas d'hôte et ne correspondent jamais à une entrée `hostPattern`.
* **`pathPattern`** : utilisez-le pour autoriser les marketplaces du système de fichiers aux côtés des entrées `hostPattern` pour les sources réseau. `".*"` autorise chaque chemin local ; un motif plus étroit tel que `"^/opt/approved/"` restreint à un répertoire.
* **`skills-dir`** : toute liste d'autorisation, même une vide, empêche Claude Code de charger les [plugins `@skills-dir`](https://code.claude.com/docs/fr/plugins/loading#plugins-shared-through-a-repository) depuis `~/.claude/skills/` et depuis le `.claude/skills/` d'un projet. Pour continuer à les charger, ajoutez l'entrée `{ "source": "skills-dir" }` et laissez [`strictPluginOnlyCustomization`](#strictpluginonlycustomization) unset. L'entrée n'a aucun sens en dehors de cette clé et `blockedMarketplaces`.

#### Wildcards de propriétaire

Une entrée `github` dont la valeur `repo` est `"<owner>/*"` correspond à tous les dépôts sous ce propriétaire GitHub. Les wildcards de propriétaire nécessitent Claude Code v2.1.223 ou ultérieur et ne fonctionnent que dans `strictKnownMarketplaces` et `blockedMarketplaces`. Partout ailleurs où une source `github` apparaît, comme `extraKnownMarketplaces` ou `/plugin marketplace add`, la valeur `repo` doit nommer un seul dépôt. Avant v2.1.223, Claude Code comparait l'entrée littéralement, donc une entrée de liste d'autorisation ne correspondait à aucun dépôt et une entrée de liste de blocage ne bloquait rien ; les entrées de dépôt unique sont appliquées sur chaque version.

Cette entrée autorise n'importe quel dépôt de marketplace dans l'organisation `acme-corp` :

```json managed-settings.json theme={null}
{
  "strictKnownMarketplaces": [
    { "source": "github", "repo": "acme-corp/*" }
  ]
}
```

Seule la position du nom de dépôt entier peut être un wildcard. Claude Code ignore les entrées telles que `*`, `*/plugins`, ou `acme-corp/tools-*` comme invalides, donc elles ne correspondent à aucun dépôt.

Les règles de correspondance diffèrent entre les deux paramètres :

| Règle | `strictKnownMarketplaces` | `blockedMarketplaces` |
| - | - | - |
| Correspondance des orthographes de source | Forme `owner/repo` uniquement. Une URL git qui clone le même dépôt ne correspond pas | N'importe quelle orthographe, y compris les URL git qui se résolvent au même dépôt github.com |
| Casse du propriétaire | Sensible à la casse | Insensible à la casse |
| `ref` | Suit les règles d'entrée exacte : une entrée avec un `ref` correspond uniquement aux sources avec ce ref exact, et une entrée sans ref correspond uniquement aux sources qui ne spécifient pas de ref | Une entrée sans `ref` bloque tous les refs des dépôts auxquels elle correspond |
| `path` | Plus lâche que les règles d'entrée exacte : une entrée avec un `path` nécessite cette valeur exacte, tandis qu'une entrée sans path correspond à n'importe quel chemin à l'intérieur du dépôt | Une entrée sans `path` bloque tous les chemins des dépôts auxquels elle correspond |

#### Correspondance exacte

Pour chaque type de source sauf les entrées `github` de wildcard de propriétaire et les entrées `hostPattern` et `pathPattern` correspondant par regex, Claude Code autorise l'ajout d'un utilisateur uniquement lorsque la source de marketplace correspond exactement à une entrée. Pour les sources basées sur git `github` et `git`, la correspondance exacte inclut les champs optionnels :

* Le `repo` ou `url` doit correspondre exactement
* Le champ `ref` doit correspondre exactement, ou les deux doivent être undefined
* Le champ `path` doit correspondre exactement, ou les deux doivent être undefined

Par exemple, Claude Code traite chaque paire ci-dessous comme deux sources différentes :

* `{ "source": "github", "repo": "acme-corp/plugins" }` et `{ "source": "github", "repo": "acme-corp/plugins", "ref": "main" }`
* `{ "source": "github", "repo": "acme-corp/plugins", "path": "marketplace" }` et `{ "source": "github", "repo": "acme-corp/plugins" }`

#### Autoriser uniquement la marketplace officielle

Pour autoriser la marketplace officielle d'Anthropic et rien d'autre, listez son dépôt :

```json managed-settings.json theme={null}
{
  "strictKnownMarketplaces": [
    { "source": "github", "repo": "anthropics/claude-plugins-official" }
  ]
}
```

Avec cette entrée, Claude Code garde une marketplace officielle déjà enregistrée disponible et, sur une machine vierge, enregistre la marketplace automatiquement la première fois que vous démarrez une session de terminal interactive. L'enregistrement automatique manque le plus souvent :

* Les environnements non interactifs qui s'exécutent avant la première session de terminal interactive de la machine.
* Les machines où Claude Code n'a été exécuté que via l'extension VS Code.
* Les machines où Claude Code a déjà exécuté une session de terminal interactive sous une politique qui bloquait la marketplace, comme le verrouillage de tableau vide. Claude Code enregistre la tentative bloquée et ne réessaie pas après le changement de politique.

Sur ces machines, ajoutez la marketplace à [`extraKnownMarketplaces`](#extraknownmarketplaces) dans le même `managed-settings.json` pour que Claude Code l'enregistre automatiquement, ou exécutez `claude plugin marketplace add anthropics/claude-plugins-official`.

#### Combiner avec `extraKnownMarketplaces`

Les deux clés font des travaux différents. Ce tableau les compare :

| Aspect | `strictKnownMarketplaces` | `extraKnownMarketplaces` |
| - | - | - |
| Objectif | Application de la politique organisationnelle | Commodité d'équipe |
| Fichier de paramètres | Paramètres gérés uniquement | N'importe quel fichier de paramètres |
| Comportement | Bloque les ajouts non autorisés | Enregistre les marketplaces manquantes |
| Quand appliqué | Avant les opérations réseau et système de fichiers | Immédiatement à partir des paramètres utilisateur ou gérés ; après la boîte de dialogue de confiance de l'espace de travail pour les fichiers d'un dépôt |
| Peut être remplacé | Non, priorité la plus élevée | Oui, par des paramètres de priorité plus élevée |
| Format de source | Objet source direct | Marketplace nommée avec un objet `source` imbriqué |

Pour restreindre et pré-enregistrer une marketplace pour tous les utilisateurs, définissez les deux dans `managed-settings.json` :

```json managed-settings.json theme={null}
{
  "strictKnownMarketplaces": [
    { "source": "github", "repo": "acme-corp/plugins" }
  ],
  "extraKnownMarketplaces": {
    "acme-tools": {
      "source": { "source": "github", "repo": "acme-corp/plugins" }
    }
  }
}
```

Avec uniquement `strictKnownMarketplaces` défini, les utilisateurs peuvent toujours ajouter une marketplace autorisée eux-mêmes avec `/plugin marketplace add`. La marketplace officielle d'Anthropic est la seule que Claude Code enregistre automatiquement, et uniquement lorsque la liste d'autorisation l'autorise. [Autoriser uniquement la marketplace officielle](#allow-only-the-official-marketplace) liste les machines qu'elle manque.

### `strictPluginOnlyCustomization`

Bloquez les skills, agents, hooks et serveurs MCP provenant de sources utilisateur et projet, afin qu'ils ne puissent provenir que de plugins ou de paramètres gérés. Combinez-le avec [`strictKnownMarketplaces`](#strictknownmarketplaces) pour contrôler la chaîne d'approvisionnement de personnalisation complète : la liste d'autorisation de marketplace contrôle les plugins que les utilisateurs peuvent installer.

* **Scope** : [`Managed`](#scopes)
* **Type** : `true` pour verrouiller les quatre types de personnalisation, ou un tableau nommant les types à verrouiller, parmi `"skills"`, `"agents"`, `"hooks"`, et `"mcp"`
* **Default** : unset, donc rien n'est verrouillé

Cet exemple verrouille les skills et hooks et laisse les agents et serveurs MCP déverrouillés :

```json managed-settings.json theme={null}
{
  "strictPluginOnlyCustomization": ["skills", "hooks"]
}
```

Si vous verrouillez une surface quelconque, Claude Code arrête également de charger les [plugins de répertoire de skills](https://code.claude.com/docs/fr/plugins/loading.md#skills-directory-plugins-blocked-by-managed-settings), les dossiers de plugins que les utilisateurs conservent sous `~/.claude/skills/` ou `.claude/skills/`. Les utilisateurs placent ces dossiers eux-mêmes plutôt que de les installer depuis une marketplace, donc Claude Code les traite comme une personnalisation utilisateur sous ce paramètre.

Les quatre entrées de sous-clé ci-dessous listent ce que chaque surface bloque en plus et ce qui se charge toujours. Claude Code ignore les noms de surface qu'il ne reconnaît pas plutôt que de faire échouer le fichier de paramètres, donc vous pouvez ajouter de nouveaux noms de surface avant que chaque client ait été mis à jour.

### `strictPluginOnlyCustomization.skills`

Verrouillez la surface `skills`. Claude Code arrête de charger les skills depuis `~/.claude/skills/` et `.claude/skills/`, les commandes personnalisées depuis `~/.claude/commands/` et `.claude/commands/`, les skills et commandes sous les répertoires `--add-dir`, et les skills synchronisés depuis votre compte claude.ai. Il continue de charger les skills fournis, les skills dans le répertoire de politique gérée, et les skills provenant de plugins autres que les [plugins de répertoire de skills](https://code.claude.com/docs/fr/plugins/loading.md#skills-directory-plugins-blocked-by-managed-settings).

* **Scope** : [`Managed`](#scopes)
* **Type** : la chaîne `"skills"` dans le tableau [`strictPluginOnlyCustomization`](#strictpluginonlycustomization)
* **Default** : non verrouillé

```json managed-settings.json theme={null}
{
  "strictPluginOnlyCustomization": ["skills"]
}
```

### `strictPluginOnlyCustomization.agents`

Verrouillez la surface `agents`. Claude Code arrête de charger les agents depuis `~/.claude/agents/`, `.claude/agents/`, et les répertoires `--add-dir`. Il continue de charger les agents intégrés, les agents dans le répertoire de politique gérée, et les agents provenant de plugins autres que les [plugins de répertoire de skills](https://code.claude.com/docs/fr/plugins/loading.md#skills-directory-plugins-blocked-by-managed-settings).

* **Scope** : [`Managed`](#scopes)
* **Type** : la chaîne `"agents"` dans le tableau [`strictPluginOnlyCustomization`](#strictpluginonlycustomization)
* **Default** : non verrouillé

```json managed-settings.json theme={null}
{
  "strictPluginOnlyCustomization": ["agents"]
}
```

### `strictPluginOnlyCustomization.hooks`

Verrouillez la surface `hooks` :

* **Cessent de s'exécuter** :
  * Les hooks provenant des `settings.json` utilisateur, projet et local
  * Les hooks de frontmatter dans les skills, commandes personnalisées et agents, provenant des sources qu'un verrouillage [`skills`](#strictpluginonlycustomization-skills) ou [`agents`](#strictpluginonlycustomization-agents) bloquerait
* **Continuent de s'exécuter** : les hooks dans les paramètres gérés, et les hooks provenant de plugins autres que les [plugins de répertoire de skills](https://code.claude.com/docs/fr/plugins/loading.md#skills-directory-plugins-blocked-by-managed-settings)

Les skills, commandes personnalisées et agents dont les hooks de frontmatter cessent de s'exécuter se chargent toujours tant que leur propre surface n'est pas verrouillée.

Un [skill](https://code.claude.com/docs/fr/skills.md#where-skills-live) personnel ou de projet qui déclare `hooks` dans son frontmatter perd également sa pré-approbation [`allowed-tools`](https://code.claude.com/docs/fr/skills#pre-approve-tools-for-a-skill), de sorte que vos utilisateurs reçoivent des demandes de permission pour les outils que ce champ liste. Lorsqu'un tel skill s'exécute dans un sous-agent via [`context: fork`](https://code.claude.com/docs/fr/skills#run-skills-in-a-subagent), il conserve la pré-approbation. Un skill qui ne déclare aucun `hooks` conserve également sa pré-approbation.

* **Scope** : [`Managed`](#scopes)
* **Type** : la chaîne `"hooks"` dans le tableau [`strictPluginOnlyCustomization`](#strictpluginonlycustomization)
* **Default** : non verrouillé

```json managed-settings.json theme={null}
{
  "strictPluginOnlyCustomization": ["hooks"]
}
```

### `strictPluginOnlyCustomization.mcp`

Verrouillez la surface `mcp`. Claude Code arrête de charger les serveurs MCP depuis `~/.claude.json` et `.mcp.json`. Il continue de charger les serveurs [`managed-mcp.json`](https://code.claude.com/docs/fr/managed-mcp), les serveurs de [`managedMcpServers`](#managedmcpservers), et les serveurs MCP provenant de plugins autres que les [plugins de répertoire de skills](https://code.claude.com/docs/fr/plugins/loading.md#skills-directory-plugins-blocked-by-managed-settings).

* **Scope** : [`Managed`](#scopes)
* **Type** : la chaîne `"mcp"` dans le tableau [`strictPluginOnlyCustomization`](#strictpluginonlycustomization)
* **Default** : non verrouillé

```json managed-settings.json theme={null}
{
  "strictPluginOnlyCustomization": ["mcp"]
}
```

### `enabledPlugins`

Activez ou désactivez les [plugins](https://code.claude.com/docs/fr/plugins/overview.md) individuels, indexés par `plugin-name@marketplace-name`. Un plugin sans entrée à aucune portée revient à sa valeur [`defaultEnabled`](https://code.claude.com/docs/fr/plugins/manifest-reference#fields). Lorsque vous activez ou désactivez un plugin avec `/plugin` ou `claude plugin enable`, Claude Code écrit cette clé pour vous.

* **Scope** : [`Any file`](#scopes)
* **Type** : objet mappant `plugin-name@marketplace-name` à un Boolean
* **Default** : unset, donc chaque plugin suit sa valeur `defaultEnabled`

Cet exemple active deux plugins de la marketplace `team-tools` et en désactive un de `personal` :

```json settings.json theme={null}
{
  "enabledPlugins": {
    "code-formatter@team-tools": true,
    "deployment-tools@team-tools": true,
    "experimental-features@personal": false
  }
}
```

Chaque portée sert un objectif différent :

* **Paramètres utilisateur** : vos préférences personnelles de plugin
* **Paramètres de projet** : plugins partagés avec tout le monde dans le dépôt
* **Paramètres locaux** : remplacements par machine, ignorés par git lorsque Claude Code enregistre un paramètre là
* **Paramètres gérés** : politique à l'échelle de l'organisation. Un plugin défini à `false` ici est bloqué de l'installation à chaque portée et masqué de la marketplace

Les paramètres de projet ont priorité sur les paramètres utilisateur, donc définir un plugin à `false` dans `~/.claude/settings.json` ne désactive pas un plugin que le `.claude/settings.json` du projet active. Pour refuser un plugin activé par le projet sur votre machine, définissez-le à `false` dans `.claude/settings.local.json` à la place. Les plugins forcément activés par les paramètres gérés ne peuvent pas être désactivés de cette façon, puisque les paramètres gérés remplacent les paramètres locaux.

L'activation d'un plugin à partir d'une source externe telle qu'un dépôt GitHub ou un package npm dans le `.claude/settings.json` d'un projet ne l'installe pas pour d'autres personnes. Sur chaque chemin qui charge les plugins, Claude Code signale le plugin comme non installé jusqu'à ce que chaque utilisateur [l'installe lui-même](https://code.claude.com/docs/fr/plugins/org.md#require-plugins-per-repository).

### `extraKnownMarketplaces`

Enregistrez des marketplaces de plugins supplémentaires par nom, afin que les personnes qui ouvrent le dépôt, ou tout le monde que vos paramètres gérés atteignent, obtiennent la marketplace sans l'ajouter eux-mêmes. Claude Code enregistre chaque marketplace qu'il ne connaît pas déjà. Que le plugin que [`enabledPlugins`](#enabledplugins) nomme à partir de celle-ci s'installe dépend de la source du plugin et du fichier qui l'active ; cette entrée a les règles.

* **Scope** : [`Any file`](#scopes). Claude Code honore les entrées dans le `.claude/settings.json` ou `.claude/settings.local.json` d'un dépôt uniquement après que vous acceptiez la boîte de dialogue de confiance de l'espace de travail pour ce dossier ; dans un dossier que vous n'avez pas approuvé, y compris une exécution `-p` là, il les ignore sans message.
* **Type** : objet mappant un nom de marketplace à un objet avec un objet `source` et un Boolean `autoUpdate` optionnel
* **Default** : unset

Cet exemple enregistre une marketplace GitHub et une marketplace à partir d'une URL git auto-hébergée :

```json settings.json theme={null}
{
  "extraKnownMarketplaces": {
    "acme-tools": {
      "source": {
        "source": "github",
        "repo": "acme-corp/claude-plugins"
      }
    },
    "security-plugins": {
      "source": {
        "source": "git",
        "url": "https://git.example.com/security/plugins.git"
      }
    }
  }
}
```

[Ce qui s'exécute avant que vous approuviez un dossier](https://code.claude.com/docs/fr/permissions.md#what-runs-before-you-trust-a-folder) compare la porte de confiance avec les autres contenus qu'un dépôt peut fournir. Vous pouvez également écrire cette clé comme `additionalMarketplaces` ; consultez [Alias de clé Marketplace](#marketplace-key-aliases).

Définissez `"autoUpdate": true` aux côtés de `source` pour que Claude Code actualise cette marketplace et mette à jour ses plugins installés en arrière-plan après le démarrage. Lorsqu'il est omis, `claude-plugins-official` et la plupart des autres marketplaces officielles d'Anthropic sont par défaut à `true`, et les marketplaces tierces par défaut à `false`. Consultez [Configurer les mises à jour automatiques](https://code.claude.com/docs/fr/plugins/install.md#keep-plugins-updated).

Lorsque plus d'un fichier de paramètres définit une entrée de marketplace sous le même nom, Claude Code utilise l'entrée du [fichier de priorité la plus élevée](https://code.claude.com/docs/fr/settings.md#settings-precedence) dans son intégralité. Cette entrée remplace l'entrée de priorité inférieure et n'hérite d'aucun de ses champs, donc une redéfinition ne peut pas combiner les identifiants `source.headers` d'un fichier avec une URL qu'un autre fichier contrôle. Avant v2.1.228, Claude Code fusionnait les entrées de même nom champ par champ, donc une entrée dans un fichier de priorité plus élevée pouvait hériter des champs qu'elle ne définissait pas, y compris les `headers` d'un autre fichier.

#### Types de source de marketplace

L'objet `source` prend l'une de ces formes :

* **`github`** : un dépôt GitHub, avec `repo`
* **`git`** : n'importe quelle URL git, avec `url`
* **`url`** : une URL directe vers un fichier `marketplace.json`, avec `url` et `headers` optionnel et `headersHelper` pour l'accès authentifié. `headersHelper` nomme une commande qui imprime les en-têtes dont les valeurs sont trop éphémères pour être listées dans `headers`, et nécessite Claude Code v2.1.238 ou ultérieur
* **`file`** : un chemin local vers un fichier `marketplace.json`, avec `path`
* **`directory`** : un chemin du système de fichiers local, avec `path`. Utilisez-le pour le développement, ou pour une marketplace que votre organisation [déploie sur chaque machine](https://code.claude.com/docs/fr/plugins/mods/admin.md#install-your-organizations-mods).
* **`settings`** : une marketplace en ligne déclarée directement dans le fichier de paramètres sans dépôt hébergé, avec `name` et `plugins`

Le type de source `git` fonctionne avec n'importe quel service d'hébergement git, y compris GitLab auto-hébergé et Bitbucket. Claude Code clone le dépôt avec la même authentification que `git clone` utiliserait sur cette machine : assistants d'identifiants configurés ou clés SSH. Un jeton de fournisseur tel que `GITHUB_TOKEN` prend effet via un assistant d'identifiants qui le lit. Consultez [Dépôts privés](https://code.claude.com/docs/fr/plugins/host-marketplace.md#grant-access-to-a-private-marketplace) pour les détails de configuration.

Pour les sources `github` et `git`, Claude Code ne télécharge jamais le contenu de [Git LFS](https://git-lfs.com) lorsqu'il clone le dépôt de marketplace pour l'ajouter ou le mettre à jour. Les fichiers suivis par LFS sont extraits en tant que fichiers pointeurs, et la sortie d'ajout ou de mise à jour signale combien.

Le champ `skipLfs` à l'intérieur de l'objet `source` est accepté et n'a aucun effet. Avant v2.1.274, Claude Code téléchargeait le contenu LFS sauf si vous définissiez `"skipLfs": true`.

Pour une source `url`, définissez `headersHelper` à l'intérieur de l'objet `source` lorsque les identifiants dans `headers` expirent et qu'une commande doit en produire de nouveaux. Nécessite Claude Code v2.1.238 ou ultérieur. Pour ce que la commande doit imprimer et où Claude Code l'exécute, consultez [Écrire la commande headersHelper](https://code.claude.com/docs/fr/plugins/host-marketplace.md#write-the-headershelper-command), et pour les cas où Claude Code ne l'exécute pas, consultez [Quand Claude Code ignore une commande headersHelper](https://code.claude.com/docs/fr/plugins/host-marketplace.md#when-claude-code-skips-a-headershelper-command-or-drops-its-output). Une fois que vous définissez `headersHelper` sur une URL de marketplace `https://`, Claude Code exécute la commande à deux moments, réutilisant la sortie d'une exécution pendant jusqu'à 60 secondes :

* Avant chaque récupération du `marketplace.json` de cette marketplace, y compris une actualisation ultérieure. Claude Code envoie les en-têtes imprimés avec cette récupération.
* Avant chaque téléchargement d'archive de plugin sur l'origine de l'URL de la marketplace, ce qui signifie le même schéma, hôte et port. Claude Code envoie la sortie avec ce téléchargement, et aucun autre téléchargement n'obtient les en-têtes.

Claude Code ignore tout `headersHelper` défini dans le `.claude/settings.json` ou `.claude/settings.local.json` d'un répertoire que vous ajoutez avec [`--add-dir`](https://code.claude.com/docs/fr/permissions#what-runs-before-you-trust-a-folder), sur une source `url` comme sur une entrée de plugin en ligne, et envoie uniquement les `headers` fixes définis dans ce fichier. [Comment les utilisateurs acceptent une commande headersHelper](https://code.claude.com/docs/fr/plugins/host-marketplace.md#how-users-accept-a-headershelper-command) couvre les autres fichiers de paramètres.

Les plugins listés dans une source `settings` doivent référencer des sources externes telles que GitHub ou npm, et le `name` doit correspondre à la clé de marketplace. Vous activez toujours chaque plugin séparément dans `enabledPlugins`. Cet exemple déclare un plugin en ligne :

```json settings.json theme={null}
{
  "extraKnownMarketplaces": {
    "team-tools": {
      "source": {
        "source": "settings",
        "name": "team-tools",
        "plugins": [
          {
            "name": "code-formatter",
            "source": {
              "source": "github",
              "repo": "acme-corp/code-formatter"
            }
          }
        ]
      }
    }
  }
}
```

Une entrée de plugin sous `source: 'settings'` dont le propre `source` est une [`archive`](https://code.claude.com/docs/fr/plugins/marketplace-reference#archive-plugin-source) peut définir `headers` pour le téléchargement d'archive. Si la valeur que vous mettriez dans `headers` est éphémère, comme un jeton que votre registre émet à la demande, définissez une commande `headersHelper` à la place. Une entrée peut définir les deux. Les deux champs nécessitent Claude Code v2.1.238 ou ultérieur.

Claude Code envoie les `headers` de l'entrée, et tout ce que la commande imprime, avec le téléchargement d'archive de ce plugin et avec aucun autre téléchargement. Claude Code exécute la commande uniquement lorsqu'un utilisateur [installe ou met à jour ce seul plugin individuellement](https://code.claude.com/docs/fr/plugins/host-marketplace.md#how-users-accept-a-headershelper-command). Trois règles supplémentaires dépendent du fichier qui contient l'entrée :

* **`strict`** : contrairement à une entrée dans le `marketplace.json` d'une marketplace, une entrée dans les paramètres n'a pas besoin de `"strict": false`, car un fichier de paramètres ne porte aucun champ de manifeste à intégrer. Consultez [Mode strict](https://code.claude.com/docs/fr/plugins/marketplace-reference.md#strict-mode).
* **Confiance de dossier** : pour une entrée dans le `.claude/settings.json` ou `.claude/settings.local.json` d'un projet, Claude Code exécute la commande uniquement après que l'utilisateur a également [approuvé ce dossier](https://code.claude.com/docs/fr/permissions.md#what-runs-before-you-trust-a-folder).
* **Filtre d'en-tête** : Claude Code supprime les [noms d'en-têtes de routage de requête et d'identité client](https://code.claude.com/docs/fr/plugins/host-marketplace.md#when-claude-code-skips-a-headershelper-command-or-drops-its-output) d'une entrée dans le `.claude/settings.json` ou `.claude/settings.local.json` d'un projet, car un dépôt peut fournir ces fichiers. Claude Code applique le même filtre à une entrée de catalogue et à une entrée dans les paramètres d'un répertoire `--add-dir`, et aucun filtre à une entrée dans vos paramètres utilisateur, un fichier `--settings`, ou les paramètres gérés.

#### Alias de clé Marketplace

Sur Claude Code v2.1.232 ou ultérieur, vous pouvez écrire `extraKnownMarketplaces` comme `additionalMarketplaces` et `strictKnownMarketplaces` comme `allowedMarketplaces`. Claude Code traite chaque alias comme suit :

* Les versions antérieures ignorent l'alias, donc gardez l'orthographe canonique dans un fichier que les versions antérieures lisent également, comme un fichier de paramètres gérés pour une flotte avec des versions Claude Code mixtes.
* Dans n'importe quel fichier de paramètres qui accepte la clé canonique, Claude Code lit l'alias exactement comme il lit la clé canonique.
* Claude Code peut réécrire `additionalMarketplaces` en `extraKnownMarketplaces` lorsqu'il met à jour le fichier.
* Si vous définissez les deux orthographes dans un fichier, Claude Code utilise la valeur canonique et ignore l'alias.

### `pluginConfigs`

Stockez les réponses non sensibles que vous donnez au dialogue de configuration [`userConfig`](https://code.claude.com/docs/fr/plugins/manifest-reference#user-configuration) d'un plugin, indexées par ID de plugin. Claude Code écrit cette clé dans vos paramètres utilisateur lorsque vous remplissez le dialogue, donc vous n'avez pas besoin de l'éditer à la main. Claude Code stocke les options sensibles dans le Keychain macOS à la place, revenant à `~/.claude/.credentials.json` lorsque le Keychain rejette l'écriture ; sur les plates-formes sans un trousseau pris en charge, il les stocke dans `~/.claude/.credentials.json`.

* **Scope** : [`User or managed`](#scopes)
* **Type** : objet mappant un ID de plugin à un objet avec un champ `options`, mappant chaque nom d'option à une chaîne, un nombre, un Boolean, ou un tableau de chaînes, et un champ `mcpServers` optionnel contenant les valeurs de configuration utilisateur par serveur dans la même forme
* **Default** : unset

Cet exemple stocke l'option `api_endpoint` pour le plugin `deployer` de `acme-tools` :

```json settings.json theme={null}
{
  "pluginConfigs": {
    "deployer@acme-tools": {
      "options": {
        "api_endpoint": "https://api.example.com"
      }
    }
  }
}
```

Les plugins intégrés stockent leurs options sous la même clé avec un suffixe `@builtin`. Par exemple, le paramètre [**Project instructions**](https://code.claude.com/docs/fr/memory.md#choose-which-instruction-files-load) qui contrôle si Claude Code lit les fichiers `AGENTS.md` est `pluginConfigs["cc-plugin-agents-md@builtin"].options.instructionFiles`. Avant v2.1.285, l'ID du plugin était `agents-md@builtin`. Les versions ultérieures lisent une entrée sous l'un ou l'autre ID.

Claude Code ignore les entrées de projet et locales car il substitue ces valeurs dans les configurations de hook, MCP et LSP du plugin, et un dépôt cloné ne doit pas pouvoir les fournir.

### `prependPlugins`

Listez les plugins gérés dont les [mods](https://code.claude.com/docs/fr/plugins/mods/overview.md) s'exécutent avant chaque mod qu'un utilisateur installe, dans l'ordre listé. Lorsque vous définissez cette clé dans les paramètres gérés, nommez `sec-default@builtin` dans la liste pour conserver le garde-fou intégré. Dans les paramètres gérés, Claude Code ignore un id dont le plugin ne compte pas comme celui de votre organisation. Consultez [Installer les mods de votre organisation et définir l'ordre](https://code.claude.com/docs/fr/plugins/mods/admin.md#install-your-organizations-mods) pour ces conditions et pour la façon dont les deux clés d'ordre fonctionnent ensemble.

* **Scope** : [`User or managed`](#scopes). Claude Code lit la clé à partir des paramètres gérés. Il lit la clé à partir des paramètres utilisateur uniquement sur une machine sans paramètres gérés, dans une session dont les identifiants ne proviennent pas d'un `/login` Team ou Enterprise. Il ignore la clé dans les paramètres de projet et locaux et dans un fichier `--settings`.
* **Type** : tableau de chaînes `plugin-name@marketplace-name`
* **Default** : unset

```json managed-settings.json theme={null}
{
  "extraKnownMarketplaces": {
    "acme-tools": {
      "source": { "source": "directory", "path": "/opt/acme/claude-plugins" }
    }
  },
  "enabledPlugins": { "acme-guard@acme-tools": true },
  "prependPlugins": ["acme-guard@acme-tools", "sec-default@builtin"]
}
```

### `appendPlugins`

Listez les plugins gérés dont les [mods](https://code.claude.com/docs/fr/plugins/mods/overview.md) s'exécutent après chaque mod qu'un utilisateur installe, dans l'ordre listé. Un id listé à la fois dans `prependPlugins` et `appendPlugins` est placé en tête. Dans les paramètres gérés, Claude Code ignore un id dont le plugin ne [compte pas comme celui de votre organisation](https://code.claude.com/docs/fr/plugins/mods/admin.md#install-your-organizations-mods).

* **Scope** : [`User or managed`](#scopes). Claude Code lit la clé à partir des paramètres gérés. Il lit la clé à partir des paramètres utilisateur uniquement sur une machine sans paramètres gérés, dans une session dont les identifiants ne proviennent pas d'un `/login` Team ou Enterprise. Il ignore la clé dans les paramètres de projet et locaux et dans un fichier `--settings`.
* **Type** : tableau de chaînes `plugin-name@marketplace-name`
* **Default** : unset

```json managed-settings.json theme={null}
{
  "extraKnownMarketplaces": {
    "acme-tools": {
      "source": { "source": "directory", "path": "/opt/acme/claude-plugins" }
    }
  },
  "enabledPlugins": { "acme-audit@acme-tools": true },
  "appendPlugins": ["acme-audit@acme-tools"]
}
```

## MCP

Contrôlez les serveurs MCP auxquels Claude Code se connecte et ceux qu'une organisation autorise. Consultez [Connecter à des outils externes avec MCP](https://code.claude.com/docs/fr/mcp.md) et [Configuration MCP gérée](https://code.claude.com/docs/fr/managed-mcp.md).

### `allowAllClaudeAiMcps`

Chargez les [connecteurs claude.ai](https://code.claude.com/docs/fr/mcp.md#use-mcp-servers-from-claude-ai) que Claude Code récupère lui-même aux côtés d'un `managed-mcp.json` déployé. Sans cette clé, `managed-mcp.json` prend le contrôle exclusif des serveurs MCP et supprime ces connecteurs.

* **Portée** : [`Managed`](#scopes). Les utilisateurs ne peuvent pas réactiver les connecteurs que le contrôle exclusif a supprimés.
* **Type** : Booléen
  * `true` : Claude Code charge les connecteurs claude.ai aux côtés d'un `managed-mcp.json` déployé
  * `false` : un `managed-mcp.json` déployé prend le contrôle exclusif des serveurs MCP et supprime les connecteurs claude.ai [que Claude Code récupère lui-même](https://code.claude.com/docs/fr/mcp.md#how-connectors-reach-claude-code)
* **Défaut** : `false`, donc un `managed-mcp.json` déployé supprime les connecteurs claude.ai que Claude Code récupère lui-même

```json managed-settings.json theme={null}
{
  "allowAllClaudeAiMcps": true
}
```

[`allowedMcpServers`](#allowedmcpservers) et [`deniedMcpServers`](#deniedmcpservers) s'appliquent toujours aux connecteurs que cette clé charge. Les connecteurs livrés à une [session cloud](https://code.claude.com/docs/fr/claude-code-on-the-web.md) dont l'hôte porte un `managed-mcp.json`, comme un exécuteur auto-hébergé, restent supprimés. Consultez [Autoriser les connecteurs claude.ai aux côtés de l'ensemble géré](https://code.claude.com/docs/fr/managed-mcp.md#allow-claude-ai-connectors-alongside-the-managed-set).

### `allowClaudeInChromeWithManagedMcp`

Permettez au serveur [Claude dans Chrome](https://code.claude.com/docs/fr/chrome.md) intégré de s'exécuter aux côtés d'un `managed-mcp.json` déployé. Sans cette clé, un `managed-mcp.json` déployé bloque Claude dans Chrome dans les sessions de terminal. Nécessite Claude Code v2.1.282 ou ultérieur.

* **Portée** : [`Managed`](#scopes), uniquement à partir des paramètres gérés du périphérique lui-même : une plist déployée par MDM ou une clé de registre HKLM, ou un fichier `managed-settings.json` système. Claude Code l'ignore dans les paramètres gérés par le serveur, dans le registre HKCU accessible en écriture par l'utilisateur, et dans les paramètres utilisateur ou projet.
* **Type** : Booléen
  * `true` : le serveur Claude dans Chrome intégré peut s'exécuter aux côtés d'un `managed-mcp.json` déployé
  * `false` : un `managed-mcp.json` déployé bloque Claude dans Chrome dans les sessions de terminal
* **Défaut** : `false`, donc un `managed-mcp.json` déployé bloque Claude dans Chrome dans les sessions de terminal

```json managed-settings.json theme={null}
{
  "allowClaudeInChromeWithManagedMcp": true
}
```

Une entrée [`deniedMcpServers`](#deniedmcpservers) pour `claude-in-chrome` bloque toujours le serveur avec cette clé activée. Consultez [Autoriser Claude dans Chrome aux côtés de l'ensemble géré](https://code.claude.com/docs/fr/managed-mcp.md#allow-claude-in-chrome-alongside-the-managed-set).

### `allowedMcpServers`

Créez une liste blanche des serveurs MCP que les utilisateurs peuvent ajouter. Claude Code bloque tout serveur qui ne correspond pas à une entrée, où qu'elle soit définie, y compris les serveurs de plugins, les serveurs passés avec `--mcp-config`, et les serveurs de claude.ai.

Les serveurs intégrés tels que Claude dans Chrome, le serveur `ide` auquel Claude Code se connecte dans un IDE [VS Code](https://code.claude.com/docs/fr/vs-code.md#the-built-in-ide-mcp-server) ou [JetBrains](https://code.claude.com/docs/fr/jetbrains.md#the-built-in-ide-mcp-server) en cours d'exécution, et les serveurs que l'interface de ligne de commande elle-même configure sont exemptés de la liste blanche, et la liste noire s'applique toujours à eux. Sur Claude Code v2.1.268 ou ultérieur, les outils Slack d'une session [Claude Tag](https://code.claude.com/docs/fr/claude-tag.md) sont également exemptés de la liste blanche, et la liste noire s'applique toujours à eux. Les serveurs `type: "sdk"` en processus sont exemptés des deux listes ; [l'application qui a démarré la session](https://code.claude.com/docs/fr/mcp.md#how-connectors-reach-claude-code) les enregistre.

Les serveurs que votre organisation livre sont également exemptés de la liste d'autorisation, et la liste de refus s'applique toujours à eux. L'exemption couvre chaque entrée [`managedMcpServers`](#managedmcpservers), et toute entrée [`managed-mcp.json`](https://code.claude.com/docs/fr/managed-mcp#exclusive-control-with-managed-mcp-json) dont les valeurs n'utilisent [aucune expansion `${VAR}` en dehors de `env`](https://code.claude.com/docs/fr/managed-mcp#how-allowlists-and-denylists-apply-to-the-managed-set). Consultez [Comment un serveur est évalué](https://code.claude.com/docs/fr/managed-mcp.md#how-a-server-is-evaluated) pour l'ordre de vérification complet. Avant la v2.1.259, les serveurs de `managed-mcp.json` devaient également correspondre.

* **Portée** : [`Any file`](#scopes). Les entrées de chaque fichier fusionnent en une seule liste blanche sauf si [`allowManagedMcpServersOnly`](#allowmanagedmcpserversonly) est défini. Déployez-le dans les paramètres gérés pour l'appliquer.
* **Type** : tableau d'objets, chacun avec exactement une clé. Utilisez `serverName`, une chaîne limitée aux lettres, chiffres, tirets et traits de soulignement ; `serverCommand`, un tableau de la commande et de ses arguments correspondant exactement ; ou `serverUrl`, un modèle d'URL avec des caractères génériques `*`
* **Défaut** : non défini, donc chaque serveur est autorisé ; un tableau vide bloque chaque serveur que les utilisateurs ajoutent

Cet exemple autorise uniquement le serveur stdio que la commande `npx` listée démarre :

```json settings.json theme={null}
{
  "allowedMcpServers": [
    { "serverCommand": ["npx", "-y", "@modelcontextprotocol/server-filesystem"] }
  ]
}
```

Une entrée [`deniedMcpServers`](#deniedmcpservers) a la priorité, donc un serveur sur les deux listes est bloqué. Une fois que la liste contient une entrée `serverCommand`, un serveur stdio doit correspondre à une entrée `serverCommand`, et une fois qu'elle contient une entrée `serverUrl`, un serveur distant doit correspondre à une entrée `serverUrl` : une correspondance `serverName` n'admet plus ce type de serveur. Consultez [Contrôle basé sur les politiques avec listes blanches et listes noires](https://code.claude.com/docs/fr/managed-mcp.md#policy-based-control-with-allowlists-and-denylists).

### `allowManagedMcpServersOnly`

Rendez la liste blanche gérée la seule qui s'applique. Claude Code lit alors [`allowedMcpServers`](#allowedmcpservers) uniquement à partir des paramètres gérés et ignore les listes blanches dans les paramètres utilisateur, projet et locaux ; [`deniedMcpServers`](#deniedmcpservers) fusionne toujours à partir de chaque portée de paramètres, donc les utilisateurs peuvent toujours bloquer les serveurs pour eux-mêmes. Les administrateurs le définissent pour que les paramètres propres d'un utilisateur ne puissent pas élargir ce que la liste blanche gérée permet.

* **Portée** : [`Managed`](#scopes)
* **Type** : Booléen
  * `true` : Claude Code lit `allowedMcpServers` uniquement à partir des paramètres gérés et ignore les listes blanches dans les paramètres utilisateur, projet et locaux
  * `false` : les listes blanches de chaque portée de paramètres fusionnent
* **Défaut** : `false`, donc les listes blanches de chaque portée de paramètres fusionnent

Cet exemple verrouille la liste blanche aux paramètres gérés et autorise uniquement le serveur nommé `github` :

```json managed-settings.json theme={null}
{
  "allowManagedMcpServersOnly": true,
  "allowedMcpServers": [
    { "serverName": "github" }
  ]
}
```

Les utilisateurs peuvent toujours ajouter leurs propres serveurs MCP ; seuls les serveurs qui correspondent à la liste blanche gérée se chargent. Consultez [Restreindre la liste blanche aux paramètres gérés uniquement](https://code.claude.com/docs/fr/managed-mcp.md#restrict-the-allowlist-to-managed-settings-only).

### `deniedMcpServers`

Bloquez des serveurs MCP spécifiques. Claude Code refuse de charger un serveur correspondant, où qu'il soit défini, y compris les serveurs de plugins, les serveurs passés avec `--mcp-config`, les serveurs de `managed-mcp.json`, les serveurs de [`managedMcpServers`](#managedmcpservers), et les connecteurs claude.ai [qu'il récupère lui-même](https://code.claude.com/docs/fr/mcp.md#how-connectors-reach-claude-code). Les serveurs `type: "sdk"` en processus sont exemptés ; l'application qui a démarré la session les enregistre.

* **Portée** : [`Any file`](#scopes). Les entrées de chaque fichier fusionnent en une seule liste noire, et [`allowManagedMcpServersOnly`](#allowmanagedmcpserversonly) ne change pas cela. Déployez-le dans les paramètres gérés pour l'appliquer.
* **Type** : tableau d'objets, chacun avec exactement une clé : `serverName`, une chaîne, donc le nom d'affichage d'un connecteur claude.ai comme `"claude.ai Slack"` fonctionne ; `serverCommand`, un tableau de la commande et de ses arguments correspondant exactement ; ou `serverUrl`, un modèle d'URL avec des caractères génériques `*`
* **Défaut** : non défini, donc aucun serveur n'est bloqué ; un tableau vide ne bloque rien non plus

```json settings.json theme={null}
{
  "deniedMcpServers": [
    { "serverName": "filesystem" }
  ]
}
```

La liste noire a la priorité sur [`allowedMcpServers`](#allowedmcpservers), donc un serveur sur les deux listes est bloqué. Consultez [Contrôle basé sur les politiques avec listes blanches et listes noires](https://code.claude.com/docs/fr/managed-mcp.md#policy-based-control-with-allowlists-and-denylists).

### `disableClaudeAiConnectors`

Désactivez les [connecteurs MCP claude.ai](https://code.claude.com/docs/fr/mcp.md#use-mcp-servers-from-claude-ai) [que Claude Code récupère lui-même](https://code.claude.com/docs/fr/mcp.md#how-connectors-reach-claude-code), afin qu'il ne les récupère ni ne les connecte. Un `true` dans n'importe quel fichier de paramètres s'applique : un `.claude/settings.json` de projet enregistré peut exclure un référentiel de ces connecteurs, mais un `false` au niveau du projet ne peut pas remplacer un `true` au niveau utilisateur ou géré.

* **Portée** : [`Any file`](#scopes)
* **Type** : Booléen
  * `true` : Claude Code ne récupère ni ne connecte ces connecteurs
  * `false` : identique à non défini ; Claude Code récupère vos connecteurs sauf si un autre fichier de paramètres ou `ENABLE_CLAUDEAI_MCP_SERVERS` les désactive
* **Défaut** : `false`, donc Claude Code récupère vos connecteurs
* **Remplacements par session** : [`ENABLE_CLAUDEAI_MCP_SERVERS`](https://code.claude.com/docs/fr/env-vars) défini sur `false` désactive les connecteurs pour une session ; quel que soit celui des deux qui les désactive, l'autre ne peut pas les réactiver

```json settings.json theme={null}
{
  "disableClaudeAiConnectors": true
}
```

Les serveurs que vous passez explicitement avec `--mcp-config` ne sont pas affectés. Pour bloquer des connecteurs individuels au lieu de tous les bloquer, utilisez [`deniedMcpServers`](#deniedmcpservers). Consultez [Désactiver les connecteurs claude.ai](https://code.claude.com/docs/fr/mcp.md#disable-claude-ai-connectors).

### `disabledMcpjsonServers`

Rejetez des serveurs spécifiques définis dans le fichier `.mcp.json` d'un projet afin que Claude Code ne les connecte jamais ou ne vous demande de les approuver. Un rejet dans n'importe quel fichier de paramètres s'applique, y compris un `.claude/settings.json` de projet enregistré dans le référentiel.

* **Portée** : [`Any file`](#scopes)
* **Type** : tableau de chaînes, les noms de serveur tels qu'ils apparaissent dans `.mcp.json`
* **Défaut** : non défini

```json settings.json theme={null}
{
  "disabledMcpjsonServers": ["filesystem"]
}
```

Claude Code écrit cette clé dans `.claude/settings.local.json` lorsque vous rejetez un serveur dans la boîte de dialogue d'approbation. `claude mcp get <name>` affiche un serveur rejeté comme `✘ Rejected (see disabledMcpjsonServers in settings)`. Le rejet a la priorité sur [`enabledMcpjsonServers`](#enabledmcpjsonservers) et [`enableAllProjectMcpServers`](#enableallprojectmcpservers).

### `enableAllProjectMcpServers`

Approuvez chaque serveur MCP défini dans les fichiers `.mcp.json` du projet sans invite. Claude Code écrit cette clé dans `.claude/settings.local.json` lorsque vous choisissez d'approuver tous les serveurs dans la boîte de dialogue d'approbation.

* **Portée** : [`Any file`](#scopes). Dans un dossier dont vous n'avez pas accepté la boîte de dialogue de confiance, Claude Code l'honore à partir des paramètres utilisateur, des paramètres gérés et de `--settings` et l'ignore dans le fichier de projet partagé, à la fois dans la session et pour `claude mcp list` et `claude mcp get` ; [Approbations des serveurs de projet et confiance de l'espace de travail](https://code.claude.com/docs/fr/mcp.md#project-server-approvals-and-workspace-trust) indique quand un `.claude/settings.local.json` non suivi compte également.
* **Type** : Booléen
  * `true` : Claude Code approuve chaque serveur MCP défini dans les fichiers `.mcp.json` du projet sans invite
  * `false` : Claude Code vous demande d'approuver chaque serveur. Dans un dossier de confiance, un `false` dans un fichier de priorité plus élevée remplace un `true` dans un fichier de priorité plus basse ; dans un dossier que vous n'avez pas approuvé, un `true` dans n'importe quel fichier honoré suffit
* **Défaut** : non défini, donc Claude Code vous demande d'approuver chaque serveur

```json settings.json theme={null}
{
  "enableAllProjectMcpServers": true
}
```

Une entrée [`disabledMcpjsonServers`](#disabledmcpjsonservers) rejette toujours un serveur.

### `enabledMcpjsonServers`

Approuvez des serveurs spécifiques définis dans les fichiers `.mcp.json` du projet afin que Claude Code les connecte sans demander. Claude Code écrit cette clé dans `.claude/settings.local.json` lorsque vous approuvez un serveur dans la boîte de dialogue d'approbation.

* **Portée** : [`Any file`](#scopes). Dans un dossier dont vous n'avez pas accepté la boîte de dialogue de confiance, Claude Code l'honore à partir des paramètres utilisateur, des paramètres gérés et de `--settings` et l'ignore dans le fichier de projet partagé, à la fois dans la session et pour `claude mcp list` et `claude mcp get` ; [Approbations des serveurs de projet et confiance de l'espace de travail](https://code.claude.com/docs/fr/mcp.md#project-server-approvals-and-workspace-trust) indique quand un `.claude/settings.local.json` non suivi compte également.
* **Type** : tableau de chaînes, les noms de serveur tels qu'ils apparaissent dans `.mcp.json`
* **Défaut** : non défini

Cet exemple approuve les serveurs `memory` et `github` du `.mcp.json` du projet :

```json settings.json theme={null}
{
  "enabledMcpjsonServers": ["memory", "github"]
}
```

Une entrée [`disabledMcpjsonServers`](#disabledmcpjsonservers) rejette toujours un serveur.

### `managedMcpServers`

Fournissez des serveurs MCP distants à chaque utilisateur à partir des paramètres gérés. Les utilisateurs conservent les serveurs qu'ils ajoutent eux-mêmes et ne peuvent pas modifier ou supprimer ceux que vous fournissez. Nécessite Claude Code v2.1.259 ou ultérieur.

* **Portée** : [`Managed`](#scopes). Claude Code supprime la clé avec un avertissement dans les paramètres utilisateur, projet et locaux, et ne la lit pas dans l'onglet Code de l'application Claude Desktop sur un déploiement tiers ou dans les sessions Cowork de l'application, où Claude Desktop fournit et verrouille les serveurs MCP de ces sessions lui-même.
* **Type** : objet indexé par nom de serveur. Chaque entrée a la forme `.mcp.json` pour un serveur `http` ou `sse` : une `url` `https://` requise, et optionnellement `headers`, `oauth`, et les autres options HTTP et SSE. Claude Code supprime les entrées qui échouent la validation, et [Ce qu'une entrée peut contenir](https://code.claude.com/docs/fr/managed-mcp.md#what-an-entry-can-contain) énumère les conditions
* **Défaut** : non défini, donc les paramètres gérés ne fournissent aucun serveur

Cet exemple fournit un serveur HTTP nommé `search` :

```json managed-settings.json theme={null}
{
  "managedMcpServers": {
    "search": {
      "type": "http",
      "url": "https://search.example.com/mcp"
    }
  }
}
```

Pour la priorité, comment les serveurs fournis se combinent avec `managed-mcp.json` et les listes d'autorisation et de refus, et ce que les utilisateurs voient, consultez [Fournir des serveurs via les paramètres gérés](https://code.claude.com/docs/fr/managed-mcp.md#provide-servers-through-managed-settings).

## Agents, sessions, et worktrees

Définissez l'agent par défaut, contrôlez les coéquipiers et la messagerie entre sessions, et configurez les worktrees. Voir [Sous-agents](https://code.claude.com/docs/fr/sub-agents.md) et [Worktrees](https://code.claude.com/docs/fr/worktrees.md).

### `agent`

Exécutez le thread principal en tant que [sous-agent](https://code.claude.com/docs/fr/sub-agents.md#invoke-subagents-explicitly) nommé, de sorte que Claude Code applique le prompt système, les restrictions d'outils et le modèle de ce sous-agent à votre session. La même clé définit l'agent par défaut pour les sessions que vous distribuez à partir de `claude agents`.

* **Scope** : [`Any file`](#scopes)
* **Type** : string, le nom d'un agent intégré ou personnalisé
* **Default** : unset, de sorte que le thread principal s'exécute en tant qu'agent par défaut de Claude Code
* **Per-session overrides** : `--agent` a priorité sur cette clé pour une session

```json settings.json theme={null}
{
  "agent": "code-reviewer"
}
```

Le propre `settings.json` d'un plugin peut également fournir cette clé ; voir [Ship default settings with your plugin](https://code.claude.com/docs/fr/plugins/components.md#default-settings).

### `crossSessionInbound`

Choisissez ce que cette session fait avec les [messages provenant de vos autres sessions Claude Code](https://code.claude.com/docs/fr/cross-session-messaging.md#control-inbound-messages). Quand aucune valeur ne s'applique, Claude Code décide par message à partir des classes de mode de permission des deux sessions. Nécessite Claude Code v2.1.224 ou ultérieur.

* **Scope** : [`Any file`](#scopes). Une valeur de projet ou locale s'applique uniquement quand elle est plus stricte que la valeur des paramètres gérés, du flag `--settings`, ou des paramètres utilisateur.
* **Type** : string, l'un de :
  * `"accept"` : Claude Code remet le message à Claude
  * `"hold"` : Claude Code affiche un avis pour le message sans le remettre
  * `"refuse"` : Claude Code supprime le message
* **Default** : unset, de sorte que Claude Code décide par message

```json settings.json theme={null}
{
  "crossSessionInbound": "hold"
}
```

Claude Code lit d'abord les paramètres gérés, puis le flag `--settings`, puis les paramètres utilisateur, et applique la première valeur trouvée. `refuse` est plus strict que `hold`, et `hold` est plus strict que `accept`. Quand aucune des sources de confiance ne définit une valeur, un `hold` ou `refuse` de projet ou local s'applique toujours, remplaçant la valeur par défaut par message. Dans les sessions avec messagerie entre sessions, cette clé apparaît dans `/config` en tant que **Messages from your other sessions**, qui l'écrit dans les paramètres utilisateur ; la ligne nécessite Claude Code v2.1.232 ou ultérieur, et Claude Code la masque tant que le flag `--settings` ou les paramètres gérés définissent la clé.

Claude Code [avertit](https://code.claude.com/docs/fr/errors.md#crosssessioninbound-must-be-one-of-accept-hold-refuse) quand vous définissez une valeur qu'il ne reconnaît pas. Tant que cette valeur est présente dans un fichier utilisateur, projet, local ou `--settings`, Claude Code retient les messages entrants, même quand une source qui a la priorité définit `accept`. Un `refuse` qu'une autre source définit s'applique toujours. Corrigez ou supprimez la valeur pour effacer la rétention.

Quand la valeur non reconnue se trouve dans les [paramètres gérés](https://code.claude.com/docs/fr/managed-settings.md), Claude Code la traite plutôt comme `refuse` jusqu'à ce qu'un administrateur la corrige. Avant v2.1.248, Claude Code ignorait une valeur non reconnue sans avertissement.

### `disableAgentView`

Désactivez les [agents d'arrière-plan et la vue agent](https://code.claude.com/docs/fr/agent-view.md) : `claude agents`, `--bg`, `/background`, et le superviseur à la demande. Définissez-le dans les [paramètres gérés](https://code.claude.com/docs/fr/managed-settings.md) pour l'appliquer à une organisation.

* **Scope** : [`Any file`](#scopes)
* **Type** : Boolean
  * `true` : Claude Code désactive `claude agents`, `--bg`, `/background`, et le superviseur à la demande
  * `false` : la vue agent est disponible
* **Default** : unset, de sorte que la vue agent est disponible
* **Per-session overrides** : [`CLAUDE_CODE_DISABLE_AGENT_VIEW`](https://code.claude.com/docs/fr/env-vars) désactive la vue agent pour une session ; quel que soit celui des deux qui la désactive, l'autre ne peut pas la réactiver

```json settings.json theme={null}
{
  "disableAgentView": true
}
```

### `isolatePeerMachines`

Exigez votre approbation explicite avant que `SendMessage` de Claude n'atteigne l'une de vos sessions au-delà de cette machine ; voir [Require approval for cross-machine messages](https://code.claude.com/docs/fr/cross-session-messaging.md#require-approval-for-cross-machine-messages). La demande d'approbation apparaît même en mode [`bypassPermissions`](https://code.claude.com/docs/fr/permission-modes#skip-all-checks-with-bypasspermissions-mode).

* **Scope** : [`Any file`](#scopes). Un `true` de n'importe quelle portée s'applique, de sorte qu'un fichier de projet enregistré peut activer l'exigence mais pas la désactiver.
* **Type** : Boolean
  * `true` : Claude Code vous demande votre approbation avant que `SendMessage` de Claude n'atteigne l'une de vos sessions au-delà de cette machine
  * `false` : les messages entre machines ne déclenchent pas de demande
* **Default** : unset, de sorte que les messages entre machines ne déclenchent pas de demande

```json settings.json theme={null}
{
  "isolatePeerMachines": true
}
```

L'approbation `SendMessage` entre machines nécessite Claude Code v2.1.224 ou ultérieur.

### `processWrapper`

Sur macOS et Linux, placez une commande de lanceur d'entreprise devant les [processus d'arrière-plan que Claude Code démarre](https://code.claude.com/docs/fr/corporate-launcher.md#what-the-launcher-covers). Claude Code exécute le lanceur avec sa propre ligne de commande ajoutée, de sorte que le lanceur doit exec dans Claude Code ; voir [Run Claude Code behind a corporate launcher](https://code.claude.com/docs/fr/corporate-launcher.md) pour le contrat du lanceur. Nécessite Claude Code v2.1.210 ou ultérieur.

* **Scope** : [`User or managed`](#scopes)
* **Type** : string, la commande du lanceur en tant que préfixe argv, comme un chemin absolu avec des arguments optionnels
* **Default** : unset, de sorte que les processus d'arrière-plan démarrent sans wrapper
* **Per-session overrides** : [`CLAUDE_CODE_PROCESS_WRAPPER`](https://code.claude.com/docs/fr/env-vars) a priorité sur cette clé pour une session

```json settings.json theme={null}
{
  "processWrapper": "/opt/corp/launcher --profile claude"
}
```

Claude Code ignore le lanceur sur Windows et démarre chaque processus sans wrapper. Nécessite Claude Code v2.1.210 ou ultérieur.

### `teammateMode`

Choisissez où Claude Code affiche les coéquipiers de l'[équipe d'agents](https://code.claude.com/docs/fr/agent-teams.md) : à l'intérieur de votre volet terminal principal, ou dans des volets divisés quand votre terminal les prend en charge. Voir [Choose a display mode](https://code.claude.com/docs/fr/agent-teams.md#choose-a-display-mode).

* **Scope** : [`Any file`](#scopes). Claude Code lit également une valeur laissée dans `~/.claude.json` par les versions antérieures.
* **Type** : string, l'un de :
  * `"in-process"` : les coéquipiers s'exécutent à l'intérieur de votre volet terminal principal
  * `"auto"` : volets divisés quand vous exécutez à l'intérieur de tmux, ou à l'intérieur d'iTerm2 avec `it2` sur votre `PATH` ou tmux installé ; in-process sinon
  * `"tmux"` : volets divisés utilisant tmux ou iTerm2, détectés à partir de votre terminal
  * `"iterm2"` : volets divisés natifs iTerm2 via le CLI `it2`
* **Default** : `"in-process"`
* **Per-session overrides** : `--teammate-mode` a priorité sur cette clé pour une session

```json settings.json theme={null}
{
  "teammateMode": "auto"
}
```

### `worktree`

Configurez comment Claude Code crée et gère les [git worktrees](https://code.claude.com/docs/fr/worktrees.md) pour `--worktree`, l'outil `EnterWorktree`, et les sous-agents isolés et les sessions d'arrière-plan.

* **Scope** : [`Any file`](#scopes)
* **Type** : object avec `baseRef`, `symlinkDirectories`, `sparsePaths`, et `bgIsolation`
* **Default** : unset

Cet exemple crée les branches des nouveaux worktrees à partir de votre `HEAD` actuel et crée des liens symboliques vers `node_modules` dans chacun :

```json settings.json theme={null}
{
  "worktree": {
    "baseRef": "head",
    "symlinkDirectories": ["node_modules"]
  }
}
```

Pour copier les fichiers ignorés par git comme `.env` dans les nouveaux worktrees, ajoutez plutôt un [fichier `.worktreeinclude`](https://code.claude.com/docs/fr/worktrees#copy-gitignored-files-into-worktrees) à la racine de votre projet.

### `worktree.baseRef`

Choisissez à partir de quel ref les nouveaux worktrees créent des branches. `"fresh"` crée des branches à partir de `origin/<default-branch>` pour un arbre propre correspondant au distant ; `"head"` crée des branches à partir de votre `HEAD` local actuel, de sorte que les commits non poussés et l'état de la branche de fonctionnalité sont présents dans le worktree.

* **Scope** : [`Any file`](#scopes)
* **Type** : string, l'un de :
  * `"fresh"` : les nouveaux worktrees créent des branches à partir de `origin/<default-branch>`
  * `"head"` : les nouveaux worktrees créent des branches à partir de votre `HEAD` local actuel, y compris les commits non poussés
* **Default** : `"fresh"`

```json settings.json theme={null}
{
  "worktree": {
    "baseRef": "head"
  }
}
```

À l'intérieur d'un worktree lié, `"head"` se résout en `HEAD` de ce worktree, pas celui du checkout principal.

### `worktree.symlinkDirectories`

Créez des liens symboliques vers les répertoires du dépôt principal dans chaque worktree afin de ne pas dupliquer les grands répertoires sur le disque.

* **Scope** : [`Any file`](#scopes)
* **Type** : array of strings, chemins de répertoires relatifs à la racine du dépôt
* **Default** : unset, de sorte que Claude Code ne crée de liens symboliques vers aucun répertoire

Cet exemple crée des liens symboliques vers `node_modules` et `.cache` du dépôt principal dans chaque nouveau worktree :

```json settings.json theme={null}
{
  "worktree": {
    "symlinkDirectories": ["node_modules", ".cache"]
  }
}
```

### `worktree.sparsePaths`

Extrayez uniquement les répertoires listés dans chaque worktree via git sparse-checkout. Claude Code écrit uniquement ces répertoires plus les fichiers au niveau racine sur le disque, ce qui est plus rapide dans les grands monorepos ; voir [Check out only the directories you need](https://code.claude.com/docs/fr/large-codebases.md#check-out-only-the-directories-you-need).

* **Scope** : [`Any file`](#scopes)
* **Type** : array of strings, chemins de répertoires relatifs à la racine du dépôt
* **Default** : unset, de sorte que chaque worktree extrait l'arbre entier

Cet exemple extrait uniquement `packages/my-app` et `shared/utils`, plus les fichiers au niveau racine, dans chaque worktree :

```json settings.json theme={null}
{
  "worktree": {
    "sparsePaths": ["packages/my-app", "shared/utils"]
  }
}
```

Tant qu'un worktree clairsemé existe, git active `extensions.worktreeConfig` dans le `.git/config` partagé du dépôt.

### `worktree.bgIsolation`

Choisissez comment les [sessions d'arrière-plan](https://code.claude.com/docs/fr/agent-view.md#how-file-edits-are-isolated) isolent leurs modifications de fichiers. Si vous avez déplacé une session en arrière-plan avec `←` ou `/background`, cette session modifie les fichiers sur place, quelle que soit la valeur de cette clé. Avec `"worktree"`, Claude Code bloque `Edit` et `Write` dans le checkout principal jusqu'à ce que la session appelle `EnterWorktree` ; avec `"none"`, les travaux d'arrière-plan modifient la copie de travail directement. Définissez `"none"` pour un dépôt où les git worktrees ne sont pas pratiques.

* **Scope** : [`Any file`](#scopes)
* **Type** : string, l'un de :
  * `"worktree"` : Claude Code bloque `Edit` et `Write` dans le checkout principal jusqu'à ce que la session appelle `EnterWorktree`
  * `"none"` : les travaux d'arrière-plan modifient la copie de travail directement
* **Default** : `"worktree"`

```json settings.json theme={null}
{
  "worktree": {
    "bgIsolation": "none"
  }
}
```

En dehors d'un dépôt git, un [hook `WorktreeCreate`](https://code.claude.com/docs/fr/worktrees#non-git-version-control) qui échoue lève le blocage de sorte que la session puisse modifier le répertoire de travail sur place.

### `worktree.location`

Choisissez le dossier sur une machine distante où les [sessions SSH de Desktop](https://code.claude.com/docs/fr/desktop.md#choose-where-ssh-session-worktrees-go) créent leurs worktrees, au lieu de `<project-root>/.claude/worktrees/`. Seule l'application desktop lit cette clé : `--worktree`, l'outil `EnterWorktree`, les sous-agents isolés et les sessions d'arrière-plan l'ignorent. Nécessite Claude Desktop v1.44121.0 ou ultérieur.

* **Scope** : [`User`](#scopes), dans `~/.claude/settings.json` sur la machine distante
* **Type** : string, un chemin absolu ou un chemin qui commence par `~/`
* **Default** : unset, de sorte que les worktrees sont créés à l'intérieur du projet

Cet exemple définit le dossier sur `~/worktrees` :

```json settings.json theme={null}
{
  "worktree": {
    "location": "~/worktrees"
  }
}
```

Un **Worktree folder** défini sur la connexion SSH dans Desktop a priorité. Si votre organisation restreint les dossiers que les sessions peuvent utiliser, Desktop conserve les worktrees à l'intérieur du projet.

## Contrôle à distance, bureau et notifications

Configurez le contrôle à distance, les environnements cloud, l'application de bureau et les notifications que Claude Code vous envoie quand il a besoin de vous. Voir [Contrôle à distance](https://code.claude.com/docs/fr/remote-control.md).

### `agentPushNotifEnabled`

Permettre à Claude d'envoyer une notification push à votre téléphone quand il décide qu'elle en vaut la peine, par exemple quand une tâche longue se termine. Claude peut en envoyer une pendant que [Remote Control](https://code.claude.com/docs/fr/remote-control.md) est connecté. Apparaît dans `/config` sous **Envoyer une notification quand Claude le décide**. Lorsque vous le modifiez à cet endroit, Claude Code enregistre également la valeur dans votre compte.

* **Portée** : [`Tout fichier`](#scopes). Claude Code lit également une valeur laissée dans `~/.claude.json` par les versions antérieures.
* **Type** : Booléen
  * `true` : Claude peut envoyer une notification push à votre téléphone quand il décide qu'elle en vaut la peine
  * `false` : Claude n'envoie pas ces notifications
* **Défaut** : `false`

```json settings.json theme={null}
{
  "agentPushNotifEnabled": true
}
```

Si vous exécutez des sessions sous un serveur [`claude remote-control`](https://code.claude.com/docs/fr/remote-control#start-a-remote-control-session), elles suivent la valeur enregistrée dans votre compte plutôt que cette clé. Pour modifier cette valeur, exécutez `/config` dans une session Claude Code dans votre terminal et activez ou désactivez **Envoyer une notification quand Claude le décide**. Si le bouton affiche déjà la valeur souhaitée, modifiez-le puis rétablissez-le afin que Claude Code enregistre cette valeur dans votre compte.

Voir [Notifications push mobiles](https://code.claude.com/docs/fr/remote-control.md#mobile-push-notifications).

### `awaySummaryEnabled`

Afficher un résumé de session d'une ligne quand vous revenez au terminal après quelques minutes d'absence. Définissez-le sur `false`, ou désactivez **Résumé de session** dans `/config`, pour arrêter le résumé.

* **Portée** : [`Tout fichier`](#scopes)
* **Type** : Booléen
  * `true` : vous voyez un résumé de session d'une ligne quand vous revenez après quelques minutes d'absence
  * `false` : Claude Code n'affiche aucun résumé
* **Défaut** : non défini, donc le résumé est activé
* **Remplacements par session** : [`CLAUDE_CODE_ENABLE_AWAY_SUMMARY`](https://code.claude.com/docs/fr/env-vars) a la priorité sur cette clé pour une session, dans les deux sens

```json settings.json theme={null}
{
  "awaySummaryEnabled": false
}
```

Claude Code n'affiche jamais le résumé en mode non interactif.

### `disableArtifact`

> [!WARNING]
>
> Obsolète et remplacé par [`enableArtifact`](#enableartifact). Claude Code honore toujours `disableArtifact: true` comme équivalent à `enableArtifact: false`, et ignore `disableArtifact: false`.

Utilisez [`enableArtifact`](#enableartifact) à la place pour désactiver l'outil [Artifact](https://code.claude.com/docs/fr/artifacts.md), qui publie la sortie de session en tant que page web privée sur claude.ai. Quand vous désactivez la ligne **Artifacts** dans `/config`, Claude Code écrit `enableArtifact` dans vos paramètres utilisateur et efface cette clé.

* **Portée** : [`Tout fichier`](#scopes)
* **Type** : Booléen
  * `true` : Claude Code désactive l'outil Artifact pour chaque session à laquelle le fichier s'applique, et aucun autre fichier ne le réactive
  * `false` : ignoré ; pour laisser l'outil activé, supprimez la clé
* **Défaut** : non défini, donc l'outil suit la [disponibilité](https://code.claude.com/docs/fr/artifacts.md#availability) de votre compte
* **Remplacements par session** : [`CLAUDE_CODE_DISABLE_ARTIFACT`](https://code.claude.com/docs/fr/env-vars) défini sur `1` désactive l'outil pour une session

```json settings.json theme={null}
{
  "disableArtifact": true
}
```

[Désactiver les artifacts](https://code.claude.com/docs/fr/artifacts.md#disable-artifacts) énumère tous les moyens de désactiver l'outil.

### `disableDeepLinkRegistration`

Empêcher Claude Code d'enregistrer le gestionnaire de protocole `claude-cli://` auprès du système d'exploitation, ce qu'il fait autrement après que vous ayez envoyé la première invite d'une session interactive. Les [Liens profonds](https://code.claude.com/docs/fr/deep-links.md) permettent aux outils externes d'ouvrir une session Claude Code avec une invite préremplie. Définissez ceci dans les environnements où l'enregistrement du gestionnaire de protocole est restreint ou géré séparément.

* **Portée** : [`Tout fichier`](#scopes)
* **Type** : la chaîne `"disable"`
* **Défaut** : non défini, donc Claude Code enregistre le gestionnaire

```json settings.json theme={null}
{
  "disableDeepLinkRegistration": "disable"
}
```

### `disableDesktopLocalSessions`

Désactiver les sessions Code qui s'exécutent sur l'appareil dans l'[application de bureau](https://code.claude.com/docs/fr/desktop.md#local-sessions-on-managed-devices), pour les déploiements où les développeurs doivent travailler sur des machines distantes via SSH. Lorsque la clé est définie sur `true`, les utilisateurs voient ceci dans l'onglet Code :

* **Sélecteur d'environnement** : l'entrée correspondant à l'ordinateur de l'utilisateur est grisée et ne peut pas être sélectionnée, avec l'info-bulle **Disabled by your organization**. Sur Windows, l'entrée WSL est grisée de la même manière, bien que le fait que les sessions WSL s'exécutent ou non sur un appareil géré soit [régi séparément](https://code.claude.com/docs/fr/admin-setup.md#wsl-sessions-in-claude-code-desktop).
* **Nouvelles sessions** : utilisent par défaut la première [connexion SSH](https://code.claude.com/docs/fr/desktop.md#ssh-sessions) si une est configurée
* **Sessions sur l'appareil** : l'application refuse de démarrer ou de reprendre une session sur l'appareil, y compris une connexion SSH vers la même machine
* **Sessions SSH vers d'autres hôtes et sessions cloud** : non affectées

L'application de bureau lit cette clé ; le CLI du terminal l'ignore. Nécessite Claude Desktop v1.37937.0 ou ultérieur.

* **Portée** : [`Géré`](#scopes). Par défaut, l'application de bureau lit la clé depuis [une seule source gérée](https://code.claude.com/docs/fr/managed-settings.md#how-claude-code-combines-managed-sources).
* **Type** : Booléen ; seul le Booléen JSON `true` a un effet
  * `true` : l'application de bureau n'offre aucune session Code sur l'appareil ; les sessions locales existantes restent listées mais ne peuvent pas continuer
  * `false` : les sessions locales restent disponibles
* **Défaut** : non défini, donc les sessions locales sont disponibles

```json managed-settings.json theme={null}
{
  "disableDesktopLocalSessions": true
}
```

L'application de bureau ignore toute autre valeur, et une valeur qui n'est pas un Booléen, comme la chaîne `"true"` ou `1`, enregistre également un avertissement. Associez-le à [`sshConfigs`](#sshconfigs) pour que les utilisateurs accèdent à une connexion fonctionnelle, et à [`sshHostAllowlist`](#sshhostallowlist) pour limiter les hôtes qu'ils peuvent atteindre. Voir [Sessions locales sur les appareils gérés](https://code.claude.com/docs/fr/desktop.md#local-sessions-on-managed-devices).

Claude Desktop fournit aux sessions Code une politique dérivée de votre configuration de bureau, par exemple la liste d'autorisation de sortie, le bac à sable du système de fichiers et les restrictions MCP dans les déploiements tiers. Claude Code ignore ces paramètres parents chaque fois qu'une [source d'administrateur](https://code.claude.com/docs/fr/managed-settings.md#how-claude-code-combines-managed-sources) est présente : paramètres gérés par le serveur, une politique MDM ou au niveau du système d'exploitation, ou un fichier de paramètres gérés. Déployer cette clé via l'un de ceux-ci sur un appareil qui n'en avait aucun auparavant, comme dans les déploiements tiers, arrête donc l'application des politiques dérivées du bureau. [Laisser un hôte d'intégration ajouter une politique](https://code.claude.com/docs/fr/managed-settings.md#let-an-embedding-host-add-policy) couvre le moment où les paramètres parents peuvent toujours fusionner ; cela s'applique à toute clé que vous déployez de cette manière, pas seulement celle-ci.

### `disableRemoteControl`

Désactiver le [Contrôle à distance](https://code.claude.com/docs/fr/remote-control.md) : Claude Code refuse alors `claude remote-control`, l'indicateur `--remote-control`, le démarrage automatique et le basculement en session, et signale que la politique de votre organisation l'a désactivé. Placez-le dans les [paramètres gérés](https://code.claude.com/docs/fr/managed-settings.md) pour l'application de la politique MDM par appareil.

* **Portée** : [`Tout fichier`](#scopes)
* **Type** : Booléen
  * `true` : Claude Code refuse `claude remote-control`, l'indicateur `--remote-control`, le démarrage automatique et le basculement en session
  * `false` : le Contrôle à distance reste disponible
* **Défaut** : `false`

```json settings.json theme={null}
{
  "disableRemoteControl": true
}
```

### `enableArtifact`

Désactiver l'outil [Artifact](https://code.claude.com/docs/fr/artifacts.md), qui publie la sortie de session en tant que page web privée sur claude.ai. Quand vous désactivez la ligne **Artifacts** dans `/config`, Claude Code écrit cette clé dans vos paramètres utilisateur, donc vous ne l'éditez généralement pas à la main.

* **Portée** : [`Tout fichier`](#scopes). Chaque fichier peut désactiver l'outil, et aucun ne peut le réactiver.
* **Type** : Booléen
  * `false` : Claude Code désactive l'outil Artifact pour chaque session à laquelle le fichier s'applique
  * `true` : identique à laisser la clé non définie, car elle ne remplace jamais un `false` d'un autre fichier, de [`CLAUDE_CODE_DISABLE_ARTIFACT`](https://code.claude.com/docs/fr/env-vars), ou du [paramètre d'administrateur](https://code.claude.com/docs/fr/artifacts.md#manage-artifacts-for-your-organization) de votre organisation
* **Défaut** : non défini, donc l'outil suit la [disponibilité](https://code.claude.com/docs/fr/artifacts.md#availability) de votre compte

```json settings.json theme={null}
{
  "enableArtifact": false
}
```

Tant qu'une source autre que vos propres paramètres utilisateur garde l'outil désactivé, Claude Code masque la ligne **Artifacts** dans `/config`, car l'activer là ne changerait rien. [Désactiver les artifacts](https://code.claude.com/docs/fr/artifacts.md#disable-artifacts) énumère tous les moyens de désactiver l'outil.

### `inputNeededNotifEnabled`

Recevoir une notification push sur votre téléphone quand une invite de permission ou une question attend votre entrée. Claude Code envoie celles-ci uniquement pendant que le [Contrôle à distance](https://code.claude.com/docs/fr/remote-control.md) est connecté. Apparaît dans `/config` sous **Envoyer une notification quand des actions sont requises**.

* **Portée** : [`Tout fichier`](#scopes). Claude Code lit également une valeur laissée dans `~/.claude.json` par les versions antérieures.
* **Type** : Booléen
  * `true` : vous recevez une notification push sur votre téléphone quand une invite de permission ou une question attend, pendant que le Contrôle à distance est connecté
  * `false` : Claude Code n'envoie pas ces notifications
* **Défaut** : `false`

```json settings.json theme={null}
{
  "inputNeededNotifEnabled": true
}
```

Voir [Notifications push mobiles](https://code.claude.com/docs/fr/remote-control.md#mobile-push-notifications).

### `preferredNotifChannel`

Choisir comment Claude Code vous notifie quand une tâche se termine ou qu'une demande de permission attend. Les [notifications d'un mod](https://code.claude.com/docs/fr/plugins/mods/api.md#show-something-without-starting-a-turn) utilisent le même paramètre. Apparaît dans `/config` sous **Notifications locales**.

* **Portée** : [`Tout fichier`](#scopes). Claude Code lit également une valeur laissée dans `~/.claude.json` par les versions antérieures.
* **Type** : chaîne, l'une des :
  * `"auto"` : Claude Code envoie une notification de bureau dans iTerm2, Ghostty et Kitty, sonne la cloche dans Terminal.app uniquement quand sa cloche audible est désactivée, et ne fait rien ailleurs
  * `"terminal_bell"` : Claude Code sonne le caractère de cloche dans n'importe quel terminal
  * `"iterm2"` : Claude Code envoie une notification de bureau iTerm2
  * `"iterm2_with_bell"` : Claude Code envoie une notification de bureau iTerm2 et sonne la cloche
  * `"kitty"` : Claude Code envoie une notification de bureau Kitty
  * `"ghostty"` : Claude Code envoie une notification de bureau Ghostty
  * `"notifications_disabled"` : Claude Code n'envoie aucune notification
* **Défaut** : `"auto"`

```json settings.json theme={null}
{
  "preferredNotifChannel": "terminal_bell"
}
```

Avec `"auto"`, Claude Code envoie une notification de bureau dans iTerm2, Ghostty et Kitty. Dans Terminal.app, il sonne le caractère de cloche uniquement quand vous avez désactivé la cloche audible du Terminal, et dans les autres terminaux, il ne fait rien. Définissez `"terminal_bell"` pour sonner le caractère de cloche dans n'importe quel terminal. Voir [Obtenir une cloche de terminal ou une notification](https://code.claude.com/docs/fr/terminal-config.md#get-a-terminal-bell-or-notification).

### `remote.defaultEnvironmentId`

Choisir l'[environnement cloud](https://code.claude.com/docs/fr/cloud-environments.md) par défaut pour les sessions cloud que vous créez à partir de la CLI, comme avec `claude --cloud`. Claude Code écrit cette clé dans vos paramètres utilisateur quand vous choisissez un environnement avec [`/remote-env`](https://code.claude.com/docs/fr/cloud-environments#select-an-environment-from-the-cli).

* **Portée** : [`Tout fichier`](#scopes). Pour un ID d'environnement auto-hébergé, paramètres utilisateur ou gérés, ou l'indicateur `--settings` uniquement.
* **Type** : chaîne, un ID d'environnement tel que `env_...` ou `ccpool_...`
* **Défaut** : non défini, donc Claude Code utilise l'environnement hébergé par Anthropic quand votre liste en a un, et sinon le premier environnement de votre liste qui n'est pas un [environnement de pont de Contrôle à distance](https://code.claude.com/docs/fr/cloud-environments.md#the-default-environment), ou le premier environnement quand chacun est un environnement de pont
* **Remplacements par session** : `--environment` a la priorité sur cette clé pour la session cloud unique qu'il crée

```json settings.json theme={null}
{
  "remote": {
    "defaultEnvironmentId": "env_0123abcd"
  }
}
```

Un ID d'environnement hébergé par Anthropic, qui commence par `env_`, suit la priorité des paramètres standard, donc une valeur dans les paramètres de projet d'un référentiel remplace votre choix au niveau utilisateur. Un ID d'[environnement auto-hébergé](https://code.claude.com/docs/fr/self-hosted-environments), qui commence par `ccpool_`, n'est honoré que depuis les paramètres utilisateur, les paramètres gérés et l'indicateur `--settings` ; Claude Code l'ignore dans les paramètres de projet ou locaux d'un référentiel, et `/remote-env` affiche quelle valeur il a ignorée, donc un fichier archivé ne peut pas diriger les sessions vers un environnement auto-hébergé que vous n'avez pas choisi.

### `remoteControlAtStartup`

Connecter le [Contrôle à distance](https://code.claude.com/docs/fr/remote-control.md) automatiquement quand chaque session interactive démarre, au lieu d'attendre `/remote-control`. Définissez-le sur `true` pour activer la connexion automatique, `false` pour la désactiver. Apparaît dans `/config` sous **Activer le Contrôle à distance pour toutes les sessions**.

* **Portée** : [`Tout fichier`](#scopes). Claude Code lit également une valeur laissée dans `~/.claude.json` par les versions antérieures.
* **Type** : Booléen
  * `true` : Claude Code connecte le Contrôle à distance automatiquement quand chaque session interactive démarre
  * `false` : Claude Code attend `/remote-control`
* **Défaut** : non défini, donc la [connexion automatique par défaut](https://code.claude.com/docs/fr/remote-control.md#enable-remote-control-for-all-sessions) s'applique
* **Remplacements par session** : `--remote-control` active le Contrôle à distance pour une session même quand cette clé est `false`, et aucun indicateur ne le désactive pour une session

```json settings.json theme={null}
{
  "remoteControlAtStartup": true
}
```

Claude Code ignore un `true` des paramètres de projet ou locaux, donc un référentiel peut désactiver la connexion automatique pour son extraction mais ne peut pas l'activer. Pour le comportement complet par portée, voir [Activer le Contrôle à distance pour toutes les sessions](https://code.claude.com/docs/fr/remote-control.md#enable-remote-control-for-all-sessions) et les [clés de sécurité où la valeur plus stricte s'applique](https://code.claude.com/docs/fr/settings.md#security-keys-where-the-stricter-value-applies).

### `sshConfigs`

Ajouter des connexions SSH au sélecteur d'environnement de [Bureau](https://code.claude.com/docs/fr/desktop.md#pre-configure-ssh-connections-for-your-team). Les administrateurs utilisent `sshConfigs` pour distribuer des connexions partagées à une équipe. Les utilisateurs peuvent sélectionner une connexion gérée et [définir leur propre **Dossier du worktree**](https://code.claude.com/docs/fr/desktop.md#set-the-worktree-folder-on-an-existing-connection) pour celle-ci. Ils ne peuvent pas modifier ses autres champs ni la supprimer dans l'application.

* **Portée** : [`Utilisateur ou géré`](#scopes). L'application de bureau lit cette clé. Par défaut, elle lit les connexions gérées depuis [une seule source gérée](https://code.claude.com/docs/fr/managed-settings.md#how-claude-code-combines-managed-sources).
* **Type** : tableau d'objets, chacun avec `id`, `name` et `sshHost` requis et `sshPort` et `sshIdentityFile` optionnels
* **Défaut** : non défini

Cet exemple ajoute une connexion nommée `Dev VM` qui se connecte à `user@dev.example.com` :

```json settings.json theme={null}
{
  "sshConfigs": [
    {
      "id": "dev-vm",
      "name": "Dev VM",
      "sshHost": "user@dev.example.com"
    }
  ]
}
```

### `sshHostAllowlist`

Limiter les hôtes auxquels une [session SSH de Bureau](https://code.claude.com/docs/fr/desktop.md#restrict-which-ssh-hosts-users-can-connect-to) peut se connecter. Seule l'application de Bureau lit cette clé ; la CLI ne le fait pas. Les modèles ne sont pas sensibles à la casse : `*` correspond à n'importe quel hôte, `*.example.com` correspond à `example.com` et à chaque sous-domaine, et tout le reste est une correspondance exacte avec le nom d'hôte après la résolution de `~/.ssh/config`. Un tableau vide désactive les sessions SSH.

Avec Claude Desktop v3.1623.0 ou ultérieur, les [hôtes de rebond](https://code.claude.com/docs/fr/desktop.md#allow-jump-hosts) d'une session doivent également correspondre à un modèle.

* **Portée** : [`Géré`](#scopes). Par défaut, Bureau lit la clé depuis [une seule source gérée](https://code.claude.com/docs/fr/managed-settings.md#how-claude-code-combines-managed-sources).
* **Type** : tableau de modèles de nom d'hôte
* **Défaut** : non défini, donc n'importe quel hôte est autorisé

Cet exemple autorise `devboxes.example.com` et ses sous-domaines, plus l'hôte exact `bastion.example.com` :

```json managed-settings.json theme={null}
{
  "sshHostAllowlist": ["*.devboxes.example.com", "bastion.example.com"]
}
```

Une valeur que Bureau ne peut pas lire comme une liste d'hôtes, comme `true` ou un objet, compte comme un tableau vide jusqu'à ce que vous la corrigiez, sauf `null`, qui compte comme non défini. Nécessite Claude Desktop v2.26454.0 ou ultérieur.

Si vous définissez [`managedSourcesBehavior`](#managedsourcesbehavior) sur `"merge"` dans votre source de rang le plus élevé, Bureau combine les listes de chaque [source d'administration](https://code.claude.com/docs/fr/managed-settings.md#how-claude-code-combines-managed-sources) et autorise un hôte qui correspond à l'une d'entre elles. Si vous définissez un tableau vide dans une source, les sessions SSH restent activées pour les hôtes qu'une autre source liste.

### `sshHostCommands`

Ajouter au sélecteur d'environnement de [Bureau](https://code.claude.com/docs/fr/desktop.md#create-an-ssh-connection-from-a-command) des connexions SSH dont l'hôte provient d'une commande. Lorsque vous créez une connexion ou remplacez son hôte, Bureau exécute la commande de l'entrée sur votre ordinateur et se connecte à l'hôte que la commande affiche. Nécessite Claude Desktop v3.6556.0 ou ultérieur sur macOS ou Linux, connecté avec un compte Claude.

* **Portée** : [`Utilisateur ou géré`](#scopes). Seule l'application de bureau lit cette clé. Elle lit les entrées gérées depuis [un seul fichier de paramètres gérés ou une seule politique MDM](https://code.claude.com/docs/fr/desktop.md#distribute-commands-to-your-team) sur l'ordinateur, et ignore la clé dans les [paramètres gérés par le serveur](https://code.claude.com/docs/fr/server-managed-settings.md).
* **Type** : tableau d'objets, chacun avec `id`, `name` et `command` requis et `sshIdentityFile` et `startDirectory` optionnels. Bureau démarre `command` sans shell, donc [écrivez-la sous forme de programme et d'arguments simples](https://code.claude.com/docs/fr/desktop.md#write-the-command).
* **Défaut** : non défini

Cet exemple ajoute une connexion nommée `Dev box`, où `acme-dev create` représente votre propre outil :

```json settings.json theme={null}
{
  "sshHostCommands": [
    {
      "id": "devbox",
      "name": "Dev box",
      "command": "acme-dev create"
    }
  ]
}
```

Avant Claude Code v2.1.307, l'outil Edit refusait une modification qui ajoutait cette clé à un fichier de paramètres valide, avec l'erreur `Unrecognized field: sshHostCommands`. Sur ces versions, ajoutez plutôt la clé dans un éditeur de texte ; Claude Code charge un fichier qui contient la clé. Dans Bureau, la version qui compte est la [version de Claude Code de l'onglet Code](https://code.claude.com/docs/fr/desktop.md#claude-code-version-in-the-code-tab), et non celle de votre terminal.

## Authentification et fournisseurs

Fournissez les identifiants via des scripts d'aide et, pour les organisations, forcez une méthode de connexion ou une organisation. Voir [Authentification](https://code.claude.com/docs/fr/authentication.md).

### `allowedProviders`

Listez les services par lesquels une machine peut accéder à Claude, tels que l'API Anthropic, Amazon Bedrock ou une passerelle LLM. Une session sur un fournisseur qui n'est pas listé est refusée au démarrage, à la connexion et lorsqu'elle contacte ensuite l'API, donc le passage à un fournisseur non listé en cours de session est également refusé. Le [message de refus](https://code.claude.com/docs/fr/errors.md#managed-settings-dont-allow-this-api-provider) indique ce qui a sélectionné le fournisseur et les étapes à suivre. Nécessite Claude Code v2.1.285 ou ultérieur.

* **Portée** : [`Managed`](#scopes). Une liste que les sources d'administrateur de la machine définissent, les politiques MDM et les fichiers de paramètres gérés continuent d'appliquer lorsque les paramètres gérés par le serveur en fournissent également une : une session ne peut alors utiliser que les fournisseurs sur les deux listes, donc une liste gérée par le serveur peut réduire ce que la machine autorise mais jamais l'élargir. La source de machine dont `allowedProviders` compte suit [comment Claude Code combine les sources gérées](https://code.claude.com/docs/fr/managed-settings.md#how-claude-code-combines-managed-sources). Une liste fournie uniquement par les paramètres gérés par le serveur n'atteint que les sessions qui [récupèrent les paramètres gérés par le serveur](https://code.claude.com/docs/fr/server-managed-settings.md#platform-availability).
* **Type** : tableau de chaînes, chacune étant :
  * `"anthropic"` : l'API Anthropic sur le propre serveur d'Anthropic, via une connexion claude.ai ou Console ou une clé API. Associez-la à [`forceLoginMethod`](#forceloginmethod) ou [`forceLoginOrgUUID`](#forceloginorguuid) pour restreindre également la connexion
  * `"bedrock"` : [Amazon Bedrock](https://code.claude.com/docs/fr/amazon-bedrock.md)
  * `"vertex"` : [Agent Platform de Google Cloud](https://code.claude.com/docs/fr/google-vertex-ai.md), anciennement Vertex AI
  * `"foundry"` : [Microsoft Foundry](https://code.claude.com/docs/fr/microsoft-foundry.md)
  * `"anthropicAws"` : [Claude Platform sur AWS](https://code.claude.com/docs/fr/claude-platform-on-aws.md)
  * `"mantle"` : l'[endpoint Mantle](https://code.claude.com/docs/fr/amazon-bedrock.md#use-the-mantle-endpoint) d'Amazon Bedrock. Une session qui [exécute Mantle aux côtés de l'API Invoke](https://code.claude.com/docs/fr/amazon-bedrock.md#run-mantle-alongside-the-invoke-api) utilise les deux fournisseurs, donc listez `"bedrock"` et `"mantle"` ensemble pour cela
  * `"customEndpoint"` : l'API Anthropic ou l'API d'un fournisseur cloud envoyée à un autre serveur, tel qu'une [passerelle LLM](https://code.claude.com/docs/fr/llm-gateway) nommée par `ANTHROPIC_BASE_URL` ou par une variable d'endpoint du fournisseur telle que `ANTHROPIC_BEDROCK_BASE_URL`. Claude Code l'admet uniquement pour la valeur exacte qu'un bloc [`env`](#env) géré épingle
  * `"gateway"` : une connexion [passerelle Cloud](https://code.claude.com/docs/fr/claude-apps-gateway)
* **Défaut** : non défini, donc n'importe quel fournisseur peut être utilisé

```json managed-settings.json theme={null}
{
  "allowedProviders": ["anthropic", "bedrock"]
}
```

L'entrée de chaque fournisseur cloud signifie le propre service de ce fournisseur, y compris ses endpoints régionaux, FIPS et privés.

Une entrée que Claude Code ne reconnaît pas comme un nom de fournisseur est supprimée et signalée, et le reste de la liste reste appliqué. Avec une liste vide, ou une dont chaque entrée n'est pas reconnue, Claude Code refuse chaque fournisseur et ne démarre pas sur la machine.

#### Endpoints qui nécessitent une épingle dans `env` géré

Une épingle est la valeur d'une variable d'endpoint définie dans un bloc [`env`](#env) géré. Lorsqu'une session envoie le trafic d'un fournisseur ailleurs que vers le propre service de ce fournisseur, Claude Code l'admet uniquement si la valeur de la session est la même que l'épingle. Ces endpoints en ont besoin :

* **Sessions `"customEndpoint"`** : la variable qui nomme l'hôte, telle que `ANTHROPIC_BASE_URL`
* **Amazon Bedrock** : les variables `AWS_ENDPOINT_URL`, `AWS_ENDPOINT_URL_BEDROCK` et `AWS_ENDPOINT_URL_BEDROCK_RUNTIME` du SDK AWS lorsqu'elles pointent en dehors du propre service de Bedrock. La session reste sous `"bedrock"` plutôt que sous `"customEndpoint"`
* **L'URL de connexion d'une passerelle** : la session reste sous `"gateway"`, et [`forceLoginGatewayUrl`](#forcelogingatewayurl) compte également comme l'épingle

Les blocs `env` qui comptent comme des épingles dépendent de l'endroit où la liste est définie :

* **Une source d'administrateur sur la machine définit une liste** : seuls les blocs `env` des sources d'administrateur de la machine comptent
* **Seuls les paramètres gérés par le serveur définissent une liste** : une valeur `env` dans ces paramètres gérés par le serveur compte également

La liste ne juge pas les variables d'identifiants et de tenancy d'un fournisseur cloud ou le chemin réseau, tels que `HTTPS_PROXY` et les paramètres de certificat. Définissez-les pour la flotte dans le bloc `env` géré.

### `apiKeyHelper`

Exécutez votre propre commande pour produire l'identifiant que Claude Code envoie avec les requêtes de modèle. Claude Code exécute la commande via le shell système, `/bin/sh` sur macOS et Linux et `cmd` sur Windows, et envoie sa sortie comme en-têtes `X-Api-Key` et `Authorization: Bearer`. Utilisez-la pour les identifiants dynamiques ou rotatifs, tels que les jetons de courte durée récupérés d'un coffre.

* **Portée** : [`Any file`](#scopes)
* **Type** : chaîne, une ligne de commande shell
* **Défaut** : non défini, donc Claude Code n'exécute pas d'aide

```json settings.json theme={null}
{
  "apiKeyHelper": "/bin/generate_temp_api_key.sh"
}
```

Claude Code met en cache la valeur et réexécute la commande dans ces cas :

* Après la durée de vie du cache, cinq minutes par défaut ou l'intervalle que vous définissez avec [`CLAUDE_CODE_API_KEY_HELPER_TTL_MS`](https://code.claude.com/docs/fr/env-vars).
* Lorsqu'une requête à l'API Anthropic, directement ou via une [passerelle LLM](https://code.claude.com/docs/fr/llm-gateway), échoue avec `401` ou `403`.
* Avant d'envoyer une requête à l'API Anthropic, directement ou via une passerelle LLM, lorsque la sortie mise en cache est un JWT qui a expiré après que l'aide l'a produit. Nécessite Claude Code v2.1.246 ou ultérieur.

Les deux derniers cas s'appliquent uniquement lorsque la sortie de l'aide est l'identifiant que Claude Code envoie et que `ANTHROPIC_AUTH_TOKEN` n'est pas défini.

Dans les sessions interactives, lorsque la commande provient des paramètres de projet ou locaux, Claude Code ne l'exécute pas jusqu'à ce que vous acceptiez l'invite de confiance de l'espace de travail. Voir [Gestion des identifiants](https://code.claude.com/docs/fr/authentication.md#credential-management).

### `awsAuthRefresh`

Exécutez votre propre commande, telle que `aws sso login`, pour actualiser les identifiants dans votre répertoire `.aws` lorsque ceux que Claude Code a pour [Amazon Bedrock](https://code.claude.com/docs/fr/amazon-bedrock.md) cessent de fonctionner. Claude Code vérifie d'abord les identifiants actuels par rapport à STS et n'exécute la commande que lorsque cette vérification échoue, puis lit le répertoire `.aws` actualisé.

Lorsque la vérification échoue au même moment dans plusieurs processus Claude Code qui utilisent la même commande et les mêmes identifiants, tels que des terminaux ou des fenêtres d'IDE distincts, un seul processus exécute la commande et les autres attendent cette exécution au lieu de lancer la leur. Un processus qui a attendu 60 secondes avec une requête en attente exécute lui-même la commande. Pour désactiver ce comportement, définissez [`CLAUDE_CODE_DISABLE_AUTH_REFRESH_LOCK`](https://code.claude.com/docs/fr/env-vars) sur `1`.

* **Portée** : [`Any file`](#scopes)
* **Type** : chaîne, une ligne de commande shell
* **Défaut** : non défini, donc Claude Code n'actualise pas les identifiants AWS pour vous

```json settings.json theme={null}
{
  "awsAuthRefresh": "aws sso login --profile myprofile"
}
```

Utilisez cette clé lorsque votre flux d'actualisation écrit dans `.aws` ; utilisez [`awsCredentialExport`](#awscredentialexport) lorsqu'il imprime plutôt les identifiants. Voir [configuration avancée des identifiants](https://code.claude.com/docs/fr/amazon-bedrock.md#advanced-credential-configuration).

### `awsCredentialExport`

Exécutez votre propre commande qui imprime les identifiants AWS en JSON, afin que Claude Code puisse appeler [Amazon Bedrock](https://code.claude.com/docs/fr/amazon-bedrock.md) avec des identifiants qui ne vivent pas dans votre répertoire `.aws`. Claude Code accepte la forme de sortie `aws sts` et la forme plate `aws configure export-credentials`, et limite les identifiants à son propre client Bedrock, donc les commandes shell que Claude exécute voient toujours vos identifiants ambiants.

* **Portée** : [`Any file`](#scopes)
* **Type** : chaîne, une ligne de commande shell
* **Défaut** : non défini, donc Claude Code utilise la chaîne d'identifiants AWS ambiante

```json settings.json theme={null}
{
  "awsCredentialExport": "/bin/generate_aws_grant.sh"
}
```

Contrairement à [`awsAuthRefresh`](#awsauthrefresh), Claude Code exécute toujours cette commande lorsqu'elle est définie, sans vérifier d'abord les identifiants ambiants. Voir [configuration avancée des identifiants](https://code.claude.com/docs/fr/amazon-bedrock.md#advanced-credential-configuration).

### `forceLoginMethod`

Restreignez le type de compte avec lequel les gens peuvent se connecter. Définissez `"claudeai"` pour autoriser uniquement les comptes claude.ai, `"console"` pour autoriser uniquement les comptes Claude Console, ou `"gateway"` pour envoyer les gens vers une [passerelle cloud](https://code.claude.com/docs/fr/claude-apps-gateway) au lieu d'une connexion propriétaire. Les administrateurs la définissent dans les paramètres gérés et l'associent à [`forceLoginOrgUUID`](#forceloginorguuid) pour garder les connexions claude.ai des développeurs à l'intérieur d'une organisation. Si vous la définissez à `"claudeai"` ou `"console"` dans n'importe quel fichier de paramètres, Claude Code arrête également d'offrir la [connexion Console sans clé](https://code.claude.com/docs/fr/authentication.md#sign-in-without-an-api-key) dans les sessions auxquelles ce fichier s'applique.

* **Portée** : [`Any file`](#scopes). Claude Code honore `"gateway"` à partir des mêmes sources que [`forceLoginGatewayUrl`](#forcelogingatewayurl) et le traite comme non défini partout ailleurs.
* **Type** : chaîne, l'une de :
  * `"claudeai"` : seuls les comptes claude.ai peuvent se connecter
  * `"console"` : seuls les comptes Claude Console peuvent se connecter
  * `"gateway"` : Claude Code envoie les gens vers une passerelle cloud au lieu d'une connexion propriétaire
* **Défaut** : non défini, donc les gens choisissent une méthode de connexion

```json settings.json theme={null}
{
  "forceLoginMethod": "claudeai"
}
```

Chaque chemin de connexion propriétaire applique la restriction, y compris l'[extension VS Code](https://code.claude.com/docs/fr/vs-code.md), le SDK Agent, `claude setup-token` et `/install-github-app`, sauf l'écran de connexion interactif du terminal, accessible par `/login` ou l'intégration au premier lancement, qui présélectionne la méthode sans l'appliquer. Avant v2.1.212, seules les connexions au terminal l'appliquaient. Voir [Restreindre la connexion à votre organisation](https://code.claude.com/docs/fr/authentication.md#restrict-login-to-your-organization) pour savoir comment chaque chemin de connexion, les identifiants d'environnement et les fournisseurs tiers sont traités.

Lorsqu'une source gérée sur la machine définit `"gateway"`, Claude Code n'utilise pas une connexion restante, une clé API ou un identifiant d'aide `apiKeyHelper`. Voir [La politique de l'administrateur nécessite une connexion à la passerelle Cloud](https://code.claude.com/docs/fr/errors.md#administrator-policy-requires-a-cloud-gateway-sign-in) pour le message que chacun produit. Si vous sélectionnez un fournisseur cloud via `CLAUDE_CODE_USE_BEDROCK` ou une variable d'environnement similaire, la session n'a pas besoin de la connexion à la passerelle. Avant v2.1.261, Claude Code utilisait une connexion restante sur ces machines.

### `forceLoginGatewayUrl`

Définissez l'URL de la passerelle à laquelle l'écran `/login` Cloud gateway se connecte, afin que les gens atteignent votre [passerelle cloud](https://code.claude.com/docs/fr/claude-apps-gateway) sans taper son adresse. L'écran n'a pas de champ URL : avec cette clé définie, il affiche l'URL de votre passerelle et se connecte lorsque la personne appuie sur Entrée ; sans elle, il leur dit de contacter leur administrateur IT.

Dans les paramètres gérés, cette clé ou `forceLoginMethod: "gateway"` rend la machine réservée à la passerelle, sauf pour les sessions qui sélectionnent un fournisseur cloud avec `CLAUDE_CODE_USE_*`. `/login` s'ouvre alors sur l'écran Cloud gateway sans sélecteur de méthode de connexion. Voir [La politique de l'administrateur nécessite une connexion à la passerelle Cloud](https://code.claude.com/docs/fr/errors.md#administrator-policy-requires-a-cloud-gateway-sign-in) pour ce qui se passe avec une connexion propriétaire restante ou une clé API. Définissez les deux clés afin que l'écran se connecte au lieu d'afficher une erreur.

* **Portée** : [`User or managed`](#scopes). Lu à partir d'une source gérée sur la machine : `managed-settings.json`, le plist macOS ou le registre HKLM Windows, ou un aide de politique. Sur une machine qui n'en possède aucune, Claude Code v2.1.295 ou ultérieur le lit également à partir des [paramètres utilisateur](https://code.claude.com/docs/fr/claude-apps-gateway#set-the-gateway-url-in-user-settings). Claude Code l'ignore dans les paramètres HKCU et gérés par le serveur.
* **Type** : chaîne, une URL complète incluant le schéma
* **Défaut** : non défini, donc l'écran Cloud gateway affiche une erreur indiquant aux gens de contacter leur administrateur IT

```json managed-settings.json theme={null}
{
  "forceLoginGatewayUrl": "https://claude-gateway.example.com"
}
```

Si la valeur n'est pas une URL valide, l'écran de connexion la signale, et le reste du fichier de paramètres gérés s'applique toujours. Voir [Définir l'URL de la passerelle](https://code.claude.com/docs/fr/claude-apps-gateway#set-the-gateway-url).

### `forceLoginOrgUUID`

À partir d'une source gérée, exigez que les connexions de compte claude.ai appartiennent à une organisation Anthropic, donnée comme un UUID unique, ou à l'une de plusieurs organisations, donnée comme un tableau. À partir de n'importe quel fichier de paramètres, Claude Code utilise également un UUID unique pour présélectionner cette organisation lors d'une connexion claude.ai ou Claude Console, et ne présélectionne rien pour un tableau. Si vous définissez la clé dans n'importe quel fichier de paramètres, Claude Code arrête également d'offrir la [connexion Console sans clé](https://code.claude.com/docs/fr/authentication.md#sign-in-without-an-api-key) dans les sessions auxquelles ce fichier s'applique et crée plutôt une clé API.

* **Portée** : [`Any file`](#scopes). Seule une source gérée applique la restriction ; un UUID unique dans n'importe quel autre fichier de paramètres présélectionne l'organisation lors de la connexion sans la restreindre.
* **Type** : chaîne, un UUID, ou tableau de chaînes, plusieurs UUID
* **Défaut** : non défini, donc n'importe quelle organisation peut se connecter

Cet exemple accepte les connexions de l'une ou l'autre de deux organisations sans en présélectionner une :

```json managed-settings.json theme={null}
{
  "forceLoginOrgUUID": ["xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", "yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy"]
}
```

Si une source gérée définit un tableau vide, ou une valeur qui n'est ni une chaîne ni un tableau de chaînes, les utilisateurs qui se connectent avec un compte Anthropic ne peuvent ni démarrer Claude Code ni terminer une connexion. Ils voient un message qui nomme `forceLoginOrgUUID` et leur indique de contacter leur administrateur. Un [`policyHelper`](#policyhelper) qui émet une valeur du mauvais type [voit plutôt son exécution échouer](#helper-failures).

Voir [Restreindre la connexion à votre organisation](https://code.claude.com/docs/fr/authentication.md#restrict-login-to-your-organization) pour savoir comment Claude Code traite les connexions Claude Console, les autres chemins de connexion et les identifiants d'environnement.

### `gatewayInternalNetworks`

Déclarez les blocs IPv4 publics à partir desquels votre organisation numérote son réseau interne, afin que `/login` accepte une [passerelle cloud](https://code.claude.com/docs/fr/claude-apps-gateway) là-bas. Nécessite Claude Code v2.1.268 ou ultérieur.

Sans cette clé, `/login` se connecte à n'importe quelle passerelle sur une adresse privée et rien d'autre. Avec elle, `/login` accepte également une passerelle à l'intérieur d'un bloc listé, sur une connexion directe uniquement. L'adresse propre de la machine sur cette connexion doit également être à l'intérieur du même bloc.

* **Portée** : [`Managed`](#scopes). Lu uniquement à partir d'une source sur la machine : `managed-settings.json`, le plist macOS ou le registre HKLM Windows, ou un aide de politique. Claude Code l'ignore dans les paramètres HKCU et gérés par le serveur.
* **Type** : tableau de chaînes, au maximum quatre blocs IPv4 CIDR, chacun `/8` à `/32`, ne se chevauchant pas les uns les autres, et aucun ne chevauchant l'espace privé.
* **Défaut** : non défini, donc `/login` accepte uniquement les passerelles sur des adresses privées

```json managed-settings.json theme={null}
{
  "gatewayInternalNetworks": ["203.0.113.0/24"]
}
```

Remplacez la plage de documentation dans l'exemple par votre propre bloc. Claude Code refuse les plages de documentation, les plages que les clients VPN et NAT64 utilisent localement, et l'espace réservé à partir duquel aucun réseau n'est numéroté, tel que la multidiffusion.

Si une entrée est invalide, ou la valeur n'est pas une liste de chaînes, `/login` nomme le problème et refuse chaque nouvelle connexion à la passerelle sur la machine jusqu'à ce que vous corrigiez la valeur. Les connexions existantes continuent de fonctionner. Voir [Autoriser une passerelle sur l'espace d'adresses publiques que vous possédez](https://code.claude.com/docs/fr/claude-apps-gateway#allow-a-gateway-on-public-address-space-you-own) pour les règles complètes et ce que les développeurs voient.

### `gcpAuthRefresh`

Exécutez votre propre commande pour actualiser les identifiants Google Cloud Application Default lorsque Claude Code découvre qu'ils ont expiré ou ne peuvent pas être chargés, afin que les requêtes [Agent Platform de Google Cloud](https://code.claude.com/docs/fr/google-vertex-ai.md) continuent de fonctionner sans que vous vous réauthentifiiez à la main.

Lorsque plusieurs processus Claude Code qui utilisent la même commande et les mêmes identifiants, tels que des terminaux ou des fenêtres d'IDE distincts, constatent au même moment que ceux-ci ont expiré, un seul processus exécute la commande et les autres attendent cette exécution au lieu de lancer la leur. Un processus qui a attendu 60 secondes avec une requête en attente exécute lui-même la commande. Pour désactiver ce comportement, définissez [`CLAUDE_CODE_DISABLE_AUTH_REFRESH_LOCK`](https://code.claude.com/docs/fr/env-vars) sur `1`.

* **Portée** : [`Any file`](#scopes)
* **Type** : chaîne, une ligne de commande shell
* **Défaut** : non défini, donc l'erreur d'identifiant de Claude Code vous dit d'exécuter `gcloud auth application-default login` vous-même

```json settings.json theme={null}
{
  "gcpAuthRefresh": "gcloud auth application-default login"
}
```

Voir [configuration avancée des identifiants](https://code.claude.com/docs/fr/google-vertex-ai.md#advanced-credential-configuration).

### `otelHeadersHelper`

Exécutez votre propre commande pour générer les en-têtes que Claude Code envoie avec les exportations OpenTelemetry, pour les backends dont les jetons tournent. Claude Code l'exécute au démarrage et périodiquement après cela, et s'attend à un objet JSON de valeurs d'en-têtes de chaîne sur stdout.

* **Portée** : [`Any file`](#scopes)
* **Type** : chaîne, un chemin exécutable ou une ligne de commande shell
* **Défaut** : non défini, donc Claude Code n'ajoute pas d'en-têtes générés par l'aide

```json settings.json theme={null}
{
  "otelHeadersHelper": "/bin/generate_otel_headers.sh"
}
```

Définissez l'intervalle d'actualisation avec [`CLAUDE_CODE_OTEL_HEADERS_HELPER_DEBOUNCE_MS`](https://code.claude.com/docs/fr/env-vars). Voir [En-têtes dynamiques](https://code.claude.com/docs/fr/monitoring-usage.md#dynamic-headers) pour les exigences du script et ce qui se passe lorsque l'aide échoue.

## Mises à jour et versioning

Choisissez un canal de mise à jour et, pour les organisations, épinglez les versions que les utilisateurs peuvent exécuter. Voir [Mettre à jour Claude Code](https://code.claude.com/docs/fr/setup.md#update-claude-code).

### `autoUpdatesChannel`

Choisissez quel [canal de version](https://code.claude.com/docs/fr/setup.md#configure-release-channel) les mises à jour automatiques en arrière-plan et `claude update` suivent. Définissez `"stable"` pour une version qui a généralement environ une semaine et ignore les versions avec des régressions majeures, ou `"latest"` pour la version la plus récente.

* **Portée** : [`Any file`](#scopes). Définissez-le dans les paramètres gérés pour appliquer un canal dans toute votre organisation.
* **Type** : string, l'un des :
  * `"latest"` : les mises à jour suivent la version la plus récente
  * `"stable"` : les mises à jour suivent une version qui a généralement environ une semaine et ignore les versions avec des régressions majeures
* **Défaut** : non défini, donc Claude Code suit `"latest"`

```json settings.json theme={null}
{
  "autoUpdatesChannel": "stable"
}
```

Claude Code écrit `"stable"` dans vos paramètres utilisateur lorsque vous le choisissez sous **Auto-update channel** dans `/config`, et supprime la clé lorsque vous revenez à latest. `claude install stable` et `claude install latest` enregistrent également le canal que vous nommez. Le passage de `"latest"` à `"stable"` dans `/config` demande si vous autorisez une rétrogradation ou si vous restez sur votre version actuelle ; rester définit [`minimumVersion`](#minimumversion). Les installations Homebrew ignorent cette clé : le cask `claude-code` suit stable et `claude-code@latest` suit latest, et `claude update` s'en remet à `brew upgrade`. Pour désactiver complètement les mises à jour automatiques, définissez [`DISABLE_AUTOUPDATER`](https://code.claude.com/docs/fr/setup#disable-auto-updates) dans `env`.

### `minimumVersion`

Empêchez les mises à jour automatiques en arrière-plan et `claude update` d'installer une version inférieure à celle-ci, de sorte que le passage au canal `"stable"` ne vous rétrograde pas à partir d'une version `"latest"` plus récente. Claude Code écrit cette clé pour vous lorsque vous choisissez de rester sur votre version actuelle lors du changement de canal dans `/config`, et la supprime lorsque vous revenez à `"latest"`.

* **Portée** : [`Any file`](#scopes). Définissez-le dans les paramètres gérés pour épingler un minimum à l'échelle de l'organisation que les paramètres utilisateur et projet ne peuvent pas réduire.
* **Type** : string, un numéro de version tel que `"2.1.100"` ; une valeur qui n'est pas une version valide est ignorée
* **Défaut** : non défini, donc les mises à jour peuvent installer n'importe quelle version que le canal propose

Cet exemple suit le canal stable et refuse d'installer une version inférieure à 2.1.100 :

```json settings.json theme={null}
{
  "autoUpdatesChannel": "stable",
  "minimumVersion": "2.1.100"
}
```

Cette clé ne contraint que les mises à jour. Pour faire refuser à Claude Code de démarrer en dessous d'une version, utilisez [`requiredMinimumVersion`](#requiredminimumversion) à la place. Voir [Épingler une version minimale](https://code.claude.com/docs/fr/setup.md#pin-a-minimum-version).

### `requiredMaximumVersion`

Définissez la version la plus récente de Claude Code que votre organisation autorise à démarrer. Lorsque la version en cours d'exécution est plus récente, Claude Code se ferme au démarrage et indique à l'utilisateur d'installer une version approuvée par la méthode approuvée de votre organisation ; `claude install <version>` peut également fonctionner. Nécessite Claude Code v2.1.163 ou version ultérieure.

* **Portée** : [`Managed`](#scopes). Claude Code ne donne aucun avertissement lorsqu'il ignore la clé ailleurs.
* **Type** : string, un numéro de version tel que `"2.1.150"` ; une valeur qui n'est pas une version valide est ignorée
* **Défaut** : non défini, donc aucun plafond ne s'applique

```json managed-settings.json theme={null}
{
  "requiredMaximumVersion": "2.1.150"
}
```

Les mises à jour automatiques en arrière-plan et `claude update` ignorent les versions au-dessus du plafond, de sorte qu'une installation dans la plage reste à l'intérieur. `claude update`, `claude install` et `claude doctor` continuent de fonctionner au-dessus du plafond pour que les utilisateurs puissent récupérer. Associez-le à [`requiredMinimumVersion`](#requiredminimumversion) pour appliquer une plage.

### `requiredMinimumVersion`

Définissez la version la plus ancienne de Claude Code que votre organisation autorise à démarrer. Lorsque la version en cours d'exécution est plus ancienne, Claude Code se ferme au démarrage et indique à l'utilisateur de mettre à jour par la méthode approuvée de votre organisation. La vérification s'exécute uniquement au démarrage, de sorte qu'une session déjà en cours d'exécution continue. Nécessite Claude Code v2.1.163 ou version ultérieure.

* **Portée** : [`Managed`](#scopes). Claude Code ne donne aucun avertissement lorsqu'il ignore la clé ailleurs.
* **Type** : string, un numéro de version tel que `"2.1.150"` ; une valeur qui n'est pas une version valide est ignorée
* **Défaut** : non défini, donc aucun plancher ne s'applique

```json managed-settings.json theme={null}
{
  "requiredMinimumVersion": "2.1.150"
}
```

`claude update`, `claude install` et `claude doctor` continuent de fonctionner en dessous du plancher pour que les utilisateurs puissent récupérer. Contrairement à [`minimumVersion`](#minimumversion), qui empêche uniquement les rétrograder, cette clé bloque le démarrage. Associez-le à [`requiredMaximumVersion`](#requiredmaximumversion) pour appliquer une plage.

## Outils

Désactivez des outils spécifiques dans l'[application de bureau Claude Code](https://code.claude.com/docs/fr/desktop.md). L'interface de ligne de commande du terminal ignore ces clés. Pour les outils eux-mêmes, consultez [Outils disponibles pour Claude](https://code.claude.com/docs/fr/tools-reference.md).

### `browserExternalPageTools`

Empêchez Claude d'utiliser ses outils pour lire ou agir sur des pages externes dans le [volet Navigateur](https://code.claude.com/docs/fr/desktop.md#browse-external-sites) de l'application de bureau. Les personnes de votre organisation peuvent toujours ouvrir des sites externes eux-mêmes, et les aperçus des serveurs de développement locaux continuent de fonctionner avec les outils de Claude. L'application de bureau lit cette clé ; l'interface de ligne de commande du terminal l'ignore.

* **Portée** : [`Managed`](#scopes)
* **Type** : chaîne de caractères, `"disabled"` ; l'application de bureau accepte également `"disable"`, dans les deux cas
* **Valeur par défaut** : non définie, donc les outils de Claude fonctionnent sur les pages externes

```json managed-settings.json theme={null}
{
  "browserExternalPageTools": "disabled"
}
```

Toute autre valeur laisse les outils de Claude activés, et une chaîne non vide qui n'est pas l'une des deux valeurs acceptées enregistre un avertissement. Pour bloquer les sites externes pour les personnes et Claude, définissez [`disableBrowserExternalNavigation`](#disablebrowserexternalnavigation) à la place. Consultez [Restreindre la navigation externe pour votre organisation](https://code.claude.com/docs/fr/desktop.md#restrict-external-browsing-for-your-organization).

### `disableBrowserExternalNavigation`

Désactivez la navigation externe dans le [volet Navigateur](https://code.claude.com/docs/fr/desktop.md#browse-external-sites) de l'application de bureau pour les personnes et Claude. Les aperçus des serveurs de développement localhost continuent de fonctionner. L'application de bureau lit cette clé ; l'interface de ligne de commande du terminal l'ignore.

* **Portée** : [`Managed`](#scopes)
* **Type** : Booléen ; seul le Booléen JSON `true` prend effet
  * `true` : l'application de bureau désactive la navigation externe dans le volet Navigateur pour les personnes et Claude ; les aperçus localhost continuent de fonctionner
  * `false` : la navigation externe reste activée
* **Valeur par défaut** : non définie, donc la navigation externe est activée

```json managed-settings.json theme={null}
{
  "disableBrowserExternalNavigation": true
}
```

L'application de bureau ignore toute autre valeur, et une valeur qui n'est pas un Booléen, comme la chaîne `"true"` ou `1`, enregistre également un avertissement. Pour laisser la navigation externe activée mais garder les outils de Claude désactivés sur les pages externes, définissez [`browserExternalPageTools`](#browserexternalpagetools) à la place. Consultez [Restreindre la navigation externe pour votre organisation](https://code.claude.com/docs/fr/desktop.md#restrict-external-browsing-for-your-organization).

### `disableMobileSimulatorTools`

Bloquez les outils de Claude pour le [volet Simulateur iOS](https://code.claude.com/docs/fr/desktop-ios-simulator.md#turn-off-simulator-access) de l'application de bureau. Les personnes conservent l'utilisation manuelle du volet ; seul l'accès de Claude est supprimé, et personne ne peut le réactiver depuis l'intérieur de l'application. L'application de bureau lit cette clé ; l'interface de ligne de commande du terminal l'ignore.

* **Portée** : [`Managed`](#scopes)
* **Type** : Booléen ; seul le Booléen JSON `true` prend effet
  * `true` : l'application de bureau bloque les outils de Claude pour le volet Simulateur iOS
  * `false` : les outils de simulateur de Claude suivent le paramètre de basculement des paramètres de chaque personne dans l'application de bureau
* **Valeur par défaut** : non définie, donc les outils de simulateur de Claude suivent le paramètre de basculement des paramètres de chaque personne dans l'application de bureau

```json managed-settings.json theme={null}
{
  "disableMobileSimulatorTools": true
}
```

L'application de bureau ignore toute autre valeur, et une valeur qui n'est pas un Booléen, comme la chaîne `"true"` ou `1`, enregistre également un avertissement.

## Confidentialité et télémétrie

Contrôlez la durée pendant laquelle Claude Code conserve les données de session et ce qu'il envoie. Les commutateurs qui désactivent les métriques d'utilisation et les rapports d'erreurs sont des variables d'environnement, pas des clés de paramètres : définissez `DISABLE_TELEMETRY`, `DISABLE_ERROR_REPORTING`, ou `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` dans la clé [`env`](#env) ou dans le shell. [Les services de télémétrie](https://code.claude.com/docs/fr/data-usage.md#telemetry-services) indiquent ce que chacun arrête. Deux exceptions se désactivent à partir d'un fichier de paramètres : [`feedbackDrafts`](#feedbackdrafts) ci-dessous pour les commentaires rédigés par Claude, et [`feedbackSurveyRate`](#feedbacksurveyrate) ci-dessous pour l'enquête de session.

### `cleanupPeriodDays`

Définissez le nombre de jours pendant lesquels Claude Code conserve les [transcriptions de session et autres données d'application](https://code.claude.com/docs/fr/claude-directory.md#cleaned-up-automatically) avant de les supprimer. Claude Code exécute la suppression en tant que balayage en arrière-plan après le démarrage d'une session, tant qu'il peut déterminer en toute sécurité la période de rétention. Le balayage supprime les transcriptions sans afficher de message, donc une session que vous n'avez pas utilisée plus longtemps que la période de rétention n'apparaît plus dans le sélecteur [`/resume`](https://code.claude.com/docs/fr/sessions#resume-a-session).

* **Portée** : [`Any file`](#scopes)
* **Type** : nombre de jours, un nombre entier, minimum `1`
* **Valeur par défaut** : `30`

```json settings.json theme={null}
{
  "cleanupPeriodDays": 20
}
```

La définition de `0` échoue la validation, donc choisissez une grande valeur comme `3650` pour une rétention longue. Pour empêcher Claude Code d'écrire des transcriptions du tout, consultez [Stockage en texte brut](https://code.claude.com/docs/fr/claude-directory.md#plaintext-storage).

### `desktopSessionCleanupPeriodDays`

Définissez une limite d'âge en jours pour les transcriptions des sessions que vous avez démarrées ou continuées le plus récemment dans Claude Desktop ou Cowork. Sans cette clé, Claude Code [conserve ces transcriptions à tout âge](https://code.claude.com/docs/fr/claude-directory.md#cleaned-up-automatically). Claude Code supprime chacune une fois qu'elle est plus ancienne que cette limite et [`cleanupPeriodDays`](#cleanupperioddays), donc avec `cleanupPeriodDays` à sa valeur par défaut de 30, une valeur de `7` les conserve toujours 30 jours. [Nettoyage automatique](https://code.claude.com/docs/fr/claude-directory.md#cleaned-up-automatically) répertorie les cas où `cleanupPeriodDays` s'applique à la place et où Claude Code ignore cette clé. Nécessite Claude Code v2.1.248 ou version ultérieure.

* **Portée** : [`User or managed`](#scopes). Claude Code lit également la clé à partir d'un fichier que vous transmettez avec `--settings`, et l'ignore dans les paramètres de projet et locaux.
* **Type** : nombre de jours, un nombre entier, minimum `0`
* **Valeur par défaut** : `0`, qui ne définit aucune limite d'âge

```json settings.json theme={null}
{
  "desktopSessionCleanupPeriodDays": 90
}
```

### `feedbackDrafts`

Contrôlez les [commentaires rédigés par Claude](https://code.claude.com/docs/fr/tools-reference.md#sendfeedback-tool-behavior) : si Claude peut mettre en file d'attente les brouillons de commentaires pour que vous les examiniez, et si Claude Code affiche une carte lorsque Claude en met une en file d'attente.

* **Portée** : [`User or managed`](#scopes)
* **Type** : chaîne, l'une de `"notify"`, `"quiet"`, ou `"off"`
  * `"notify"` : Claude Code affiche une carte au-dessus de l'invite lorsque Claude met un brouillon en file d'attente, jusqu'à [trois cartes dans une session](https://code.claude.com/docs/fr/tools-reference.md#what-you-see-when-claude-drafts) par défaut
  * `"quiet"` : Claude rédige sans carte. Vous voyez le nombre de brouillons en file d'attente dans le pied de page de l'invite et les examinez dans `/feedback`
  * `"off"` : Claude Code supprime l'outil SendFeedback, donc Claude ne peut pas mettre en file d'attente les brouillons
* **Valeur par défaut** : `"notify"`
* **Remplacements par session** : [`CLAUDE_CODE_SEND_FEEDBACK`](https://code.claude.com/docs/fr/env-vars) défini à `0` désactive la fonctionnalité pour une session

```json settings.json theme={null}
{
  "feedbackDrafts": "quiet"
}
```

Apparaît dans `/config` sous **Claude-drafted feedback**, qui écrit cette clé dans vos paramètres utilisateur. Vous voyez la ligne `/config` uniquement dans les sessions [où Claude peut rédiger des commentaires](https://code.claude.com/docs/fr/tools-reference.md#sessions-without-claude-drafted-feedback) ; la définition de `"off"` ne la masque pas, vous pouvez donc réactiver la fonctionnalité à partir de la même ligne. Une valeur dans les paramètres gérés prend précédence sur votre paramètre utilisateur, donc lorsqu'un administrateur définit cette clé, la ligne affiche la valeur gérée et la modifier n'a aucun effet. Claude Code ignore cette clé dans les paramètres de projet et locaux.

### `feedbackSurveyRate`

Définissez la probabilité que l'[enquête de qualité de session](https://code.claude.com/docs/fr/data-usage.md#session-quality-surveys) apparaisse lorsqu'une session est admissible. Définissez `0` pour empêcher l'enquête d'apparaître.

* **Portée** : [`Any file`](#scopes)
* **Type** : nombre entre `0` et `1`
* **Valeur par défaut** : non défini, donc Claude Code utilise le taux qu'Anthropic définit à distance, ou son taux intégré de `0.005` sur Amazon Bedrock, Google Cloud's Agent Platform, et Microsoft Foundry, qui ne reçoivent pas de configuration à distance
* **Remplacements par session** : [`CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY`](https://code.claude.com/docs/fr/env-vars) défini à `1` désactive l'enquête pour une session quel que soit le taux que cette clé définit

```json settings.json theme={null}
{
  "feedbackSurveyRate": 0.05
}
```

Le même taux s'applique à l'enquête dans l'extension VS Code.

### `skipWebFetchPreflight`

Ignorez la [vérification de sécurité du domaine WebFetch](https://code.claude.com/docs/fr/data-usage.md#webfetch-domain-safety-check), qui envoie chaque nom d'hôte demandé à `api.anthropic.com` avant la récupération. Définissez `true` dans les environnements qui bloquent le trafic vers Anthropic, comme Amazon Bedrock, Google Cloud's Agent Platform, ou les déploiements Microsoft Foundry avec une sortie restrictive.

* **Portée** : [`Any file`](#scopes)
* **Type** : Booléen
  * `true` : Claude Code ignore la vérification de sécurité du domaine WebFetch
  * `false` : la vérification s'exécute avant la première récupération à chaque nom d'hôte dans une session, et à nouveau pour un nom d'hôte dont la vérification antérieure a été bloquée ou a échoué
* **Valeur par défaut** : non défini, donc la vérification s'exécute avant la première récupération à chaque nom d'hôte dans une session

```json settings.json theme={null}
{
  "skipWebFetchPreflight": true
}
```

Avec la vérification ignorée, WebFetch tente n'importe quelle URL sans consulter la liste de blocage, donc associez-la aux [règles de permission `WebFetch`](https://code.claude.com/docs/fr/permissions#webfetch) si vous devez restreindre les domaines que Claude peut atteindre.

## Paramètres d'entreprise et gérés

Clés qu'une organisation utilise pour calculer, actualiser et combiner les paramètres gérés. Voir [Configurer les paramètres gérés](https://code.claude.com/docs/fr/admin-setup.md).

### `disableSideloadFlags`

Rejeter les drapeaux CLI `--plugin-dir`, `--plugin-url`, `--agents` et `--mcp-config` au démarrage, que les utilisateurs pourraient autrement transmettre pour contourner [`strictKnownMarketplaces`](#strictknownmarketplaces) pour une seule exécution. Claude Code se ferme avec une erreur nommant les drapeaux rejetés. Dans les [sessions cloud](https://code.claude.com/docs/fr/claude-code-on-the-web.md), Claude Code démarre plutôt la session et supprime chaque entrée `--mcp-config` livrée par le serveur sauf les entrées `type: "sdk"` en processus et les outils Slack d'une session [Claude Tag](https://code.claude.com/docs/fr/claude-tag.md). Nécessite Claude Code v2.1.193 ou ultérieur.

* **Portée** : [`Managed`](#scopes)
* **Type** : Booléen
  * `true` : Claude Code rejette `--plugin-dir`, `--plugin-url`, `--agents` et `--mcp-config` au démarrage et se ferme avec une erreur les nommant. Dans les sessions cloud, il démarre plutôt la session et supprime chaque entrée `--mcp-config` livrée par le serveur sauf les entrées `type: "sdk"` en processus et les outils Slack d'une session Claude Tag
  * `false` : Claude Code accepte ces drapeaux
* **Défaut** : `false`

```json managed-settings.json theme={null}
{
  "disableSideloadFlags": true
}
```

Claude Code accepte toujours un `--mcp-config` dont les serveurs sont tous des entrées `type: "sdk"` en processus, de sorte que le SDK Agent et l'extension VS Code continuent de fonctionner. Les utilisateurs peuvent toujours ajouter des serveurs avec `claude mcp add` ou un fichier `.mcp.json` ; pour un contrôle par serveur, définissez également [`allowedMcpServers`](https://code.claude.com/docs/fr/managed-mcp). Nécessite Claude Code v2.1.193 ou ultérieur.

La même vérification couvre les dossiers de plugins nommés dans la variable d'environnement [`CLAUDE_CODE_PLUGIN_DIRS`](https://code.claude.com/docs/fr/env-vars#variables), ce qui nécessite Claude Code v2.1.280 ou ultérieur. Lorsque la variable nomme un dossier, Claude Code se ferme avec la même erreur, et l'erreur dit de supprimer la variable.

Dans les sessions cloud, Claude Code ignore également les mises à jour MCP livrées en milieu de session, le chemin derrière la configuration de session cloud et les appels SDK `setMcpServers()` qui atteignent ces sessions. Les entrées `type: "sdk"` en processus et les outils Slack d'une session Claude Tag restent exemptes là aussi. Avant v2.1.268, cette suppression au démarrage et la suppression au démarrage supprimaient également les outils Slack d'une session Claude Tag. Avant v2.1.239, un `--mcp-config` livré par le serveur bloquait le démarrage d'une session cloud.

L'application de bureau gère certains plugins elle-même, y compris les plugins synchronisés à partir de claude.ai et les plugins que votre organisation déploie via l'application. Si vous déployez cette clé sur un appareil via MDM, une politique au niveau du système d'exploitation ou un fichier de paramètres gérés, l'application de bureau ne transmet pas ces plugins aux sessions suivantes sur cet appareil :

* **[Sessions de code sur la machine de l'utilisateur](https://code.claude.com/docs/fr/desktop.md#environment-configuration)** : elles démarrent également sans les compétences activées pour le compte claude.ai de l'utilisateur. Les plugins que Claude Code installe à partir des places de marché dans vos paramètres gérés se chargent toujours. Dans [Claude Desktop sur 3P](https://claude.com/docs/third-party/claude-desktop/overview), les serveurs MCP des plugins que vous déployez dans le répertoire `org-plugins` de l'appareil restent disponibles aussi, car l'application de bureau s'y connecte elle-même. Avant Claude Desktop v1.37937.0, ces sessions échouaient au démarrage à la place.
* **[Sessions Cowork sur la machine de l'utilisateur](https://code.claude.com/docs/fr/managed-settings.md#where-and-when-a-policy-applies)** : les compétences à l'intérieur de ces plugins et les compétences activées pour le compte claude.ai de l'utilisateur restent disponibles. Dans [Claude Desktop sur 3P](https://claude.com/docs/third-party/claude-desktop/overview), les serveurs MCP des plugins que vous déployez dans le répertoire `org-plugins` de l'appareil restent disponibles aussi, car l'application de bureau s'y connecte elle-même. Avant Claude Desktop v1.44121.0, ces sessions échouaient au démarrage à la place.

### `forceRemoteSettingsRefresh`

Bloquer le démarrage du CLI jusqu'à ce que Claude Code ait récemment récupéré les [paramètres gérés par le serveur](https://code.claude.com/docs/fr/server-managed-settings.md). Si la récupération échoue, Claude Code se ferme au lieu de continuer avec les paramètres en cache ou aucun paramètre. Définissez-le lorsque votre environnement ne peut pas accepter même une brève fenêtre dans laquelle une session s'exécute sans sa politique gérée.

Lorsque la clé n'est pas définie, Claude Code ne bloque pas le démarrage sur la récupération, bien que lorsque le développeur se connecte au démarrage, il attend jusqu'à cinq secondes pour la récupération. Une session de passerelle Cloud attend toujours et se ferme si la passerelle ne peut pas être atteinte.

* **Portée** : [`Managed`](#scopes). Claude Code honore un `true` de n'importe quelle source gérée contrôlée par l'administrateur, même une qui n'est pas la source de plus haute priorité.
* **Type** : Booléen
  * `true` : Claude Code bloque le démarrage jusqu'à ce qu'il ait récemment récupéré les paramètres gérés par le serveur, et se ferme si la récupération échoue
  * `false` : Claude Code ne bloque pas le démarrage sur la récupération, bien qu'au démarrage d'une connexion il attende jusqu'à cinq secondes pour la récupération
* **Défaut** : `false`

```json managed-settings.json theme={null}
{
  "forceRemoteSettingsRefresh": true
}
```

Définissez-le dans un profil MDM ou le fichier de paramètres gérés pour appliquer un démarrage fermé en cas d'échec avant l'arrivée du premier payload du serveur. Claude Code applique la vérification uniquement dans les sessions qui récupèrent les paramètres gérés par le serveur, de sorte qu'une session qui [ne les récupère pas](https://code.claude.com/docs/fr/server-managed-settings.md#platform-availability) démarre sans attendre. Les sous-commandes `claude auth` sont exemptes, de sorte que les utilisateurs peuvent se réauthentifier lorsque les identifiants expirés sont la raison de l'échec de la récupération. Voir [Appliquer un démarrage fermé en cas d'échec](https://code.claude.com/docs/fr/server-managed-settings.md#enforce-fail-closed-startup).

### `managedSourcesBehavior`

Choisissez si Claude Code applique uniquement la [source gérée](https://code.claude.com/docs/fr/managed-settings.md#how-claude-code-combines-managed-sources) de plus haute priorité que votre organisation livre, ou combine chaque source d'administrateur qu'elle livre. Par défaut, Claude Code prend la source de plus haute priorité qui porte une [clé de politique](https://code.claude.com/docs/fr/managed-settings.md#how-claude-code-combines-managed-sources) et ignore le reste. Une clé de politique est n'importe quelle clé de paramètres autre que celle-ci et `wslInheritsWindowsSettings`. Sous ce défaut, une fois que les paramètres gérés par le serveur ou une politique MDM livrent une clé de politique, un fichier `managed-settings.json` ne contribue que les [clés que Claude Code lit de chaque source d'administrateur](https://code.claude.com/docs/fr/managed-settings.md#keys-read-from-every-admin-source). Avec `"merge"`, chaque source d'administrateur que vous livrez contribue ses clés à une politique combinée. Nécessite Claude Code v2.1.242 ou ultérieur.

Définissez `"merge"` uniquement lorsque chaque source [classée](https://code.claude.com/docs/fr/managed-settings.md#how-claude-code-combines-managed-sources) en dessous de votre plus haute est sous le contrôle d'un administrateur, car Claude Code ajoute alors des entrées d'une source inférieure, telle que les règles `permissions.allow`, à la politique.

* **Portée** : [`Managed`](#scopes). Claude Code lit cette clé de la source de plus haute priorité qui porte soit cette clé soit une clé de politique, et ignore cette clé dans chaque source classée plus bas, de sorte qu'une source inférieure ne peut pas se choisir pour combiner avec la source au-dessus. Ni le registre HKCU Windows ni les [paramètres parents d'un hôte d'intégration](https://code.claude.com/docs/fr/managed-settings.md#let-an-embedding-host-add-policy) ne participent à la fusion.
* **Type** : chaîne, l'une de :
  * `"first-wins"` : la source de plus haute priorité qui porte une clé de politique fournit la politique, et les sources inférieures ne contribuent que les [clés que Claude Code lit de chaque source d'administrateur](https://code.claude.com/docs/fr/managed-settings.md#keys-read-from-every-admin-source)
  * `"merge"` : chaque source d'administrateur que vous livrez contribue ses clés, combinées par les règles ci-dessous
* **Défaut** : `"first-wins"`

Livrez la clé dans la source de plus haute priorité que vous déployez. Une machine qui ne reçoit jamais les paramètres gérés par le serveur a besoin de la clé dans son profil MDM aussi, car Claude Code lit la clé de la source de plus haute priorité qui la porte ou une clé de politique. Un fichier `managed-settings.json` est la source d'administrateur la plus basse classée, de sorte que `"merge"` défini là n'a pas de source en dessous pour combiner. Dans les paramètres gérés par le serveur, la clé ressemble à ceci :

```json theme={null}
{
  "managedSourcesBehavior": "merge"
}
```

Sous `"merge"`, Claude Code combine chaque clé par son type. Ce tableau donne la règle pour chaque type. Les lignes de liste de restriction, valeurs prises en entier et plus haute source uniquement nomment chaque clé qu'elles couvrent, et les autres lignes donnent des exemples :

| Type de clé | Comment Claude Code la combine | Clés |
| :- | :- | :- |
| Listes | Combine les entrées de chaque source | [`permissions.allow`](#permissions-allow), [`sandbox.network.allowedDomains`](#sandbox-network-alloweddomains) et autres clés de liste |
| Verrous | Applique la valeur la plus stricte que n'importe quelle source définit. Lorsqu'aucune source ne définit une valeur stricte, applique une valeur plus souple uniquement de la source la plus haute | [`allowManagedPermissionRulesOnly`](#allowmanagedpermissionrulesonly), [`permissions.disableBypassPermissionsMode`](#permissions-disablebypasspermissionsmode) et autres verrous booléens ou énumérés |
| Listes de restriction | Prend la liste en entier de la source la plus haute qui la définit, sans ajouter d'entrées de sources inférieures. Lorsque la source la plus haute n'en définit pas une, la prend en entier de la source suivante en bas | [`availableModels`](#availablemodels), [`allowedMcpServers`](#allowedmcpservers), [`allowedProviders`](#allowedproviders), [`strictKnownMarketplaces`](#strictknownmarketplaces), [`allowedChannelPlugins`](#allowedchannelplugins) et la chaîne [`fallbackModel`](#fallbackmodel) |
| Valeurs prises en entier | Prend la valeur en entier de la source la plus haute qui la définit, sans combiner les entrées ou champs de sources inférieures. Lorsque la source la plus haute ne la définit pas, la prend en entier de la source suivante en bas | [`sandbox.credentials.awsPairs`](#sandbox-credentials-awspairs), [`sandbox.ripgrep`](#sandbox-ripgrep) |
| Serveurs MCP fournis | Combine les noms de serveur de chaque source. Lorsque deux sources définissent le même nom, applique l'entrée entière de la source supérieure | [`managedMcpServers`](#managedmcpservers) |
| Lire uniquement de la source de plus haute priorité | Lit la clé uniquement de la source de plus haute priorité qui porte une clé de politique, de sorte que la valeur d'une source inférieure est ignorée même lorsque la source la plus haute n'en définit aucune | [`apiKeyHelper`](#apikeyhelper), [`awsAuthRefresh`](#awsauthrefresh), [`awsCredentialExport`](#awscredentialexport), [`gcpAuthRefresh`](#gcpauthrefresh), [`otelHeadersHelper`](#otelheadershelper), `proxyAuthHelper`, [`forceLoginOrgUUID`](#forceloginorguuid), les valeurs `"claudeai"` et `"console"` de [`forceLoginMethod`](#forceloginmethod), [`parentSettingsBehavior`](#parentsettingsbehavior), [`modelPicker`](#modelpicker), [`policyHelper`](#policyhelper), [`permissions.defaultMode`](#permissions-defaultmode) |
| `env` | [Fusionne par variable sur les sources d'administrateur](https://code.claude.com/docs/fr/managed-settings.md#keys-read-from-every-admin-source), sous `"first-wins"` et `"merge"` | [`env`](#env) |
| Chaque autre clé | Prend la valeur de la source la plus haute qui la définit | [`cleanupPeriodDays`](#cleanupperioddays), [`model`](#model) |

Prendre `sandbox.credentials.awsPairs` et `sandbox.ripgrep` en entier nécessite Claude Code v2.1.257 ou ultérieur.

Quelques clés ajoutent une condition que le tableau ne montre pas :

* **[`policyHelper`](#policyhelper)** : Claude Code l'honore uniquement lorsque la source la plus haute qui porte une clé de politique est une politique MDM ou un fichier de paramètres gérés, de sorte que sous les paramètres gérés par le serveur elle ne s'applique pas.
* **[`modelOverrides`](#modeloverrides)** : s'apparie avec `availableModels`. Claude Code prend `modelOverrides` de la source la plus haute qui la définit, sauf si une source supérieure définit `availableModels` sans `modelOverrides`. Dans ce cas, il ignore `modelOverrides` de chaque source.
* **[`forceLoginGatewayUrl`](#forcelogingatewayurl), [`gatewayInternalNetworks`](#gatewayinternalnetworks) et la valeur `"gateway"` de [`forceLoginMethod`](#forceloginmethod)** : Claude Code ne les lit jamais de paramètres gérés par le serveur, de sorte qu'une valeur là ne s'applique ni ne cache une définie dans une politique MDM ou un fichier de paramètres gérés. Parmi les sources d'administrateur sur la machine, seule la plus haute classée qui porte une clé de politique les fournit, que les paramètres gérés par le serveur soient présents ou non.
* **[`allowedProviders`](#allowedproviders)** : après la règle du tableau, la liste de la machine elle-même limite toujours le résultat, comme le note l'entrée de sa Portée.

Pour confirmer quelles sources se sont combinées sur une machine, exécutez `/status` et [lisez la ligne `Setting sources`](https://code.claude.com/docs/fr/managed-settings#read-the-source-in-/status).

### `parentSettingsBehavior`

Choisissez si Claude Code applique les paramètres gérés fournis par un processus hôte d'intégration, tel que le SDK Agent ou une extension IDE, lorsqu'une couche gérée déployée par l'administrateur est également présente. Avec `"first-wins"`, Claude Code supprime les paramètres fournis par l'hôte ; avec `"merge"`, il les applique sous la couche d'administrateur via un filtre restrictif uniquement. Définissez `"merge"` lorsqu'un hôte doit transmettre ses propres restrictions aux sessions qu'il lance, par exemple Claude Desktop livrant la liste d'autorisation de sortie d'une passerelle.

* **Portée** : [`Managed`](#scopes). Claude Code le lit de la source gérée contrôlée par l'administrateur de plus haute priorité.
* **Type** : chaîne, l'une de :
  * `"first-wins"` : Claude Code supprime les paramètres fournis par l'hôte lorsqu'une couche gérée déployée par l'administrateur est présente
  * `"merge"` : Claude Code applique les paramètres fournis par l'hôte sous la couche d'administrateur via un filtre restrictif uniquement
* **Défaut** : `"first-wins"`

```json managed-settings.json theme={null}
{
  "parentSettingsBehavior": "merge"
}
```

Cette clé n'a aucun effet lorsqu'aucune couche gérée déployée par l'administrateur n'existe : les paramètres de l'hôte s'appliquent alors comme la seule couche gérée, toujours filtrés aux valeurs restrictives. Pour les limites du filtre et comment les sources gérées interagissent, voir [Paramètres parents des hôtes d'intégration](https://code.claude.com/docs/fr/managed-settings.md#parent-settings-from-embedding-hosts) et [Restreindre les paramètres parents](https://code.claude.com/docs/fr/claude-apps-gateway#restrict-parent-settings).

### `policyHelper`

Exécutez un exécutable que vous déployez qui calcule les paramètres gérés au démarrage, de sorte que vous pouvez dériver la politique de la posture de l'appareil, de l'identité ou d'un service distant au lieu d'un fichier statique. Claude Code exécute l'assistant avant d'accepter la première invite et traite les paramètres qu'il émet comme les paramètres gérés pour la session.

* **Portée** : [`Managed`](#scopes). Lire à partir de la plist macOS, du registre Windows HKLM ou du fichier de paramètres gérés. Claude Code lit la clé de la source gérée de plus haute priorité qui porte une [clé de politique](https://code.claude.com/docs/fr/managed-settings.md#how-claude-code-combines-managed-sources) et exécute l'assistant uniquement lorsque cette source est l'une de ces trois ; il ignore la clé dans les paramètres gérés par le serveur, le registre HKCU et les paramètres parents fournis par l'hôte.
* **Type** : objet avec `path`, `timeoutMs` et `refreshIntervalMs`
* **Défaut** : non défini, donc aucun assistant ne s'exécute

Lorsque les paramètres gérés par le serveur livrent la politique au lancement, ils prennent la priorité sur la source de l'assistant et l'assistant ne s'exécute pas.

Si une récupération de paramètres ultérieure signale que les paramètres gérés par le serveur ont été supprimés, Claude Code exécute l'assistant à ce moment plutôt que d'attendre le prochain lancement. Sa sortie gouverne le reste de la session, et une exécution qui échoue termine la session avec le même message qu'une [exécution de démarrage échouée](#helper-failures).

Cet exemple exécute l'assistant avec un délai d'expiration de 5 secondes et le réexécute toutes les cinq minutes :

```json managed-settings.json theme={null}
{
  "policyHelper": {
    "path": "/usr/local/bin/claude-policy",
    "timeoutMs": 5000,
    "refreshIntervalMs": 300000
  }
}
```

#### Écrire la sortie de l'assistant

Claude Code exécute l'assistant sans arguments, définit `CLAUDE_CODE_VERSION` dans son environnement et lit une enveloppe JSON à partir de stdout, plafonnée à 1 MiB.

Mettez les paramètres sous une clé `managedSettings`. Un objet de paramètres nu sans clé `managedSettings` analyse avec `managedSettings` indéfini et n'applique rien, et Claude Code ne signale aucune erreur :

```json theme={null}
{
  "managedSettings": {
    "permissions": { "deny": ["Read(//etc/secrets/**)"] }
  }
}
```

Lorsque l'assistant émet `managedSettings`, cet objet devient la seule source de paramètres gérés pour l'exécution : Claude Code ignore les sources MDM, fichier et HKCU, lit les [clés inter-sources](https://code.claude.com/docs/fr/managed-settings.md#keys-read-from-every-admin-source) uniquement à partir de la sortie de l'assistant, et ne fusionne jamais les [paramètres parents](https://code.claude.com/docs/fr/managed-settings.md#parent-settings-from-embedding-hosts).

La vérification `forceRemoteSettingsRefresh` au démarrage s'exécute avant l'assistant et lit n'importe quelle source d'administrateur. Un assistant qui quitte `0` avec une enveloppe qui omet `managedSettings` ne contribue aucun paramètre gérés, et les autres sources s'appliquent comme d'habitude.

#### Défaillances de l'assistant

Une exécution de l'assistant échoue lorsque :

* `path` viole les règles dans [`policyHelper.path`](#policyhelper-path).
* Aucun fichier régulier n'existe à `path`. Claude Code vérifie le fichier avant de démarrer l'assistant, dans le même budget `timeoutMs`, de sorte qu'un montage réseau qui ne répond pas peut causer l'échec de l'exécution.
* L'assistant quitte non-zéro, s'exécute toujours lorsque `timeoutMs` s'écoule, ou ne démarre pas du tout, par exemple parce qu'il n'est pas exécutable.
* L'assistant écrit plus de 1 MiB à stdout ou à stderr.
* stdout n'est pas un seul objet JSON, ou son `managedSettings` a une [violation de schéma que Claude Code ne peut pas réparer](https://code.claude.com/docs/fr/managed-settings.md#find-entries-claude-code-dropped).

Lorsque l'exécution au démarrage échoue, Claude Code imprime la raison et refuse de démarrer. Après une sortie non-zéro, la raison inclut stderr de l'assistant, ou sa stdout lorsque stderr est vide. Après un délai d'expiration, la raison nomme la limite `timeoutMs` et n'inclut aucune sortie de l'assistant. Le refus couvre les sessions interactives, `claude -p`, les sessions du SDK Agent, les [sessions en arrière-plan](https://code.claude.com/docs/fr/agent-view.md) et la plupart des sous-commandes.

Le refus est délibéré, de sorte qu'un assistant qui a besoin de résilience en cas de panne doit servir à partir de son propre cache et quitter `0`.

Lorsqu'une actualisation en arrière-plan échoue, Claude Code maintient la dernière politique réussie en vigueur, et `/status` affiche l'actualisation échouée avec sa raison jusqu'à ce qu'une actualisation réussisse. Chaque actualisation s'exécute sous les mêmes `timeoutMs` et règles d'échec que l'exécution au démarrage.

Avec `--debug`, Claude Code écrit stderr de l'assistant de chaque exécution dans le [journal de débogage](https://code.claude.com/docs/fr/debug-your-config.md).

Claude Code signale une valeur `policyHelper` invalide comme une [entrée supprimée](https://code.claude.com/docs/fr/managed-settings.md#find-entries-claude-code-dropped) et démarre la session sur les paramètres gérés restants sans exécuter d'assistant. Les valeurs invalides incluent une chaîne de chemin nu et un `timeoutMs` en dessous de [son minimum](#policyhelper-timeoutms).

Pour désactiver un assistant, supprimez la clé de la source qui la définit.

### `policyHelper.path`

Nommez l'exécutable de l'assistant que Claude Code exécute. Pour ce qui se passe lorsque le chemin viole les règles ci-dessous, voir [Défaillances de l'assistant](#helper-failures).

* **Portée** : [`Managed`](#scopes). Lire à partir de la plist macOS, du registre Windows HKLM ou du fichier de paramètres gérés, partout où [`policyHelper`](#policyhelper) est lu.
* **Type** : chaîne, un chemin absolu sous forme normalisée, sans segments `.` ou `..` ; sur Windows, un chemin de lettre de lecteur ou UNC qui se termine par `.exe`
* **Défaut** : aucun ; requis lorsque `policyHelper` est défini

```json managed-settings.json theme={null}
{
  "policyHelper": {
    "path": "/usr/local/bin/claude-policy"
  }
}
```

### `policyHelper.timeoutMs`

Définissez combien de temps Claude Code attend l'assistant avant de traiter l'exécution comme échouée. Une exécution expirée échoue de la même manière qu'une sortie non-zéro, de sorte qu'au démarrage Claude Code refuse de démarrer.

* **Portée** : [`Managed`](#scopes). Lire à partir de la plist macOS, du registre Windows HKLM ou du fichier de paramètres gérés, partout où [`policyHelper`](#policyhelper) est lu.
* **Type** : entier, millisecondes, minimum `1000`
* **Défaut** : `10000`

```json managed-settings.json theme={null}
{
  "policyHelper": {
    "path": "/usr/local/bin/claude-policy",
    "timeoutMs": 5000
  }
}
```

### `policyHelper.refreshIntervalMs`

Faites en sorte que Claude Code réexécute l'assistant en arrière-plan à un intervalle de sorte que les modifications de politique atteignent une session en cours d'exécution. Lorsqu'une actualisation réussit, sa sortie remplace les paramètres gérés précédents sans redémarrage ; lorsqu'une actualisation échoue, Claude Code maintient la politique qu'il a déjà.

* **Portée** : [`Managed`](#scopes). Lire à partir de la plist macOS, du registre Windows HKLM ou du fichier de paramètres gérés, partout où [`policyHelper`](#policyhelper) est lu.
* **Type** : entier, millisecondes : `0` pour désactiver l'actualisation, sinon au moins `60000`
* **Défaut** : non défini, de sorte que Claude Code exécute l'assistant une fois au démarrage

Cet exemple réexécute l'assistant toutes les cinq minutes :

```json managed-settings.json theme={null}
{
  "policyHelper": {
    "path": "/usr/local/bin/claude-policy",
    "refreshIntervalMs": 300000
  }
}
```

### `wslInheritsWindowsSettings`

Faites en sorte que Claude Code sur WSL lise les paramètres gérés de la chaîne de politique Windows, avec HKLM et le fichier de paramètres gérés Windows prenant la priorité sur `/etc/claude-code` et HKCU en dessous. Pendant que la chaîne est activée, Claude Code lit `/etc/claude-code` uniquement lorsqu'[aucun document d'administrateur Windows n'est présent](https://code.claude.com/docs/fr/managed-settings.md#present-admin-documents) dans la valeur du registre HKLM ou le dossier `C:\Program Files\ClaudeCode\`. Définissez-le pour étendre la politique que vous déployez déjà sur Windows aux sessions WSL sur la même machine, de sorte qu'elles suivent les mêmes règles que les sessions hôte. Claude Code l'honore uniquement lorsqu'il est défini dans la clé du registre HKLM ou dans un fichier de paramètres gérés ou un drop-in sous `C:\Program Files\ClaudeCode\`, qui nécessitent tous deux l'administrateur Windows pour écrire.

* **Portée** : [`Managed`](#scopes). Dans une source Windows contrôlée par l'administrateur.
* **Type** : Booléen
  * `true` : Claude Code sur WSL lit les paramètres gérés de la chaîne de politique Windows, et lit `/etc/claude-code` uniquement lorsqu'aucun document d'administrateur Windows n'est présent
  * `false` : WSL lit uniquement `/etc/claude-code`
* **Défaut** : `false`, de sorte que WSL lit uniquement `/etc/claude-code`

```json managed-settings.json theme={null}
{
  "wslInheritsWindowsSettings": true
}
```

Une fois qu'une source d'administrateur active la chaîne, la politique HKCU la rejoint sur WSL uniquement lorsque HKCU définit également la clé à `true`. Cette copie n'active pas la chaîne par elle-même. Une source Windows qui contient uniquement cette clé, définie à `true` ou `false`, ne compte pas comme une source de politique, de sorte qu'une source de priorité inférieure fournit toujours la politique. Cette clé n'a aucun effet sur Windows natif.

Claude Code lit `true` et `false` avec ou sans guillemets et lit `null` comme supprimant la clé. Une source Windows contrôlée par l'administrateur qui contient n'importe quelle autre valeur compte comme un [document d'administrateur présent](https://code.claude.com/docs/fr/managed-settings.md#present-admin-documents) avec la chaîne activée : ni `/etc/claude-code` ni HKCU ne s'appliquent, et un avertissement de démarrage nomme la clé. Une valeur HKLM ou un fichier de dossier Windows qui existe mais ne peut pas être lu empêche également `/etc/claude-code` de s'appliquer que la chaîne soit activée ou non. Nécessite Claude Code v2.1.282 ou ultérieur.

## Paramètres de configuration globale

Enregistrez ces clés dans `~/.claude.json`, pas dans un fichier de paramètres. Claude Code les ignore partout ailleurs. Claude Code et `/config` en écrivent la plupart pour vous, et vous pouvez aussi les modifier manuellement.

### `autoConnectIde`

Connectez-vous à un IDE en cours d'exécution automatiquement lorsque vous démarrez Claude Code à partir d'un terminal externe. Apparaît dans `/config` sous **Auto-connect to IDE (external terminal)** lorsque vous exécutez Claude Code en dehors d'un terminal VS Code ou JetBrains.

* **Scope** : [`Global config`](#scopes)
* **Type** : Boolean
  * `true` : Claude Code se connecte à un IDE en cours d'exécution automatiquement lorsque vous le démarrez à partir d'un terminal externe
  * `false` : Claude Code ne se connecte pas automatiquement à partir d'un terminal externe ; à l'intérieur d'un terminal VS Code ou JetBrains, ou avec `--ide`, il se connecte toujours
* **Default** : `false`
* **Per-session overrides** : [`CLAUDE_CODE_AUTO_CONNECT_IDE`](https://code.claude.com/docs/fr/env-vars) prend la priorité sur cette clé pour une session, dans les deux sens

```json ~/.claude.json theme={null}
{
  "autoConnectIde": true
}
```

Claude Code ignore cette clé dans `settings.json`.

### `autoInstallIdeExtension`

Installez l'extension Claude Code IDE automatiquement lorsque vous exécutez Claude Code à partir d'un terminal VS Code. Apparaît dans `/config` sous **Auto-install IDE extension** lorsque vous exécutez Claude Code à l'intérieur d'un terminal VS Code ou JetBrains.

* **Scope** : [`Global config`](#scopes)
* **Type** : Boolean
  * `true` : Claude Code installe l'extension IDE automatiquement lorsque vous l'exécutez à partir d'un terminal VS Code
  * `false` : Claude Code n'installe pas l'extension automatiquement
* **Default** : `true`
* **Per-session overrides** : [`CLAUDE_CODE_IDE_SKIP_AUTO_INSTALL`](https://code.claude.com/docs/fr/env-vars) défini à `1` ignore l'installation pour une session même lorsque cette clé est `true`

```json ~/.claude.json theme={null}
{
  "autoInstallIdeExtension": false
}
```

Claude Code ignore cette clé dans `settings.json`.

### `claudeInChromeDefaultEnabled`

Démarrez chaque session CLI interactive avec l'[intégration Chrome](https://code.claude.com/docs/fr/chrome.md) activée, sans passer `--chrome` à chaque fois. Si vous exécutez [`claude remote-control`](https://code.claude.com/docs/fr/remote-control), une session qu'il démarre pour l'un de vos threads de [projet](https://code.claude.com/docs/fr/claude-projects.md) suit également cette clé, sauf en mode `bypassPermissions`. Avec Claude Code v2.1.287 ou ultérieure, cette clé s'applique également aux sessions dans l'[extension VS Code](https://code.claude.com/docs/fr/vs-code.md#automate-browser-tasks-with-chrome) : voir [Enable Chrome by default](https://code.claude.com/docs/fr/chrome.md#enable-chrome-by-default).

Exécuter `/chrome` et sélectionner **Enabled by default** définit cette clé pour vous. Apparaît dans `/config` sous **Claude in Chrome enabled by default**.

* **Scope** : [`Global config`](#scopes)
* **Type** : Boolean
  * `true` : Claude Code active l'intégration Chrome lorsqu'une session CLI interactive démarre, comme il le fait lorsque vous passez `--chrome`. Dans l'extension VS Code, les sessions se connectent au navigateur dès leur démarrage
  * `false` : les sessions CLI interactives démarrent avec l'intégration Chrome désactivée, et Claude Code arrête [d'offrir de la configurer](https://code.claude.com/docs/fr/chrome.md#install-the-extension-when-claude-asks). Passez `--chrome` pour l'activer pour une session interactive. Dans l'extension VS Code, une session se connecte lorsque vous tapez `@browser`, comme lorsque la clé n'est pas définie
* **Default** : unset, donc l'intégration Chrome est désactivée et Claude Code peut toujours offrir de la configurer
* **Per-session overrides** : `--chrome` et [`--no-chrome`](https://code.claude.com/docs/fr/cli-reference) prennent la priorité sur cette clé pour une session interactive

```json ~/.claude.json theme={null}
{
  "claudeInChromeDefaultEnabled": true
}
```

Claude Code ignore cette clé dans `settings.json`.

### `copyFullResponse`

Faites en sorte que [`/copy`](https://code.claude.com/docs/fr/commands) copie la réponse complète à chaque fois, sans afficher le sélecteur. Sélectionner **Always copy full response** dans ce sélecteur définit cette clé à `true`. Apparaît dans `/config` sous **Skip the /copy picker**.

* **Scope** : [`Global config`](#scopes)
* **Type** : Boolean
  * `true` : `/copy` copie la réponse complète sans afficher le sélecteur
  * `false` : lorsque la réponse contient des blocs de code ou des citations, `/copy` affiche un sélecteur où vous choisissez un bloc ou la réponse complète
* **Default** : `false`

```json ~/.claude.json theme={null}
{
  "copyFullResponse": true
}
```

Claude Code ignore cette clé dans `settings.json`.

### `copyOnSelect`

Copiez le texte dans votre presse-papiers automatiquement lorsque vous terminez de le sélectionner avec la souris dans [fullscreen rendering](https://code.claude.com/docs/fr/fullscreen.md#use-the-mouse) ou [agent view](https://code.claude.com/docs/fr/agent-view.md). Apparaît dans `/config` sous **Copy on select** pendant que le rendu en plein écran est activé.

* **Scope** : [`Global config`](#scopes)
* **Type** : Boolean
  * `true` : Claude Code copie le texte dans votre presse-papiers lorsque vous terminez de le sélectionner
  * `false` : la sélection de texte laisse votre presse-papiers inchangé, et vous [copiez la sélection avec un raccourci clavier](https://code.claude.com/docs/fr/fullscreen.md#use-the-mouse) à la place
* **Default** : `true`

```json ~/.claude.json theme={null}
{
  "copyOnSelect": false
}
```

Claude Code ignore cette clé dans `settings.json`.

### `defaultToAgentsView`

Ouvrez [agent view](https://code.claude.com/docs/fr/agent-view.md) au lieu d'une nouvelle conversation lorsque vous exécutez `claude` sans arguments. Apparaît dans `/config` sous **Open agents view by default** sauf si agent view est [désactivée](#disableagentview).

* **Scope** : [`Global config`](#scopes)
* **Type** : Boolean
  * `true` : `claude` sans arguments ouvre agent view, sauf si agent view est [désactivée](#disableagentview)
  * `false` : `claude` sans arguments démarre une nouvelle conversation
* **Default** : `false`

```json ~/.claude.json theme={null}
{
  "defaultToAgentsView": true
}
```

Claude Code ignore cette clé dans `settings.json`.

### `diffTool`

Choisissez où Claude Code affiche le diff d'une modification `Edit` ou `Write` qu'il propose lorsqu'un IDE [VS Code](https://code.claude.com/docs/fr/vs-code.md) ou [JetBrains](https://code.claude.com/docs/fr/jetbrains.md#features) est connecté : `"auto"` l'ouvre dans la visionneuse de diff de l'IDE, `"terminal"` le garde dans le terminal. Apparaît dans `/config` sous **Diff tool** uniquement lorsque Claude Code est connecté à un IDE VS Code ou JetBrains.

* **Scope** : [`Global config`](#scopes)
* **Type** : string, l'un de :
  * `"auto"` : Claude Code ouvre le diff dans la visionneuse de diff de l'IDE lorsqu'un IDE VS Code ou JetBrains est connecté
  * `"terminal"` : Claude Code garde le diff dans le terminal
* **Default** : `"auto"`

```json ~/.claude.json theme={null}
{
  "diffTool": "terminal"
}
```

Claude Code ignore cette clé dans `settings.json`.

### `externalEditorContext`

Lorsque vous appuyez sur `Ctrl+G`, Claude Code ouvre l'invite que vous tapez dans votre [external editor](https://code.claude.com/docs/fr/interactive-mode.md#general-controls). Avec cette clé activée, le buffer de l'éditeur commence par la réponse précédente de Claude sous forme de lignes de commentaire `#`, afin que vous puissiez la lire pendant que vous écrivez, et Claude Code supprime ces lignes lorsque vous enregistrez. Apparaît dans `/config` sous **Show last response in external editor**.

* **Scope** : [`Global config`](#scopes)
* **Type** : Boolean
  * `true` : le buffer de l'éditeur commence par la réponse précédente de Claude sous forme de lignes de commentaire `#`, que Claude Code supprime lorsque vous enregistrez
  * `false` : le buffer de l'éditeur s'ouvre avec uniquement votre invite
* **Default** : `false`

```json ~/.claude.json theme={null}
{
  "externalEditorContext": true
}
```

Avec cette option activée, le buffer que Claude Code ouvre ressemble à ceci, et seul le texte sous la ligne de marqueur est envoyé comme votre invite :

```text theme={null}
# ─── Claude's last response (for reference; removed on save) ───
# I added the retry loop to fetchUser in src/api.ts and a test
# for the timeout case. Want me to wire the same retry into
# fetchOrders?
# ─── Write your reply below this line ──────────────────────────

Yes, and cap it at three attempts.
```

Claude Code conserve les 50 dernières lignes de la réponse et marque la coupure avec `# … (earlier output truncated)`.

Claude Code ignore cette clé dans `settings.json`.

### `leftArrowOpensAgents`

Appuyez sur `←` sur une invite vide pour [mettre la session en arrière-plan et ouvrir agent view](https://code.claude.com/docs/fr/agent-view.md#switch-sessions-without-leaving-the-terminal). Définissez cette clé à `false` pour désactiver le raccourci. Apparaît dans `/config` sous **← opens agents** lorsque agent view est disponible.

* **Scope** : [`Global config`](#scopes)
* **Type** : Boolean
  * `true` : appuyer sur `←` sur une invite vide dans une session que vous avez démarrée dans le terminal la met en arrière-plan et ouvre agent view
  * `false` : Claude Code désactive le raccourci ; dans une session que vous [avez attachée à partir d'agent view](https://code.claude.com/docs/fr/agent-view.md#attach-to-a-session), `←` sur une invite vide se détache toujours
* **Default** : `true`

```json ~/.claude.json theme={null}
{
  "leftArrowOpensAgents": false
}
```

Claude Code ignore cette clé dans `settings.json`.

### `permissionExplainerEnabled`

> [!WARNING]
>
> Supprimé dans v2.1.257, ainsi que l'explication de la commande `Ctrl+E` sur les invites de permission Bash et PowerShell. Le définir n'a aucun effet sur les versions actuelles.

Jusqu'à v2.1.256, vous pouviez appuyer sur `Ctrl+E` sur une invite de permission Bash ou PowerShell pour voir une explication générée par le modèle de la commande, et définir cette clé à `false` pour désactiver ce raccourci.

* **Scope** : [`Global config`](#scopes). Sur v2.1.256 et antérieures.
* **Type** : Boolean
* **Default** : `true`

### `prStatusFooterEnabled`

Affiche un badge dans le pied de page de l'invite pour la demande de tirage ou la demande de fusion ouverte de la branche actuelle, avec un trait de soulignement coloré qui affiche son [statut](https://code.claude.com/docs/fr/interactive-mode.md#pr-review-status). Apparaît dans `/config` sous **Show PR status footer**.

* **Scope** : [`Global config`](#scopes)
* **Type** : Boolean
  * `true` : le pied de page affiche le badge selon les conditions dans [PR review status](https://code.claude.com/docs/fr/interactive-mode.md#pr-review-status)
  * `false` : Claude Code ignore la vérification de la demande de tirage et de la demande de fusion du pied de page et n'affiche pas ce badge. Une session que vous [avez attachée à partir d'agent view](https://code.claude.com/docs/fr/agent-view.md#attach-to-a-session) peut toujours afficher un lien simple vers une demande de tirage [liée à celle-ci](https://code.claude.com/docs/fr/agent-view.md#pull-request-status)
* **Default** : `true`

```json ~/.claude.json theme={null}
{
  "prStatusFooterEnabled": false
}
```

Claude Code ignore cette clé dans `settings.json`.

### `teammateDefaultModel`

> [!WARNING]
>
> Supprimé dans v2.1.234, ainsi que sa ligne `/config` **Default teammate model**. Le définir n'a aucun effet sur les versions actuelles.

Jusqu'à v2.1.233, vous définissiez cette clé sur le modèle pour les coéquipiers de [agent team](https://code.claude.com/docs/fr/agent-teams.md#specify-teammates-and-models) que votre invite n'a pas nommé un modèle pour : un alias tel que `"sonnet"`, ou `null` pour suivre le modèle du leader. Pour le modèle que Claude Code choisit maintenant pour ces coéquipiers, voir [specify teammates and models](https://code.claude.com/docs/fr/agent-teams.md#specify-teammates-and-models).

* **Scope** : [`Global config`](#scopes). Sur v2.1.233 et antérieures.
* **Type** : string, un alias de modèle ou un ID de modèle complet, ou `null`
* **Default** : unset

## Voir aussi

* [Configurer les autorisations](https://code.claude.com/docs/fr/permissions.md) : syntaxe des règles, modes d'autorisation et confiance de l'espace de travail
* [Variables d'environnement](https://code.claude.com/docs/fr/env-vars.md) : chaque variable `CLAUDE_*`, `ANTHROPIC_*` et variable de fournisseur que Claude Code lit
* [Outils disponibles pour Claude](https://code.claude.com/docs/fr/tools-reference.md) : les outils intégrés et ceux qui nécessitent une approbation
* [Exemples de fichiers de paramètres](https://code.claude.com/docs/fr/settings-example.md) : un fichier personnel, un fichier d'équipe et un fichier géré par une organisation
* [Configurer les paramètres gérés](https://code.claude.com/docs/fr/admin-setup.md) : comment les organisations décident ce qu'elles doivent appliquer
* [Déployer les paramètres gérés](https://code.claude.com/docs/fr/managed-settings.md) : mécanismes de livraison, précédence au sein du niveau géré et entrées invalides dans les paramètres gérés
* [Déboguer votre configuration](https://code.claude.com/docs/fr/debug-your-config.md) : `claude doctor` et la boîte de dialogue Erreur de paramètres
