SpyBara
Go Premium

Documentation 2026-06-29 23:02 UTC to 2026-06-30 23:02 UTC

78 files changed +3,097 −625. View all changes and history on the product overview
2026
Tue 30 23:02 Mon 29 23:02 Sat 27 01:01 Fri 26 23:00 Thu 25 23:58 Wed 24 22:02 Tue 23 22:00 Mon 22 23:59 Fri 19 22:58 Thu 18 22:00 Wed 17 17:02 Tue 16 21:57 Mon 15 23:02 Sat 13 21:59 Fri 12 22:00 Thu 11 23:01 Wed 10 23:57 Tue 9 06:34 Mon 8 06:52 Sat 6 06:24 Fri 5 06:45 Thu 4 06:52 Wed 3 06:53 Tue 2 06:51

admin-setup.md +12 −10

Details

36| Google Vertex AI | Vous voulez hériter des contrôles de conformité et de la facturation GCP existants |36| Google Vertex AI | Vous voulez hériter des contrôles de conformité et de la facturation GCP existants |

37| Microsoft Foundry | Vous voulez hériter des contrôles de conformité et de la facturation Azure existants |37| Microsoft Foundry | Vous voulez hériter des contrôles de conformité et de la facturation Azure existants |

38 38 

39Certaines fonctionnalités de Claude Code nécessitent un compte Claude.ai. [Claude Code sur le web](/fr/claude-code-on-the-web), [Routines](/fr/routines), [Révision de code](/fr/code-review), [Contrôle à distance](/fr/remote-control) et l'[extension Chrome](/fr/chrome) ne sont pas disponibles via les clés API Console ou les identifiants des fournisseurs cloud seuls. Si vous déployez via Bedrock, Vertex ou Foundry, planifiez si les développeurs ont également besoin de sièges Claude for Teams ou Enterprise. Chaque page de fonctionnalité répertorie ses exigences de plan.39Certaines fonctionnalités de Claude Code nécessitent un compte claude.ai. [Claude Code sur le web](/fr/claude-code-on-the-web), [Routines](/fr/routines), [Révision de code](/fr/code-review), [Contrôle à distance](/fr/remote-control) et l'[extension Chrome](/fr/chrome) ne sont pas disponibles via les clés API Console ou les identifiants des fournisseurs cloud seuls. Si vous déployez via Bedrock, Vertex ou Foundry, planifiez si les développeurs ont également besoin de sièges Claude for Teams ou Enterprise. Chaque page de fonctionnalité répertorie ses exigences de plan.

40 40 

41Pour la comparaison complète des fournisseurs couvrant l'authentification, les régions et la parité des fonctionnalités, consultez l'[aperçu du déploiement en entreprise](/fr/third-party-integrations). La configuration d'authentification de chaque fournisseur se trouve dans [Authentification](/fr/authentication).41Pour la comparaison complète des fournisseurs couvrant l'authentification, les régions et la parité des fonctionnalités, consultez l'[aperçu du déploiement en entreprise](/fr/third-party-integrations). La configuration d'authentification de chaque fournisseur se trouve dans [Authentification](/fr/authentication).

42 42 


46 Décider comment les paramètres atteignent les appareils46 Décider comment les paramètres atteignent les appareils

47</h2>47</h2>

48 48 

49Les paramètres gérés définissent une politique qui prend précédence sur la configuration locale des développeurs. Claude Code vérifie les quatre sources ci-dessous dans l'ordre de priorité et applique la première qui retourne une configuration non vide.49Les paramètres gérés définissent une politique qui prend précédence sur la configuration locale des développeurs. Claude Code vérifie les quatre sources ci-dessous dans l'ordre de priorité et applique la première qui retourne une configuration non vide, à une exception près : un petit ensemble de [clés de verrouillage entre sources](/fr/settings#settings-precedence), telles que les verrous de liste d'autorisation du sandbox, est honoré lorsqu'une source contrôlée par l'administrateur les définit.

50 50 

51| Mécanisme | Livraison | Priorité | Plateformes |51| Mécanisme | Livraison | Priorité | Plateformes |

52| :--------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | :---------- | :----------------- |52| :--------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | :---------- | :----------------- |

53| Géré par le serveur | Console d'administration Claude.ai | Très élevée | Tous |53| Géré par le serveur | Console d'administration claude.ai, ou une [passerelle d'applications Claude](/fr/claude-apps-gateway) auto-hébergée pour les connexions par passerelle | Très élevée | Tous |

54| Politique plist / registre | macOS : plist `com.anthropic.claudecode`<br />Windows : `HKLM\SOFTWARE\Policies\ClaudeCode` | Élevée | macOS, Windows |54| Politique plist / registre | macOS : plist `com.anthropic.claudecode`<br />Windows : `HKLM\SOFTWARE\Policies\ClaudeCode` | Élevée | macOS, Windows |

55| Géré basé sur fichier | macOS : `/Library/Application Support/ClaudeCode/managed-settings.json`<br />Linux et WSL : `/etc/claude-code/managed-settings.json`<br />Windows : `C:\Program Files\ClaudeCode\managed-settings.json` | Moyenne | Tous |55| Géré basé sur fichier | macOS : `/Library/Application Support/ClaudeCode/managed-settings.json`<br />Linux et WSL : `/etc/claude-code/managed-settings.json`<br />Windows : `C:\Program Files\ClaudeCode\managed-settings.json` | Moyenne | Tous |

56| Registre utilisateur Windows | `HKCU\SOFTWARE\Policies\ClaudeCode` | Très basse | Windows uniquement |56| Registre utilisateur Windows | `HKCU\SOFTWARE\Policies\ClaudeCode` | Très basse | Windows uniquement |

57 57 

58Les paramètres gérés par le serveur atteignent les appareils au moment de l'authentification et s'actualisent toutes les heures pendant les sessions actives, sans infrastructure de point de terminaison. Ils nécessitent un plan Claude for Teams ou Enterprise, donc les déploiements sur d'autres fournisseurs ont besoin de l'un des mécanismes basés sur fichier ou au niveau du système d'exploitation à la place.58Un [`policyHelper`](/fr/settings#compute-managed-settings-with-a-policy-helper) configuré préempte les quatre sources : sa sortie devient la seule configuration gérée pour l'exécution. Voir [Précédence des paramètres](/fr/settings#settings-precedence).

59 59 

60Si votre organisation mélange les fournisseurs, configurez les [paramètres gérés par le serveur](/fr/server-managed-settings) pour les utilisateurs de Claude.ai plus un [secours basé sur fichier ou plist/registre](/fr/settings#settings-files) afin que les autres utilisateurs reçoivent toujours la politique gérée.60Les paramètres gérés par le serveur atteignent les appareils au moment de l'authentification et s'actualisent toutes les heures pendant les sessions actives, sans infrastructure de point de terminaison. La livraison via la console d'administration claude.ai nécessite un plan Claude for Teams ou Enterprise. Les déploiements sur Bedrock, Vertex AI ou Foundry peuvent obtenir la même livraison à distance en exécutant une [passerelle d'applications Claude](/fr/claude-apps-gateway), ou utiliser l'un des mécanismes basés sur fichier ou au niveau du système d'exploitation à la place.

61 

62Si votre organisation mélange les fournisseurs, configurez les [paramètres gérés par le serveur](/fr/server-managed-settings) pour les utilisateurs de claude.ai plus un [secours basé sur fichier ou plist/registre](/fr/settings#settings-files) afin que les autres utilisateurs reçoivent toujours la politique gérée.

61 63 

62Les emplacements du registre plist et HKLM fonctionnent avec n'importe quel fournisseur et résistent à la falsification car ils nécessitent des privilèges d'administrateur pour écrire. Le registre utilisateur Windows à HKCU est accessible en écriture sans élévation, donc traitez-le comme une valeur par défaut pratique plutôt que comme un canal d'application.64Les emplacements du registre plist et HKLM fonctionnent avec n'importe quel fournisseur et résistent à la falsification car ils nécessitent des privilèges d'administrateur pour écrire. Le registre utilisateur Windows à HKCU est accessible en écriture sans élévation, donc traitez-le comme une valeur par défaut pratique plutôt que comme un canal d'application.

63 65 

64Par défaut, WSL lit uniquement le chemin de fichier Linux à `/etc/claude-code`. Pour étendre votre registre Windows et la politique `C:\Program Files\ClaudeCode` à WSL sur la même machine, définissez [`wslInheritsWindowsSettings: true`](/fr/settings#available-settings) dans l'une de ces sources Windows réservées aux administrateurs.66Par défaut, WSL lit uniquement le chemin de fichier Linux à `/etc/claude-code`. Pour étendre votre registre Windows et la politique `C:\Program Files\ClaudeCode` à WSL sur la même machine, définissez [`wslInheritsWindowsSettings: true`](/fr/settings#available-settings) dans l'une de ces sources Windows réservées aux administrateurs.

65 67 

66Quel que soit le mécanisme que vous choisissez, les valeurs gérées prennent précédence sur les paramètres utilisateur et projet. Les paramètres de tableau tels que `permissions.allow` et `permissions.deny` fusionnent les entrées de toutes les sources, donc les développeurs peuvent étendre les listes gérées mais pas les supprimer, avec [deux exceptions](/fr/settings#settings-precedence) la valeur gérée remplace les couches inférieures plutôt que de fusionner : `fallbackModel` et `availableModels`.68Quel que soit le mécanisme que vous choisissez, les valeurs gérées prennent précédence sur les paramètres utilisateur et projet. Les paramètres de tableau tels que `permissions.allow` et `permissions.deny` fusionnent les entrées de toutes les sources, donc les développeurs peuvent étendre les listes gérées mais pas les supprimer. Pour [deux exceptions](/fr/settings#settings-precedence), `fallbackModel` et `availableModels`, la valeur gérée remplace les couches inférieures plutôt que de fusionner.

67 69 

68Consultez [Paramètres gérés par le serveur](/fr/server-managed-settings) et [Fichiers de paramètres et précédence](/fr/settings#settings-files).70Consultez [Paramètres gérés par le serveur](/fr/server-managed-settings) et [Fichiers de paramètres et précédence](/fr/settings#settings-files).

69 71 


80| [Sandboxing](/fr/sandboxing) | Isolation du système de fichiers et du réseau au niveau du système d'exploitation avec listes blanches de domaines | `sandbox.enabled`, `sandbox.network.allowedDomains` |82| [Sandboxing](/fr/sandboxing) | Isolation du système de fichiers et du réseau au niveau du système d'exploitation avec listes blanches de domaines | `sandbox.enabled`, `sandbox.network.allowedDomains` |

81| [Politique gérée CLAUDE.md](/fr/memory#deploy-organization-wide-claude-md) | Instructions à l'échelle de l'organisation chargées dans chaque session, ne peuvent pas être exclues | Fichier au chemin de la politique gérée |83| [Politique gérée CLAUDE.md](/fr/memory#deploy-organization-wide-claude-md) | Instructions à l'échelle de l'organisation chargées dans chaque session, ne peuvent pas être exclues | Fichier au chemin de la politique gérée |

82| [Contrôle du serveur MCP](/fr/managed-mcp) | Restreindre les serveurs MCP que les utilisateurs peuvent ajouter ou connecter, ou déployer un ensemble fixe | `allowedMcpServers`, `deniedMcpServers`, `allowManagedMcpServersOnly`, ou un fichier `managed-mcp.json` déployé |84| [Contrôle du serveur MCP](/fr/managed-mcp) | Restreindre les serveurs MCP que les utilisateurs peuvent ajouter ou connecter, ou déployer un ensemble fixe | `allowedMcpServers`, `deniedMcpServers`, `allowManagedMcpServersOnly`, ou un fichier `managed-mcp.json` déployé |

83| [Contrôle de la place de marché des plugins](/fr/plugin-marketplaces#managed-marketplace-restrictions) | Restreindre les sources de place de marché que les utilisateurs peuvent ajouter et installer | `strictKnownMarketplaces`, `blockedMarketplaces` |85| [Contrôle de la place de marché des plugins](/fr/plugin-marketplaces#managed-marketplace-restrictions) | Restreindre les sources de place de marché que les utilisateurs peuvent ajouter et installer, et rejeter les drapeaux CLI qui chargent les plugins, agents et serveurs MCP pour une seule exécution | `strictKnownMarketplaces`, `blockedMarketplaces`, `disableSideloadFlags` |

84| [Verrouillage de la personnalisation](/fr/settings#strictpluginonlycustomization) | Bloquer les skills, agents, hooks et serveurs MCP provenant de sources utilisateur et projet, afin qu'ils ne proviennent que de plugins ou de paramètres gérés | `strictPluginOnlyCustomization` |86| [Verrouillage de la personnalisation](/fr/settings#strictpluginonlycustomization) | Bloquer les skills, agents, hooks et serveurs MCP provenant de sources utilisateur et projet, afin qu'ils ne proviennent que de plugins ou de paramètres gérés | `strictPluginOnlyCustomization` |

85| [Restrictions des hooks](/fr/settings#hook-configuration) | Seuls les hooks gérés se chargent ; restreindre les URL des hooks HTTP | `allowManagedHooksOnly`, `allowedHttpHookUrls` |87| [Restrictions des hooks](/fr/settings#hook-configuration) | Seuls les hooks gérés se chargent ; restreindre les URL des hooks HTTP | `allowManagedHooksOnly`, `allowedHttpHookUrls` |

86| [Désactiver la vue agent](/fr/agent-view#how-background-sessions-are-hosted) | Désactiver `claude agents`, `--bg`, `/background`, et le superviseur à la demande | `disableAgentView` |88| [Désactiver la vue agent](/fr/agent-view#how-background-sessions-are-hosted) | Désactiver `claude agents`, `--bg`, `/background`, et le superviseur à la demande | `disableAgentView` |


99Choisissez la surveillance en fonction de ce que vous devez signaler.101Choisissez la surveillance en fonction de ce que vous devez signaler.

100 102 

101| Capacité | Ce que vous obtenez | Disponibilité | Par où commencer |103| Capacité | Ce que vous obtenez | Disponibilité | Par où commencer |

102| :---------------------------- | :----------------------------------------------------------------- | :-------------------- | :---------------------------------------------------- |104| :---------------------------- | :----------------------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :---------------------------------------------------- |

103| Surveillance de l'utilisation | Export OpenTelemetry des sessions, outils et jetons | Tous les fournisseurs | [Surveillance de l'utilisation](/fr/monitoring-usage) |105| Surveillance de l'utilisation | Export OpenTelemetry des sessions, outils et jetons | Tous les fournisseurs | [Surveillance de l'utilisation](/fr/monitoring-usage) |

104| Tableau de bord analytique | Métriques par utilisateur, suivi des contributions, classement | Anthropic uniquement | [Analytique](/fr/analytics) |106| Tableau de bord analytique | Métriques par utilisateur, suivi des contributions, classement | Anthropic uniquement | [Analytique](/fr/analytics) |

105| Suivi des coûts | Limites de dépenses, limites de débit et attribution d'utilisation | Anthropic uniquement | [Coûts](/fr/costs) |107| Suivi des coûts | Limites de dépenses, limites de débit et attribution d'utilisation | Anthropic ; sur les clouds tiers, une [passerelle d'applications Claude](/fr/claude-apps-gateway) fournit l'attribution par utilisateur et les [limites de dépenses](/fr/claude-apps-gateway-spend-limits) | [Coûts](/fr/costs) |

106 108 

107Les fournisseurs cloud exposent les dépenses via AWS Cost Explorer, GCP Billing ou Azure Cost Management. Les plans Claude for Teams et Enterprise incluent un tableau de bord d'utilisation sur [claude.ai/analytics/claude-code](https://claude.ai/analytics/claude-code).109Les fournisseurs cloud exposent les dépenses via AWS Cost Explorer, GCP Billing ou Azure Cost Management. Les plans Claude for Teams et Enterprise incluent un tableau de bord d'utilisation sur [claude.ai/analytics/claude-code](https://claude.ai/analytics/claude-code).

108 110 


118| Rétention zéro données (ZDR) | Rien n'est stocké après la fin de la demande. Disponible sur Claude for Enterprise | [Rétention zéro données](/fr/zero-data-retention) |120| Rétention zéro données (ZDR) | Rien n'est stocké après la fin de la demande. Disponible sur Claude for Enterprise | [Rétention zéro données](/fr/zero-data-retention) |

119| Architecture de sécurité | Modèle réseau, chiffrement, authentification, piste d'audit | [Sécurité](/fr/security) |121| Architecture de sécurité | Modèle réseau, chiffrement, authentification, piste d'audit | [Sécurité](/fr/security) |

120 122 

121Si vous avez besoin d'une journalisation d'audit au niveau des demandes ou de router le trafic par sensibilité des données, placez une [passerelle LLM](/fr/llm-gateway) entre les développeurs et votre fournisseur. Pour les exigences réglementaires et les certifications, consultez [Légal et conformité](/fr/legal-and-compliance).123Si vous avez besoin d'une journalisation d'audit au niveau des demandes ou de router le trafic par sensibilité des données, placez une passerelle entre les développeurs et votre fournisseur : une [passerelle d'applications Claude](/fr/claude-apps-gateway) auto-hébergée enregistre un journal d'audit par demande avec l'identité IdP, ou utilisez une autre [passerelle LLM](/fr/llm-gateway). Pour les exigences réglementaires et les certifications, consultez [Légal et conformité](/fr/legal-and-compliance).

122 124 

123<h2 id="verify-and-onboard">125<h2 id="verify-and-onboard">

124 Vérifier et intégrer126 Vérifier et intégrer

advisor.md +2 −1

Details

88| ----------------------------------------------- | ---------------------------------------------------------- | --------------------------------------------------------- |88| ----------------------------------------------- | ---------------------------------------------------------- | --------------------------------------------------------- |

89| Haiku 4.5 | Fable, Opus, Sonnet | Haiku peut appeler l'advisor mais ne peut pas en être un |89| Haiku 4.5 | Fable, Opus, Sonnet | Haiku peut appeler l'advisor mais ne peut pas en être un |

90| Sonnet 4.6 | Fable, Opus, Sonnet | |90| Sonnet 4.6 | Fable, Opus, Sonnet | |

91| Sonnet 5 | Fable, Opus, Sonnet 5 | Un advisor Sonnet 4.6 est rejeté |

91| Opus 4.6 ou ultérieur | Fable, Opus à la version du modèle principal ou ultérieure | Un Opus 4.7 principal avec un advisor Opus 4.6 est rejeté |92| Opus 4.6 ou ultérieur | Fable, Opus à la version du modèle principal ou ultérieure | Un Opus 4.7 principal avec un advisor Opus 4.6 est rejeté |

92| Fable 5 ({/* min-version: 2.1.170 */}v2.1.170+) | Fable | Un advisor Opus ou Sonnet est rejeté |93| Fable 5 ({/* min-version: 2.1.170 */}v2.1.170+) | Fable | Un advisor Opus ou Sonnet est rejeté |

93 94 


161 162 

162* **Claude Code v2.1.98 ou ultérieur** : exécutez `claude update` pour mettre à niveau.163* **Claude Code v2.1.98 ou ultérieur** : exécutez `claude update` pour mettre à niveau.

163* **API Anthropic uniquement** : l'advisor est un outil exécuté par le serveur. Il n'est pas disponible sur Amazon Bedrock, Google Vertex AI ou Microsoft Foundry. Via une [passerelle LLM](/fr/llm-gateway) configurée avec `ANTHROPIC_BASE_URL`, la disponibilité dépend de si la passerelle transfère la requête intacte à l'API Anthropic.164* **API Anthropic uniquement** : l'advisor est un outil exécuté par le serveur. Il n'est pas disponible sur Amazon Bedrock, Google Vertex AI ou Microsoft Foundry. Via une [passerelle LLM](/fr/llm-gateway) configurée avec `ANTHROPIC_BASE_URL`, la disponibilité dépend de si la passerelle transfère la requête intacte à l'API Anthropic.

164* **Modèle principal supporté** : Opus 4.6 ou ultérieur, Sonnet 4.6, ou Haiku 4.5. {/* min-version: 2.1.170 */}Fable 5 se qualifie également sur Claude Code v2.1.170 ou ultérieur.165* **Modèle principal supporté** : Opus 4.6 ou ultérieur, Sonnet 4.6 ou ultérieur, ou Haiku 4.5. {/* min-version: 2.1.170 */}Fable 5 se qualifie également sur Claude Code v2.1.170 ou ultérieur.

165 166 

166<h2 id="turn-the-advisor-off">167<h2 id="turn-the-advisor-off">

167 Désactiver l'advisor168 Désactiver l'advisor

Details

226 Modèle226 Modèle

227</h3>227</h3>

228 228 

229Si vous ne définissez pas `model`, le SDK utilise la valeur par défaut de Claude Code, qui dépend de votre méthode d'authentification et de votre abonnement. Définissez-le explicitement (par exemple, `model="claude-sonnet-4-6"`) pour épingler un modèle spécifique ou pour utiliser un modèle plus petit pour des agents plus rapides et moins chers. Voir [modèles](https://platform.claude.com/docs/fr/about-claude/models) pour les ID disponibles.229Si vous ne définissez pas `model`, le SDK utilise la valeur par défaut de Claude Code, qui dépend de votre méthode d'authentification et de votre abonnement. Définissez-le explicitement (par exemple, `model="claude-sonnet-5"`) pour épingler un modèle spécifique ou pour utiliser un modèle plus petit pour des agents plus rapides et moins chers. Voir [modèles](https://platform.claude.com/docs/fr/about-claude/models) pour les ID disponibles.

230 230 

231<h2 id="the-context-window">231<h2 id="the-context-window">

232 La fenêtre de contexte232 La fenêtre de contexte

agent-sdk/hooks.md +21 −13

Details

203 ```203 ```

204</CodeGroup>204</CodeGroup>

205 205 

206L'option `hooks` est un dictionnaire (Python) ou un objet (TypeScript) où :206L'option `hooks` est un dictionnaire en Python ou un objet en TypeScript, où :

207 207 

208* **Les clés** sont [les noms d'événements hook](#available-hooks) (par exemple, `'PreToolUse'`, `'PostToolUse'`, `'Stop'`)208* **Les clés** : [les noms d'événements hook](#available-hooks) tels que `'PreToolUse'`, `'PostToolUse'` et `'Stop'`

209* **Les valeurs** sont des tableaux de [matchers](#matchers), chacun contenant un motif de filtre optionnel et vos [fonctions de rappel](#callback-functions)209* **Les valeurs** : des tableaux de [matchers](#matchers), chacun contenant un motif de filtre optionnel et vos [fonctions de rappel](#callback-functions)

210 210 

211<h3 id="matchers">211<h3 id="matchers">

212 Matchers212 Matchers


214 214 

215Utilisez les matchers pour filtrer quand vos rappels se déclenchent. Le champ `matcher` correspond à une valeur différente selon le type d'événement hook. Par exemple, les hooks basés sur les outils correspondent au nom de l'outil, tandis que les hooks `Notification` correspondent au type de notification. Consultez la [référence des hooks Claude Code](/fr/hooks#matcher-patterns) pour la liste complète des valeurs de matcher pour chaque type d'événement.215Utilisez les matchers pour filtrer quand vos rappels se déclenchent. Le champ `matcher` correspond à une valeur différente selon le type d'événement hook. Par exemple, les hooks basés sur les outils correspondent au nom de l'outil, tandis que les hooks `Notification` correspondent au type de notification. Consultez la [référence des hooks Claude Code](/fr/hooks#matcher-patterns) pour la liste complète des valeurs de matcher pour chaque type d'événement.

216 216 

217Les matchers du SDK suivent les mêmes règles que les [matchers dans les fichiers de paramètres](/fr/hooks#matcher-patterns) : un matcher contenant uniquement des lettres, des chiffres, `_`, des espaces, `,` et `|` est comparé comme une chaîne exacte, avec des alternatives séparées par `|` ou `,` et des espaces blancs optionnels autour, donc `Write|Edit` et `Write, Edit` correspondent exactement à ces deux outils. Un matcher de `*`, une chaîne vide, ou l'omission du matcher entièrement correspond à chaque occurrence de l'événement ; un matcher contenant tout autre caractère est évalué comme une expression régulière, donc `^mcp__` correspond à chaque outil MCP. Un matcher comme `mcp__memory` contient uniquement des lettres et des traits de soulignement, donc il est comparé comme une chaîne exacte et ne correspond à aucun outil ; utilisez `mcp__memory__.*` pour correspondre à chaque outil de ce serveur.217Les matchers du SDK suivent les mêmes règles que les [matchers dans les fichiers de paramètres](/fr/hooks#matcher-patterns). Un matcher contenant uniquement des lettres, des chiffres, `_`, `-`, des espaces, `,` et `|` est comparé comme une chaîne exacte, avec des alternatives séparées par `|` ou `,` et des espaces blancs optionnels autour, donc `Write|Edit` et `Write, Edit` correspondent exactement à ces deux outils et `code-reviewer` correspond uniquement à ce type d'agent. Un matcher de `*`, une chaîne vide, ou l'omission du matcher entièrement correspond à chaque occurrence de l'événement.

218 

219Un matcher contenant tout autre caractère est évalué comme une expression régulière non ancrée, donc `^mcp__` correspond à chaque outil MCP et `Edit.*` correspond à la fois à `Edit` et à `NotebookEdit`. Enveloppez une expression régulière dans `^` et `$` lorsque vous avez besoin d'une correspondance de chaîne entière.

220 

221Un matcher comme `mcp__memory` ou `mcp__brave-search` contient uniquement des caractères de correspondance exacte, donc il est comparé comme une chaîne exacte et ne correspond à aucun outil ; utilisez `mcp__memory__.*` pour correspondre à chaque outil de ce serveur.

222 

223Les traits d'union dans l'ensemble de correspondance exacte nécessitent un runtime Claude Code v2.1.195 ou ultérieur. Sur les versions antérieures, un nom avec trait d'union comme `code-reviewer` est évalué comme une expression régulière non ancrée et doit être ancré comme `^code-reviewer$` pour correspondre exactement.

218 224 

219| Option | Type | Par défaut | Description |225| Option | Type | Par défaut | Description |

220| --------- | ---------------- | ----------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |226| --------- | ---------------- | ----------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |


222| `hooks` | `HookCallback[]` | - | Requis. Tableau de fonctions de rappel à exécuter lorsque le motif correspond |228| `hooks` | `HookCallback[]` | - | Requis. Tableau de fonctions de rappel à exécuter lorsque le motif correspond |

223| `timeout` | `number` | `60` | Délai d'expiration en secondes |229| `timeout` | `number` | `60` | Délai d'expiration en secondes |

224 230 

225Utilisez le motif `matcher` pour cibler des outils spécifiques chaque fois que possible. Un matcher avec `'Bash'` s'exécute uniquement pour les commandes Bash, tandis que l'omission du motif exécute vos rappels pour chaque occurrence de l'événement. Notez que pour les hooks basés sur les outils, les matchers ne filtrent que par **nom d'outil**, pas par chemins de fichiers ou d'autres arguments. Pour filtrer par chemin de fichier, vérifiez `tool_input.file_path` à l'intérieur de votre rappel.231Utilisez le motif `matcher` pour cibler des outils spécifiques chaque fois que possible. Un matcher avec `'Bash'` s'exécute uniquement pour les commandes Bash, tandis que l'omission du motif exécute vos rappels pour chaque occurrence de l'événement.

232 

233Pour les hooks basés sur les outils, les matchers ne filtrent que par nom d'outil, pas par chemins de fichiers ou d'autres arguments. Pour filtrer par chemin de fichier, vérifiez `tool_input.file_path` à l'intérieur de votre rappel.

226 234 

227<Tip>235<Tip>

228 **Découvrir les noms d'outils :** Consultez [Types d'entrée d'outil](/fr/agent-sdk/typescript#tool-input-types) pour la liste complète des noms d'outils intégrés, ou ajoutez un hook sans matcher pour enregistrer tous les appels d'outils que votre session effectue.236 **Découvrir les noms d'outils :** Consultez [Types d'entrée d'outil](/fr/agent-sdk/typescript#tool-input-types) pour la liste complète des noms d'outils intégrés, ou ajoutez un hook sans matcher pour enregistrer tous les appels d'outils que votre session effectue.

229 237 

230 **Nommage des outils MCP :** Les outils MCP commencent toujours par `mcp__` suivi du nom du serveur et de l'action : `mcp__<server>__<action>`. Par exemple, si vous configurez un serveur nommé `playwright`, ses outils seront nommés `mcp__playwright__browser_screenshot`, `mcp__playwright__browser_click`, etc. Le nom du serveur provient de la clé que vous utilisez dans la configuration `mcpServers`.238 **Nommage des outils MCP :** Les outils MCP commencent toujours par `mcp__` suivi du nom du serveur et de l'action : `mcp__<server>__<action>`. Par exemple, si vous configurez un serveur nommé `playwright`, ses outils seront nommés `mcp__playwright__browser_screenshot`, `mcp__playwright__browser_click`, et ainsi de suite. Le nom du serveur provient de la clé que vous utilisez dans la configuration `mcpServers`.

231</Tip>239</Tip>

232 240 

233<h3 id="callback-functions">241<h3 id="callback-functions">


240 248 

241Chaque rappel hook reçoit trois arguments :249Chaque rappel hook reçoit trois arguments :

242 250 

243* **Données d'entrée :** un objet typé contenant les détails de l'événement. Chaque type de hook a sa propre forme d'entrée (par exemple, `PreToolUseHookInput` inclut `tool_name` et `tool_input`, tandis que `NotificationHookInput` inclut `message`). Consultez les définitions de type complètes dans les références du SDK [TypeScript](/fr/agent-sdk/typescript#hookinput) et [Python](/fr/agent-sdk/python#hookinput).251* **Données d'entrée :** un objet typé contenant les détails de l'événement. Chaque type de hook a sa propre forme d'entrée. Par exemple, `PreToolUseHookInput` inclut `tool_name` et `tool_input`, tandis que `NotificationHookInput` inclut `message`. Consultez les définitions de type complètes dans les références du SDK [TypeScript](/fr/agent-sdk/typescript#hookinput) et [Python](/fr/agent-sdk/python#hookinput).

244 * Toutes les entrées de hook partagent `session_id`, `cwd` et `hook_event_name`.252 * Toutes les entrées de hook partagent `session_id`, `cwd` et `hook_event_name`.

245 * `agent_id` et `agent_type` sont remplis lorsque le hook se déclenche à l'intérieur d'un sous-agent. En TypeScript, ceux-ci se trouvent sur l'entrée de hook de base et sont disponibles pour tous les types de hook. En Python, ils se trouvent uniquement sur `PreToolUse`, `PostToolUse` et `PostToolUseFailure`.253 * `agent_id` et `agent_type` sont remplis lorsque le hook se déclenche à l'intérieur d'un sous-agent. En TypeScript, ceux-ci se trouvent sur l'entrée de hook de base et sont disponibles pour tous les types de hook. En Python, ils se trouvent uniquement sur `PreToolUse`, `PostToolUse` et `PostToolUseFailure`.

246* **ID d'utilisation d'outil** (`str | None` / `string | undefined`) : met en corrélation les événements `PreToolUse` et `PostToolUse` pour le même appel d'outil.254* **ID d'utilisation d'outil** (`str | None` / `string | undefined`) : met en corrélation les événements `PreToolUse` et `PostToolUse` pour le même appel d'outil.


258Retournez `{}` pour autoriser l'opération sans modifications. Les hooks de rappel du SDK utilisent le même format de sortie JSON que les [hooks de commande shell Claude Code](/fr/hooks#json-output), qui documente chaque champ et option spécifique à l'événement. Pour les définitions de type du SDK, consultez les références du SDK [TypeScript](/fr/agent-sdk/typescript#synchookjsonoutput) et [Python](/fr/agent-sdk/python#synchookjsonoutput).266Retournez `{}` pour autoriser l'opération sans modifications. Les hooks de rappel du SDK utilisent le même format de sortie JSON que les [hooks de commande shell Claude Code](/fr/hooks#json-output), qui documente chaque champ et option spécifique à l'événement. Pour les définitions de type du SDK, consultez les références du SDK [TypeScript](/fr/agent-sdk/typescript#synchookjsonoutput) et [Python](/fr/agent-sdk/python#synchookjsonoutput).

259 267 

260<Note>268<Note>

261 Lorsque plusieurs hooks ou règles de permission s'appliquent, **deny** a priorité sur **defer**, qui a priorité sur **ask**, qui a priorité sur **allow**. Si un hook retourne `deny`, l'opération est bloquée indépendamment des autres hooks.269 Lorsque plusieurs hooks ou règles de permission s'appliquent, `deny` a priorité sur `defer`, qui a priorité sur `ask`, qui a priorité sur `allow`. Si un hook retourne `deny`, l'opération est bloquée indépendamment des autres hooks.

262</Note>270</Note>

263 271 

264<h4 id="asynchronous-output">272<h4 id="asynchronous-output">

265 Sortie asynchrone273 Sortie asynchrone

266</h4>274</h4>

267 275 

268Par défaut, l'agent attend que votre hook retourne avant de continuer. Si votre hook effectue un effet secondaire (enregistrement, envoi d'un webhook) et n'a pas besoin d'influencer le comportement de l'agent, vous pouvez retourner une sortie asynchrone à la place. Cela indique à l'agent de continuer immédiatement sans attendre la fin du hook :276Par défaut, l'agent attend que votre hook retourne avant de continuer. Si votre hook effectue un effet secondaire, tel que la journalisation ou l'envoi d'un webhook, et n'a pas besoin d'influencer le comportement de l'agent, vous pouvez retourner une sortie asynchrone à la place. Cela indique à l'agent de continuer immédiatement sans attendre la fin du hook :

269 277 

270<CodeGroup>278<CodeGroup>

271 ```python Python theme={null}279 ```python Python theme={null}


782* Vérifiez que le nom de l'événement hook est correct et sensible à la casse (`PreToolUse`, pas `preToolUse`)790* Vérifiez que le nom de l'événement hook est correct et sensible à la casse (`PreToolUse`, pas `preToolUse`)

783* Vérifiez que votre motif matcher correspond exactement au nom de l'outil791* Vérifiez que votre motif matcher correspond exactement au nom de l'outil

784* Assurez-vous que le hook se trouve sous le type d'événement correct dans `options.hooks`792* Assurez-vous que le hook se trouve sous le type d'événement correct dans `options.hooks`

785* Pour les hooks non basés sur les outils comme `Stop` et `SubagentStop`, les matchers correspondent à des champs différents (consultez [motifs matcher](/fr/hooks#matcher-patterns))793* Pour les hooks non basés sur les outils qui prennent en charge les matchers, comme `Notification` et `SubagentStop`, les matchers correspondent à des champs différents, et `Stop` ignore complètement les matchers (consultez [motifs matcher](/fr/hooks#matcher-patterns))

786* Les hooks peuvent ne pas se déclencher lorsque l'agent atteint la limite [`max_turns`](/fr/agent-sdk/python#claudeagentoptions) car la session se termine avant que les hooks puissent s'exécuter794* Les hooks peuvent ne pas se déclencher lorsque l'agent atteint la limite [`max_turns`](/fr/agent-sdk/python#claudeagentoptions) car la session se termine avant que les hooks puissent s'exécuter

787 795 

788<h3 id="matcher-not-filtering-as-expected">796<h3 id="matcher-not-filtering-as-expected">

789 Matcher ne filtre pas comme prévu797 Matcher ne filtre pas comme prévu

790</h3>798</h3>

791 799 

792Les matchers ne correspondent qu'aux **noms d'outils**, pas aux chemins de fichiers ou à d'autres arguments. Pour filtrer par chemin de fichier, vérifiez `tool_input.file_path` à l'intérieur de votre hook :800Les matchers ne correspondent qu'aux noms d'outils, pas aux chemins de fichiers ou à d'autres arguments. Pour filtrer par chemin de fichier, vérifiez `tool_input.file_path` à l'intérieur de votre hook :

793 801 

794```typescript theme={null}802```typescript theme={null}

795const myHook: HookCallback = async (input, toolUseID, { signal }) => {803const myHook: HookCallback = async (input, toolUseID, { signal }) => {


815 823 

816* Vérifiez tous les hooks `PreToolUse` pour les retours `permissionDecision: 'deny'`824* Vérifiez tous les hooks `PreToolUse` pour les retours `permissionDecision: 'deny'`

817* Ajoutez la journalisation à vos hooks pour voir quel `permissionDecisionReason` ils retournent825* Ajoutez la journalisation à vos hooks pour voir quel `permissionDecisionReason` ils retournent

818* Vérifiez que les motifs matcher ne sont pas trop larges (un matcher vide correspond à tous les outils)826* Vérifiez que les motifs matcher ne sont pas trop larges : un matcher vide correspond à tous les outils

819 827 

820<h3 id="modified-input-not-applied">828<h3 id="modified-input-not-applied">

821 Entrée modifiée non appliquée829 Entrée modifiée non appliquée


841 Hooks de session non disponibles en Python849 Hooks de session non disponibles en Python

842</h3>850</h3>

843 851 

844`SessionStart` et `SessionEnd` peuvent être enregistrés en tant que hooks de rappel du SDK en TypeScript, mais ne sont pas disponibles dans le SDK Python (`HookEvent` les omet). En Python, ils ne sont disponibles que comme [hooks de commande shell](/fr/hooks#hook-events) définis dans les fichiers de paramètres (par exemple, `.claude/settings.json`). Pour charger les hooks de commande shell à partir de votre application SDK, incluez la source de paramètre appropriée avec [`setting_sources`](/fr/agent-sdk/python#settingsource) ou [`settingSources`](/fr/agent-sdk/typescript#settingsource) :852`SessionStart` et `SessionEnd` peuvent être enregistrés en tant que hooks de rappel du SDK en TypeScript, mais ne sont pas disponibles dans le SDK Python car son type `HookEvent` les omet. En Python, ils ne sont disponibles que comme [hooks de commande shell](/fr/hooks#hook-events) définis dans les fichiers de paramètres tels que `.claude/settings.json`. Pour charger les hooks de commande shell à partir de votre application SDK, incluez la source de paramètre appropriée avec [`setting_sources`](/fr/agent-sdk/python#settingsource) ou [`settingSources`](/fr/agent-sdk/typescript#settingsource) :

845 853 

846<CodeGroup>854<CodeGroup>

847 ```python Python theme={null}855 ```python Python theme={null}

Details

209 209 

210* **Transcriptions uniquement** : `SessionStore` met en miroir les transcriptions, pas les fichiers mémoire `CLAUDE.md` ou autres artefacts du répertoire de travail. Montez un volume partagé ou synchronisez-les séparément.210* **Transcriptions uniquement** : `SessionStore` met en miroir les transcriptions, pas les fichiers mémoire `CLAUDE.md` ou autres artefacts du répertoire de travail. Montez un volume partagé ou synchronisez-les séparément.

211* **Miroir, pas remplacement** : le sous-processus écrit d'abord sur le disque local, et le magasin reçoit une copie de chaque lot. Les écritures locales restent faisant autorité.211* **Miroir, pas remplacement** : le sous-processus écrit d'abord sur le disque local, et le magasin reçoit une copie de chaque lot. Les écritures locales restent faisant autorité.

212* **Messages `mirror_error`** : si le magasin rejette ou expire, le SDK émet un message `{ type: "system", subtype: "mirror_error" }` et continue la requête sans nouvelle tentative. Alertez sur ceux-ci si la durabilité du magasin est importante.212* **Messages `mirror_error`** : un lot que le magasin rejette est envoyé jusqu'à trois fois au total, avec un court délai d'attente avant chaque nouvelle tentative ; un appel qui expire n'est pas réessayé. Si le lot échoue toujours, le SDK le supprime, émet un message `{ type: "system", subtype: "mirror_error" }`, et continue la requête. Alertez sur ceux-ci si la durabilité du magasin est importante.

213 213 

214<h3 id="observability">214<h3 id="observability">

215 Observabilité215 Observabilité

Details

44 </Step>44 </Step>

45</Steps>45</Steps>

46 46 

47<img src="https://mintcdn.com/claude-code/ikqp3_70mqIahteV/images/agent-sdk/permissions-flow.svg?fit=max&auto=format&n=ikqp3_70mqIahteV&q=85&s=cc94220087262cd48c9b64a14c4e1c2c" alt="Diagramme du flux d'évaluation des permissions en cinq étapes correspondant aux étapes ci-dessus : une demande d'outil passe par les hooks, les règles de refus, le mode de permission, les règles d'autorisation et canUseTool. Les hooks, les règles de refus et canUseTool peuvent router vers Bloqué ; le contournement du mode de permission, les règles d'autorisation et canUseTool peuvent router vers Exécuter." width="1024" height="260" data-path="images/agent-sdk/permissions-flow.svg" />47<img src="https://mintcdn.com/claude-code/jYgs7qigNjO1Badj/images/agent-sdk/permissions-flow.svg?fit=max&auto=format&n=jYgs7qigNjO1Badj&q=85&s=c771ad9085b1277d3708027a49c744bc" alt="Diagramme du flux d'évaluation des permissions en six étapes correspondant aux étapes ci-dessus : une demande d'outil passe par les hooks, les règles de refus, les règles de demande, le mode de permission, les règles d'autorisation et canUseTool. Les hooks, les règles de refus et canUseTool peuvent router vers Bloqué ; le contournement du mode de permission, les règles d'autorisation et canUseTool peuvent router vers Exécuter ; les règles de demande routent vers canUseTool." width="1180" height="260" data-path="images/agent-sdk/permissions-flow.svg" />

48 48 

49Cette page se concentre sur les **règles d'autorisation et de refus** et les **modes de permission**. Pour les autres étapes :49Cette page se concentre sur les **règles d'autorisation et de refus** et les **modes de permission**. Pour les autres étapes :

50 50 

51* **Hooks :** exécutez du code personnalisé pour autoriser, refuser ou modifier les demandes d'outils. Consultez [Contrôler l'exécution avec les hooks](/fr/agent-sdk/hooks).51* **Hooks :** exécutez du code personnalisé pour autoriser, refuser ou modifier les demandes d'outils. Consultez [Contrôler l'exécution avec les hooks](/fr/agent-sdk/hooks).

52* **Callback canUseTool :** invitez les utilisateurs à approuver à l'exécution. Consultez [Gérer les approbations et les entrées utilisateur](/fr/agent-sdk/user-input).52* **Callback canUseTool :** invitez les utilisateurs à approuver à l'exécution, lorsqu'aucune étape antérieure ne résout l'appel. Consultez [Gérer les approbations et les entrées utilisateur](/fr/agent-sdk/user-input).

53 53 

54<h2 id="allow-and-deny-rules">54<h2 id="allow-and-deny-rules">

55 Règles d'autorisation et de refus55 Règles d'autorisation et de refus


66 66 

67Les règles d'autorisation acceptent les globs de noms d'outils uniquement après un préfixe littéral `mcp__<server>__`. Le segment serveur doit être sans glob afin que la règle nomme un serveur spécifique que vous avez configuré : `mcp__puppeteer__*` correspond à chaque outil du serveur `puppeteer`, et `mcp__github__get_*` correspond à ses outils `get_`. Une entrée non ancrée comme `allowed_tools=["*"]` ou `allowed_tools=["mcp__*"]` est ignorée avec un avertissement au démarrage et n'auto-approuve rien.67Les règles d'autorisation acceptent les globs de noms d'outils uniquement après un préfixe littéral `mcp__<server>__`. Le segment serveur doit être sans glob afin que la règle nomme un serveur spécifique que vous avez configuré : `mcp__puppeteer__*` correspond à chaque outil du serveur `puppeteer`, et `mcp__github__get_*` correspond à ses outils `get_`. Une entrée non ancrée comme `allowed_tools=["*"]` ou `allowed_tools=["mcp__*"]` est ignorée avec un avertissement au démarrage et n'auto-approuve rien.

68 68 

69<Warning>

70 **Les outils auto-approuvés ne parviennent jamais à `canUseTool`.** Un appel d'outil approuvé à n'importe quelle étape antérieure, par `acceptEdits` ou `bypassPermissions`, ou par une règle d'autorisation, ignore votre rappel `canUseTool`, de sorte que les vérifications de permission que vous y mettez sont silencieusement contournées pour cet outil. La couverture dépend de la forme de l'entrée : un nom nu comme `Read` ou `mcp__github__get_issue` auto-approuve chaque appel à cet outil, tandis qu'une règle délimitée comme `Bash(ls *)` auto-approuve uniquement les appels correspondants et les autres appels `Bash` passent toujours au rappel. Pour les vérifications qui doivent s'exécuter sur chaque appel d'outil, utilisez un hook [`PreToolUse`](/fr/agent-sdk/hooks) : les hooks s'exécutent avant chaque autre étape, et un refus de hook s'applique même en mode `bypassPermissions`.

71</Warning>

72 

69Pour un agent verrouillé, associez `allowedTools` avec `permissionMode: "dontAsk"`. Les outils listés sont approuvés ; tout le reste est refusé directement au lieu de demander :73Pour un agent verrouillé, associez `allowedTools` avec `permissionMode: "dontAsk"`. Les outils listés sont approuvés ; tout le reste est refusé directement au lieu de demander :

70 74 

71```typescript theme={null}75```typescript theme={null}

Details

750 750 

751 751 

752async def main():752async def main():

753 options = ClaudeAgentOptions(753 # Don't also list the gated tools in allowed_tools: allow rules approve calls before can_use_tool runs

754 can_use_tool=custom_permission_handler, allowed_tools=["Read", "Write", "Edit"]754 options = ClaudeAgentOptions(can_use_tool=custom_permission_handler)

755 )

756 755 

757 async with ClaudeSDKClient(options=options) as client:756 async with ClaudeSDKClient(options=options) as client:

758 await client.query("Update the system config file")757 await client.query("Update the system config file")


886 fork_session: bool = False885 fork_session: bool = False

887 agents: dict[str, AgentDefinition] | None = None886 agents: dict[str, AgentDefinition] | None = None

888 setting_sources: list[SettingSource] | None = None887 setting_sources: list[SettingSource] | None = None

888 skills: list[str] | Literal["all"] | None = None

889 sandbox: SandboxSettings | None = None889 sandbox: SandboxSettings | None = None

890 plugins: list[SdkPluginConfig] = field(default_factory=list)890 plugins: list[SdkPluginConfig] = field(default_factory=list)

891 max_thinking_tokens: int | None = None # Deprecated: use thinking instead891 max_thinking_tokens: int | None = None # Deprecated: use thinking instead


924| `max_buffer_size` | `int \| None` | `None` | Octets maximum lors de la mise en buffer de la sortie standard du CLI |924| `max_buffer_size` | `int \| None` | `None` | Octets maximum lors de la mise en buffer de la sortie standard du CLI |

925| `debug_stderr` | `Any` | `sys.stderr` | *Déprécié* - Objet de type fichier pour la sortie de débogage. Utilisez plutôt le callback `stderr` |925| `debug_stderr` | `Any` | `sys.stderr` | *Déprécié* - Objet de type fichier pour la sortie de débogage. Utilisez plutôt le callback `stderr` |

926| `stderr` | `Callable[[str], None] \| None` | `None` | Fonction de callback pour la sortie stderr du CLI |926| `stderr` | `Callable[[str], None] \| None` | `None` | Fonction de callback pour la sortie stderr du CLI |

927| `can_use_tool` | [`CanUseTool`](#canusetool) ` \| None` | `None` | Fonction de callback de permission d'outil. Voir [Types de permission](#canusetool) pour les détails |927| `can_use_tool` | [`CanUseTool`](#canusetool) ` \| None` | `None` | Fonction de callback de permission d'outil, invoquée uniquement quand le [flux de permission](/fr/agent-sdk/permissions#how-permissions-are-evaluated) aboutit à un prompt. Non invoquée pour les appels pré-approuvés par `allowed_tools`, les règles d'autorisation, ou `permission_mode`. Voir [`CanUseTool`](#canusetool) pour les détails |

928| `hooks` | `dict[HookEvent, list[HookMatcher]] \| None` | `None` | Configurations de hook pour intercepter les événements |928| `hooks` | `dict[HookEvent, list[HookMatcher]] \| None` | `None` | Configurations de hook pour intercepter les événements |

929| `user` | `str \| None` | `None` | Identifiant utilisateur |929| `user` | `str \| None` | `None` | Identifiant utilisateur |

930| `include_partial_messages` | `bool` | `False` | Inclure les événements de streaming de messages partiels. Quand activé, les messages [`StreamEvent`](#streamevent) sont produits |930| `include_partial_messages` | `bool` | `False` | Inclure les événements de streaming de messages partiels. Quand activé, les messages [`StreamEvent`](#streamevent) sont produits |


960* `API_TIMEOUT_MS` : délai d'expiration par requête sur le client Anthropic, en millisecondes. Par défaut `600000`. S'applique à la boucle principale et à tous les sous-agents.960* `API_TIMEOUT_MS` : délai d'expiration par requête sur le client Anthropic, en millisecondes. Par défaut `600000`. S'applique à la boucle principale et à tous les sous-agents.

961* `CLAUDE_CODE_MAX_RETRIES` : nombre maximum de tentatives API. Par défaut `10`, limité à `15`. Chaque tentative obtient sa propre fenêtre `API_TIMEOUT_MS`, donc le pire temps mural est approximativement `API_TIMEOUT_MS × (CLAUDE_CODE_MAX_RETRIES + 1)` plus le backoff. Pour les exécutions sans surveillance qui doivent attendre des pannes plus longues, définissez `CLAUDE_CODE_RETRY_WATCHDOG=1` pour réessayer les erreurs de capacité indéfiniment.961* `CLAUDE_CODE_MAX_RETRIES` : nombre maximum de tentatives API. Par défaut `10`, limité à `15`. Chaque tentative obtient sa propre fenêtre `API_TIMEOUT_MS`, donc le pire temps mural est approximativement `API_TIMEOUT_MS × (CLAUDE_CODE_MAX_RETRIES + 1)` plus le backoff. Pour les exécutions sans surveillance qui doivent attendre des pannes plus longues, définissez `CLAUDE_CODE_RETRY_WATCHDOG=1` pour réessayer les erreurs de capacité indéfiniment.

962* `CLAUDE_ASYNC_AGENT_STALL_TIMEOUT_MS` : chien de garde de blocage pour les sous-agents lancés avec `run_in_background`. Par défaut `600000`. Réinitialise à chaque événement de flux ; en cas de blocage, il abandonne le sous-agent, marque la tâche comme échouée et expose l'erreur au parent avec tout résultat partiel. Ne s'applique pas aux sous-agents synchrones.962* `CLAUDE_ASYNC_AGENT_STALL_TIMEOUT_MS` : chien de garde de blocage pour les sous-agents lancés avec `run_in_background`. Par défaut `600000`. Réinitialise à chaque événement de flux ; en cas de blocage, il abandonne le sous-agent, marque la tâche comme échouée et expose l'erreur au parent avec tout résultat partiel. Ne s'applique pas aux sous-agents synchrones.

963* `CLAUDE_ENABLE_STREAM_WATCHDOG=1` avec `CLAUDE_STREAM_IDLE_TIMEOUT_MS` : abandonne la requête quand les en-têtes sont arrivés mais le corps de la réponse cesse de faire du streaming. Quand `CLAUDE_ENABLE_STREAM_WATCHDOG` n'est pas défini, la valeur par défaut est contrôlée par le serveur sur l'API Anthropic directe et désactivée sur les autres fournisseurs. `CLAUDE_STREAM_IDLE_TIMEOUT_MS` par défaut à `300000` et est limité à ce minimum. La requête abandonnée passe par le chemin de tentative normal.963* `CLAUDE_ENABLE_STREAM_WATCHDOG` avec `CLAUDE_STREAM_IDLE_TIMEOUT_MS` : abandonne la requête quand les en-têtes sont arrivés mais le corps de la réponse cesse de faire du streaming. Le chien de garde est activé par défaut pour tous les fournisseurs ; définissez `CLAUDE_ENABLE_STREAM_WATCHDOG=0` pour le désactiver. `CLAUDE_STREAM_IDLE_TIMEOUT_MS` par défaut à `300000` et est limité à ce minimum. La requête abandonnée passe par le chemin de tentative normal.

964 964 

965<h3 id="outputformat">965<h3 id="outputformat">

966 `OutputFormat`966 `OutputFormat`


1206 "low", # Minimal thinking, fastest responses1206 "low", # Minimal thinking, fastest responses

1207 "medium", # Moderate thinking1207 "medium", # Moderate thinking

1208 "high", # Deep reasoning1208 "high", # Deep reasoning

1209 "xhigh", # Extended reasoning (Opus 4.8 and Opus 4.7; falls back to "high" on other models)1209 "xhigh", # Extended reasoning; falls back to "high" on models that don't support it

1210 "max", # Maximum effort1210 "max", # Maximum effort

1211]1211]

1212```1212```


1231 1231 

1232Retourne un `PermissionResult` (soit `PermissionResultAllow` soit `PermissionResultDeny`).1232Retourne un `PermissionResult` (soit `PermissionResultAllow` soit `PermissionResultDeny`).

1233 1233 

1234Le callback est le remplacement SDK pour le prompt de permission interactif : il est invoqué uniquement quand le [flux d'évaluation de permission](/fr/agent-sdk/permissions#how-permissions-are-evaluated) aboutit à un prompt. Les appels d'outil déjà approuvés par une entrée `allowed_tools`, une règle d'autorisation des paramètres, ou le mode de permission, tel que `acceptEdits` ou `bypassPermissions`, ne l'invoquent jamais. Pour contrôler chaque appel d'outil, utilisez un [hook `PreToolUse`](/fr/agent-sdk/hooks) à la place.

1235 

1234<h3 id="toolpermissioncontext">1236<h3 id="toolpermissioncontext">

1235 `ToolPermissionContext`1237 `ToolPermissionContext`

1236</h3>1238</h3>


1432Utilisez avec le champ `betas` dans `ClaudeAgentOptions` pour activer les fonctionnalités bêta.1434Utilisez avec le champ `betas` dans `ClaudeAgentOptions` pour activer les fonctionnalités bêta.

1433 1435 

1434<Warning>1436<Warning>

1435 La bêta `context-1m-2025-08-07` est retirée à partir du 30 avril 2026. Passer cet en-tête avec Claude Sonnet 4.5 ou Sonnet 4 n'a aucun effet, et les requêtes qui dépassent la fenêtre de contexte standard de 200 000 tokens retournent une erreur. Pour utiliser une fenêtre de contexte de 1 million de tokens, migrez vers [Claude Sonnet 4.6, Claude Opus 4.6, Claude Opus 4.7, ou Claude Opus 4.8](https://platform.claude.com/docs/en/about-claude/models/overview), qui incluent 1 million de contexte à prix standard sans en-tête bêta requis.1437 La bêta `context-1m-2025-08-07` est retirée à partir du 30 avril 2026. Passer cet en-tête avec Claude Sonnet 4.5 ou Sonnet 4 n'a aucun effet, et les requêtes qui dépassent la fenêtre de contexte standard de 200 000 tokens retournent une erreur. Pour utiliser une fenêtre de contexte de 1 million de tokens, migrez vers [Claude Sonnet 5, Claude Sonnet 4.6, Claude Opus 4.6, Claude Opus 4.7, ou Claude Opus 4.8](https://platform.claude.com/docs/en/about-claude/models/overview), qui incluent 1 million de contexte à prix standard sans en-tête bêta requis.

1436</Warning>1438</Warning>

1437 1439 

1438<h3 id="mcpsdkserverconfig">1440<h3 id="mcpsdkserverconfig">


2681 2683 

2682**Nom de l'outil :** `Monitor`2684**Nom de l'outil :** `Monitor`

2683 2685 

2684Exécute un script de fond et livre chaque ligne stdout à Claude comme un événement pour qu'il puisse réagir sans interrogation. Monitor suit les mêmes règles de permission que Bash. Voir la [référence de l'outil Monitor](/fr/tools-reference#monitor-tool) pour le comportement et la disponibilité du fournisseur.2686Exécute une source de fond et livre chaque événement à Claude pour qu'il puisse réagir sans interrogation : `command` exécute un script et émet un événement par ligne stdout, et `ws` ouvre une WebSocket et émet un événement par trame texte. Fournissez exactement l'un de `command` ou `ws`.

2687 

2688Lorsque Monitor exécute une commande, il suit les mêmes règles de permission que Bash ; une surveillance WebSocket demande une approbation séparément. {/* min-version: 2.1.195 */}La source `ws` nécessite Claude Code v2.1.195 ou ultérieur. Voir la [référence de l'outil Monitor](/fr/tools-reference#monitor-tool) pour le comportement et la disponibilité du fournisseur.

2685 2689 

2686**Entrée :**2690**Entrée :**

2687 2691 

2688```python theme={null}2692```python theme={null}

2689{2693{

2690 "command": str, # Shell script; each stdout line is an event, exit ends the watch2694 "command": str | None, # Shell script; each stdout line is an event, exit ends the watch

2695 "ws": dict | None, # WebSocket source: {"url": str, "protocols": list[str] | None}; each text frame is an event

2691 "description": str, # Short description shown in notifications2696 "description": str, # Short description shown in notifications

2692 "timeout_ms": int | None, # Kill after this deadline (default 300000, max 3600000)2697 "timeout_ms": int | None, # Kill after this deadline (default 300000, max 3600000)

2693 "persistent": bool | None, # Run for the lifetime of the session; stop with TaskStop2698 "persistent": bool | None, # Run for the lifetime of the session; stop with TaskStop

Details

41 Installez le package du SDK Agent pour votre langage :41 Installez le package du SDK Agent pour votre langage :

42 42 

43 <Tabs>43 <Tabs>

44 <Tab title="TypeScript">44 <Tab title="TypeScript (nouveau projet)">

45 ```bash theme={null}45 ```bash theme={null}

46 npm init -y

47 npm pkg set type=module

46 npm install @anthropic-ai/claude-agent-sdk48 npm install @anthropic-ai/claude-agent-sdk

49 npm install --save-dev tsx

47 ```50 ```

51 

52 Définir `"type": "module"` dans `package.json` permet à votre script d'agent d'utiliser `await` au niveau supérieur, et [tsx](https://tsx.is) exécute les fichiers TypeScript directement.

53 </Tab>

54 

55 <Tab title="TypeScript (projet existant)">

56 ```bash theme={null}

57 npm install @anthropic-ai/claude-agent-sdk

58 npm install --save-dev tsx

59 ```

60 

61 [tsx](https://tsx.is) exécute les fichiers TypeScript directement. Si votre projet utilise CommonJS, nommez votre script d'agent `agent.mts` au lieu de `agent.ts`. L'extension `.mts` fait que tsx traite le fichier comme un module ES, donc `await` au niveau supérieur fonctionne sans convertir tout votre projet en modules ES. Utilisez `agent.mts` à la place de `agent.ts` dans les étapes de création et d'exécution plus tard dans ce démarrage rapide.

48 </Tab>62 </Tab>

49 63 

50 <Tab title="Python (uv)">64 <Tab title="Python (uv)">


85 </Step>99 </Step>

86 100 

87 <Step title="Définir votre clé API">101 <Step title="Définir votre clé API">

88 Obtenez une clé API à partir de la [Console Claude](https://platform.claude.com/), puis créez un fichier `.env` dans votre répertoire de projet :102 Obtenez une clé API à partir de la [Console Claude](https://platform.claude.com/), puis définissez-la comme variable d'environnement dans le shell vous exécuterez votre agent :

89 103 

104 <Tabs>

105 <Tab title="macOS / Linux">

90 ```bash theme={null}106 ```bash theme={null}

91 ANTHROPIC_API_KEY=your-api-key107 export ANTHROPIC_API_KEY=your-api-key

92 ```108 ```

109 </Tab>

110 

111 <Tab title="Windows (PowerShell)">

112 ```powershell theme={null}

113 $env:ANTHROPIC_API_KEY = "your-api-key"

114 ```

115 </Tab>

116 </Tabs>

117 

118 Le SDK lit la clé à partir de l'environnement du processus qui exécute votre agent ; il ne charge pas les fichiers `.env` automatiquement. Si vous conservez la clé dans un fichier `.env`, chargez-la vous-même, par exemple avec le package `dotenv`, avant d'appeler le SDK.

93 119 

94 Le SDK prend également en charge l'authentification via des fournisseurs d'API tiers :120 Le SDK prend également en charge l'authentification via des fournisseurs d'API tiers :

95 121 


133 Créer un agent qui trouve et corrige les bugs159 Créer un agent qui trouve et corrige les bugs

134</h2>160</h2>

135 161 

136Créez `agent.py` si vous utilisez le SDK Python, ou `agent.ts` pour TypeScript :162Créez `agent.py` si vous utilisez le SDK Python, ou `agent.ts` pour TypeScript. Utilisez `agent.mts` à la place si votre projet existant utilise CommonJS :

137 163 

138<CodeGroup>164<CodeGroup>

139 ```python Python theme={null}165 ```python Python theme={null}


218 ```bash theme={null}244 ```bash theme={null}

219 npx tsx agent.ts245 npx tsx agent.ts

220 ```246 ```

247 

248 Si vous avez nommé votre script `agent.mts`, exécutez `npx tsx agent.mts` à la place.

221 </Tab>249 </Tab>

222 250 

223 <Tab title="Python (uv)">251 <Tab title="Python (uv)">


235 </Tab>263 </Tab>

236</Tabs>264</Tabs>

237 265 

238Après l'exécution, vérifiez `utils.py`. Vous verrez du code défensif gérant les listes vides et les utilisateurs nuls. Votre agent a autonomement :266Au fur et à mesure qu'il travaille, l'agent imprime son raisonnement et chaque outil qu'il appelle, se terminant par `Done: success`. Après l'exécution, vérifiez `utils.py`. Vous verrez du code défensif gérant les listes vides et les utilisateurs nuls. Votre agent a autonomement :

239 267 

2401. **Lu** `utils.py` pour comprendre le code2681. **Lu** `utils.py` pour comprendre le code

2412. **Analysé** la logique et identifié les cas limites qui causeraient un plantage2692. **Analysé** la logique et identifié les cas limites qui causeraient un plantage


244C'est ce qui rend le SDK Agent différent : Claude exécute les outils directement au lieu de vous demander de les implémenter.272C'est ce qui rend le SDK Agent différent : Claude exécute les outils directement au lieu de vous demander de les implémenter.

245 273 

246<Note>274<Note>

247 Si vous voyez ' API key not found ', assurez-vous d'avoir défini la variable d'environnement `ANTHROPIC_API_KEY` dans votre fichier `.env` ou votre environnement shell. Consultez le [guide de dépannage complet](/fr/troubleshooting) pour plus d'aide.275 Si vous voyez ' API key not found ', assurez-vous d'avoir défini la variable d'environnement `ANTHROPIC_API_KEY` dans le shell où vous exécutez votre agent. Le SDK ne charge pas les fichiers `.env` automatiquement. Consultez le [guide de dépannage complet](/fr/troubleshooting) pour plus d'aide.

248</Note>276</Note>

249 277 

250<h3 id="try-other-prompts">278<h3 id="try-other-prompts">


340**Les modes de permission** contrôlent le niveau de surveillance humaine que vous souhaitez :368**Les modes de permission** contrôlent le niveau de surveillance humaine que vous souhaitez :

341 369 

342| Mode | Comportement | Cas d'usage |370| Mode | Comportement | Cas d'usage |

343| ------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------ | ---------------------------------------------------------- |371| ------------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------- |

344| `acceptEdits` | Approuve automatiquement les modifications de fichiers et les commandes courantes du système de fichiers, demande les autres actions | Flux de travail de développement de confiance |372| `acceptEdits` | Approuve automatiquement les modifications de fichiers et les commandes courantes du système de fichiers, demande les autres actions | Flux de travail de développement de confiance |

373| `plan` | Exécute les outils en lecture seule ; les modifications de fichiers ne sont jamais approuvées automatiquement et atteignent votre rappel `canUseTool` | Délimitation d'une tâche avant d'approuver l'exécution |

345| `dontAsk` | Refuse tout ce qui n'est pas dans `allowedTools` | Agents sans tête verrouillés |374| `dontAsk` | Refuse tout ce qui n'est pas dans `allowedTools` | Agents sans tête verrouillés |

346| `auto` (TypeScript uniquement) | Un classificateur de modèle approuve ou refuse chaque appel d'outil | Agents autonomes avec garde-fous de sécurité |375| `auto` (TypeScript uniquement) | Un classificateur de modèle approuve ou refuse chaque appel d'outil | Agents autonomes avec garde-fous de sécurité |

347| `bypassPermissions` | Exécute chaque outil sans invites, sauf si une règle [`ask`](/fr/agent-sdk/permissions#how-permissions-are-evaluated) explicite correspond | CI en bac à sable, environnements entièrement de confiance |376| `bypassPermissions` | Exécute chaque outil sans invites, sauf si une règle [`ask`](/fr/agent-sdk/permissions#how-permissions-are-evaluated) explicite correspond | CI en bac à sable, environnements entièrement de confiance |


349 378 

350L'exemple ci-dessus utilise le mode `acceptEdits`, qui approuve automatiquement les opérations de fichiers afin que l'agent puisse s'exécuter sans invites interactives. Si vous souhaitez inviter les utilisateurs à approuver, utilisez le mode `default` et fournissez un rappel [`canUseTool`](/fr/agent-sdk/user-input) qui collecte l'entrée de l'utilisateur. Pour plus de contrôle, consultez [Permissions](/fr/agent-sdk/permissions).379L'exemple ci-dessus utilise le mode `acceptEdits`, qui approuve automatiquement les opérations de fichiers afin que l'agent puisse s'exécuter sans invites interactives. Si vous souhaitez inviter les utilisateurs à approuver, utilisez le mode `default` et fournissez un rappel [`canUseTool`](/fr/agent-sdk/user-input) qui collecte l'entrée de l'utilisateur. Pour plus de contrôle, consultez [Permissions](/fr/agent-sdk/permissions).

351 380 

352<h2 id="troubleshooting">

353 Dépannage

354</h2>

355 

356<h3 id="api-error-thinking-type-enabled-is-not-supported-for-this-model">

357 Erreur API `thinking.type.enabled` n'est pas pris en charge pour ce modèle

358</h3>

359 

360Claude Opus 4.7 remplace `thinking.type.enabled` par `thinking.type.adaptive`. Les versions plus anciennes du SDK Agent échouent avec l'erreur API suivante lorsque vous sélectionnez `claude-opus-4-7` :

361 

362```text theme={null}

363API Error: 400 {"type":"invalid_request_error","message":"\"thinking.type.enabled\" is not supported for this model. Use \"thinking.type.adaptive\" and \"output_config.effort\" to control thinking behavior."}

364```

365 

366Mettez à niveau vers le SDK Agent v0.2.111 ou version ultérieure pour utiliser Opus 4.7.

367 

368<h2 id="next-steps">381<h2 id="next-steps">

369 Étapes suivantes382 Étapes suivantes

370</h2>383</h2>

Details

235 Les écritures en miroir sont au mieux235 Les écritures en miroir sont au mieux

236</h3>236</h3>

237 237 

238Si `append()` rejette ou expire, l'erreur est enregistrée, un message `{ type: "system", subtype: "mirror_error" }` est émis dans l'itérateur, et la requête continue. La transcription locale est déjà durable sur disque, donc une panne du magasin n'interrompt pas l'agent ou ne perd pas de données localement. Les lots qui échouent ne sont pas retentés, donc surveillez `mirror_error` si vous devez détecter une perte de données du magasin.238Si `append()` rejette, le SDK réessaie le lot jusqu'à deux fois supplémentaires avec un délai court, pour un maximum de trois tentatives au total. Un appel qui expire n'est pas réessayé, car l'appel original peut toujours aboutir. Si le lot échoue toujours, l'erreur est enregistrée, un message `{ type: "system", subtype: "mirror_error" }` est émis dans l'itérateur, le lot est supprimé, et la requête continue. La transcription locale est déjà durable sur disque, donc une panne du magasin n'interrompt pas l'agent ou ne perd pas de données localement. Surveillez `mirror_error` si vous devez détecter une perte de données du magasin. Parce qu'un lot réessayé peut redélivrer des entrées qui ont déjà abouti, dédupliquez par `entry.uuid` dans votre implémentation de `append()`.

239 239 

240<h3 id="getsessionmessages-returns-the-post-compaction-chain">240<h3 id="getsessionmessages-returns-the-post-compaction-chain">

241 `getSessionMessages` retourne la chaîne post-compaction241 `getSessionMessages` retourne la chaîne post-compaction

Details

24 })) {24 })) {

25 if (message.type === "system" && message.subtype === "init") {25 if (message.type === "system" && message.subtype === "init") {

26 console.log("Available slash commands:", message.slash_commands);26 console.log("Available slash commands:", message.slash_commands);

27 // Example output: ["clear", "compact", "context", "usage"]27 // Includes built-in commands plus bundled skills, for example:

28 // ["clear", "compact", "context", "usage", "code-review", "verify", ...]

28 }29 }

29 }30 }

30 ```31 ```


38 async for message in query(prompt="Hello Claude", options=ClaudeAgentOptions(max_turns=1)):39 async for message in query(prompt="Hello Claude", options=ClaudeAgentOptions(max_turns=1)):

39 if isinstance(message, SystemMessage) and message.subtype == "init":40 if isinstance(message, SystemMessage) and message.subtype == "init":

40 print("Available slash commands:", message.data["slash_commands"])41 print("Available slash commands:", message.data["slash_commands"])

41 # Example output: ["clear", "compact", "context", "usage"]42 # Includes built-in commands plus bundled skills, for example:

43 # ["clear", "compact", "context", "usage", "code-review", "verify", ...]

42 44 

43 45 

44 asyncio.run(main())46 asyncio.run(main())


49 Envoyer des Slash Commands51 Envoyer des Slash Commands

50</h2>52</h2>

51 53 

52Envoyez des slash commands en les incluant dans votre chaîne de prompt, comme du texte ordinaire :54Envoyez des slash commands en les incluant dans votre chaîne de prompt, comme du texte ordinaire. Les commandes qui agissent sur l'historique de la conversation, telles que `/compact`, ont besoin de messages antérieurs pour fonctionner, donc les exemples ci-dessous posent d'abord une question, puis envoient la commande comme suivi à la même conversation :

53 55 

54<CodeGroup>56<CodeGroup>

55 ```typescript TypeScript theme={null}57 ```typescript TypeScript theme={null}

56 import { query } from "@anthropic-ai/claude-agent-sdk";58 import { query } from "@anthropic-ai/claude-agent-sdk";

57 59 

58 // Send a slash command60 // Build up conversation history first

61 try {

59 for await (const message of query({62 for await (const message of query({

60 prompt: "/compact",63 prompt: "What does the README in this directory cover?",

61 options: { maxTurns: 1 }64 options: { maxTurns: 2 }

62 })) {65 })) {

63 if (message.type === "result" && message.subtype === "success") {66 if (message.type === "result" && message.subtype === "success") {

64 console.log("Command executed:", message.result);67 console.log(message.result);

68 }

69 }

70 } catch (error) {

71 // A single-shot query() throws after yielding an error result,

72 // so the follow-up query below still runs.

73 console.error(`Session ended with an error: ${error}`);

74 }

75 

76 // Send a slash command as a follow-up to the same conversation

77 for await (const message of query({

78 prompt: "/compact",

79 options: { continue: true, maxTurns: 1 }

80 })) {

81 if (message.type === "result") {

82 console.log("Command executed, result subtype:", message.subtype);

83 // Example output: Command executed, result subtype: success

65 }84 }

66 }85 }

67 ```86 ```


72 91 

73 92 

74 async def main():93 async def main():

75 # Send a slash command94 # Build up conversation history first

76 async for message in query(prompt="/compact", options=ClaudeAgentOptions(max_turns=1)):95 try:

96 async for message in query(

97 prompt="What does the README in this directory cover?",

98 options=ClaudeAgentOptions(max_turns=2),

99 ):

100 if isinstance(message, ResultMessage) and message.subtype == "success":

101 print(message.result)

102 except Exception as error:

103 # A single-shot query() raises after yielding an error result,

104 # so the follow-up query below still runs.

105 print(f"Session ended with an error: {error}")

106 

107 # Send a slash command as a follow-up to the same conversation

108 async for message in query(

109 prompt="/compact",

110 options=ClaudeAgentOptions(continue_conversation=True, max_turns=1),

111 ):

77 if isinstance(message, ResultMessage):112 if isinstance(message, ResultMessage):

78 print("Command executed:", message.result)113 print("Command executed, result subtype:", message.subtype)

114 # Example output: Command executed, result subtype: success

79 115 

80 116 

81 asyncio.run(main())117 asyncio.run(main())

82 ```118 ```

83</CodeGroup>119</CodeGroup>

84 120 

121<Note>

122 Une requête peut se terminer par un résultat d'erreur, par exemple lorsque la limite `maxTurns` / `max_turns` est atteinte avant la fin du travail. Le message de résultat final a alors `is_error: true` et un sous-type d'erreur tel que `error_max_turns` au lieu de `success`.

123 

124 Après avoir produit ce message de résultat final, le SDK lève une erreur, car le processus CLI se termine avec un code non nul.

125 

126 Enveloppez la boucle dans un `try`/`catch` en TypeScript ou `try`/`except` en Python si votre commande pourrait atteindre la limite, comme indiqué dans [Single Message Input](/fr/agent-sdk/streaming-vs-single-mode#single-message-input), ou définissez `maxTurns` suffisamment haut pour que le travail se termine. En Python, capturez `Exception` : le SDK présente les résultats d'erreur comme une simple `Exception`.

127</Note>

128 

85<h2 id="common-slash-commands">129<h2 id="common-slash-commands">

86 Commandes Slash Courantes130 Commandes Slash Courantes

87</h2>131</h2>


90 `/compact` - Compacter l'historique de conversation134 `/compact` - Compacter l'historique de conversation

91</h3>135</h3>

92 136 

93La commande `/compact` réduit la taille de votre historique de conversation en résumant les messages plus anciens tout en préservant le contexte important :137La commande `/compact` réduit la taille de votre historique de conversation en résumant les messages plus anciens tout en préservant le contexte important. La compaction nécessite une conversation existante avec au moins deux échanges antérieurs à résumer. Cet exemple a d'abord une conversation, puis la compacte et lit le message système `compact_boundary` qui rapporte le résultat :

94 138 

95<CodeGroup>139<CodeGroup>

96 ```typescript TypeScript theme={null}140 ```typescript TypeScript theme={null}

97 import { query } from "@anthropic-ai/claude-agent-sdk";141 import { query } from "@anthropic-ai/claude-agent-sdk";

98 142 

143 // Compaction needs existing history, so have a conversation first

144 try {

145 for await (const message of query({

146 prompt: "Explain what this project does",

147 options: { maxTurns: 2 }

148 })) {

149 if (message.type === "result" && message.subtype === "success") {

150 console.log(message.result);

151 }

152 }

153 } catch (error) {

154 // A single-shot query() throws after yielding an error result,

155 // so the follow-up query below still runs.

156 console.error(`Session ended with an error: ${error}`);

157 }

158 

159 // Compact the same conversation

99 for await (const message of query({160 for await (const message of query({

100 prompt: "/compact",161 prompt: "/compact",

101 options: { maxTurns: 1 }162 options: { continue: true, maxTurns: 1 }

102 })) {163 })) {

103 if (message.type === "system" && message.subtype === "compact_boundary") {164 if (message.type === "system" && message.subtype === "compact_boundary") {

104 console.log("Compaction completed");165 console.log("Compaction completed");

105 console.log("Pre-compaction tokens:", message.compact_metadata.pre_tokens);166 console.log("Pre-compaction tokens:", message.compact_metadata.pre_tokens);

106 console.log("Trigger:", message.compact_metadata.trigger);167 console.log("Trigger:", message.compact_metadata.trigger);

168 // Example output:

169 // Compaction completed

170 // Pre-compaction tokens: 1842

171 // Trigger: manual

107 }172 }

108 }173 }

109 ```174 ```

110 175 

111 ```python Python theme={null}176 ```python Python theme={null}

112 import asyncio177 import asyncio

113 from claude_agent_sdk import query, ClaudeAgentOptions, SystemMessage178 from claude_agent_sdk import query, ClaudeAgentOptions, ResultMessage, SystemMessage

114 179 

115 180 

116 async def main():181 async def main():

117 async for message in query(prompt="/compact", options=ClaudeAgentOptions(max_turns=1)):182 # Compaction needs existing history, so have a conversation first

183 try:

184 async for message in query(

185 prompt="Explain what this project does",

186 options=ClaudeAgentOptions(max_turns=2),

187 ):

188 if isinstance(message, ResultMessage) and message.subtype == "success":

189 print(message.result)

190 except Exception as error:

191 # A single-shot query() raises after yielding an error result,

192 # so the follow-up query below still runs.

193 print(f"Session ended with an error: {error}")

194 

195 # Compact the same conversation

196 async for message in query(

197 prompt="/compact",

198 options=ClaudeAgentOptions(continue_conversation=True, max_turns=1),

199 ):

118 if isinstance(message, SystemMessage) and message.subtype == "compact_boundary":200 if isinstance(message, SystemMessage) and message.subtype == "compact_boundary":

119 print("Compaction completed")201 print("Compaction completed")

120 print("Pre-compaction tokens:", message.data["compact_metadata"]["pre_tokens"])202 print("Pre-compaction tokens:", message.data["compact_metadata"]["pre_tokens"])

121 print("Trigger:", message.data["compact_metadata"]["trigger"])203 print("Trigger:", message.data["compact_metadata"]["trigger"])

204 # Example output:

205 # Compaction completed

206 # Pre-compaction tokens: 1842

207 # Trigger: manual

122 208 

123 209 

124 asyncio.run(main())210 asyncio.run(main())

125 ```211 ```

126</CodeGroup>212</CodeGroup>

127 213 

214<Note>

215 Un message `compact_boundary` n'arrive que lorsque la compaction s'est exécutée. S'il n'y a rien à résumer, `/compact` rapporte la raison au lieu de lever une exception : l'exécution se termine toujours avec un résultat `success`, aucun message `compact_boundary` n'est émis, et le texte du résultat porte le message, par exemple `Not enough messages to compact.` après un seul échange court. Un nouvel appel `query()` ponctuel démarre avec un contexte vide, donc utilisez ce modèle dans une session avec des tours antérieurs, par exemple en [mode d'entrée en continu](/fr/agent-sdk/streaming-vs-single-mode) ou lors de la reprise d'une session.

216</Note>

217 

128<h3 id="/clear-reset-conversation-context">218<h3 id="/clear-reset-conversation-context">

129 `/clear` - Réinitialiser le contexte de conversation219 `/clear` - Réinitialiser le contexte de conversation

130</h3>220</h3>


170 Exemple Basique260 Exemple Basique

171</h4>261</h4>

172 262 

173Créez `.claude/commands/refactor.md` :263Créez le répertoire `.claude/commands` dans votre projet s'il n'existe pas, puis créez `.claude/commands/refactor.md` :

174 264 

175```markdown theme={null}265```markdown theme={null}

176Refactor the selected code to improve readability and maintainability.266Refactor the selected code to improve readability and maintainability.


189---279---

190allowed-tools: Read, Grep, Glob280allowed-tools: Read, Grep, Glob

191description: Run security vulnerability scan281description: Run security vulnerability scan

192model: claude-opus-4-7282model: claude-opus-4-8

193---283---

194 284 

195Analyze the codebase for security vulnerabilities including:285Analyze the codebase for security vulnerabilities including:


210 import { query } from "@anthropic-ai/claude-agent-sdk";300 import { query } from "@anthropic-ai/claude-agent-sdk";

211 301 

212 // Use a custom command302 // Use a custom command

303 try {

213 for await (const message of query({304 for await (const message of query({

214 prompt: "/refactor src/auth/login.ts",305 prompt: "/refactor src/auth/login.ts",

215 options: { maxTurns: 3 }306 options: { maxTurns: 3 }


218 console.log("Refactoring suggestions:", message.message);309 console.log("Refactoring suggestions:", message.message);

219 }310 }

220 }311 }

312 } catch (error) {

313 // A single-shot query() throws after yielding an error result,

314 // so the second query below still runs.

315 console.error(`Session ended with an error: ${error}`);

316 }

221 317 

222 // Custom commands appear in the slash_commands list318 // Custom commands appear in the slash_commands list

223 for await (const message of query({319 for await (const message of query({


225 options: { maxTurns: 1 }321 options: { maxTurns: 1 }

226 })) {322 })) {

227 if (message.type === "system" && message.subtype === "init") {323 if (message.type === "system" && message.subtype === "init") {

228 // Will include both built-in and custom commands

229 console.log("Available commands:", message.slash_commands);324 console.log("Available commands:", message.slash_commands);

230 // Example: ["clear", "compact", "context", "usage", "refactor", "security-check"]325 // Includes built-in commands plus bundled skills and your custom commands, for example:

326 // ["clear", "compact", "context", "usage", "code-review", "verify", "refactor", "security-check", ...]

231 }327 }

232 }328 }

233 ```329 ```


239 335 

240 async def main():336 async def main():

241 # Use a custom command337 # Use a custom command

338 try:

242 async for message in query(339 async for message in query(

243 prompt="/refactor src/auth/login.py", options=ClaudeAgentOptions(max_turns=3)340 prompt="/refactor src/auth/login.py", options=ClaudeAgentOptions(max_turns=3)

244 ):341 ):


246 for block in message.content:343 for block in message.content:

247 if hasattr(block, "text"):344 if hasattr(block, "text"):

248 print("Refactoring suggestions:", block.text)345 print("Refactoring suggestions:", block.text)

346 except Exception as error:

347 # A single-shot query() raises after yielding an error result,

348 # so the second query below still runs.

349 print(f"Session ended with an error: {error}")

249 350 

250 # Custom commands appear in the slash_commands list351 # Custom commands appear in the slash_commands list

251 async for message in query(prompt="Hello", options=ClaudeAgentOptions(max_turns=1)):352 async for message in query(prompt="Hello", options=ClaudeAgentOptions(max_turns=1)):

252 if isinstance(message, SystemMessage) and message.subtype == "init":353 if isinstance(message, SystemMessage) and message.subtype == "init":

253 # Will include both built-in and custom commands

254 print("Available commands:", message.data["slash_commands"])354 print("Available commands:", message.data["slash_commands"])

255 # Example: ["clear", "compact", "context", "usage", "refactor", "security-check"]355 # Includes built-in commands plus bundled skills and your custom commands, for example:

356 # ["clear", "compact", "context", "usage", "code-review", "verify", "refactor", "security-check", ...]

256 357 

257 358 

258 asyncio.run(main())359 asyncio.run(main())


384 Exemples Pratiques485 Exemples Pratiques

385</h3>486</h3>

386 487 

387<h4 id="code-review-command">488<h4 id="pull-request-review-command">

388 Commande de Révision de Code489 Commande de Révision de Pull Request

389</h4>490</h4>

390 491 

391Créez `.claude/commands/code-review.md` :492Créez `.claude/commands/review-pr.md` :

392 493 

393```markdown theme={null}494```markdown theme={null}

394---495---


414Provide specific, actionable feedback organized by priority.515Provide specific, actionable feedback organized by priority.

415```516```

416 517 

518<Note>

519 Claude Code inclut les skills `code-review` et `verify` intégrés. Si vous nommez une commande personnalisée d'après l'un d'eux, par exemple `.claude/commands/code-review.md`, votre commande masque le skill intégré et `slash_commands` liste le nom une seule fois.

520</Note>

521 

417<h4 id="test-runner-command">522<h4 id="test-runner-command">

418 Commande Test Runner523 Commande Test Runner

419</h4>524</h4>


442 import { query } from "@anthropic-ai/claude-agent-sdk";547 import { query } from "@anthropic-ai/claude-agent-sdk";

443 548 

444 // Run code review549 // Run code review

550 try {

445 for await (const message of query({551 for await (const message of query({

446 prompt: "/code-review",552 prompt: "/review-pr",

447 options: { maxTurns: 3 }553 options: { maxTurns: 3 }

448 })) {554 })) {

449 // Process review feedback555 // Process review feedback

450 }556 }

557 } catch (error) {

558 // A single-shot query() throws after yielding an error result,

559 // so the second query below still runs.

560 console.error(`Session ended with an error: ${error}`);

561 }

451 562 

452 // Run specific tests563 // Run specific tests

453 for await (const message of query({564 for await (const message of query({


465 576 

466 async def main():577 async def main():

467 # Run code review578 # Run code review

468 async for message in query(prompt="/code-review", options=ClaudeAgentOptions(max_turns=3)):579 try:

580 async for message in query(prompt="/review-pr", options=ClaudeAgentOptions(max_turns=3)):

469 # Process review feedback581 # Process review feedback

470 pass582 pass

583 except Exception as error:

584 # A single-shot query() raises after yielding an error result,

585 # so the second query below still runs.

586 print(f"Session ended with an error: {error}")

471 587 

472 # Run specific tests588 # Run specific tests

473 async for message in query(prompt="/test auth", options=ClaudeAgentOptions(max_turns=5)):589 async for message in query(prompt="/test auth", options=ClaudeAgentOptions(max_turns=5)):

Details

71 71 

72Définissez les sous-agents directement dans votre code en utilisant le paramètre `agents`. Cet exemple crée deux sous-agents : un examinateur de code avec accès en lecture seule et un exécuteur de tests qui peut exécuter des commandes. Claude invoque les sous-agents via l'outil `Agent`, donc incluez `Agent` dans `allowedTools` pour approuver automatiquement les invocations de sous-agents sans invite de permission.72Définissez les sous-agents directement dans votre code en utilisant le paramètre `agents`. Cet exemple crée deux sous-agents : un examinateur de code avec accès en lecture seule et un exécuteur de tests qui peut exécuter des commandes. Claude invoque les sous-agents via l'outil `Agent`, donc incluez `Agent` dans `allowedTools` pour approuver automatiquement les invocations de sous-agents sans invite de permission.

73 73 

74La plupart des exemples de cette page n'impriment que le résultat final. Pour confirmer que Claude a délégué à un sous-agent plutôt que de répondre directement, voir [Détection de l'invocation de sous-agent](#detecting-subagent-invocation).

75 

74<CodeGroup>76<CodeGroup>

75 ```python Python theme={null}77 ```python Python theme={null}

76 import asyncio78 import asyncio


193| `effort` | `'low' \| 'medium' \| 'high' \| 'xhigh' \| 'max' \| number` | Non | Niveau d'effort de raisonnement pour cet agent |195| `effort` | `'low' \| 'medium' \| 'high' \| 'xhigh' \| 'max' \| number` | Non | Niveau d'effort de raisonnement pour cet agent |

194| `permissionMode` | `PermissionMode` | Non | Mode de permission pour l'exécution des outils au sein de cet agent |196| `permissionMode` | `PermissionMode` | Non | Mode de permission pour l'exécution des outils au sein de cet agent |

195 197 

196Dans le SDK Python, ces noms de champs utilisent camelCase pour correspondre au format de transmission. Voir la référence [`AgentDefinition`](/fr/agent-sdk/python#agentdefinition) pour plus de détails.198Dans le SDK Python, les noms de champs multi-mots tels que `disallowedTools` et `mcpServers` conservent leur orthographe camelCase pour correspondre au format de transmission plutôt que de suivre la convention snake\_case de Python. Voir la référence [`AgentDefinition`](/fr/agent-sdk/python#agentdefinition) pour plus de détails.

197 199 

198<Note>200<Note>

199 {/* min-version: 2.1.172 */}À partir de Claude Code v2.1.172, les sous-agents peuvent créer leurs propres sous-agents. Un sous-agent de fond cinq niveaux en dessous de l'agent principal ne peut pas créer d'autres sous-agents, indépendamment du fait qu'il s'exécute au premier plan ou en arrière-plan. Pour empêcher un sous-agent de créer d'autres agents, omettez `Agent` de son tableau `tools` ou ajoutez-le à `disallowedTools`. Voir [sous-agents imbriqués](/fr/sub-agents#spawn-nested-subagents) pour les règles de profondeur complètes.201 {/* min-version: 2.1.172 */}À partir de Claude Code v2.1.172, les sous-agents peuvent créer leurs propres sous-agents. Un sous-agent de fond cinq niveaux en dessous de l'agent principal ne peut pas créer d'autres sous-agents, indépendamment du fait qu'il s'exécute au premier plan ou en arrière-plan. Pour empêcher un sous-agent de créer d'autres agents, omettez `Agent` de son tableau `tools` ou ajoutez-le à `disallowedTools`. Voir [sous-agents imbriqués](/fr/sub-agents#spawn-nested-subagents) pour les règles de profondeur complètes.


469 session_id = None471 session_id = None

470 472 

471 # First invocation - run the endpoint-finder subagent473 # First invocation - run the endpoint-finder subagent

474 try:

472 async for message in query(475 async for message in query(

473 prompt="Use the endpoint-finder agent to find all API endpoints in this codebase",476 prompt="Use the endpoint-finder agent to find all API endpoints in this codebase",

474 options=ClaudeAgentOptions(allowed_tools=["Read", "Grep", "Glob", "Agent"], agents=AGENTS),477 options=ClaudeAgentOptions(allowed_tools=["Read", "Grep", "Glob", "Agent"], agents=AGENTS),


483 # Print the final result486 # Print the final result

484 if hasattr(message, "result"):487 if hasattr(message, "result"):

485 print(message.result)488 print(message.result)

489 except Exception as error:

490 # A single-shot query() raises after yielding an error result,

491 # so session_id and agent_id have already been captured by the loop above.

492 print(f"Session ended with an error: {error}")

486 493 

487 # Second invocation - resume and ask follow-up494 # Second invocation - resume and ask follow-up

488 if agent_id and session_id:495 if agent_id and session_id:


494 ):501 ):

495 if hasattr(message, "result"):502 if hasattr(message, "result"):

496 print(message.result)503 print(message.result)

504 else:

505 print("No agentId found in the first query, so there is no subagent to resume.")

497 506 

498 507 

499 asyncio.run(main())508 asyncio.run(main())


522 let sessionId: string | undefined;531 let sessionId: string | undefined;

523 532 

524 // First invocation - run the endpoint-finder subagent533 // First invocation - run the endpoint-finder subagent

534 try {

525 for await (const message of query({535 for await (const message of query({

526 prompt: "Use the endpoint-finder agent to find all API endpoints in this codebase",536 prompt: "Use the endpoint-finder agent to find all API endpoints in this codebase",

527 options: { allowedTools: ["Read", "Grep", "Glob", "Agent"], agents }537 options: { allowedTools: ["Read", "Grep", "Glob", "Agent"], agents }


534 // Print the final result544 // Print the final result

535 if ("result" in message) console.log(message.result);545 if ("result" in message) console.log(message.result);

536 }546 }

547 } catch (error) {

548 // A single-shot query() throws after yielding an error result,

549 // so sessionId and agentId have already been captured by the loop above.

550 console.error(`Session ended with an error: ${error}`);

551 }

537 552 

538 // Second invocation - resume and ask follow-up553 // Second invocation - resume and ask follow-up

539 if (agentId && sessionId) {554 if (agentId && sessionId) {


543 })) {558 })) {

544 if ("result" in message) console.log(message.result);559 if ("result" in message) console.log(message.result);

545 }560 }

561 } else {

562 console.log("No agentId found in the first query, so there is no subagent to resume.");

546 }563 }

547 ```564 ```

548</CodeGroup>565</CodeGroup>

Details

475| `allowDangerouslySkipPermissions` | `boolean` | `false` | Activer le contournement des permissions. Requis lors de l'utilisation de `permissionMode: 'bypassPermissions'` |475| `allowDangerouslySkipPermissions` | `boolean` | `false` | Activer le contournement des permissions. Requis lors de l'utilisation de `permissionMode: 'bypassPermissions'` |

476| `allowedTools` | `string[]` | `[]` | Outils à approuver automatiquement sans demander. Cela ne restreint pas Claude à seulement ces outils ; les outils non répertoriés passent à `permissionMode` et `canUseTool`. Utilisez `disallowedTools` pour bloquer les outils. Voir [Permissions](/fr/agent-sdk/permissions#allow-and-deny-rules) |476| `allowedTools` | `string[]` | `[]` | Outils à approuver automatiquement sans demander. Cela ne restreint pas Claude à seulement ces outils ; les outils non répertoriés passent à `permissionMode` et `canUseTool`. Utilisez `disallowedTools` pour bloquer les outils. Voir [Permissions](/fr/agent-sdk/permissions#allow-and-deny-rules) |

477| `betas` | [`SdkBeta`](#sdkbeta)`[]` | `[]` | Activer les fonctionnalités bêta |477| `betas` | [`SdkBeta`](#sdkbeta)`[]` | `[]` | Activer les fonctionnalités bêta |

478| `canUseTool` | [`CanUseTool`](#canusetool) | `undefined` | Fonction de permission personnalisée pour l'utilisation des outils |478| `canUseTool` | [`CanUseTool`](#canusetool) | `undefined` | Fonction de permission personnalisée, invoquée uniquement quand le [flux de permission](/fr/agent-sdk/permissions#how-permissions-are-evaluated) se termine par une invite. Non invoquée pour les appels pré-approuvés par `allowedTools`, les règles d'autorisation, ou `permissionMode`. Voir [`CanUseTool`](#canusetool) pour les détails |

479| `continue` | `boolean` | `false` | Continuer la conversation la plus récente |479| `continue` | `boolean` | `false` | Continuer la conversation la plus récente |

480| `cwd` | `string` | `process.cwd()` | Répertoire de travail actuel |480| `cwd` | `string` | `process.cwd()` | Répertoire de travail actuel |

481| `debug` | `boolean` | `false` | Activer le mode débogage pour le processus Claude Code |481| `debug` | `boolean` | `false` | Activer le mode débogage pour le processus Claude Code |


553* `API_TIMEOUT_MS` : délai d'expiration par requête sur le client Anthropic, en millisecondes. Par défaut `600000`. S'applique à la boucle principale et à tous les sous-agents.553* `API_TIMEOUT_MS` : délai d'expiration par requête sur le client Anthropic, en millisecondes. Par défaut `600000`. S'applique à la boucle principale et à tous les sous-agents.

554* `CLAUDE_CODE_MAX_RETRIES` : tentatives API maximales. Par défaut `10`, limité à `15`. Chaque tentative obtient sa propre fenêtre `API_TIMEOUT_MS`, donc le pire cas de temps mural est approximativement `API_TIMEOUT_MS × (CLAUDE_CODE_MAX_RETRIES + 1)` plus le backoff. Pour les exécutions sans surveillance qui doivent attendre des pannes plus longues, définissez `CLAUDE_CODE_RETRY_WATCHDOG=1` pour réessayer les erreurs de capacité indéfiniment.554* `CLAUDE_CODE_MAX_RETRIES` : tentatives API maximales. Par défaut `10`, limité à `15`. Chaque tentative obtient sa propre fenêtre `API_TIMEOUT_MS`, donc le pire cas de temps mural est approximativement `API_TIMEOUT_MS × (CLAUDE_CODE_MAX_RETRIES + 1)` plus le backoff. Pour les exécutions sans surveillance qui doivent attendre des pannes plus longues, définissez `CLAUDE_CODE_RETRY_WATCHDOG=1` pour réessayer les erreurs de capacité indéfiniment.

555* `CLAUDE_ASYNC_AGENT_STALL_TIMEOUT_MS` : chien de garde de blocage pour les sous-agents lancés avec `run_in_background`. Par défaut `600000`. Réinitialise à chaque événement de flux ; en cas de blocage, il abandonne le sous-agent, marque la tâche comme échouée et expose l'erreur au parent avec tout résultat partiel. Ne s'applique pas aux sous-agents synchrones.555* `CLAUDE_ASYNC_AGENT_STALL_TIMEOUT_MS` : chien de garde de blocage pour les sous-agents lancés avec `run_in_background`. Par défaut `600000`. Réinitialise à chaque événement de flux ; en cas de blocage, il abandonne le sous-agent, marque la tâche comme échouée et expose l'erreur au parent avec tout résultat partiel. Ne s'applique pas aux sous-agents synchrones.

556* `CLAUDE_ENABLE_STREAM_WATCHDOG=1` avec `CLAUDE_STREAM_IDLE_TIMEOUT_MS` : abandonne la requête quand les en-têtes sont arrivés mais que le corps de la réponse cesse de diffuser. Quand `CLAUDE_ENABLE_STREAM_WATCHDOG` n'est pas défini, la valeur par défaut est contrôlée par le serveur sur l'API Anthropic directe et désactivée sur les autres fournisseurs. `CLAUDE_STREAM_IDLE_TIMEOUT_MS` par défaut à `300000` et est limité à ce minimum. La requête abandonnée passe par le chemin de tentative normal.556* `CLAUDE_ENABLE_STREAM_WATCHDOG` avec `CLAUDE_STREAM_IDLE_TIMEOUT_MS` : abandonne la requête quand les en-têtes sont arrivés mais que le corps de la réponse cesse de diffuser. Le chien de garde est activé par défaut pour tous les fournisseurs ; définissez `CLAUDE_ENABLE_STREAM_WATCHDOG=0` pour le désactiver. `CLAUDE_STREAM_IDLE_TIMEOUT_MS` par défaut à `300000` et est limité à ce minimum. La requête abandonnée passe par le chemin de tentative normal.

557 557 

558<h3 id="query-object">558<h3 id="query-object">

559 Objet `Query`559 Objet `Query`


573 setMaxThinkingTokens(maxThinkingTokens: number | null): Promise<void>;573 setMaxThinkingTokens(maxThinkingTokens: number | null): Promise<void>;

574 applyFlagSettings(settings: { [K in keyof Settings]?: Settings[K] | null }): Promise<void>;574 applyFlagSettings(settings: { [K in keyof Settings]?: Settings[K] | null }): Promise<void>;

575 initializationResult(): Promise<SDKControlInitializeResponse>;575 initializationResult(): Promise<SDKControlInitializeResponse>;

576 reinitialize(): Promise<SDKControlInitializeResponse>;

576 supportedCommands(): Promise<SlashCommand[]>;577 supportedCommands(): Promise<SlashCommand[]>;

577 supportedModels(): Promise<ModelInfo[]>;578 supportedModels(): Promise<ModelInfo[]>;

578 supportedAgents(): Promise<AgentInfo[]>;579 supportedAgents(): Promise<AgentInfo[]>;


592</h4>593</h4>

593 594 

594| Méthode | Description |595| Méthode | Description |

595| :------------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |596| :------------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

596| `interrupt()` | Interrompt la requête (disponible uniquement en mode d'entrée en diffusion) |597| `interrupt()` | Interrompt la requête (disponible uniquement en mode d'entrée en diffusion) |

597| `rewindFiles(userMessageId, options?)` | Restaure les fichiers à leur état au message utilisateur spécifié. Passez `{ dryRun: true }` pour prévisualiser les modifications. Nécessite `enableFileCheckpointing: true`. Voir [Sauvegarde de fichiers](/fr/agent-sdk/file-checkpointing) |598| `rewindFiles(userMessageId, options?)` | Restaure les fichiers à leur état au message utilisateur spécifié. Passez `{ dryRun: true }` pour prévisualiser les modifications. Nécessite `enableFileCheckpointing: true`. Voir [Sauvegarde de fichiers](/fr/agent-sdk/file-checkpointing) |

598| `setPermissionMode()` | Change le mode de permission (disponible uniquement en mode d'entrée en diffusion) |599| `setPermissionMode()` | Change le mode de permission (disponible uniquement en mode d'entrée en diffusion) |


600| `setMaxThinkingTokens()` | *Déprécié :* Utilisez l'option `thinking` à la place. Change les tokens de réflexion maximum |601| `setMaxThinkingTokens()` | *Déprécié :* Utilisez l'option `thinking` à la place. Change les tokens de réflexion maximum |

601| `applyFlagSettings(settings)` | Fusionne les paramètres dans la couche de paramètres d'indicateur de la session à l'exécution (disponible uniquement en mode d'entrée en diffusion). Voir [`applyFlagSettings()`](#applyflagsettings) |602| `applyFlagSettings(settings)` | Fusionne les paramètres dans la couche de paramètres d'indicateur de la session à l'exécution (disponible uniquement en mode d'entrée en diffusion). Voir [`applyFlagSettings()`](#applyflagsettings) |

602| `initializationResult()` | Retourne le résultat d'initialisation complet incluant les commandes prises en charge, les modèles, les informations de compte et la configuration du style de sortie |603| `initializationResult()` | Retourne le résultat d'initialisation complet incluant les commandes prises en charge, les modèles, les informations de compte et la configuration du style de sortie |

604| `reinitialize()` | {/* min-version: 2.1.195 */}Renvoie la demande de contrôle `initialize` au CLI en cours d'exécution et retourne un résultat frais au lieu du résultat de première connexion mis en cache. Utilisez-le après une interruption de transport, comme se reconnecter à une session après une déconnexion, pour que les demandes de permission en attente atteignent à nouveau votre rappel `canUseTool`. Rendez le rappel idempotent par ID de requête, car une requête dont la réponse a été perdue est distribuée à nouveau. Nécessite Claude Code v2.1.195 ou ultérieur |

603| `supportedCommands()` | Retourne les commandes slash disponibles |605| `supportedCommands()` | Retourne les commandes slash disponibles |

604| `supportedModels()` | Retourne les modèles disponibles avec les informations d'affichage |606| `supportedModels()` | Retourne les modèles disponibles avec les informations d'affichage |

605| `supportedAgents()` | Retourne les sous-agents disponibles en tant que [`AgentInfo`](#agentinfo)`[]` |607| `supportedAgents()` | Retourne les sous-agents disponibles en tant que [`AgentInfo`](#agentinfo)`[]` |


689 691 

690Quand un client envoie `initialize` à une session qui est déjà en cours d'exécution, le wrapper de réponse de contrôle porte également un tableau `pending_permission_requests` optionnel. Le champ se trouve sur le wrapper de réponse lui-même, pas dans la charge utile `SDKControlInitializeResponse` ci-dessus. Chaque entrée est un message `control_request` complet avec la même forme `{ type: "control_request", request_id, request }` que la session diffuse pour les demandes de permission lors de l'exécution.692Quand un client envoie `initialize` à une session qui est déjà en cours d'exécution, le wrapper de réponse de contrôle porte également un tableau `pending_permission_requests` optionnel. Le champ se trouve sur le wrapper de réponse lui-même, pas dans la charge utile `SDKControlInitializeResponse` ci-dessus. Chaque entrée est un message `control_request` complet avec la même forme `{ type: "control_request", request_id, request }` que la session diffuse pour les demandes de permission lors de l'exécution.

691 693 

692Ce sont des demandes qui ont été émises avant que le client se connecte et attendent toujours une réponse, donc lisez ce tableau pour afficher immédiatement les invites de permission en vol ; elles ne seront pas renvoyées.694Ce sont des demandes qui ont été émises avant que le client se connecte et attendent toujours une réponse. Le SDK lit le tableau pour vous et distribue chaque entrée à votre rappel [`canUseTool`](#canusetool), la même redistribution que [`reinitialize()`](#query-object) déclenche après une interruption de transport. Gérez les ID de requête répétés de manière idempotente, car une entrée peut répéter une requête que le rappel a déjà reçue avant que la connexion ne soit interrompue.

693 695 

694<h3 id="agentdefinition">696<h3 id="agentdefinition">

695 `AgentDefinition`697 `AgentDefinition`


886 888 

887Type de fonction de permission personnalisée pour contrôler l'utilisation des outils.889Type de fonction de permission personnalisée pour contrôler l'utilisation des outils.

888 890 

891La fonction est le remplacement SDK pour l'invite de permission interactive : elle est invoquée uniquement quand le [flux d'évaluation de permission](/fr/agent-sdk/permissions#how-permissions-are-evaluated) se termine par une invite. Les appels d'outils déjà approuvés par une entrée `allowedTools`, une règle d'autorisation de paramètres, ou le mode de permission, comme `acceptEdits` ou `bypassPermissions`, ne l'invoquent jamais. Pour contrôler chaque appel d'outil, utilisez un [hook `PreToolUse`](/fr/agent-sdk/hooks) à la place.

892 

889```typescript theme={null}893```typescript theme={null}

890type CanUseTool = (894type CanUseTool = (

891 toolName: string,895 toolName: string,


1531 session_id: string;1535 session_id: string;

1532 transcript_path: string;1536 transcript_path: string;

1533 cwd: string;1537 cwd: string;

1538 prompt_id?: string;

1534 permission_mode?: string;1539 permission_mode?: string;

1535 effort?: { level: string };1540 effort?: { level: string };

1536 agent_id?: string;1541 agent_id?: string;


1538};1543};

1539```1544```

1540 1545 

1546Le champ `prompt_id` est un UUID identifiant l'invite utilisateur actuellement traitée. Il correspond à l'[attribut `prompt.id` sur les événements OpenTelemetry](/fr/monitoring-usage#event-correlation-attributes) et est absent jusqu'à la première entrée utilisateur. Nécessite Claude Code v2.1.196 ou ultérieur.

1547 

1541<h4 id="pretoolusehookinput">1548<h4 id="pretoolusehookinput">

1542 `PreToolUseHookInput`1549 `PreToolUseHookInput`

1543</h4>1550</h4>


2037 2044 

2038```typescript theme={null}2045```typescript theme={null}

2039type MonitorInput = {2046type MonitorInput = {

2040 command: string;2047 command?: string;

2048 ws?: {

2049 url: string;

2050 protocols?: string[];

2051 };

2041 description: string;2052 description: string;

2042 timeout_ms?: number;2053 timeout_ms?: number;

2043 persistent?: boolean;2054 persistent?: boolean;

2044};2055};

2045```2056```

2046 2057 

2047Exécute un script de fond et livre chaque ligne stdout à Claude en tant qu'événement pour qu'il puisse réagir sans interrogation. Définissez `persistent: true` pour les montres de longueur de session telles que les queues de journal. Monitor suit les mêmes règles de permission que Bash. Voir la [référence de l'outil Monitor](/fr/tools-reference#monitor-tool) pour le comportement et la disponibilité du fournisseur.2058Exécute une source de fond et livre chaque événement à Claude pour qu'il puisse réagir sans interrogation : `command` exécute un script et émet un événement par ligne stdout, et `ws` ouvre une WebSocket et émet un événement par trame texte. Fournissez exactement l'un de `command` ou `ws`. {/* min-version: 2.1.195 */}La source `ws` nécessite Claude Code v2.1.195 ou version ultérieure.

2059 

2060Définissez `persistent: true` pour les montres de longueur de session telles que les queues de journal. Lorsque Monitor exécute une commande, il suit les mêmes règles de permission que Bash ; une montre WebSocket demande une approbation séparément. Voir la [référence de l'outil Monitor](/fr/tools-reference#monitor-tool) pour le comportement et la disponibilité du fournisseur.

2048 2061 

2049<h3 id="taskoutput">2062<h3 id="taskoutput">

2050 TaskOutput2063 TaskOutput


2236Exécute un [flux de travail dynamique](/fr/workflows) : un script qui orchestre de nombreux sous-agents en arrière-plan et retourne un résultat consolidé. L'outil `Workflow` est disponible dans Agent SDK v0.3.149 et versions ultérieures. Au moins l'un de `script`, `name` ou `scriptPath` est requis.2249Exécute un [flux de travail dynamique](/fr/workflows) : un script qui orchestre de nombreux sous-agents en arrière-plan et retourne un résultat consolidé. L'outil `Workflow` est disponible dans Agent SDK v0.3.149 et versions ultérieures. Au moins l'un de `script`, `name` ou `scriptPath` est requis.

2237 2250 

2238| Champ | Type | Description |2251| Champ | Type | Description |

2239| ----------------- | --------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |2252| ----------------- | --------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

2240| `script` | `string` | Script de flux de travail en ligne. Doit commencer par `export const meta = { name, description, phases }` comme littéral, suivi du corps du script utilisant `agent()`, `parallel()`, `pipeline()` et `phase()` |2253| `script` | `string` | Script de flux de travail en ligne. Doit commencer par `export const meta = { name, description }` comme littéral, suivi du corps du script utilisant `agent()`, `parallel()`, `pipeline()` et `phase()`. Un tableau `phases` optionnel dans `meta` regroupe les agents sous des étapes nommées dans la vue de progression |

2241| `name` | `string` | Nom d'un flux de travail intégré ou d'un flux de travail enregistré dans `.claude/workflows/`. Résolu en script |2254| `name` | `string` | Nom d'un flux de travail intégré ou d'un flux de travail enregistré dans `.claude/workflows/`. Résolu en script |

2242| `scriptPath` | `string` | Chemin vers un fichier de script de flux de travail sur le disque. Prend la priorité sur `script` et `name`. Chaque invocation persiste son script et retourne le chemin dans le résultat, afin que vous puissiez éditer ce fichier et réinvoquer avec le même `scriptPath` pour itérer |2255| `scriptPath` | `string` | Chemin vers un fichier de script de flux de travail sur le disque. Prend la priorité sur `script` et `name`. Chaque invocation persiste son script et retourne le chemin dans le résultat, afin que vous puissiez éditer ce fichier et réinvoquer avec le même `scriptPath` pour itérer |

2243| `args` | `unknown` | Valeur d'entrée exposée au script en tant que `args` global, pour les flux de travail nommés paramétrés tels qu'une question de recherche ou une liste de chemins de fichiers. Passez les tableaux et les objets comme des valeurs JSON réelles, pas comme une chaîne codée en JSON |2256| `args` | `unknown` | Valeur d'entrée exposée au script en tant que `args` global, pour les flux de travail nommés paramétrés tels qu'une question de recherche ou une liste de chemins de fichiers. Passez les tableaux et les objets comme des valeurs JSON réelles, pas comme une chaîne codée en JSON |


3098```3111```

3099 3112 

3100<Warning>3113<Warning>

3101 La bêta `context-1m-2025-08-07` est retirée à partir du 30 avril 2026. Passer cette valeur avec Claude Sonnet 4.5 ou Sonnet 4 n'a aucun effet, et les demandes qui dépassent la fenêtre de contexte standard de 200 k tokens retournent une erreur. Pour utiliser une fenêtre de contexte de 1 M tokens, migrez vers [Claude Sonnet 4.6, Claude Opus 4.6, Claude Opus 4.7 ou Claude Opus 4.8](https://platform.claude.com/docs/fr/about-claude/models/overview), qui incluent 1 M de contexte à prix standard sans en-tête bêta requis.3114 La bêta `context-1m-2025-08-07` est retirée à partir du 30 avril 2026. Passer cette valeur avec Claude Sonnet 4.5 ou Sonnet 4 n'a aucun effet, et les demandes qui dépassent la fenêtre de contexte standard de 200 k tokens retournent une erreur. Pour utiliser une fenêtre de contexte de 1 M tokens, migrez vers [Claude Sonnet 5, Claude Sonnet 4.6, Claude Opus 4.6, Claude Opus 4.7 ou Claude Opus 4.8](https://platform.claude.com/docs/fr/about-claude/models/overview), qui incluent 1 M de contexte à prix standard sans en-tête bêta requis.

3102</Warning>3115</Warning>

3103 3116 

3104<h3 id="slashcommand">3117<h3 id="slashcommand">

Details

44 44 

45Le callback se déclenche dans deux cas :45Le callback se déclenche dans deux cas :

46 46 

471. **L'outil a besoin d'approbation** : Claude veut utiliser un outil qui n'est pas auto-approuvé par les [règles de permission](/fr/agent-sdk/permissions) ou les modes. Vérifiez `tool_name` pour l'outil (par exemple, `"Bash"`, `"Write"`).471. **L'outil a besoin d'approbation** : Claude veut utiliser un outil qui n'est pas auto-approuvé par une [règle de permission](/fr/agent-sdk/permissions) ou un mode de permission. Vérifiez `tool_name` pour l'outil (par exemple, `"Bash"`, `"Write"`).

482. **Claude pose une question** : Claude appelle l'outil `AskUserQuestion`. Vérifiez si `tool_name == "AskUserQuestion"` pour le gérer différemment. Si vous spécifiez un tableau `tools`, incluez `AskUserQuestion` pour que cela fonctionne. Voir [Gérer les questions de clarification](#handle-clarifying-questions) pour plus de détails.482. **Claude pose une question** : Claude appelle l'outil `AskUserQuestion`. Vérifiez si `tool_name == "AskUserQuestion"` pour le gérer différemment. Si vous spécifiez un tableau `tools`, incluez `AskUserQuestion` pour que cela fonctionne. Voir [Gérer les questions de clarification](#handle-clarifying-questions) pour plus de détails.

49 49 

50<Note>50<Warning>

51 Pour autoriser ou refuser automatiquement les outils sans inviter les utilisateurs, utilisez plutôt les [hooks](/fr/agent-sdk/hooks). Les hooks s'exécutent avant `canUseTool` et peuvent autoriser, refuser ou modifier les demandes en fonction de votre propre logique. Vous pouvez également utiliser le [hook `PermissionRequest`](/fr/agent-sdk/hooks#available-hooks) pour envoyer des notifications externes (Slack, email, push) lorsque Claude attend une approbation.51 **Le callback ne se déclenche jamais pour les outils auto-approuvés.** Toute approbation antérieure dans le [flux d'évaluation des permissions](/fr/agent-sdk/permissions#how-permissions-are-evaluated), une règle d'autorisation ou un mode comme `acceptEdits` ou `bypassPermissions`, résout l'appel avant que `canUseTool` soit consulté. Si vous listez un outil seul dans `allowed_tools`, une vérification `canUseTool` pour cet outil ne s'exécute jamais sauf si une règle d'ask ou le mode `plan` redirige l'appel vers une invite. Pour une logique qui doit s'appliquer à chaque appel d'outil, utilisez un [hook `PreToolUse`](/fr/agent-sdk/hooks), qui s'exécute avant le reste du flux et peut autoriser, refuser ou modifier les demandes.

52</Note>52</Warning>

53 

54Vous pouvez également utiliser le [hook `PermissionRequest`](/fr/agent-sdk/hooks#available-hooks) pour envoyer des notifications externes (Slack, email, push) quand Claude attend une approbation.

53 55 

54<h2 id="handle-tool-approval-requests">56<h2 id="handle-tool-approval-requests">

55 Gérer les demandes d'approbation d'outil57 Gérer les demandes d'approbation d'outil

56</h2>58</h2>

57 59 

58Une fois que vous avez passé un callback `canUseTool` dans vos options de requête, il se déclenche lorsque Claude veut utiliser un outil qui n'est pas auto-approuvé. Votre callback reçoit trois arguments :60Une fois que vous avez passé un callback `canUseTool` dans vos options de requête, il se déclenche lorsque Claude veut utiliser un outil qu'aucun élément antérieur du flux de permission n'a approuvé. Votre callback reçoit trois arguments :

59 61 

60| Argument | Description |62| Argument | Description |

61| ----------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |63| ----------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

agent-view.md +65 −37

Details

76 76 

77Exécutez `claude agents` pour ouvrir la vue agent. Elle prend le contrôle du terminal complet et répertorie chaque session groupée par état, avec les sessions épinglées et celles qui ont besoin de vous en haut. Chaque ligne affiche le nom de la session, l'activité actuelle, et depuis combien de temps elle a changé pour la dernière fois.77Exécutez `claude agents` pour ouvrir la vue agent. Elle prend le contrôle du terminal complet et répertorie chaque session groupée par état, avec les sessions épinglées et celles qui ont besoin de vous en haut. Chaque ligne affiche le nom de la session, l'activité actuelle, et depuis combien de temps elle a changé pour la dernière fois.

78 78 

79Par défaut, la liste affiche chaque session en arrière-plan que vous avez démarrée, dans tous vos projets. Une session travaillant dans un référentiel et une autre dans une worktree différente apparaissent toutes les deux ici, quel que soit le répertoire à partir duquel vous avez ouvert la vue agent. Pour limiter la liste à un projet, passez `--cwd` (nécessite Claude Code v2.1.141 ou ultérieur) :79Par défaut, la liste affiche chaque session en arrière-plan que vous avez démarrée, dans tous vos projets. Une session travaillant dans un référentiel et une autre dans une worktree différente apparaissent toutes les deux ici, quel que soit le répertoire à partir duquel vous avez ouvert la vue agent. Pour limiter la liste à un projet, passez `--cwd` :

80 80 

81```bash theme={null}81```bash theme={null}

82claude agents --cwd ~/projects/my-app82claude agents --cwd ~/projects/my-app


143 143 

144Le résumé d'une ligne dans chaque ligne est généré par un [modèle de classe Haiku](/fr/model-config) afin que la ligne puisse vous dire ce que la session fait, ce qu'elle a besoin, ou ce qu'elle a produit sans ouvrir la transcription. Pendant qu'une session fonctionne activement, le résumé s'actualise au maximum une fois toutes les 15 secondes, plus une fois quand chaque tour se termine.144Le résumé d'une ligne dans chaque ligne est généré par un [modèle de classe Haiku](/fr/model-config) afin que la ligne puisse vous dire ce que la session fait, ce qu'elle a besoin, ou ce qu'elle a produit sans ouvrir la transcription. Pendant qu'une session fonctionne activement, le résumé s'actualise au maximum une fois toutes les 15 secondes, plus une fois quand chaque tour se termine.

145 145 

146À partir de v2.1.161, quand la session exécute deux ou plusieurs éléments de travail parallèles, comme des sous-agents, des commandes shell en arrière-plan, ou des moniteurs, un nombre `done/total` comme `2/5` apparaît avant le texte du résumé.146Quand la session exécute deux ou plusieurs éléments de travail parallèles, comme des sous-agents, des commandes shell en arrière-plan, ou des moniteurs, un nombre `done/total` comme `2/5` apparaît avant le texte du résumé.

147 147 

148Chaque actualisation est une courte demande de classe Haiku via votre fournisseur normal, facturée et traitée selon les mêmes [conditions d'utilisation des données](/fr/data-usage) que la session elle-même. Sur les fournisseurs tiers tels que Bedrock, Vertex AI, Microsoft Foundry, et les passerelles personnalisées, la demande revient au modèle principal de la session quand aucun modèle Haiku n'est configuré. Définissez [`ANTHROPIC_DEFAULT_HAIKU_MODEL`](/fr/model-config#environment-variables) pour choisir le modèle pour ces résumés sur ces fournisseurs.148Chaque actualisation est une courte demande de classe Haiku via votre fournisseur normal, facturée et traitée selon les mêmes [conditions d'utilisation des données](/fr/data-usage) que la session elle-même. Sur les fournisseurs tiers tels que Bedrock, Vertex AI, Microsoft Foundry, et les passerelles personnalisées, la demande revient au modèle principal de la session quand aucun modèle Haiku n'est configuré. Définissez [`ANTHROPIC_DEFAULT_HAIKU_MODEL`](/fr/model-config#environment-variables) pour choisir le modèle pour ces résumés sur ces fournisseurs.

149 149 


172 172 

173Appuyez sur `Espace` sur une ligne sélectionnée pour ouvrir le panneau d'aperçu. Il affiche ce que la session a besoin de vous, sa sortie la plus récente, et toutes les pull requests qu'elle a ouvertes. La plupart du temps, c'est suffisant, et vous n'avez jamais besoin d'ouvrir la transcription complète.173Appuyez sur `Espace` sur une ligne sélectionnée pour ouvrir le panneau d'aperçu. Il affiche ce que la session a besoin de vous, sa sortie la plus récente, et toutes les pull requests qu'elle a ouvertes. La plupart du temps, c'est suffisant, et vous n'avez jamais besoin d'ouvrir la transcription complète.

174 174 

175À partir de v2.1.161, quand la session exécute des éléments de travail parallèles, le panneau nomme également le plus long en cours d'exécution et depuis combien de temps il s'exécute, afin que vous puissiez voir ce que la session attend sans vous attacher.175Quand la session exécute des éléments de travail parallèles, le panneau nomme également le plus long en cours d'exécution et depuis combien de temps il s'exécute, afin que vous puissiez voir ce que la session attend sans vous attacher.

176 176 

177Tapez une réponse dans le panneau d'aperçu et appuyez sur `Entrée` pour l'envoyer à cette session. Quand la session pose une question à choix multiples, le panneau d'aperçu affiche les options et vous pouvez appuyer sur une touche numérique pour en choisir une. Pour les autres sessions bloquées, appuyez sur `Tab` pour remplir l'entrée avec une réponse suggérée que vous pouvez modifier avant d'envoyer. Préfixez une réponse avec `!` pour envoyer une commande Bash à la place.177Tapez une réponse dans le panneau d'aperçu et appuyez sur `Entrée` pour l'envoyer à cette session. Quand la session pose une question à choix multiples, le panneau d'aperçu affiche les options et vous pouvez appuyer sur une touche numérique pour en choisir une. Pour les autres sessions bloquées, appuyez sur `Tab` pour remplir l'entrée avec une réponse suggérée que vous pouvez modifier avant d'envoyer. Préfixez une réponse avec `!` pour envoyer une commande Bash à la place.

178 178 

179À partir de v2.1.145, avec la [dictée vocale](/fr/voice-dictation) activée, maintenez ou appuyez sur votre touche push-to-talk pendant que l'entrée de réponse est active pour dicter une réponse au lieu de la taper. La même chose fonctionne dans l'entrée de lancement en bas de la vue agent.179Avec la [dictée vocale](/fr/voice-dictation) activée, maintenez ou appuyez sur votre touche push-to-talk pendant que l'entrée de réponse est active pour dicter une réponse au lieu de la taper. La même chose fonctionne dans l'entrée de lancement en bas de la vue agent.

180 180 

181Utilisez `↑` et `↓` pour apercevoir les sessions adjacentes sans fermer le panneau, ou `→` pour vous attacher.181Utilisez `↑` et `↓` pour apercevoir les sessions adjacentes sans fermer le panneau, ou `→` pour vous attacher.

182 182 


196 196 

197Se détacher n'arrête jamais une session en arrière-plan : `←`, `Ctrl+Z`, `/exit`, et double `Ctrl+C` ou double `Ctrl+D` la laissent toutes s'exécuter. Pour terminer une session depuis l'intérieur, exécutez `/stop`.197Se détacher n'arrête jamais une session en arrière-plan : `←`, `Ctrl+Z`, `/exit`, et double `Ctrl+C` ou double `Ctrl+D` la laissent toutes s'exécuter. Pour terminer une session depuis l'intérieur, exécutez `/stop`.

198 198 

199Appuyer sur `←` sur une invite vide fonctionne à partir de n'importe quelle session Claude Code, pas seulement celles auxquelles vous vous êtes attaché à partir de la vue agent. Elle met en arrière-plan la session actuelle et ouvre la vue agent avec cette ligne sélectionnée, vous pouvez donc basculer entre les sessions sans quitter le terminal. La ligne est créée même à partir d'une session nouvelle sans historique de conversation, donc `→` y revient. Quand cette ligne est la seule, la vue agent affiche un indice d'intégration en dessous. Vous pouvez désactiver ce raccourci dans `/config` (le paramètre `leftArrowOpensAgents`).199Dans une session s'exécutant au premier plan, une que vous avez démarrée dans le terminal plutôt que de vous y attacher à partir de la vue agent, appuyer sur `←` sur une invite vide la met en arrière-plan et ouvre la vue agent avec cette ligne sélectionnée, vous pouvez donc basculer entre les sessions sans quitter le terminal. La même pression unique détache une session attachée.

200 

201Si un outil s'exécute quand vous appuyez sur `←`, Claude Code attend jusqu'à environ dix secondes pour qu'il se termine avant de mettre en arrière-plan, et la réponse continue dans la session en arrière-plan. Appuyez sur `←` à nouveau pour mettre en arrière-plan immédiatement au lieu d'attendre. Quand le travail en cours ne peut pas se transférer à la session en arrière-plan, la boîte de dialogue `Background this session?` apparaît d'abord, la même que avec [`/background`](#from-inside-a-session).

202 

203La ligne est créée même à partir d'une session nouvelle sans historique de conversation, donc `→` y revient. Quand cette ligne est la seule, la vue agent affiche un indice d'intégration en dessous.

204 

205Vous pouvez désactiver ce raccourci avec le paramètre `leftArrowOpensAgents` dans `/config`.

200 206 

201<h3 id="organize-the-list">207<h3 id="organize-the-list">

202 Organiser la liste208 Organiser la liste

203</h3>209</h3>

204 210 

205La vue agent groupe les sessions afin que celles qui ont besoin d'une intervention soient en haut, avec `Prêtes pour examen` et `Nécessite une intervention` au-dessus de `En cours` et `Terminées`. Ces noms de groupe ne correspondent pas un-à-un aux [états](#read-session-state) ci-dessus : une session se déplace vers `Prêtes pour examen` quand elle a une pull request ouverte, et `Terminées` collecte les sessions terminées, échouées et arrêtées ensemble. Appuyez sur `Ctrl+S` pour grouper par répertoire à la place. Votre choix persiste entre les exécutions.211La vue agent groupe les sessions afin que celles qui ont besoin d'une intervention soient en haut, avec `Prêtes pour examen` et `Nécessite une intervention` au-dessus de `En cours` et `Terminées`. Ces noms de groupe ne correspondent pas un-à-un aux [états](#read-session-state) ci-dessus : une session se déplace vers `Prêtes pour examen` quand elle a une pull request ouverte, et `Terminées` collecte les sessions terminées, échouées et arrêtées ensemble.

212 

213Appuyez sur `Ctrl+S` pour grouper par répertoire à la place. Votre choix persiste entre les exécutions.

206 214 

207Dans un groupe :215Dans un groupe :

208 216 


215 223 

216La suppression supprime la session de la vue agent. Si Claude a [créé une worktree](#how-file-edits-are-isolated) pour la session, la suppression supprime également cette worktree, y compris toutes les modifications non validées qu'elle contient, donc poussez ou validez le travail que vous voulez conserver en premier. Une worktree que vous avez créée vous-même et dans laquelle vous avez démarré la session est laissée en place. La transcription de conversation reste sur votre machine locale et reste disponible via `claude --resume`.224La suppression supprime la session de la vue agent. Si Claude a [créé une worktree](#how-file-edits-are-isolated) pour la session, la suppression supprime également cette worktree, y compris toutes les modifications non validées qu'elle contient, donc poussez ou validez le travail que vous voulez conserver en premier. Une worktree que vous avez créée vous-même et dans laquelle vous avez démarré la session est laissée en place. La transcription de conversation reste sur votre machine locale et reste disponible via `claude --resume`.

217 225 

218Les sessions terminées plus anciennes se replient dans une ligne `… N more` pour garder la liste courte. Les échecs et les sessions avec une pull request ouverte restent toujours visibles.226Les sessions terminées qui ne tiennent pas à l'écran se replient dans une ligne `… N more`. Les échecs et les sessions avec une pull request ouverte restent toujours visibles. Le groupe `Completed` remplit l'espace vertical restant après les groupes actifs, et sur un terminal court, l'en-tête se compacte en une seule ligne de résumé pour que les sessions qui fonctionnent ou ont besoin d'une intervention restent visibles.

219 227 

220<h3 id="filter-sessions">228<h3 id="filter-sessions">

221 Filtrer les sessions229 Filtrer les sessions


305 313 

306Exécutez `/background` ou son alias `/bg` pour déplacer la conversation actuelle dans une session en arrière-plan. Passez une invite comme `/bg run the test suite and fix any failures` pour donner une instruction supplémentaire d'abord. Si Claude répond quand vous exécutez `/bg`, la réponse continue dans la session en arrière-plan.314Exécutez `/background` ou son alias `/bg` pour déplacer la conversation actuelle dans une session en arrière-plan. Passez une invite comme `/bg run the test suite and fix any failures` pour donner une instruction supplémentaire d'abord. Si Claude répond quand vous exécutez `/bg`, la réponse continue dans la session en arrière-plan.

307 315 

308Mettre en arrière-plan à partir d'une session interactive démarre un processus nouveau qui reprend à partir de la conversation enregistrée, donc l'exécution de sous-agents, de [moniteurs](/fr/tools-reference#monitor-tool), et de commandes en arrière-plan ne se transfèrent pas à celui-ci. Claude vous demande de confirmer avant de mettre en arrière-plan quand l'un d'eux s'exécute. Une fois en arrière-plan, la session peut démarrer de nouveaux sous-agents, moniteurs, et commandes en arrière-plan, et ceux-ci continuent de s'exécuter lors des détachements et réattachements ultérieurs.316Mettre en arrière-plan à partir d'une session interactive démarre un processus nouveau qui reprend à partir de la conversation enregistrée, et le travail en cours se transfère à celui-ci : les commandes shell en arrière-plan en cours d'exécution, les sous-agents mis en arrière-plan, les workflows dynamiques, et les tâches planifiées que vous avez créées avec [`/loop`](/fr/scheduled-tasks) se transfèrent à la session en arrière-plan et continuent de s'exécuter là. Un sous-agent se déplace avec tout ce qu'il a démarré, donc il se transfère uniquement quand tout ce travail peut se transférer aussi, y compris sur Windows. Pour arrêter le travail en cours au lieu de le transférer, définissez la variable d'environnement [`CLAUDE_DISABLE_ADOPT=1`](/fr/env-vars#variables) ; Claude Code vous demande alors de confirmer avant de mettre en arrière-plan.

317 

318Le travail qui ne peut pas se transférer, comme un [monitor](/fr/tools-reference#monitor-tool) en cours d'exécution, est arrêté. Un sous-agent mis en arrière-plan qui possède un monitor est arrêté avec lui. Quand un tel travail s'exécute, Claude Code affiche une boîte de dialogue `Background this session?` pour que vous puissiez confirmer avant qu'il soit arrêté.

319 

320Une fois en arrière-plan, la session peut démarrer de nouveaux sous-agents, monitors, et commandes en arrière-plan, et ceux-ci continuent de s'exécuter lors des détachements et réattachements ultérieurs.

309 321 

310Les drapeaux de configuration de la session de lancement d'origine se reportent à la session mise en arrière-plan, donc ses serveurs MCP, paramètres et modèle de secours restent en vigueur :322Les drapeaux de configuration de la session de lancement d'origine se reportent à la session mise en arrière-plan, donc ses serveurs MCP, paramètres et modèle de secours restent en vigueur :

311 323 


394}406}

395```407```

396 408 

397<Note>

398 Le paramètre `worktree.bgIsolation` nécessite Claude Code v2.1.143 ou ultérieur.

399</Note>

400 

401En dehors d'un référentiel git, les sessions écrivent dans le répertoire de travail directement et ne sont pas isolées les unes des autres, donc évitez de lancer des sessions parallèles qui modifient les mêmes fichiers. Si vous utilisez un système de contrôle de version différent, configurez un hook [`WorktreeCreate`](/fr/worktrees#non-git-version-control) et Claude isole les modifications de la même manière qu'il le fait pour git.409En dehors d'un référentiel git, les sessions écrivent dans le répertoire de travail directement et ne sont pas isolées les unes des autres, donc évitez de lancer des sessions parallèles qui modifient les mêmes fichiers. Si vous utilisez un système de contrôle de version différent, configurez un hook [`WorktreeCreate`](/fr/worktrees#non-git-version-control) et Claude isole les modifications de la même manière qu'il le fait pour git.

402 410 

403Supprimer une session dans la vue agent (`Ctrl+X` deux fois) supprime une worktree que Claude a créée pour elle, y compris les modifications non validées, donc fusionnez ou poussez les modifications que vous voulez conserver d'abord. Supprimer depuis le shell avec [`claude rm`](#manage-sessions-from-the-shell) conserve une worktree qui a des modifications non validées et affiche son chemin pour que vous puissiez la nettoyer vous-même. Une worktree que vous avez créée vous-même et dans laquelle vous avez démarré la session est laissée en place de toute façon.411Supprimer une session dans la vue agent avec `Ctrl+X` deux fois supprime une worktree que Claude a créée pour elle, y compris les modifications non validées, donc fusionnez ou poussez les modifications que vous voulez conserver d'abord. Supprimer depuis le shell avec [`claude rm`](#manage-sessions-from-the-shell) conserve une worktree qui a des modifications non validées et affiche son chemin pour que vous puissiez la nettoyer vous-même. Une worktree que vous avez créée vous-même et dans laquelle vous avez démarré la session est laissée en place de toute façon.

404 412 

405Pour trouver le chemin de la worktree d'une session, jetez un œil à la session ou attachez-vous et vérifiez son répertoire de travail.413Pour trouver le chemin de la worktree d'une session, jetez un œil à la session ou attachez-vous et vérifiez son répertoire de travail.

406 414 


410 Définir le modèle418 Définir le modèle

411</h3>419</h3>

412 420 

413Le nom du modèle affiché dans l'en-tête de la vue agent est la valeur par défaut du lancement. Les nouvelles sessions que vous démarrez à partir de l'entrée utilisent ce modèle, qui provient du paramètre [`model`](/fr/settings#available-settings) dans vos paramètres utilisateur. Définissez-le en sélectionnant un modèle dans le sélecteur [`/model`](/fr/model-config), ou modifiez le paramètre directement. Pour le remplacer pour l'ensemble de la session de la vue agent, passez `--model` lors de l'ouverture de la vue agent. Voir [Mode de permission, modèle et effort](#permission-mode-model-and-effort).421Le nom du modèle affiché dans l'en-tête de la vue agent est la valeur par défaut du lancement. Les nouvelles sessions que vous démarrez à partir de l'entrée utilisent ce modèle, qui provient du paramètre [`model`](/fr/settings#available-settings) dans vos paramètres utilisateur. Définissez-le en sélectionnant un modèle dans le sélecteur [`/model`](/fr/model-config), ou modifiez le paramètre directement.

422 

423Pour le remplacer pour l'ensemble de la session de la vue agent, passez `--model` lors de l'ouverture de la vue agent. Voir [Mode de permission, modèle et effort](#permission-mode-model-and-effort).

414 424 

415Pour changer la valeur par défaut du lancement à partir de la vue agent, tapez `/model` suivi d'un nom de modèle dans l'entrée de lancement et appuyez sur `Entrée`. L'en-tête se met à jour pour afficher ce modèle avec un marqueur `(session)`, et les sessions que vous lancez après utilisent ce modèle. Tapez `/model default` pour effacer le remplacement et revenir à la valeur par défaut du lancement. Ce remplacement dure pour le reste de l'exécution actuelle de `claude agents`, n'écrit pas dans votre fichier de paramètres, et nécessite Claude Code v2.1.172 ou ultérieur. {/* min-version: 2.1.172 */} L'exemple suivant lance une session sur Opus et la suivante sur Sonnet :425Pour changer la valeur par défaut du lancement à partir de la vue agent, tapez `/model` suivi d'un nom de modèle dans l'entrée de lancement et appuyez sur `Entrée`. L'en-tête se met à jour pour afficher ce modèle avec un marqueur `(session)`, et les sessions que vous lancez après utilisent ce modèle. Tapez `/model default` pour effacer le remplacement et revenir à la valeur par défaut du lancement. Ce remplacement dure pour le reste de l'exécution actuelle de `claude agents` et n'écrit pas dans votre fichier de paramètres. L'exemple suivant lance une session sur Opus et la suivante sur Sonnet :

416 426 

417```text theme={null}427```text theme={null}

418/model opus428/model opus


449 459 

450`claude agents` accepte également `--dangerously-skip-permissions` comme raccourci pour `--permission-mode bypassPermissions`, et `--allow-dangerously-skip-permissions` pour rendre `bypassPermissions` disponible dans le cycle `Shift+Tab` de chaque session lancée sans démarrer dans ce mode. Les deux correspondent aux [drapeaux CLI de haut niveau](/fr/cli-reference).460`claude agents` accepte également `--dangerously-skip-permissions` comme raccourci pour `--permission-mode bypassPermissions`, et `--allow-dangerously-skip-permissions` pour rendre `bypassPermissions` disponible dans le cycle `Shift+Tab` de chaque session lancée sans démarrer dans ce mode. Les deux correspondent aux [drapeaux CLI de haut niveau](/fr/cli-reference).

451 461 

452Ces drapeaux ont été ajoutés au fil des versions. Les versions antérieures les rejettent avec une erreur unknown-option.

453 

454| Drapeau ou paramètre | Version minimale |

455| :--------------------------------------------------------------------------- | :------------------------------------ |

456| `--permission-mode`, `--model`, `--effort`, `--dangerously-skip-permissions` | v2.1.142 {/* min-version: 2.1.142 */} |

457| `--allow-dangerously-skip-permissions` | v2.1.143 {/* min-version: 2.1.143 */} |

458| `--agent`, et respect du paramètre `agent` pour les sessions lancées | v2.1.157 {/* min-version: 2.1.157 */} |

459 

460Avant v2.1.157, la vue agent ignore le paramètre `agent` et lance l'agent intégré `claude`.

461 

462Les valeurs par défaut actives apparaissent dans le pied de page sous l'entrée de lancement.462Les valeurs par défaut actives apparaissent dans le pied de page sous l'entrée de lancement.

463 463 

464Sans ces drapeaux, la session utilise le `defaultMode` à partir des paramètres de ce répertoire ou le `permissionMode` à partir du [frontmatter du sous-agent lancé](/fr/sub-agents#supported-frontmatter-fields), et le modèle affiché dans l'en-tête de la vue agent.464Sans ces drapeaux, la session utilise le `defaultMode` à partir des paramètres de ce répertoire ou le `permissionMode` à partir du [frontmatter du sous-agent lancé](/fr/sub-agents#supported-frontmatter-fields), et le modèle affiché dans l'en-tête de la vue agent.

465 465 

466Utiliser `bypassPermissions` ou `auto` est refusé jusqu'à ce que vous ayez accepté ce mode en exécutant `claude` avec lui une fois de manière interactive, puisque ces modes permettent à une session que vous ne regardez pas d'agir sans approbation. La même chose s'applique que vous passiez le mode à `claude agents` ou à `claude --bg --permission-mode`.466Utiliser `bypassPermissions` avec `claude --bg --permission-mode` est refusé jusqu'à ce que vous ayez accepté la clause de non-responsabilité du contournement en exécutant `claude --dangerously-skip-permissions` une fois de manière interactive, puisque ce mode permet à une session que vous ne regardez pas d'agir sans approbation. Passer `--dangerously-skip-permissions` ou `--permission-mode bypassPermissions` à `claude agents` affiche la même clause de non-responsabilité quand vous ne l'avez pas acceptée avant, et accepter applique `bypassPermissions` aux sessions que vous lancez à partir de la vue. Passer `--allow-dangerously-skip-permissions` affiche la même clause de non-responsabilité aussi, et accepter rend `bypassPermissions` disponible dans le cycle `Shift+Tab` de ces sessions sans les démarrer dedans.

467 467 

468<h3 id="settings-plugins-and-mcp-servers">468<h3 id="settings-plugins-and-mcp-servers">

469 Paramètres, plugins et serveurs MCP469 Paramètres, plugins et serveurs MCP

470</h3>470</h3>

471 471 

472La vue agent accepte les mêmes drapeaux de configuration que `claude` pour charger les paramètres, les plugins, les serveurs MCP et les répertoires supplémentaires. Ces drapeaux nécessitent Claude Code v2.1.142 ou ultérieur. Chaque drapeau s'applique à la vue agent elle-même et est transmis à chaque session que vous lancez à partir de celle-ci, donc un plugin ou un serveur MCP que vous chargez de cette manière est disponible dans ces sessions aussi.472La vue agent accepte les mêmes drapeaux de configuration que `claude` pour charger les paramètres, les plugins, les serveurs MCP et les répertoires supplémentaires. Chaque drapeau s'applique à la vue agent elle-même et est transmis à chaque session que vous lancez à partir de celle-ci, donc un plugin ou un serveur MCP que vous chargez de cette manière est disponible dans ces sessions aussi.

473 473 

474| Drapeau | Effet |474| Drapeau | Effet |

475| :----------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------ |475| :----------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------ |


494Chaque session en arrière-plan a un ID court que vous pouvez utiliser depuis le shell. L'ID est affiché quand vous démarrez une session avec `claude --bg`, et l'ID de chaque session est son nom de répertoire sous `~/.claude/jobs/`. Ces commandes sont utiles pour les scripts ou quand vous ne voulez pas ouvrir la vue agent.494Chaque session en arrière-plan a un ID court que vous pouvez utiliser depuis le shell. L'ID est affiché quand vous démarrez une session avec `claude --bg`, et l'ID de chaque session est son nom de répertoire sous `~/.claude/jobs/`. Ces commandes sont utiles pour les scripts ou quand vous ne voulez pas ouvrir la vue agent.

495 495 

496| Commande | Objectif |496| Commande | Objectif |

497| :--------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |497| :--------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

498| `claude agents` | Ouvrir la vue agent |498| `claude agents` | Ouvrir la vue agent |

499| `claude agents --cwd <path>` | Ouvrir la vue agent limitée aux sessions démarrées sous `<path>` |499| `claude agents --cwd <path>` | Ouvrir la vue agent limitée aux sessions démarrées sous `<path>` |

500| `claude agents --json` | Afficher les sessions actives en tant que tableau JSON et quitter : chaque session active, plus les sessions en arrière-plan qui travaillent encore ou sont bloquées même quand leur processus a quitté. Ajoutez `--all` pour inclure aussi les sessions en arrière-plan terminées. Chaque entrée a `cwd`, `kind`, et `startedAt`. Les entrées en arrière-plan ont aussi `id`, utilisable avec `claude attach`/`logs`/`stop`, et `state` : l'une de `working`, `blocked`, `done`, `failed`, ou `stopped`. `pid` et `status` sont présents uniquement tant que le processus est actif, plus `waitingFor` quand status est `waiting`, qui indique sur quoi la session est bloquée, comme `permission prompt` ou `input needed` ; `sessionId` et `name` apparaissent quand ils sont définis. Combinez avec `--cwd <path>` pour filtrer |500| `claude agents --json` | Afficher les sessions actives en tant que tableau JSON et quitter : chaque session active, plus les sessions en arrière-plan qui travaillent encore ou sont bloquées même quand leur processus a quitté. Ajoutez `--all` pour inclure aussi les sessions en arrière-plan terminées. Chaque entrée a `cwd`, `kind`, et `startedAt`. Les entrées en arrière-plan ont aussi `id`, utilisable avec `claude attach`/`logs`/`stop`, et `state` : l'une de `working`, `blocked`, `done`, `failed`, ou `stopped`. `pid` et `status` sont présents uniquement tant que le processus est actif, plus `waitingFor` quand status est `waiting`, qui indique sur quoi la session est bloquée, comme `permission prompt` ou `input needed` ; `sessionId` et `name` apparaissent quand ils sont définis. Une entrée interactive que vous n'avez jamais nommée porte un nom par défaut construit à partir du nom du répertoire de travail plus un suffixe de deux caractères, comme `my-app-3f`. Combinez avec `--cwd <path>` pour filtrer |

501| `claude attach <id>` | S'attacher à une session dans ce terminal |501| `claude attach <id>` | S'attacher à une session dans ce terminal |

502| `claude logs <id>` | Afficher la sortie récente de la session |502| `claude logs <id>` | Afficher la sortie récente de la session |

503| `claude stop <id>` | Arrêter une session. Accepte aussi `claude kill` |503| `claude stop <id>` | Arrêter une session. Accepte aussi `claude kill` |


523 523 

524Le superviseur et ses sessions s'authentifient avec les mêmes identifiants stockés que vos sessions interactives et ne font aucune connexion réseau supplémentaire au-delà de l'API du modèle. Les variables de sélection de fournisseur telles que `CLAUDE_CODE_USE_BEDROCK` et les alias `ANTHROPIC_DEFAULT_*_MODEL` sont lues depuis le shell qui a dispatché chaque session et sont appliquées à son worker.524Le superviseur et ses sessions s'authentifient avec les mêmes identifiants stockés que vos sessions interactives et ne font aucune connexion réseau supplémentaire au-delà de l'API du modèle. Les variables de sélection de fournisseur telles que `CLAUDE_CODE_USE_BEDROCK` et les alias `ANTHROPIC_DEFAULT_*_MODEL` sont lues depuis le shell qui a dispatché chaque session et sont appliquées à son worker.

525 525 

526{/* min-version: 2.1.174 */}Une session en arrière-plan n'hérite pas des variables de point de terminaison de passerelle telles que `ANTHROPIC_BASE_URL`, les variables d'URL de base Bedrock, Vertex et Foundry équivalentes, ou un `ANTHROPIC_AUTH_TOKEN` appairé depuis le shell qui a démarré le superviseur ou depuis le shell de dispatch. La session utilise vos identifiants stockés et toute valeur `env` dans le bloc [settings](/fr/settings) du répertoire du projet à la place. Pour pointer les sessions en arrière-plan dans un projet vers une [passerelle LLM](/fr/llm-gateway), définissez `ANTHROPIC_BASE_URL` dans le bloc `env` du fichier `.claude/settings.json` de ce projet plutôt que de l'exporter dans votre shell. Avant la v2.1.174, une session en arrière-plan héritait ces variables du shell de lancement du superviseur, donc elle pouvait utiliser la passerelle que vous aviez configurée dans ce shell au lieu de celle configurée pour le répertoire du projet.526Une session en arrière-plan n'hérite pas des variables de point de terminaison de passerelle telles que `ANTHROPIC_BASE_URL`, les variables d'URL de base Bedrock, Vertex et Foundry équivalentes, ou un `ANTHROPIC_AUTH_TOKEN` appairé depuis le shell qui a démarré le superviseur ou depuis le shell de dispatch. La session utilise vos identifiants stockés et toute valeur `env` dans le bloc [settings](/fr/settings) du répertoire du projet à la place. Pour pointer les sessions en arrière-plan dans un projet vers une [passerelle LLM](/fr/llm-gateway), définissez `ANTHROPIC_BASE_URL` dans le bloc `env` du fichier `.claude/settings.json` de ce projet plutôt que de l'exporter dans votre shell.

527 527 

528Chaque session en arrière-plan est son propre processus Claude Code, géré par le superviseur plutôt que lié à votre terminal. Une session qui fonctionne activement, attend votre entrée, ou a un terminal attaché garde son processus en cours d'exécution. Une commande shell en arrière-plan en cours d'exécution, un sous-agent, un workflow dynamique, ou un monitor compte comme un travail actif, donc un processus de longue durée tel qu'un serveur de développement maintient la session active.528Chaque session en arrière-plan est son propre processus Claude Code, géré par le superviseur plutôt que lié à votre terminal. Une session qui fonctionne activement, attend votre entrée, ou a un terminal attaché garde son processus en cours d'exécution. Une commande shell en arrière-plan en cours d'exécution, un sous-agent, un workflow dynamique, ou un monitor compte comme un travail actif, donc un processus de longue durée tel qu'un serveur de développement maintient la session active.

529 529 

530Une fois qu'une session se termine et reste non attachée pendant environ une heure, le superviseur arrête son processus pour libérer des ressources. Une session que vous avez [épinglée](#organize-the-list) avec `Ctrl+T` est exemptée et garde son processus en cours d'exécution pendant qu'elle est inactive. La transcription et l'état restent sur le disque de toute façon, et la prochaine fois que vous vous attachez, apercevez, ou répondez à une session arrêtée, le superviseur démarre un processus frais à partir de là où il s'était arrêté. Quand chaque session s'est terminée et qu'aucun terminal n'est connecté, le superviseur lui-même quitte et redémarre la prochaine fois que vous en avez besoin.530Une fois qu'une session se termine et reste non attachée pendant environ une heure, le superviseur arrête son processus pour libérer des ressources. Une session que vous avez [épinglée](#organize-the-list) avec `Ctrl+T` est exemptée et garde son processus en cours d'exécution pendant qu'elle est inactive. La transcription et l'état restent sur le disque de toute façon, et la prochaine fois que vous vous attachez, apercevez, ou répondez à une session arrêtée, le superviseur démarre un processus frais à partir de là où il s'était arrêté. Quand chaque session s'est terminée et qu'aucun terminal n'est connecté, le superviseur lui-même quitte et redémarre la prochaine fois que vous en avez besoin.

531 531 

532Les commandes shell en arrière-plan et les workflows dynamiques que la session a démarrés continuent de s'exécuter quand son processus est arrêté, redémarré ou mis à jour, y compris sur Windows. Le processus suivant démarré pour cette session les reprend, une commande shell qui s'est terminée entre-temps est signalée comme terminée avec sa sortie, et un workflow reprend à partir de là où il s'était arrêté. Les commandes shell démarrées par un sous-agent et les [monitors](/fr/tools-reference#monitor-tool) en cours d'exécution s'arrêtent toujours avec le processus, et supprimer la session arrête tout ce qu'elle a confié. Pour arrêter les commandes shell en arrière-plan et les workflows avec le processus aussi, définissez la variable d'environnement [`CLAUDE_CODE_DISABLE_BG_EXIT_HANDOFF`](/fr/env-vars#variables) à `1`.

533 

534Si une session redémarrée revient en affichant uniquement son invite d'origine parce que Claude Code a mal lu sa transcription comme vide, la transcription de conversation est renommée avec un suffixe `.orphaned-` au lieu d'être supprimée, donc elle reste sur votre machine.

535 

532Une ligne vide laissée après avoir appuyé sur `←` qui n'a jamais reçu d'invite est supprimée entièrement après environ cinq minutes pour que la liste se vide d'elle-même. Les sessions démarrées avec `claude --bg` et les sessions en attente d'une invite de configuration telle qu'une boîte de dialogue de confiance ne sont pas supprimées de cette façon.536Une ligne vide laissée après avoir appuyé sur `←` qui n'a jamais reçu d'invite est supprimée entièrement après environ cinq minutes pour que la liste se vide d'elle-même. Les sessions démarrées avec `claude --bg` et les sessions en attente d'une invite de configuration telle qu'une boîte de dialogue de confiance ne sont pas supprimées de cette façon.

533 537 

534Quand l'hôte manque de mémoire, le superviseur arrête d'abord les sessions inactives non épinglées et arrête les sessions épinglées inactives seulement si cela n'a rien libéré.538Quand l'hôte manque de mémoire, le superviseur arrête d'abord les sessions inactives non épinglées et arrête les sessions épinglées inactives seulement si cela n'a rien libéré.


554 558 

555La commande avertit également quand le superviseur en cours d'exécution est sur une version différente de celle du `claude` que vous avez invoqué, ce qui se produit après une mise à jour que le superviseur n'a pas encore redémarrée. L'avertissement affiche les deux versions et vous dit d'exécuter `claude daemon stop --any` pour récupérer la nouvelle version. Quand Claude Code est installé en tant que service du système d'exploitation, la commande suggérée est `claude daemon stop` sans le drapeau.559La commande avertit également quand le superviseur en cours d'exécution est sur une version différente de celle du `claude` que vous avez invoqué, ce qui se produit après une mise à jour que le superviseur n'a pas encore redémarrée. L'avertissement affiche les deux versions et vous dit d'exécuter `claude daemon stop --any` pour récupérer la nouvelle version. Quand Claude Code est installé en tant que service du système d'exploitation, la commande suggérée est `claude daemon stop` sans le drapeau.

556 560 

561Les sessions survivent à ce décalage de version intact : une version plus ancienne de Claude Code qui met à jour le `state.json` d'une session préserve les champs qu'elle ne reconnaît pas et garde la session listée.

562 

557Sur Windows, `claude daemon status` affiche l'erreur de fichier sous-jacente quand le fichier de clé pipe du daemon est verrouillé ou illisible au lieu de signaler un échec de connexion générique.563Sur Windows, `claude daemon status` affiche l'erreur de fichier sous-jacente quand le fichier de clé pipe du daemon est verrouillé ou illisible au lieu de signaler un échec de connexion générique.

558 564 

559<h3 id="turn-off-agent-view">565<h3 id="turn-off-agent-view">


570 `claude agents` affiche les sous-agents au lieu d'ouvrir la vue agent576 `claude agents` affiche les sous-agents au lieu d'ouvrir la vue agent

571</h3>577</h3>

572 578 

573Si `claude agents` affiche un nombre suivi de vos sous-agents configurés puis se ferme, la vue agent n'est pas disponible dans votre environnement. Les versions antérieures n'ouvraient pas la vue agent dans tous les environnements, notamment lors de la connexion via Bedrock, Vertex AI ou Foundry. Exécutez `claude update` pour installer la dernière version.579Si `claude agents` affiche un nombre suivi de vos sous-agents configurés puis se ferme, la vue agent n'est pas disponible dans votre environnement. Exécutez `claude update` pour installer la dernière version.

574 580 

575Si la vue agent ne s'ouvre toujours pas après la mise à jour, vérifiez si elle a été [désactivée](#turn-off-agent-view) par un paramètre ou une variable d'environnement.581Si la vue agent ne s'ouvre toujours pas après la mise à jour, vérifiez si elle a été [désactivée](#turn-off-agent-view) par un paramètre ou une variable d'environnement.

576 582 


580 586 

581Avant de lancer votre première session, la vue agent affiche un court indice d'intégration avec des invites d'exemple à la place de la liste des sessions. Tapez une invite dans l'entrée en bas et appuyez sur `Entrée` pour lancer votre première session.587Avant de lancer votre première session, la vue agent affiche un court indice d'intégration avec des invites d'exemple à la place de la liste des sessions. Tapez une invite dans l'entrée en bas et appuyez sur `Entrée` pour lancer votre première session.

582 588 

583<h3 id="cannot-open-agents-because-work-is-running-in-the-background">589<h3 id="backgrounding-shows-a-background-this-session-dialog">

584 Impossible d'ouvrir les agents car du travail s'exécute en arrière-plan590 Impossible de mettre en arrière-plan la session car du travail s'exécute

585</h3>591</h3>

586 592 

587Si appuyer sur `←` pour mettre la session actuelle en arrière-plan affiche `Cannot open agents — N still running in the background`, la session a du travail en cours comme un sous-agent, un workflow dynamique, ou une commande shell en arrière-plan, et le raccourci n'abandonnera pas silencieusement. Exécutez `/tasks` pour voir ce qui s'exécute, puis `/bg` pour confirmer l'abandon. Voir [Depuis l'intérieur d'une session](#from-inside-a-session) pour savoir ce qui se transfère et ce qui ne se transfère pas quand vous mettez en arrière-plan.593Si appuyer sur `←` pour mettre la session actuelle en arrière-plan affiche une boîte de dialogue `Background this session?`, la session a du travail en cours qui ne peut pas se transférer à la session en arrière-plan, comme un [monitor](/fr/tools-reference#monitor-tool) en cours d'exécution, et Claude Code ne l'arrêtera pas silencieusement. La boîte de dialogue nomme le travail qui sera arrêté et, séparément, compte les tâches qui se transfèrent. Exécutez `/tasks` pour voir tout ce qui s'exécute, puis confirmez pour mettre en arrière-plan de toute façon ou choisissez `Stay` pour laisser le travail se terminer d'abord. Voir [À partir d'une session](#from-inside-a-session) pour savoir quels types de tâches se transfèrent et lesquels s'arrêtent.

588 594 

589<h3 id="prompt-rejected-as-too-short">595<h3 id="prompt-rejected-as-too-short">

590 Invite rejetée comme trop courte596 Invite rejetée comme trop courte


612 618 

613Le nouveau superviseur se reconnecte aux sessions en cours d'exécution. Sans `--keep-workers`, la commande termine également les sessions en arrière-plan. Le drapeau `--any` confirme que vous voulez arrêter un superviseur qui a démarré à la demande plutôt que comme service installé, ce qui est la valeur par défaut.619Le nouveau superviseur se reconnecte aux sessions en cours d'exécution. Sans `--keep-workers`, la commande termine également les sessions en arrière-plan. Le drapeau `--any` confirme que vous voulez arrêter un superviseur qui a démarré à la demande plutôt que comme service installé, ce qui est la valeur par défaut.

614 620 

621Un superviseur qui démarre mais ne peut pas accepter les connexions quitte et libère son verrou de lui-même, donc le prochain `claude agents` démarre un nouveau sans cet arrêt manuel. Les étapes ci-dessus s'appliquent quand un superviseur en cours d'exécution bloque.

622 

615Sur Windows, si le superviseur ne répond pas à la demande d'arrêt, la commande affiche son ID de processus. Terminez ce processus avec `taskkill /PID <pid>` pour terminer la récupération. Les sessions en arrière-plan sont toujours préservées quand vous avez passé `--keep-workers`.623Sur Windows, si le superviseur ne répond pas à la demande d'arrêt, la commande affiche son ID de processus. Terminez ce processus avec `taskkill /PID <pid>` pour terminer la récupération. Les sessions en arrière-plan sont toujours préservées quand vous avez passé `--keep-workers`.

616 624 

617<h3 id="dispatch-fails-with-could-not-resolve-authentication-method">625<h3 id="dispatch-fails-with-could-not-resolve-authentication-method">

618 Le dispatch échoue avec `Could not resolve authentication method`626 Le dispatch échoue avec `Could not resolve authentication method`

619</h3>627</h3>

620 628 

621{/* min-version: 2.1.174 */}Si un dispatch en arrière-plan échoue avec `Could not resolve authentication method` tandis que les sessions interactives s'authentifient normalement, le worker qui a reçu le dispatch n'a pas récupéré les identifiants. Sur v2.1.174 et versions ultérieures, le superviseur fournit un nouvel instantané d'identifiants quand il assigne un [worker préchauffé](#the-supervisor-process), donc cette erreur signifie qu'aucun identifiant stocké n'était disponible pour le processus superviseur lui-même. Confirmez que vous avez exécuté `/login` ou configuré une clé API, puis arrêtez le superviseur :629Si un dispatch en arrière-plan échoue avec `Could not resolve authentication method` tandis que les sessions interactives s'authentifient normalement, le worker qui a reçu le dispatch n'a pas récupéré les identifiants. Le superviseur fournit un nouvel instantané d'identifiants quand il assigne un [worker préchauffé](#the-supervisor-process), donc cette erreur signifie qu'aucun identifiant stocké n'était disponible pour le processus superviseur lui-même. Confirmez que vous avez exécuté `/login` ou configuré une clé API, puis arrêtez le superviseur :

622 630 

623```bash theme={null}631```bash theme={null}

624claude daemon stop --any --keep-workers632claude daemon stop --any --keep-workers


626 634 

627Le prochain `claude agents` ou `claude --bg` démarre un nouveau superviseur qui lit vos identifiants stockés. Si vous vous authentifiez avec une variable d'environnement comme `ANTHROPIC_API_KEY` plutôt qu'avec `/login`, exécutez cette prochaine commande à partir d'un shell où la variable est définie.635Le prochain `claude agents` ou `claude --bg` démarre un nouveau superviseur qui lit vos identifiants stockés. Si vous vous authentifiez avec une variable d'environnement comme `ANTHROPIC_API_KEY` plutôt qu'avec `/login`, exécutez cette prochaine commande à partir d'un shell où la variable est définie.

628 636 

629Voir la [référence d'erreur](/fr/errors#could-not-resolve-authentication-method) pour la liste complète des causes et des correctifs. Avant v2.1.174, un worker préchauffé qui restait inactif pouvait générer cette erreur quand il était assigné à un dispatch même quand vos identifiants étaient valides. Mettez à jour pour récupérer.637Voir la [référence d'erreur](/fr/errors#could-not-resolve-authentication-method) pour la liste complète des causes et des correctifs.

630 638 

631<h3 id="background-sessions-cannot-read-desktop-documents-or-downloads-on-macos">639<h3 id="background-sessions-cannot-read-desktop-documents-or-downloads-on-macos">

632 Les sessions en arrière-plan ne peuvent pas lire Desktop, Documents ou Downloads sur macOS640 Les sessions en arrière-plan ne peuvent pas lire Desktop, Documents ou Downloads sur macOS


640 Une session est lente à répondre après l'attachement648 Une session est lente à répondre après l'attachement

641</h3>649</h3>

642 650 

643Une fois qu'une session s'est terminée et reste non attachée pendant environ une heure, le superviseur arrête son processus pour libérer des ressources. S'attacher démarre un processus frais à partir de là où il s'était arrêté, ce qui prend un moment. Les sessions qui fonctionnent, attendent votre intervention, ou sont [épinglées](#organize-the-list) ne sont pas arrêtées de cette façon, donc épinglez une session avec `Ctrl+T` pour la garder réactive.651Une fois qu'une session s'est terminée et reste non attachée pendant environ une heure, le superviseur arrête son processus pour libérer des ressources. S'attacher démarre un processus frais à partir de là où il s'était arrêté et bascule vers la session immédiatement pendant que le processus redémarre. Les sessions qui fonctionnent, attendent votre intervention, ou sont [épinglées](#organize-the-list) ne sont pas arrêtées de cette façon, donc épinglez une session avec `Ctrl+T` pour la garder réactive.

644 652 

645<h3 id="claude/worktrees/-is-filling-up">653<h3 id="claude/worktrees/-is-filling-up">

646 `.claude/worktrees/` se remplit654 `.claude/worktrees/` se remplit


667* [Exécuter les agents en parallèle](/fr/agents) : comparez la vue agent avec les sous-agents, les équipes d'agents, et les worktrees675* [Exécuter les agents en parallèle](/fr/agents) : comparez la vue agent avec les sous-agents, les équipes d'agents, et les worktrees

668* [Équipes d'agents](/fr/agent-teams) : coordonnez plusieurs sessions qui se messagent mutuellement676* [Équipes d'agents](/fr/agent-teams) : coordonnez plusieurs sessions qui se messagent mutuellement

669* [Claude Code sur le web](/fr/claude-code-on-the-web) : exécutez les sessions dans un environnement cloud géré au lieu de localement677* [Claude Code sur le web](/fr/claude-code-on-the-web) : exécutez les sessions dans un environnement cloud géré au lieu de localement

678 

679<h2 id="version-history">

680 Historique des versions

681</h2>

682 

683La vue agent a évolué rapidement pendant l'aperçu de recherche. Si vous êtes sur une version plus ancienne de Claude Code, certains comportements sur cette page peuvent différer ; en particulier, `claude agents` rejette les drapeaux qu'il ne supporte pas encore avec une erreur `unknown option`. Le tableau ci-dessous répertorie quand chaque drapeau et comportement a été ajouté.

684 

685| Version | Changement |

686| -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

687| v2.1.196 | {/* min-version: 2.1.196 */}Une seule pression sur `←` met en arrière-plan une session au premier plan ; les versions antérieures nécessitaient deux pressions, avec un indice de pied de page et une confirmation. `--dangerously-skip-permissions` passé à `claude agents` affiche la clause de non-responsabilité du contournement au lieu d'être silencieusement supprimé. Les sessions interactives que vous n'avez jamais nommées portent un nom par défaut comme `my-app-3f` dans les listes de sessions et `claude agents --json`. Les commandes shell en arrière-plan et les workflows dynamiques survivent à l'arrêt, au redémarrage ou à la mise à jour du processus de la session, y compris sur Windows ; définissez `CLAUDE_CODE_DISABLE_BG_EXIT_HANDOFF=1` pour désactiver le transfert. Une transcription mal lue comme vide au redémarrage est renommée avec un suffixe `.orphaned-` au lieu d'être supprimée. |

688| v2.1.195 | {/* min-version: 2.1.195 */}Le travail en cours se transfère aussi quand vous mettez en arrière-plan une session sur Windows ; définissez `CLAUDE_DISABLE_ADOPT=1` pour l'arrêter à la place. Le groupe `Completed` remplit l'espace vertical restant et l'en-tête se compacte sur les terminaux courts. Une version plus ancienne de Claude Code ne supprime plus les champs `state.json` plus récents des sessions ou ne cache plus ces sessions de `claude agents`. S'attacher à une session arrêtée bascule immédiatement au lieu d'afficher un écran vide pendant jusqu'à cinq secondes. Un superviseur qui ne peut pas accepter les connexions quitte et libère son verrou de lui-même. |

689| v2.1.174 | {/* min-version: 2.1.174 */}Les sessions en arrière-plan n'héritent plus des variables de point de terminaison de passerelle comme `ANTHROPIC_BASE_URL` du shell de lancement du superviseur ; le superviseur fournit un nouvel instantané d'identifiants aux workers préchauffés, corrigeant les erreurs `Could not resolve authentication method` spurieuses. |

690| v2.1.172 | {/* min-version: 2.1.172 */}\`\`/model\` dans l'entrée de dispatch définit un remplacement du modèle de dispatch limité à la session. |

691| v2.1.161 | {/* min-version: 2.1.161 */}Les résumés des lignes affichent un nombre `done/total` pour les éléments de travail parallèles ; le panneau d'aperçu nomme l'élément de travail parallèle le plus long en cours d'exécution. |

692| v2.1.157 | {/* min-version: 2.1.157 */}\`\`claude agents`accepte`--agent`; les sessions dispatchées honorent le paramètre`agent\`. |

693| v2.1.145 | {/* min-version: 2.1.145 */}La dictée vocale supportée dans l'entrée de réponse du panneau d'aperçu et l'entrée de dispatch. |

694| v2.1.143 | {/* min-version: 2.1.143 */}Le paramètre `worktree.bgIsolation` ajouté ; `claude agents` accepte `--allow-dangerously-skip-permissions`. |

695| v2.1.142 | {/* min-version: 2.1.142 */}\`\`claude agents`accepte`--permission-mode`, `--model`, `--effort`, `--dangerously-skip-permissions`, `--settings`, `--add-dir`, `--plugin-dir`, `--mcp-config`, et `--strict-mcp-config\`. |

696| v2.1.141 | {/* min-version: 2.1.141 */}\`\`claude agents`accepte`--cwd\` pour limiter la liste à un projet. |

697| v2.1.139 | {/* min-version: 2.1.139 */}La vue agent introduite comme un aperçu de recherche. |

Details

397 Fenêtre de contexte de 1M de jetons397 Fenêtre de contexte de 1M de jetons

398</h2>398</h2>

399 399 

400Claude Opus 4.6 et versions ultérieures, ainsi que Sonnet 4.6, prennent en charge la [fenêtre de contexte de 1M de jetons](https://platform.claude.com/docs/fr/build-with-claude/context-windows#1m-token-context-window) sur Amazon Bedrock. Claude Code active automatiquement la fenêtre de contexte étendue lorsque vous sélectionnez une variante de modèle 1M.400Claude Sonnet 5, Opus 4.6 et versions ultérieures, ainsi que Sonnet 4.6, prennent en charge la [fenêtre de contexte de 1M de jetons](https://platform.claude.com/docs/fr/build-with-claude/context-windows#1m-token-context-window) sur Amazon Bedrock. Sonnet 5 est servi via le [point de terminaison Mantle](#use-the-mantle-endpoint) et s'exécute toujours avec la fenêtre 1M, sans variante `[1m]` à sélectionner. Pour les autres modèles, Claude Code active automatiquement la fenêtre de contexte étendue lorsque vous sélectionnez une variante de modèle 1M.

401 401 

402L'[assistant de configuration](#sign-in-with-bedrock) offre une option de contexte 1M lorsqu'il épingle les modèles. Pour l'activer pour un modèle épinglé manuellement à la place, ajoutez `[1m]` à l'ID du modèle. Voir [Épingler les modèles pour les déploiements tiers](/fr/model-config#pin-models-for-third-party-deployments) pour plus de détails.402L'[assistant de configuration](#sign-in-with-bedrock) offre une option de contexte 1M lorsqu'il épingle les modèles. Pour l'activer pour un modèle épinglé manuellement à la place, ajoutez `[1m]` à l'ID du modèle. Voir [Épingler les modèles pour les déploiements tiers](/fr/model-config#pin-models-for-third-party-deployments) pour plus de détails.

403 403 


458 Sélectionner un modèle Mantle458 Sélectionner un modèle Mantle

459</h3>459</h3>

460 460 

461Mantle utilise des ID de modèle préfixés avec `anthropic.` et sans suffixe de version, par exemple `anthropic.claude-haiku-4-5`. Les modèles disponibles pour votre compte dépendent de ce que votre organisation a reçu ; les ID de modèle supplémentaires sont répertoriés dans vos documents d'intégration d'AWS. Contactez votre équipe de compte AWS pour demander l'accès aux modèles autorisés.461Mantle utilise des ID de modèle préfixés avec `anthropic.` et sans suffixe de version, par exemple `anthropic.claude-sonnet-5` ou `anthropic.claude-haiku-4-5`. Les modèles disponibles pour votre compte dépendent de ce que votre organisation a reçu ; les ID de modèle supplémentaires sont répertoriés dans vos documents d'intégration d'AWS. Contactez votre équipe de compte AWS pour demander l'accès aux modèles autorisés.

462 462 

463Définissez le modèle avec l'indicateur `--model` ou avec `/model` dans Claude Code :463Définissez le modèle avec l'indicateur `--model` ou avec `/model` dans Claude Code :

464 464 


542 542 

543Claude Code utilise l'API Bedrock [Invoke](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_InvokeModelWithResponseStream.html) et ne prend pas en charge l'API Converse.543Claude Code utilise l'API Bedrock [Invoke](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_InvokeModelWithResponseStream.html) et ne prend pas en charge l'API Converse.

544 544 

545<h3 id="zero-token-counts-in-/context">

546 Comptages de jetons zéro dans /context

547</h3>

548 

549La commande `/context` compte les jetons pour chaque groupe d'outils en envoyant les schémas d'outils à l'API count-tokens de Bedrock. {/* min-version: 2.1.196 */}Sur les versions de Claude Code antérieures à v2.1.196, Bedrock a rejeté cette demande car les schémas contenaient des champs que son API count-tokens n'accepte pas, donc chaque groupe d'outils affichait 0 jetons. Les autres lignes de la ventilation, telles que les messages et les fichiers de mémoire, ne sont pas affectées.

550 

551Mettez à jour vers v2.1.196 ou une version ultérieure.

552 

545<h3 id="mantle-endpoint-errors">553<h3 id="mantle-endpoint-errors">

546 Erreurs du point de terminaison Mantle554 Erreurs du point de terminaison Mantle

547</h3>555</h3>

Details

24* **Claude for Teams ou Enterprise** : connectez-vous avec le compte Claude.ai que votre administrateur d'équipe vous a invité à utiliser.24* **Claude for Teams ou Enterprise** : connectez-vous avec le compte Claude.ai que votre administrateur d'équipe vous a invité à utiliser.

25* **Claude Console** : connectez-vous avec vos identifiants Console. Votre administrateur doit vous avoir [invité](#claude-console-authentication) au préalable.25* **Claude Console** : connectez-vous avec vos identifiants Console. Votre administrateur doit vous avoir [invité](#claude-console-authentication) au préalable.

26* **Fournisseurs cloud** : si votre organisation utilise [Amazon Bedrock](/fr/amazon-bedrock), [Google Vertex AI](/fr/google-vertex-ai) ou [Microsoft Foundry](/fr/microsoft-foundry), définissez les variables d'environnement requises avant d'exécuter `claude`. Aucune connexion au navigateur n'est nécessaire.26* **Fournisseurs cloud** : si votre organisation utilise [Amazon Bedrock](/fr/amazon-bedrock), [Google Vertex AI](/fr/google-vertex-ai) ou [Microsoft Foundry](/fr/microsoft-foundry), définissez les variables d'environnement requises avant d'exécuter `claude`. Aucune connexion au navigateur n'est nécessaire.

27* **Passerelle cloud** : si votre organisation exécute une [passerelle d'applications Claude](/fr/claude-apps-gateway) auto-hébergée, connectez-vous avec l'authentification unique d'entreprise via `/login`. Le jeton émis par la passerelle est la seule credential de la session.

27 28 

28Pour vous déconnecter et vous réauthentifier, tapez `/logout` à l'invite Claude Code.29Pour vous déconnecter et vous réauthentifier, tapez `/logout` à l'invite Claude Code.

29 30 


37 38 

38* [Claude for Teams ou Enterprise](#claude-for-teams-or-enterprise), recommandé pour la plupart des équipes39* [Claude for Teams ou Enterprise](#claude-for-teams-or-enterprise), recommandé pour la plupart des équipes

39* [Claude Console](#claude-console-authentication)40* [Claude Console](#claude-console-authentication)

41* [Claude apps gateway](/fr/claude-apps-gateway), une passerelle auto-hébergée qui connecte les développeurs avec votre IdP et achemine l'inférence vers le fournisseur cloud que vous configurez

40* [Amazon Bedrock](/fr/amazon-bedrock)42* [Amazon Bedrock](/fr/amazon-bedrock)

41* [Google Vertex AI](/fr/google-vertex-ai)43* [Google Vertex AI](/fr/google-vertex-ai)

42* [Microsoft Foundry](/fr/microsoft-foundry)44* [Microsoft Foundry](/fr/microsoft-foundry)


131 * Sur Windows, les identifiants sont stockés dans `%USERPROFILE%\.claude\.credentials.json` et héritent des contrôles d'accès de votre répertoire de profil utilisateur, ce qui restreint le fichier à votre compte utilisateur par défaut.133 * Sur Windows, les identifiants sont stockés dans `%USERPROFILE%\.claude\.credentials.json` et héritent des contrôles d'accès de votre répertoire de profil utilisateur, ce qui restreint le fichier à votre compte utilisateur par défaut.

132 * Si vous avez défini la variable d'environnement `CLAUDE_CONFIG_DIR` sur Linux ou Windows, le fichier `.credentials.json` se trouve sous ce répertoire à la place.134 * Si vous avez défini la variable d'environnement `CLAUDE_CONFIG_DIR` sur Linux ou Windows, le fichier `.credentials.json` se trouve sous ce répertoire à la place.

133 * Claude Code gère `.credentials.json` via `/login` et `/logout`. Pour router les requêtes via un point de terminaison API personnalisé, définissez plutôt la variable d'environnement [`ANTHROPIC_BASE_URL`](/fr/env-vars).135 * Claude Code gère `.credentials.json` via `/login` et `/logout`. Pour router les requêtes via un point de terminaison API personnalisé, définissez plutôt la variable d'environnement [`ANTHROPIC_BASE_URL`](/fr/env-vars).

134* **Types d'authentification pris en charge** : identifiants Claude.ai, identifiants API Claude, Azure Auth, Bedrock Auth et Vertex Auth.136* **Types d'authentification pris en charge** : identifiants Claude.ai, identifiants API Claude, Azure Auth, Bedrock Auth, Vertex Auth et jetons de session de la [passerelle d'applications Claude](/fr/claude-apps-gateway).

135* **Scripts d'identifiants personnalisés** : le paramètre [`apiKeyHelper`](/fr/settings#available-settings) peut être configuré pour exécuter un script shell qui retourne une clé API.137* **Scripts d'identifiants personnalisés** : le paramètre [`apiKeyHelper`](/fr/settings#available-settings) peut être configuré pour exécuter un script shell qui retourne une clé API.

136* **Intervalles d'actualisation** : par défaut, `apiKeyHelper` est appelé après 5 minutes ou en réponse HTTP 401. Définissez la variable d'environnement `CLAUDE_CODE_API_KEY_HELPER_TTL_MS` pour les intervalles d'actualisation personnalisés.138* **Intervalles d'actualisation** : par défaut, `apiKeyHelper` est appelé après 5 minutes ou en réponse HTTP 401. Définissez la variable d'environnement `CLAUDE_CODE_API_KEY_HELPER_TTL_MS` pour les intervalles d'actualisation personnalisés.

137* **Avis d'assistant lent** : si `apiKeyHelper` prend plus de 10 secondes pour retourner une clé, Claude Code affiche un avis d'avertissement dans la barre d'invite montrant le temps écoulé. Si vous voyez cet avis régulièrement, vérifiez si votre script d'identifiants peut être optimisé.139* **Avis d'assistant lent** : si `apiKeyHelper` prend plus de 10 secondes pour retourner une clé, Claude Code affiche un avis d'avertissement dans la barre d'invite montrant le temps écoulé. Si vous voyez cet avis régulièrement, vérifiez si votre script d'identifiants peut être optimisé.


1515. Variable d'environnement `CLAUDE_CODE_OAUTH_TOKEN`. Un jeton OAuth de longue durée généré par [`claude setup-token`](#generate-a-long-lived-token). Utilisez ceci pour les pipelines CI et les scripts où la connexion au navigateur n'est pas disponible.1535. Variable d'environnement `CLAUDE_CODE_OAUTH_TOKEN`. Un jeton OAuth de longue durée généré par [`claude setup-token`](#generate-a-long-lived-token). Utilisez ceci pour les pipelines CI et les scripts où la connexion au navigateur n'est pas disponible.

1526. Identifiants OAuth d'abonnement de `/login`. C'est la valeur par défaut pour les utilisateurs Claude Pro, Max, Team et Enterprise.1546. Identifiants OAuth d'abonnement de `/login`. C'est la valeur par défaut pour les utilisateurs Claude Pro, Max, Team et Enterprise.

153 155 

156Une session [passerelle d'applications Claude](/fr/claude-apps-gateway) signée se situe en dehors de cette liste : c'est une sélection de fournisseur comme Bedrock ou Vertex, et elle les surclasse. Lorsqu'une session de passerelle existe, la CLI s'authentifie avec le jeton de passerelle même si `CLAUDE_CODE_USE_BEDROCK`, `CLAUDE_CODE_USE_VERTEX` ou `CLAUDE_CODE_USE_FOUNDRY` est défini, et les entrées de jeton porteur, clé API et `apiKeyHelper` ci-dessus ne sont pas utilisées.

157 

154Si vous avez un abonnement Claude actif mais que vous avez également `ANTHROPIC_API_KEY` défini dans votre environnement, la clé API prend priorité une fois approuvée. Cela peut causer des échecs d'authentification si la clé appartient à une organisation désactivée ou expirée. Exécutez `unset ANTHROPIC_API_KEY` pour revenir à votre abonnement, et vérifiez `/status` pour confirmer quelle méthode est active.158Si vous avez un abonnement Claude actif mais que vous avez également `ANTHROPIC_API_KEY` défini dans votre environnement, la clé API prend priorité une fois approuvée. Cela peut causer des échecs d'authentification si la clé appartient à une organisation désactivée ou expirée. Exécutez `unset ANTHROPIC_API_KEY` pour revenir à votre abonnement, et vérifiez `/status` pour confirmer quelle méthode est active.

155 159 

156[Claude Code sur le Web](/fr/claude-code-on-the-web) utilise toujours vos identifiants d'abonnement. `ANTHROPIC_API_KEY` et `ANTHROPIC_AUTH_TOKEN` dans l'environnement sandbox ne les remplacent pas.160[Claude Code sur le Web](/fr/claude-code-on-the-web) utilise toujours vos identifiants d'abonnement. `ANTHROPIC_API_KEY` et `ANTHROPIC_AUTH_TOKEN` dans l'environnement sandbox ne les remplacent pas.

Details

9[Le mode auto](/fr/permission-modes#eliminate-prompts-with-auto-mode) permet à Claude Code de s'exécuter sans invites de permission en acheminant chaque appel d'outil via un classificateur qui bloque tout ce qui est irréversible, destructeur ou destiné en dehors de votre environnement. Les règles de refus et de demande explicite sont évaluées avant le classificateur et bloquent ou invitent toujours. Utilisez le bloc de paramètres `autoMode` pour indiquer à ce classificateur quels dépôts, buckets et domaines votre organisation approuve, afin qu'il cesse de bloquer les opérations internes courantes.9[Le mode auto](/fr/permission-modes#eliminate-prompts-with-auto-mode) permet à Claude Code de s'exécuter sans invites de permission en acheminant chaque appel d'outil via un classificateur qui bloque tout ce qui est irréversible, destructeur ou destiné en dehors de votre environnement. Les règles de refus et de demande explicite sont évaluées avant le classificateur et bloquent ou invitent toujours. Utilisez le bloc de paramètres `autoMode` pour indiquer à ce classificateur quels dépôts, buckets et domaines votre organisation approuve, afin qu'il cesse de bloquer les opérations internes courantes.

10 10 

11<Note>11<Note>

12 Le mode auto est disponible pour tous les utilisateurs sur l'API Anthropic. Sur Amazon Bedrock, Google Cloud Vertex AI et Microsoft Foundry, vous devez d'abord [définir `CLAUDE_CODE_ENABLE_AUTO_MODE`](/fr/permission-modes#enable-auto-mode-on-bedrock-vertex-ai-or-foundry). Si Claude Code signale que le mode auto n'est pas disponible pour votre compte, consultez les [exigences complètes](/fr/permission-modes#eliminate-prompts-with-auto-mode), qui couvrent également les modèles pris en charge et l'activation par l'administrateur sur les plans Team et Enterprise.12 Le mode auto est disponible pour tous les utilisateurs sur l'API Anthropic. Sur Amazon Bedrock, Google Cloud Vertex AI, Microsoft Foundry et les sessions de [passerelle d'applications Claude](/fr/claude-apps-gateway) connectées, vous devez d'abord [définir `CLAUDE_CODE_ENABLE_AUTO_MODE`](/fr/permission-modes#enable-auto-mode-on-bedrock-vertex-ai-or-foundry). Si Claude Code signale que le mode auto n'est pas disponible pour votre compte, consultez les [exigences complètes](/fr/permission-modes#eliminate-prompts-with-auto-mode), qui couvrent également les modèles pris en charge et l'activation par le propriétaire sur les plans Team et Enterprise.

13</Note>13</Note>

14 14 

15Par défaut, le classificateur n'approuve que le répertoire de travail et les remotes configurées du dépôt actuel. Les actions comme pousser vers l'organisation de contrôle de source de votre entreprise ou écrire dans un bucket cloud d'équipe sont bloquées jusqu'à ce que vous les ajoutiez à `autoMode.environment`.15Par défaut, le classificateur n'approuve que le répertoire de travail et les remotes configurées du dépôt actuel. Les actions comme pousser vers l'organisation de contrôle de source de votre entreprise ou écrire dans un bucket cloud d'équipe sont bloquées jusqu'à ce que vous les ajoutiez à `autoMode.environment`.


21* [Choisir où définir les règles](#where-the-classifier-reads-configuration) dans CLAUDE.md, les paramètres utilisateur et les paramètres gérés21* [Choisir où définir les règles](#where-the-classifier-reads-configuration) dans CLAUDE.md, les paramètres utilisateur et les paramètres gérés

22* [Définir l'infrastructure approuvée](#define-trusted-infrastructure) avec `autoMode.environment`22* [Définir l'infrastructure approuvée](#define-trusted-infrastructure) avec `autoMode.environment`

23* [Remplacer les règles de blocage et d'autorisation](#override-the-block-and-allow-rules) quand les valeurs par défaut ne correspondent pas à votre pipeline23* [Remplacer les règles de blocage et d'autorisation](#override-the-block-and-allow-rules) quand les valeurs par défaut ne correspondent pas à votre pipeline

24* [Router tous les commandes shell via le classificateur](#route-all-shell-commands-through-the-classifier) avec `autoMode.classifyAllShell`

24* [Inspecter votre configuration effective](#inspect-the-defaults-and-your-effective-config) avec les sous-commandes `claude auto-mode`25* [Inspecter votre configuration effective](#inspect-the-defaults-and-your-effective-config) avec les sous-commandes `claude auto-mode`

25* [Examiner les refus](#review-denials) pour savoir ce qu'il faut ajouter ensuite26* [Examiner les refus](#review-denials) pour savoir ce qu'il faut ajouter ensuite

26 27 


41 42 

42Le classificateur ne lit pas `autoMode` à partir des paramètres de projet partagés dans `.claude/settings.json`, donc un dépôt enregistré ne peut pas injecter ses propres règles d'autorisation.43Le classificateur ne lit pas `autoMode` à partir des paramètres de projet partagés dans `.claude/settings.json`, donc un dépôt enregistré ne peut pas injecter ses propres règles d'autorisation.

43 44 

44Les entrées de chaque portée sont combinées. Un développeur peut étendre `environment`, `allow`, `soft_deny` et `hard_deny` avec des entrées personnelles mais ne peut pas supprimer les entrées que les paramètres gérés fournissent. Parce que les règles d'autorisation agissent comme des exceptions aux règles de blocage à l'intérieur du classificateur, une entrée `allow` ajoutée par un développeur peut remplacer une entrée `soft_deny` d'organisation : la combinaison est additive, pas une limite de politique stricte.45Les entrées de chaque portée sont combinées. Un développeur peut étendre `environment`, `allow`, `soft_deny` et `hard_deny` avec des entrées personnelles mais ne peut pas supprimer les entrées que les paramètres gérés fournissent. Parce que les règles d'autorisation agissent comme des exceptions aux règles de blocage logiciel à l'intérieur du classificateur, une entrée `allow` ajoutée par un développeur peut remplacer une entrée `soft_deny` d'organisation : la combinaison est additive, pas une limite de politique stricte.

45 46 

46<Note>47<Note>

47 Le classificateur est une deuxième porte qui s'exécute après le [système de permissions](/fr/permissions). Pour les actions qui ne doivent jamais s'exécuter indépendamment de l'intention de l'utilisateur ou de la configuration du classificateur, utilisez `permissions.deny` dans les paramètres gérés, qui bloque l'action avant que le classificateur ne soit consulté et ne peut pas être remplacée.48 Le classificateur est une deuxième porte qui s'exécute après le [système de permissions](/fr/permissions). Pour les actions qui ne doivent jamais s'exécuter indépendamment de l'intention de l'utilisateur ou de la configuration du classificateur, utilisez `permissions.deny` dans les paramètres gérés, qui bloque l'action avant que le classificateur ne soit consulté et ne peut pas être remplacée.


53 54 

54Pour la plupart des organisations, `autoMode.environment` est le seul champ que vous devez définir. Il indique au classificateur quels dépôts, buckets et domaines sont approuvés : le classificateur l'utilise pour décider ce que signifie « externe », donc toute destination non listée est une cible d'exfiltration potentielle.55Pour la plupart des organisations, `autoMode.environment` est le seul champ que vous devez définir. Il indique au classificateur quels dépôts, buckets et domaines sont approuvés : le classificateur l'utilise pour décider ce que signifie « externe », donc toute destination non listée est une cible d'exfiltration potentielle.

55 56 

56La liste d'environnement par défaut approuve le dépôt de travail et ses remotes configurées. Pour ajouter vos propres entrées aux côtés de cette valeur par défaut, incluez la chaîne littérale `"$defaults"` dans le tableau. Les entrées par défaut sont insérées à cette position, donc vos entrées personnalisées peuvent aller avant ou après.57À partir de Claude Code v2.1.195, `claude auto-mode defaults` imprime deux types d'entrées d'environnement.

58 

59* **Emplacements de confiance** : nomment ce que le classificateur traite comme à l'intérieur de votre limite. Les emplacements sont Dépôt approuvé, Contrôle de source, Domaines internes approuvés, Buckets cloud approuvés, Services internes clés et Registre de packages interne. Les entrées de dépôt et de contrôle de source sont par défaut le dépôt de travail et ses remotes configurées. Tous les autres emplacements de confiance sont par défaut `Aucun configuré`, donc rien d'autre n'est approuvé jusqu'à ce que vous l'ajoutiez.

60* **Emplacements de sensibilité** : nomment ce que les règles de protection traitent comme à haut risque. Les emplacements sont Emplacements de données PII / réglementées, Cibles distantes sensibles et Portées IaC protégées. Chacun est par défaut une heuristique large, comme traiter tout hôte ou espace de noms dont le nom porte `prod` ou `production` comme une cible distante sensible, donc les règles de protection sont actives avant que vous configuriez quoi que ce soit. Nommer des cibles concrètes dans un emplacement de sensibilité fait que ces règles s'appliquent aux cibles nommées au lieu de l'heuristique.

61 

62Les versions antérieures à v2.1.195 impriment uniquement les cinq premiers emplacements de confiance.

63 

64Pour ajouter vos propres entrées aux côtés des valeurs par défaut, incluez la chaîne littérale `"$defaults"` dans le tableau. Les entrées par défaut sont insérées à cette position, donc vos entrées personnalisées peuvent aller avant ou après elles.

65 

66L'exemple suivant conserve les entrées par défaut et ajoute les dépôts, buckets, domaines et services d'une organisation.

57 67 

58```json theme={null}68```json theme={null}

59{69{


76* **Fournisseurs cloud et buckets approuvés** : noms de buckets ou préfixes que Claude devrait pouvoir lire et écrire86* **Fournisseurs cloud et buckets approuvés** : noms de buckets ou préfixes que Claude devrait pouvoir lire et écrire

77* **Domaines internes approuvés** : noms d'hôtes pour les API, tableaux de bord et services à l'intérieur de votre réseau, comme `*.internal.example.com`87* **Domaines internes approuvés** : noms d'hôtes pour les API, tableaux de bord et services à l'intérieur de votre réseau, comme `*.internal.example.com`

78* **Services internes clés** : CI, registres d'artefacts, index de packages internes, outils d'incident88* **Services internes clés** : CI, registres d'artefacts, index de packages internes, outils d'incident

89* **Registre de packages interne** : le registre npm, PyPI ou autre privé par lequel les installations doivent être acheminées, donc les installations qui le contournent pour un registre public sont bloquées

90* **Emplacements de données PII / réglementées** : les buckets, bases de données ou chemins qui contiennent des données personnelles ou réglementées, afin que le classificateur protège ces emplacements au lieu de deviner à partir du contenu

91* **Cibles distantes sensibles** : les espaces de noms, hôtes ou conteneurs qui comptent comme production, donc les shells distants et les redirections de ports vers eux ont besoin de votre approbation explicite

92* **Portées IaC protégées** : les ressources d'infrastructure dont l'application ou la destruction doivent toujours vous demander de nommer le changement

79* **Contexte supplémentaire** : contraintes d'industrie réglementée, infrastructure multi-locataire ou exigences de conformité qui affectent ce que le classificateur devrait traiter comme risqué93* **Contexte supplémentaire** : contraintes d'industrie réglementée, infrastructure multi-locataire ou exigences de conformité qui affectent ce que le classificateur devrait traiter comme risqué

80 94 

95Les entrées Registre de packages interne, Emplacements de données PII / réglementées, Cibles distantes sensibles et Portées IaC protégées nécessitent Claude Code v2.1.195 ou ultérieur. Les versions antérieures les lisent toujours comme du contexte simple mais n'ont pas les règles intégrées qui les ciblent.

96 

81Un modèle de démarrage utile : remplissez les champs entre crochets et supprimez les lignes qui ne s'appliquent pas.97Un modèle de démarrage utile : remplissez les champs entre crochets et supprimez les lignes qui ne s'appliquent pas.

82 98 

83```json theme={null}99```json theme={null}


105 Remplacer les règles de blocage et d'autorisation121 Remplacer les règles de blocage et d'autorisation

106</h2>122</h2>

107 123 

108Trois champs supplémentaires vous permettent de remplacer les listes de règles intégrées du classificateur : `autoMode.hard_deny` pour les limites de sécurité inconditionnelles, `autoMode.soft_deny` pour les actions destructrices que l'intention de l'utilisateur peut lever, et `autoMode.allow` pour les exceptions. Chacun est un tableau de descriptions en prose, lu comme des règles en langage naturel. Pour les blocages durs basés sur des motifs d'outils qui s'exécutent avant le classificateur, utilisez [`permissions.deny`](/fr/permissions).124Trois champs supplémentaires vous permettent de remplacer les listes de règles intégrées du classificateur :

125 

126* `autoMode.hard_deny` : limites de sécurité inconditionnelles

127* `autoMode.soft_deny` : actions destructrices que l'intention de l'utilisateur peut lever

128* `autoMode.allow` : exceptions aux règles de blocage logiciel

129 

130Chacun est un tableau de descriptions en prose, lu comme des règles en langage naturel. Pour les blocages durs basés sur des motifs d'outils qui s'exécutent avant le classificateur, utilisez [`permissions.deny`](/fr/permissions).

109 131 

110À l'intérieur du classificateur, la précédence fonctionne en quatre niveaux :132À l'intérieur du classificateur, la précédence fonctionne en quatre niveaux :

111 133 


120 142 

121Pour conserver les règles intégrées tout en ajoutant les vôtres, incluez la chaîne littérale `"$defaults"` dans le tableau. Les règles par défaut sont insérées à cette position, donc vos règles personnalisées peuvent aller avant ou après elles, et vous continuez à hériter des mises à jour à mesure que la liste intégrée change entre les versions.143Pour conserver les règles intégrées tout en ajoutant les vôtres, incluez la chaîne littérale `"$defaults"` dans le tableau. Les règles par défaut sont insérées à cette position, donc vos règles personnalisées peuvent aller avant ou après elles, et vous continuez à hériter des mises à jour à mesure que la liste intégrée change entre les versions.

122 144 

145L'exemple suivant conserve les valeurs par défaut dans les quatre listes et ajoute des règles spécifiques à l'organisation à chacune.

146 

123```json theme={null}147```json theme={null}

124{148{

125 "autoMode": {149 "autoMode": {


146```170```

147 171 

148<Danger>172<Danger>

149 La définition de l'un de `environment`, `allow`, `soft_deny` ou `hard_deny` sans `"$defaults"` remplace la liste par défaut entière pour cette section. Un tableau `soft_deny` sans `"$defaults"` rejette chaque règle de blocage intégrée, y compris la poussée forcée, `curl | bash` et les déploiements en production. Un tableau `hard_deny` sans `"$defaults"` rejette les règles intégrées d'exfiltration de données et de contournement des vérifications de sécurité.173 La définition de l'un de `environment`, `allow`, `soft_deny` ou `hard_deny` sans `"$defaults"` remplace la liste par défaut entière pour cette section. Un tableau `soft_deny` sans `"$defaults"` rejette chaque règle de blocage intégrée, y compris la poussée forcée, `curl | bash` et les déploiements en production. Un tableau `hard_deny` sans `"$defaults"` rejette les règles intégrées d'exfiltration de données et de contournement du mode auto.

150</Danger>174</Danger>

151 175 

152Chaque section est évaluée indépendamment, donc la définition de `environment` seule laisse les listes `allow`, `soft_deny` et `hard_deny` par défaut intactes. Omettez `"$defaults"` uniquement quand vous avez l'intention de prendre la responsabilité complète de la liste. Pour ce faire en toute sécurité, exécutez `claude auto-mode defaults` pour imprimer les règles intégrées, copiez-les dans votre fichier de paramètres, puis examinez chaque règle par rapport à votre propre pipeline et tolérance au risque.176Chaque section est évaluée indépendamment, donc la définition de `environment` seule laisse les listes `allow`, `soft_deny` et `hard_deny` par défaut intactes.

177 

178Omettez `"$defaults"` uniquement quand vous avez l'intention de prendre la responsabilité complète de la liste. Pour ce faire en toute sécurité, exécutez `claude auto-mode defaults` pour imprimer les règles intégrées, copiez-les dans votre fichier de paramètres, puis examinez chaque règle par rapport à votre propre pipeline et tolérance au risque.

179 

180<h2 id="route-all-shell-commands-through-the-classifier">

181 Router tous les commandes shell via le classificateur

182</h2>

183 

184Par défaut, les règles d'autorisation Bash et PowerShell étroites comme `Bash(npm test)` sont reportées en mode auto et résolues avant l'exécution du classificateur. Le mode auto suspend uniquement les règles larges qui accordent l'exécution de code arbitraire, comme `Bash(*)` ou les interpréteurs avec caractères génériques. Cela signifie qu'une règle étroite peut toujours laisser passer un argument destructeur sans que le classificateur le voie, par exemple un chemin de script ou un drapeau que le préfixe de la règle n'a pas anticipé.

185 

186Définissez `autoMode.classifyAllShell` à `true` pour suspendre chaque règle d'autorisation Bash et PowerShell pendant que le mode auto est actif, afin que le classificateur évalue chaque commande shell indépendamment de votre liste d'autorisation.

187 

188```json theme={null}

189{

190 "autoMode": {

191 "classifyAllShell": true

192 }

193}

194```

195 

196Cela échange la latence pour la couverture : une commande qu'une règle d'autorisation aurait approuvée instantanément attend maintenant une décision du classificateur, et chaque commande shell compte comme un appel du classificateur.

197 

198Le paramètre s'applique uniquement pendant que le mode auto est actif, et vos règles d'autorisation se comportent normalement dans les autres modes de permission.

199 

200<Note>

201 `autoMode.classifyAllShell` nécessite Claude Code v2.1.193 ou ultérieur. Les versions antérieures ignorent la clé et continuent à reporter les règles d'autorisation shell étroites en mode auto.

202</Note>

153 203 

154<h2 id="inspect-the-defaults-and-your-effective-config">204<h2 id="inspect-the-defaults-and-your-effective-config">

155 Inspecter les valeurs par défaut et votre configuration effective205 Inspecter les valeurs par défaut et votre configuration effective


175claude auto-mode critique225claude auto-mode critique

176```226```

177 227 

178Exécutez `claude auto-mode config` après avoir enregistré vos paramètres pour confirmer que les règles effectives sont ce que vous attendez, avec `"$defaults"` développé en place. Si vous avez écrit des règles personnalisées, `claude auto-mode critique` les examine et signale les entrées qui sont ambiguës, redondantes ou susceptibles de causer des faux positifs. Si vous devez supprimer ou réécrire une règle intégrée plutôt que d'en ajouter une à côté, enregistrez la sortie de `claude auto-mode defaults` dans un fichier, modifiez les listes, et collez le résultat dans votre fichier de paramètres à la place de `"$defaults"`.228Exécutez `claude auto-mode config` après avoir enregistré vos paramètres pour confirmer que les règles effectives sont ce que vous attendez, avec `"$defaults"` développé en place. Si vous avez écrit des règles personnalisées, `claude auto-mode critique` les examine et signale les entrées qui sont ambiguës, redondantes ou susceptibles de causer des faux positifs.

229 

230Si vous devez supprimer ou réécrire une règle intégrée plutôt que d'en ajouter une à côté, enregistrez la sortie de `claude auto-mode defaults` dans un fichier, modifiez les listes, et collez le résultat dans votre fichier de paramètres à la place de `"$defaults"`.

179 231 

180<h2 id="review-denials">232<h2 id="review-denials">

181 Examiner les refus233 Examiner les refus


183 235 

184Quand le mode auto refuse un appel d'outil, le refus est enregistré dans `/permissions` sous l'onglet Récemment refusé. Appuyez sur `r` sur une action refusée pour la marquer pour réessai : quand vous quittez la boîte de dialogue, Claude Code envoie un message indiquant au modèle qu'il peut réessayer cet appel d'outil et reprend la conversation.236Quand le mode auto refuse un appel d'outil, le refus est enregistré dans `/permissions` sous l'onglet Récemment refusé. Appuyez sur `r` sur une action refusée pour la marquer pour réessai : quand vous quittez la boîte de dialogue, Claude Code envoie un message indiquant au modèle qu'il peut réessayer cet appel d'outil et reprend la conversation.

185 237 

238Dans Claude Code v2.1.193 et ultérieur, la raison du classificateur pour chaque refus apparaît aux côtés de l'appel d'outil bloqué dans la transcription, dans la notification de refus et sous chaque entrée de l'onglet Récemment refusé. Utilisez la raison pour décider si la correction est une entrée `environment`, une exception `allow` ou un réessai avec intention explicite dans votre prochain message.

239 

186Les refus répétés pour la même destination signifient généralement que le classificateur manque de contexte. Ajoutez cette destination à `autoMode.environment`, puis exécutez `claude auto-mode config` pour confirmer que cela a pris effet.240Les refus répétés pour la même destination signifient généralement que le classificateur manque de contexte. Ajoutez cette destination à `autoMode.environment`, puis exécutez `claude auto-mode config` pour confirmer que cela a pris effet.

187 241 

188Pour réagir aux refus par programmation, utilisez le [hook `PermissionDenied`](/fr/hooks#permissiondenied).242Pour réagir aux refus par programmation, utilisez le [hook `PermissionDenied`](/fr/hooks#permissiondenied).

claude-apps-gateway-config.md +749 −0 created

Details

1> ## Documentation Index

2> Fetch the complete documentation index at: https://code.claude.com/docs/llms.txt

3> Use this file to discover all available pages before exploring further.

4 

5# Configuration de la passerelle Claude apps

6 

7> Référence pour chaque option gateway.yaml : écouteur et TLS, OIDC, session, magasin Postgres, amonts Bedrock/Agent Platform/Foundry, routage des modèles, politiques gérées et télémétrie.

8 

9Un déploiement de passerelle Claude apps est configuré par un fichier YAML, conventionnellement `gateway.yaml`. Le fichier définit tout ce que fait la passerelle : où elle écoute, comment les développeurs se connectent, où va l'inférence et quelles politiques et télémétrie s'appliquent. Cette page est la référence pour chaque option de ce fichier. Pour écrire votre première, commencez par le [démarrage rapide](/fr/claude-apps-gateway#quickstart), qui crée une configuration minimale fonctionnelle et l'exécute ; une fois que vous avez une configuration avec laquelle vous êtes satisfait, le [guide de déploiement](/fr/claude-apps-gateway-deploy) couvre la conteneurisation et l'hébergement sur Kubernetes, Cloud Run ou votre propre plateforme.

10 

11La passerelle lit le fichier une fois, au démarrage, avec `claude gateway --config /path/to/gateway.yaml`. Chaque option est validée par rapport à un schéma au démarrage, donc une configuration mal formée échoue au démarrage avec une erreur au niveau du champ plutôt qu'à la première utilisation.

12 

13L'[exemple complet](#complete-example) à la fin de cette page exerce chaque section.

14 

15<h2 id="file-structure">

16 Structure du fichier

17</h2>

18 

19Cinq sections sont [requises](#required-sections). Chaque autre section est [optionnelle](#optional-sections), et une section omise prend ses valeurs par défaut. Les clés inconnues échouent au démarrage, donc une faute de frappe apparaît comme une erreur nommée plutôt qu'un paramètre silencieusement ignoré.

20 

21**Sections requises :**

22 

23* [`listen`](#listen) : adresse de liaison, URL publique, terminaison TLS

24* [`oidc`](#oidc) : votre fournisseur d'identité (IdP), y compris l'émetteur, le client, le mappage des réclamations et qui peut se connecter

25* [`session`](#session) : les jetons porteurs que la passerelle émet, avec secret et durée de vie

26* [`store`](#store) : PostgreSQL, pour les subventions d'appareils et les compteurs de limite de débit

27* [`upstreams`](#upstreams) : où l'inférence va, qu'il s'agisse d'Anthropic, Bedrock, Agent Platform ou Foundry

28 

29**Sections optionnelles :**

30 

31* [`admin`](#admin) : authentification de l'API Admin et rétention pour les limites de dépenses

32* [`enforcement`](#enforcement) : comportement de limite de dépenses fail-open ou fail-closed

33* [`models`](#models) et `auto_include_builtin_models` : liste de modèles curée par l'administrateur et IDs par upstream

34* [`managed`](#managed) : politiques de paramètres gérés par groupe IdP

35* [`telemetry`](#telemetry) : transfert OTLP vers votre pile d'observabilité

36* [`access_control`, `limits`, `timeouts`, `rate_limits`](#http-tuning) : autorisation/refus IP, plafonds de taille de requête, time-to-first-byte upstream et limites de connexion par IP

37 

38<h2 id="secret-expansion">

39 Expansion des secrets

40</h2>

41 

42N'écrivez pas de secrets tels que `client_secret`, `jwt_secret` ou `postgres_url` directement dans `gateway.yaml`. Référencez-les avec l'une des formes ci-dessous, et la passerelle résout la valeur au démarrage à partir d'une variable d'environnement ou d'un fichier :

43 

44| Forme | Résout à | Utiliser pour |

45| --------------- | --------------------------------------------------------------------- | ----------------------------------------------------------------------------- |

46| `${VAR}` | La variable d'environnement `VAR`. Le démarrage échoue si non défini. | Variables d'environnement de conteneur, AWS Secrets Manager via injection env |

47| `${file:/path}` | Contenu du fichier, coupé | Montages de volume Kubernetes Secret, Vault Agent, SOPS |

48 

49<h2 id="required-sections">

50 Sections requises

51</h2>

52 

53<h3 id="listen">

54 `listen`

55</h3>

56 

57Le bloc `listen` contrôle où la passerelle sert : l'adresse de liaison et le port, l'origine visible en externe, et la terminaison TLS optionnelle.

58 

59| Champ | Requis | Description |

60| ---------------------- | ----------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

61| `host` | Non | Adresse de liaison. Par défaut `0.0.0.0`. |

62| `port` | Non | Port de liaison. Par défaut `8080`. |

63| `public_url` | Derrière un proxy | L'origine `https://` visible en externe, utilisée pour construire le `redirect_uri` IdP et les métadonnées de découverte. Requis derrière tout proxy terminant TLS tel qu'un ALB, Ingress ou Cloud Run, car la passerelle ne fait pas confiance aux en-têtes `X-Forwarded-*` lors de la construction de sa propre origine ; ils sont spoofables par le client. `trusted_proxies` ci-dessous régit uniquement la résolution de l'IP du client. Également requis pour activer la [télémétrie](#telemetry), car la passerelle construit le point de terminaison OTLP qu'elle pousse aux clients à partir de cette URL. |

64| `tls.cert` / `tls.key` | Non | Chemins PEM si la passerelle termine TLS elle-même |

65| `trusted_proxies` | Non | CIDRs ou IPs des équilibreurs de charge devant la passerelle. Lorsqu'il est défini, la passerelle fait confiance à `X-Forwarded-For` uniquement à partir de ces pairs et enregistre l'IP client réelle pour la limitation de débit par IP et l'audit. Équivalent à nginx `set_real_ip_from`. |

66 

67<h3 id="oidc">

68 `oidc`

69</h3>

70 

71OpenID Connect (OIDC) est le protocole SSO que la passerelle utilise avec votre fournisseur d'identité ; voir [Configuration du fournisseur d'identité](/fr/claude-apps-gateway-deploy#identity-provider-setup) pour ce qu'il faut enregistrer du côté IdP. Le bloc `oidc` connecte la passerelle à votre fournisseur d'identité et décide qui peut se connecter. Il nomme l'émetteur et le client OAuth, mappe les réclamations qui portent l'e-mail et les groupes, et restreint la connexion par domaine d'e-mail ou groupe.

72 

73| Champ | Requis | Description |

74| ------------------------------- | ------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

75| `issuer` | Oui | Base de découverte OIDC. Doit servir la découverte à `/.well-known/openid-configuration`. Utilisez HTTPS en production ; la passerelle accepte un émetteur `http://`. Un émetteur de boucle locale tel que `http://localhost:8081` est rejeté par la [garde SSRF](/fr/claude-apps-gateway-deploy#threat-model-summary) sauf si `CLAUDE_GATEWAY_ALLOW_LOOPBACK=1` est défini dans l'environnement de la passerelle. |

76| `client_id` / `client_secret` | Oui | De votre enregistrement de client OAuth |

77| `allowed_email_domains` | Non | Rejeter les id\_tokens dont la réclamation `email` n'est pas dans l'un de ces domaines, insensible à la casse. Défense en profondeur contre les erreurs de configuration IdP multi-locataires. Indépendamment de ce paramètre, un id\_token dont la réclamation `email_verified` est explicitement `false` est toujours rejeté. |

78| `allowed_groups` | Non | Restreindre la connexion aux membres de ces groupes IdP, appariés par rapport à `groups_claim`. Un utilisateur dans un domaine d'e-mail autorisé mais dans aucun de ces groupes est rejeté. Nécessite que l'IdP émette la réclamation de groupes. |

79| `groups_claim` | Non | Quelle réclamation id\_token porte l'appartenance au groupe. Par défaut `groups`. Microsoft Entra émet les rôles d'application sous `roles`. Accepte une clé plate ou un pointeur JSON RFC 6901 tel que `/resource_access/gateway/roles` pour les réclamations imbriquées. |

80| `google_groups` | Non | Rechercher les groupes de l'utilisateur connecté via l'API Google Workspace Admin SDK Directory, car le id\_token de Google ne porte aucune réclamation de groupes. Définissez `service_account_json_path` sur un fichier de clé de compte de service avec délégation à l'échelle du domaine sur la portée `https://www.googleapis.com/auth/admin.directory.group.readonly`, et `admin_email` sur un administrateur Workspace que le compte de service usurpe ; l'API Directory nécessite un sujet administrateur réel. Les adresses e-mail de groupe de chaque utilisateur deviennent leur réclamation de groupes, donc `allowed_groups` et `managed.policies.match.groups` correspondent sur les e-mails de groupe. |

81| `email_claim` | Non | Quelle réclamation id\_token porte l'e-mail de l'utilisateur. Par défaut `email`. Certains IdPs, tels que ADFS et Entra B2C, émettent `upn` ou `preferred_username` à la place. Accepte une clé plate, un pointeur JSON ou une liste de clés de secours où la première clé présente est utilisée. |

82| `scopes` | Non | Remplacement complet des portées OIDC que la passerelle demande. Par défaut `[openid, profile, email, offline_access]`. Définissez lorsque votre IdP rejette les portées qu'il ne reconnaît pas, ou nécessite une portée personnalisée pour émettre des groupes ou un e-mail. Doit inclure `openid`. Supprimer `offline_access` désactive les jetons d'actualisation, donc les développeurs réexécutent la connexion au navigateur tous les `session.ttl_hours`. Voir [Configuration du fournisseur d'identité](/fr/claude-apps-gateway-deploy#identity-provider-setup) pour les recettes de portée par IdP telles que le flux de jeton d'actualisation de Google. |

83| `extra_auth_params` | Non | Paramètres de requête supplémentaires ajoutés à la demande d'autorisation IdP, textuellement. C'est le mécanisme de remplacement pour le comportement spécifique à l'IdP, tel que `access_type: offline` pour les jetons d'actualisation Google, `domain_hint` pour certains locataires Entra, ou `acr_values` pour les flux d'escalade. Ne peut pas remplacer les paramètres de protocole gérés par la passerelle : `state`, `nonce`, `redirect_uri`, PKCE, `scope`, `response_type`, `response_mode` et `client_id`. |

84| `userinfo_fallback` | Non | Lorsque le id\_token omet l'e-mail ou les groupes, les récupérer à partir de `/userinfo`. Nécessaire pour les jetons d'accès légers Keycloak, le serveur org Okta et les jetons minimaux ADFS. Le id\_token reste faisant autorité ; userinfo remplit uniquement les lacunes. Par défaut `false`. |

85| `use_pkce` | Non | Envoyer un défi PKCE (S256) sur la demande d'autorisation. Par défaut `true`. Définissez `false` uniquement si votre IdP rejette PKCE pour ce client confidentiel. |

86| `clock_skew_seconds` | Non | Tolérer la dérive d'horloge lors de la validation des réclamations de temps id\_token. Par défaut `0`, ce qui est strict. Augmentez si vous voyez des erreurs « token expired / not yet valid » juste après la connexion en raison d'une dérive d'horloge hôte/IdP. |

87| `token_endpoint_auth_method` | Non | Remplacer la méthode d'authentification du point de terminaison de jeton. Accepte `client_secret_basic` ou `client_secret_post`. Négocié automatiquement par défaut. |

88| `id_token_signed_response_alg` | Non | Algorithme de signature id\_token attendu. Par défaut `RS256`. Définissez pour les IdPs qui signent avec ES256, PS256 ou EdDSA. |

89| `additional_authorized_parties` | Non | Valeurs `azp` supplémentaires à accepter au-delà de `client_id`, pour les flux de courtier Keycloak et d'échange de jetons |

90| `discovery_url` | Non | Récupérer le document de découverte à partir de cette URL au lieu de le dériver de `issuer`, pour les IdPs derrière un proxy qui réécrit l'hôte émetteur. Le chemin doit contenir `/.well-known/`. |

91| `form_action_origins` | Non | Origines supplémentaires pour la directive `Content-Security-Policy: form-action` de la page `/device`. La passerelle autorise déjà `'self'` et l'origine du `authorization_endpoint` découverte, mais Chrome applique `form-action` à toute la chaîne de redirection. Si votre IdP redirige via un deuxième hôte, tel que Azure AD fédéré à ADFS, Okta hub-spoke ou un intercepteur SSO d'entreprise, listez chaque origine par laquelle la demande d'autorisation peut rediriger. |

92| `ca_cert_pem` | Non | Certificat CA PEM qui remplace le magasin de confiance système pour les demandes IdP uniquement. Utilisez pour Keycloak ou Dex derrière une PKI d'entreprise. |

93 

94<h3 id="session">

95 `session`

96</h3>

97 

98Le bloc `session` façonne les jetons porteurs que la passerelle émet après la connexion : le secret qui les signe et combien de temps ils vivent.

99 

100| Champ | Requis | Description |

101| ------------ | ------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

102| `jwt_secret` | Oui | Au moins 32 octets d'entropie, par exemple à partir de `openssl rand -base64 32`. Signe les jetons porteurs HS256 de la passerelle. Accepte une chaîne unique ou un tableau pour la rotation : l'index 0 signe et toutes les entrées vérifient. Pour faire pivoter, prépendez un nouveau secret, attendez `ttl_hours`, puis supprimez l'ancien. |

103| `ttl_hours` | Non | Durée de vie du jeton porteur de la passerelle. Par défaut `1`. Le CLI s'actualise silencieusement avant l'expiration lorsque l'IdP émet des jetons d'actualisation. Une durée de vie plus courte déprovisionne plus rapidement ; une plus longue fait moins de trajets IdP. Si votre IdP ne peut pas émettre de jetons d'actualisation car `offline_access` n'est pas disponible, il n'y a pas d'actualisation silencieuse, donc augmentez ceci à `8` ou `12` pour éviter de renvoyer les développeurs à la connexion au navigateur toutes les heures. |

104 

105<h3 id="store">

106 `store`

107</h3>

108 

109Le bloc `store` pointe la passerelle vers sa base de données PostgreSQL, qui contient les subventions d'appareils et les compteurs de limite de débit.

110 

111| Champ | Requis | Description |

112| ----------------- | ------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

113| `postgres_url` | Oui | URL `postgres://` ou `postgresql://`. Requis : le rendez-vous de subvention d'appareil, où le rappel du navigateur écrit et le CLI d'interrogation lit, a besoin d'un état entre répliques. La passerelle exécute ses propres migrations de schéma au démarrage, donc le rôle a besoin de `CREATE TABLE` sur le schéma cible. Si votre politique de sécurité interdit le DDL du rôle d'application, exécutez les migrations avec un rôle administrateur, initialement et à nouveau chaque fois qu'une nouvelle version expédie des migrations, et accordez au rôle d'application `SELECT, INSERT, UPDATE, DELETE` sur les tables de la passerelle. Voir [Mises à jour](/fr/claude-apps-gateway-deploy#upgrades) et [Postgres](/fr/claude-apps-gateway-deploy#postgres). |

114| `username` | Non | Remplace l'utilisateur dans `postgres_url` |

115| `password` | Non | Identifiant de base de données. Définissez-le ici plutôt que dans `postgres_url` pour que l'identifiant reste hors de l'URL. Accepte n'importe quel caractère et prend la priorité sur les identifiants d'URL. |

116| `max_connections` | Non | Taille du pool de connexions Postgres par réplique. Par défaut `5`, ce qui est conservateur et convivial pour les bases de données partagées. Avec les [limites de dépenses](#admin) activées, le chemin chaud effectue quelques opérations par demande d'inférence, donc augmentez-le pour une base de données dédiée sous charge, et gardez les répliques × ceci en dessous du `max_connections` de la base de données. |

117 

118Pour le développement local, pointez `postgres_url` sur un conteneur Postgres jetable, par exemple `docker run --rm -p 5432:5432 -e POSTGRES_HOST_AUTH_METHOD=trust postgres`.

119 

120<h3 id="upstreams">

121 `upstreams`

122</h3>

123 

124`upstreams` est une liste ordonnée. La passerelle transfère l'inférence au premier upstream qui résout le modèle demandé. Sur `5xx`, `429` ou timeout, elle bascule vers le suivant ; les autres `4xx` ne le font pas, car ces erreurs sont attribuables à la demande plutôt qu'à l'upstream. Plusieurs upstreams du même fournisseur doivent définir un `name:` distinct.

125 

126Les clients Bedrock, Agent Platform et Foundry sont construits une fois au démarrage, et leurs SDKs actualisent les identifiants en interne, donc la rotation des identifiants cloud ne nécessite pas un redémarrage. Les clés API Anthropic statiques et les porteurs sont lus au démarrage ; voir [Anthropic API](#anthropic-api).

127 

128<h4 id="anthropic-api">

129 Anthropic API

130</h4>

131 

132L'upstream Anthropic minimal est une clé API de la [Console Claude](https://platform.claude.com) :

133 

134```yaml theme={null}

135upstreams:

136 - provider: anthropic

137 auth:

138 api_key: ${ANTHROPIC_API_KEY}

139 # OU un porteur OAuth (par exemple un jeton échangé par Workload-Identity-Federation) :

140 # oauth_token: ${file:/var/run/secrets/anthropic-oauth-token}

141 # base_url: https://api.anthropic.com # par défaut ; remplacer pour un proxy de transfert

142```

143 

144Les deux formes d'identifiants diffèrent dans l'en-tête qu'elles envoient :

145 

146* **`api_key`** : envoie `x-api-key`. Faites-la pivoter dans la Console Claude et mettez à jour la variable env.

147* **`oauth_token`** : envoie `Authorization: Bearer`. Utilisez la forme porteur lorsque votre organisation émet des jetons de courte durée au lieu de clés API de longue durée. Le porteur est lu une fois au démarrage, donc actualisez en remontant le secret et en redémarrant.

148 

149Au lieu d'une clé statique ou d'un porteur, vous pouvez utiliser Workload Identity Federation. Créez une règle de fédération en suivant le [guide Workload Identity Federation](https://platform.claude.com/docs/en/manage-claude/workload-identity-federation), puis montez le JWT OIDC de votre charge de travail en tant que fichier, tel qu'un jeton de compte de service projeté Kubernetes ou un id-token de plateforme CI. La passerelle échange le JWT pour un porteur de courte durée et l'actualise automatiquement. Le fichier de jeton est relu à chaque échange, donc les jetons projetés pivotés sont récupérés sans redémarrage.

150 

151```yaml theme={null}

152upstreams:

153 - provider: anthropic

154 auth:

155 federation_rule_id: ${ANTHROPIC_FEDERATION_RULE_ID}

156 organization_id: ${ANTHROPIC_ORGANIZATION_ID}

157 identity_token_file: /var/run/secrets/anthropic/id-token

158 # workspace_id: wrkspc_... # requis si la règle couvre >1 espace de travail

159 # service_account_id: svac_... # vérification de cible attendue optionnelle

160```

161 

162<h4 id="amazon-bedrock">

163 Amazon Bedrock

164</h4>

165 

166Pour le déploiement Bedrock côté client que la passerelle remplace ou fronts, voir [Claude Code sur Amazon Bedrock](/fr/amazon-bedrock). L'upstream côté passerelle :

167 

168```yaml theme={null}

169upstreams:

170 - provider: bedrock

171 region: us-east-1

172 auth: {} # préféré : chaîne d'identifiants par défaut AWS

173 # OU identifiants explicites :

174 # auth:

175 # aws_access_key_id: ${AWS_AKID}

176 # aws_secret_access_key: ${AWS_SK}

177 # aws_session_token: ${AWS_ST}

178 # OU un jeton porteur Bedrock API :

179 # auth:

180 # aws_bearer_token: ${AWS_BEARER_TOKEN}

181 # Remplacer le point de terminaison bedrock-runtime pour les déploiements FIPS ou VPC-endpoint :

182 # base_url: https://bedrock-runtime-fips.us-east-1.amazonaws.com

183```

184 

185Un bloc `auth` vide utilise la chaîne d'identifiants par défaut du SDK AWS : variables env, `~/.aws/credentials`, rôle de tâche ECS, métadonnées d'instance EC2 ou IRSA sur EKS. En production, donnez au pod de la passerelle un rôle IAM au lieu d'intégrer des clés statiques dans une image de conteneur.

186 

187| Configuration | Comment |

188| --------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

189| Permissions IAM | Accordez au principal de la passerelle `bedrock:InvokeModel` et `bedrock:InvokeModelWithResponseStream` sur les ARNs de profil d'inférence et les ARNs de modèle de fondation sous-jacents. Pour le catalogue intégré dans les régions US : `arn:aws:bedrock:<region>:<account>:inference-profile/us.anthropic.*` et `arn:aws:bedrock:*::foundation-model/anthropic.*`. |

190| Accès au modèle | Dans la console Bedrock, par région, demandez et activez l'accès au modèle pour les modèles Claude que vous souhaitez. Les profils d'inférence inter-régions (`us.anthropic.*`) nécessitent un accès au modèle dans chaque région que le profil couvre. |

191| EKS (IRSA) | Créez un rôle IAM avec la politique ci-dessus et une politique de confiance pour le fournisseur OIDC de votre cluster limité au compte de service de la passerelle. Annotez le compte de service avec `eks.amazonaws.com/role-arn: arn:aws:iam::<acct>:role/claude-gateway`. `auth: {}` le récupère. |

192| ECS / EC2 | Attachez le rôle IAM à la définition de tâche ou au profil d'instance. `auth: {}` le récupère. |

193| N'importe où ailleurs | Passez les identifiants via les variables env `AWS_ACCESS_KEY_ID`, `AWS_SECRET_ACCESS_KEY` et `AWS_SESSION_TOKEN`, ou définissez-les explicitement dans `auth:` avec expansion `${VAR}` |

194| Région | `region:` est la région du point de terminaison API. Les profils d'inférence inter-régions routent à travers la géographie (US, EU, APAC) indépendamment de celui que vous choisissez. Pour les régions non-US ou les ARNs de débit provisionné, ajoutez un bloc [`models:`](#models) avec les bons IDs par upstream. |

195 

196<h4 id="google-cloud-agent-platform">

197 Google Cloud Agent Platform

198</h4>

199 

200Pour la configuration équivalente côté client, voir [Claude Code sur Google Cloud](/fr/google-vertex-ai). L'upstream côté passerelle :

201 

202```yaml theme={null}

203upstreams:

204 - provider: vertex

205 region: us-east5

206 project_id: example-prod

207 auth: {} # préféré : identifiants par défaut d'application

208 # OU un fichier de clé de compte de service :

209 # auth: { service_account_json: /secrets/sa.json }

210 # Remplacer le point de terminaison aiplatform pour Private Service Connect :

211 # base_url: https://us-east5-aiplatform.p.googleapis.com

212```

213 

214Un bloc `auth` vide utilise les identifiants par défaut d'application : `GOOGLE_APPLICATION_CREDENTIALS`, métadonnées GCE ou Workload Identity GKE. Les fichiers de clé JSON de compte de service sont pris en charge mais déconseillés ; utilisez Workload Identity ou attachez un compte de service à l'instance GCE ou Cloud Run.

215 

216Définissez `region: global` pour utiliser le [point de terminaison global d'Agent Platform](https://cloud.google.com/vertex-ai/generative-ai/docs/learn/locations) au lieu d'un point de terminaison régional. Google route ensuite chaque demande vers une région disponible, donc vous ne suivez pas la disponibilité du modèle par région. Définir une région spécifique épingle chaque demande à celle-ci.

217 

218| Configuration | Comment |

219| ----------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

220| Permissions IAM | Accordez au compte de service de la passerelle `roles/aiplatform.user` sur le projet, ou un rôle personnalisé avec `aiplatform.endpoints.predict`. Activez l'API Agent Platform (`aiplatform.googleapis.com`). |

221| Accès au modèle | Dans Model Garden, activez les modèles Claude pour votre projet. Ils publient vers des régions spécifiques ; vérifiez la fiche du modèle pour les régions prises en charge. |

222| GKE (Workload Identity) | Liez un compte de service GCP au compte de service Kubernetes de la passerelle et annotez le KSA avec `iam.gke.io/gcp-service-account: claude-gateway@<proj>.iam.gserviceaccount.com`. `auth: {}` le récupère. |

223| Cloud Run / GCE | Définissez le compte de service du service sur un avec `roles/aiplatform.user`. `auth: {}` le récupère. |

224| N'importe où ailleurs | `auth: { service_account_json: /secrets/sa.json }`, le chemin vers un fichier de clé JSON monté en tant que secret. Le champ prend un chemin de fichier, pas le contenu de la clé, donc aucune expansion `${file:…}` n'est impliquée. |

225 

226<h4 id="microsoft-foundry">

227 Microsoft Foundry

228</h4>

229 

230Pour le déploiement Foundry côté client, voir [Claude Code sur Microsoft Foundry](/fr/microsoft-foundry). L'upstream côté passerelle :

231 

232```yaml theme={null}

233upstreams:

234 - provider: foundry

235 resource: example-foundry # https://example-foundry.services.ai.azure.com

236 auth: { use_azure_ad: true } # préféré : DefaultAzureCredential / Managed Identity

237 # OU une clé API :

238 # auth:

239 # api_key: ${FOUNDRY_API_KEY}

240```

241 

242`use_azure_ad: true` résout via `DefaultAzureCredential` : Managed Identity sur AKS, ACI ou App Service ; l'Azure CLI ; ou les identifiants d'environnement. Les clés API fonctionnent mais sont à l'échelle du projet et ne pivotent pas automatiquement. Le point de terminaison de Foundry est dérivé de `resource:` ; définissez le `base_url` optionnel pour le remplacer pour les clouds souverains tels que Azure Government.

243 

244| Configuration | Comment |

245| ----------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

246| RBAC | Accordez à l'identité de la passerelle `Azure AI User` ou `Cognitive Services User` sur la ressource Foundry |

247| Déploiements | Foundry utilise les noms de déploiement choisis par l'administrateur, pas les IDs de modèle canoniques. Ajoutez un bloc [`models:`](#models) mappant chaque ID canonique à votre nom de déploiement. |

248| AKS (workload identity) | Fédérez une identité gérée affectée par l'utilisateur avec le émetteur OIDC du cluster et liez-la au compte de service de la passerelle. `use_azure_ad: true` le récupère via `WorkloadIdentityCredential`. |

249| ACI / App Service | Activez l'identité gérée affectée par le système ou l'utilisateur sur la ressource. `use_azure_ad: true` le récupère. |

250| N'importe où ailleurs | `auth: { api_key: "${FOUNDRY_API_KEY}" }`. Citez `${…}` à l'intérieur de `{ }`. |

251 

252<h4 id="multiple-upstreams">

253 Plusieurs upstreams

254</h4>

255 

256Le même fournisseur peut apparaître plus d'une fois avec un `name:` distinct. Cela couvre différentes régions, différents comptes via différentes chaînes d'identifiants, débit provisionné par rapport à la demande, et basculement inter-fournisseur.

257 

258La passerelle essaie les upstreams dans l'ordre. `5xx`, `429`, timeouts et point de terminaison manquant (`501`) basculent ; les autres `4xx` ne le font pas. `429` est la capacité par upstream, donc l'épuisement du débit provisionné (PT) bascule vers la demande. Un upstream qui ne peut pas résoudre le modèle demandé est ignoré sans un aller-retour réseau.

259 

260Cet exemple route une allocation Bedrock de débit provisionné en premier, déborde vers la demande et un deuxième compte, et revient à l'API Anthropic en dernier :

261 

262```yaml theme={null}

263upstreams:

264 # Principal : débit provisionné dans votre région d'accueil.

265 - name: bedrock-pt

266 provider: bedrock

267 region: us-east-1

268 auth: {}

269 # Débordement : demande inter-régions.

270 - name: bedrock-od

271 provider: bedrock

272 region: us-west-2

273 auth: {}

274 # Compte différent : une allocation Bedrock séparée via des identifiants de rôle assumé.

275 - name: bedrock-acct2

276 provider: bedrock

277 region: us-east-1

278 auth:

279 aws_access_key_id: ${ACCT2_AKID}

280 aws_secret_access_key: ${ACCT2_SK}

281 # Dernier recours : API Anthropic directe.

282 - name: anthropic-fallback

283 provider: anthropic

284 auth:

285 api_key: ${ANTHROPIC_API_KEY}

286 

287# Les IDs de modèle par upstream sont indexés sur le `name:` de l'upstream ; un upstream

288# sans `name:` prend par défaut sa chaîne de fournisseur (par exemple `bedrock`). N'importe quel

289# upstream non listé pour un modèle est ignoré, c'est ainsi que vous routez un modèle

290# vers le débit provisionné tandis que tout le reste reste à la demande.

291models:

292 - id: claude-opus-4-8

293 label: Claude Opus 4.8

294 upstream_model:

295 bedrock-pt: arn:aws:bedrock:us-east-1:111111111111:provisioned-model/abcdef

296 bedrock-od: us.anthropic.claude-opus-4-8

297 bedrock-acct2: us.anthropic.claude-opus-4-8

298 anthropic-fallback: claude-opus-4-8

299```

300 

301| Levier | Comment |

302| -------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |

303| Différentes régions | Un upstream Bedrock par région, chacun avec sa propre `region:`. Avec [`auto_include_builtin_models: true`](#models) les profils d'inférence inter-régions routent automatiquement ; pour les déploiements épinglés à la région, utilisez un bloc `models:`. |

304| Différents comptes | Un upstream Bedrock par compte, chacun avec ses propres identifiants dans `auth:`. La chaîne par défaut (`auth: {}`) utilise l'identité du pod ; pour un deuxième compte, définissez des identifiants explicites ou un jeton porteur. |

305| Débit provisionné | Mappez le modèle à l'ARN de débit provisionné dans `models:` pour le nom de cet upstream. Les autres upstreams gardent l'ID à la demande, donc la capacité PT est épuisée avant de basculer. |

306| Points de terminaison VPC / FIPS | Définissez `base_url:` sur l'upstream vers votre URL de point de terminaison VPC ou FIPS |

307| Routage limité au modèle | Omettez un upstream de la carte `upstream_model:` d'un modèle et cet upstream est ignoré pour ce modèle. Par exemple, routez Opus vers le débit provisionné et Sonnet et Haiku vers la demande. |

308 

309Le basculement entre les fournisseurs cloud ou vers l'API Anthropic directe change quel accord, géographie et autres conditions régissent la demande.

310 

311Le CLI applique le même contrôle de fonctionnalité aux passerelles indépendamment de quel upstream sert une demande donnée, donc le basculement n'envoie pas un champ de corps qu'un upstream rejetterait.

312 

313<h2 id="optional-sections">

314 Sections optionnelles

315</h2>

316 

317<h3 id="admin">

318 `admin`

319</h3>

320 

321Optionnel. Active `/v1/organizations/spend_limits`, qui reflète l'API Admin publique d'Anthropic, et l'application de dépenses par développeur sur `/v1/messages`. Voir [Limites de dépenses](/fr/claude-apps-gateway-spend-limits) pour comment les plafonds sont définis et appliqués ; cette section couvre les clés `gateway.yaml` qui activent la fonctionnalité et l'ajustent.

322 

323```yaml theme={null}

324admin:

325 # Clés API statiques nommées pour les points de terminaison admin, envoyées en tant que x-api-key.

326 # L'id apparaît dans le journal d'audit en tant que admin-key:<id> donc chaque clé est

327 # attribuable. Tableau pour la rotation : ajoutez la nouvelle clé, déployez les clients,

328 # supprimez l'ancienne.

329 write_keys:

330 - { id: terraform, key: "${GATEWAY_ADMIN_WRITE_KEY_TF}" }

331 - { id: ci, key: "${GATEWAY_ADMIN_WRITE_KEY_CI}" }

332 read_keys:

333 - { id: reporting, key: "${GATEWAY_ADMIN_READ_KEY}" }

334 # Groupes IdP accordés un accès administrateur complet via le JWT de passerelle normal (pas de clé API).

335 admin_groups: [platform-finops]

336 blocked_message: demander une augmentation à https://go.example.com/claude-limits

337```

338 

339| Champ | Requis | Description |

340| ------------------------- | ------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

341| `write_keys` | Non | Tableau de `{id, key}`. Un `x-api-key` correspondant à l'un de ceux-ci peut lister, définir et supprimer les limites de dépenses. Les valeurs de clé doivent être au moins 32 caractères ; les `id`s doivent être uniques dans `read_keys` et `write_keys`. |

342| `read_keys` | Non | Tableau de `{id, key}`. Lecture seule : chaque point de terminaison `GET`, y compris la liste des plafonds, la récupération d'un par ID et la lecture de [`/effective`](/fr/claude-apps-gateway-spend-limits#%2Feffective) et [`/audit`](/fr/claude-apps-gateway-spend-limits#%2Faudit). |

343| `admin_groups` | Non | Noms de groupes IdP. Un JWT de passerelle dont la réclamation `groups` inclut l'un de ceux-ci a un accès administrateur complet, lecture et écriture, et audite en tant que `oidc:<sub>`. Utilisez ceci pour les administrateurs humains ; utilisez les clés API pour les machines. |

344| `blocked_message` | Non | Ajouté textuellement au `429 billing_error` qu'un développeur bloqué voit. Écrivez l'instruction complète, telle qu'une URL ou un canal Slack. Non défini, l'erreur est `spend limit reached`. |

345| `audit_retention_days` | Non | Par défaut `365`. Les lignes `admin_audit` plus anciennes sont balayées. |

346| `spend_retention_months` | Non | Par défaut `13`. Les lignes du compteur `spend` plus anciennes que ceci sont balayées. La valeur par défaut conserve une année complète plus le mois partiel actuel pour les rapports d'année en année. |

347| `identity_retention_days` | Non | Par défaut `90`. TTL de dernière vue pour les lignes `principal_emails`, qui contiennent l'e-mail, le nom d'affichage et les groupes de chaque développeur (PII). Délibérément plus court que la rétention des dépenses pour qu'une identité déprovisionée vieillit tandis que ses compteurs de dépenses anonymes restent. |

348| `group_limit_mode` | Non | `min` (par défaut) ou `max`. Lorsqu'un développeur est dans plusieurs groupes avec des plafonds, `min` applique le plus restrictif et `max` le moins. Utilisé à la fois par l'application et `/effective`. |

349 

350<h3 id="enforcement">

351 `enforcement`

352</h3>

353 

354Le bloc `enforcement` contrôle comment les vérifications de limite de dépenses se comportent lorsque le magasin n'est pas disponible.

355 

356| Champ | Requis | Description |

357| ---------------------- | ------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

358| `fail_closed_on_error` | Non | Par défaut `false`. L'application de dépenses échoue ouvertement sur une panne Postgres, donc l'inférence reste active. Définissez `true` pour échouer fermé : les développeurs au-dessus du plafond sont bloqués, mais tout le monde l'est aussi si le magasin est inaccessible. N'a aucun effet sans un bloc [`admin:`](#admin). |

359 

360<h3 id="models">

361 `models`

362</h3>

363 

364Le bloc `models` est une liste de modèles curée par l'administrateur optionnelle, servie à `/v1/models` et utilisée pour traduire les IDs de modèle par upstream. Elle est requise pour les régions Bedrock non-US, les ARNs de débit provisionné Bedrock et les noms de déploiement Foundry.

365 

366```yaml theme={null}

367auto_include_builtin_models: true # false : exposer uniquement la liste ci-dessous

368models:

369 - id: claude-opus-4-8

370 label: Claude Opus 4.8

371 # description: texte optionnel affiché dans les clients qui le surfacent

372 upstream_model:

373 anthropic: claude-opus-4-8

374 bedrock: us.anthropic.claude-opus-4-8 # ou un ARN de profil d'inférence

375 foundry: your-opus-deployment-name

376```

377 

378<h3 id="managed">

379 `managed`

380</h3>

381 

382Le bloc `managed` définit les politiques d'accès basées sur les rôles indexées sur les groupes IdP ou le domaine d'e-mail. Les politiques sont évaluées dans l'ordre ; la première correspondance est sélectionnée, puis fusionnée sur la base de capture-tout `match: {}` décrite ci-dessous. Elles sont servies par utilisateur à `GET /managed/settings` avec mise en cache ETag/304.

383 

384```yaml theme={null}

385managed:

386 policies:

387 # Groupes spécifiques en premier.

388 - match: { groups: [eng-contractors] }

389 cli:

390 availableModels: [claude-sonnet-4-6]

391 permissions: { deny: ["WebFetch", "WebSearch"] }

392 # Capture-tout par défaut en dernier : correspond à tous les utilisateurs authentifiés.

393 - match: {}

394 cli:

395 availableModels: [claude-opus-4-8, claude-sonnet-4-6, claude-haiku-4-5]

396```

397 

398Une capture-tout `match: {}`, conventionnellement listée en dernier, est traitée comme une couche de base. Chaque autre politique hérite de toute clé qu'elle ne définit pas de la capture-tout, donc les entrées par rôle n'ont besoin que de lister ce qui diffère de la valeur par défaut de l'organisation. Les règles de fusion dépendent du type de clé :

399 

400* **Listes d'autorisation** : `availableModels` et `permissions.allow`. La liste d'une politique spécifique remplace complètement celle de la base.

401* **Listes de refus et tableaux de hooks** : `permissions.deny`, `permissions.ask`, `disabledMcpjsonServers`, `deniedMcpServers`, `blockedMarketplaces` et chaque tableau de type d'événement `hooks`. Ceux-ci prennent l'union de la base et de la politique, donc un refus à l'échelle de l'organisation ou un hook d'audit ne peut pas être accidentellement supprimé par un remplacement par rôle.

402* **Clés de type enregistrement** : `env`, `modelOverrides` et `skillOverrides`. Ceux-ci fusionnent superficiellement, donc un bloc `env` par rôle remplace les clés qu'il définit et hérite du reste de la base.

403 

404`availableModels` est également appliqué côté serveur à `/v1/messages`, donc un modèle refusé retourne `400` indépendamment de ce que le client envoie.

405 

406| Correspondant | Comportement |

407| --------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------- |

408| `match: {}` | Correspond à tous les utilisateurs authentifiés. Commencez par un de ceux-ci et ajoutez des politiques limitées au groupe plus tard. |

409| `match: { groups: [a, b] }` | Correspond si la réclamation `groups` du JWT contient l'un des groupes listés. Sensible à la casse : les groupes doivent correspondre à la casse exacte de l'IdP. |

410| `match: { email_domain: example.com }` | Correspond à la partie après le dernier `@` dans la réclamation `email` du JWT, insensible à la casse. Accepte un domaine par politique. |

411| `match: { groups: [a], email_domain: example.com }` | Les deux conditions doivent correspondre |

412 

413Un utilisateur authentifié qui ne correspond à aucune politique obtient les valeurs par défaut de la passerelle, ce qui signifie chaque modèle du catalogue et aucun paramètre géré. Ajoutez une capture-tout `match: {}` en dernier si vous voulez une politique par défaut garantie.

414 

415<Note>

416 La passerelle ne garde aucun répertoire d'utilisateurs de son propre. Elle autorise chaque demande à partir du jeton IdP de l'utilisateur, en lisant l'appartenance au groupe à partir de la réclamation `groups` du jeton et en évaluant les politiques par rapport à celle-ci. Il n'y a pas de liste à énumérer et pas de comptes à pré-créer, et donc pas de point de terminaison SCIM, car il n'y a rien pour que SCIM se synchronise.

417 

418 Exécutez la gestion du cycle de vie des utilisateurs et des groupes à la source de vérité, qui est la mise en service SCIM native de votre IdP ou une plateforme de gouvernance d'identité dédiée. L'appartenance et la déprovision gouvernées là-bas s'écoulent dans la passerelle automatiquement via le jeton. Si vous voulez la mise en service SCIM des comptes Claude eux-mêmes, c'est une capacité [Claude for Enterprise](/fr/admin-setup).

419 

420 Deux horloges de propagation s'appliquent :

421 

422 * **Contenu de la politique** : éditer une politique et redéployer atteint les clients connectés lors de leur prochain sondage de paramètres gérés, dans une heure

423 * **Appartenance au groupe** : changer l'appartenance au groupe d'un utilisateur change quelle politique les correspond. Cela prend effet lors de la prochaine remise en monnaie de session, ce qui signifie le prochain rafraîchissement silencieux, limité par `session.ttl_hours`.

424</Note>

425 

426<h4 id="what-goes-in-cli">

427 Ce qui va dans `cli`

428</h4>

429 

430Chaque valeur `cli` est un document complet `managed-settings.json` de Claude Code, le même schéma que vous déploieriez via MDM ou `/etc/claude-code/managed-settings.json`, exprimé ici en YAML. Le CLI applique le document livré au niveau géré, au-dessus des paramètres utilisateur et projet.

431 

432La passerelle valide chaque document par rapport au schéma de paramètres du CLI au démarrage, donc une clé de niveau supérieur non reconnue ou une clé reconnue avec une valeur mal formée échoue au démarrage avec une erreur nommant chaque clé offensante. Les parties délibérément ouvertes du schéma acceptent toujours des valeurs arbitraires, car les clients plus récents peuvent reconnaître les entrées que le schéma de la passerelle ne reconnaît pas. Ces clés ouvertes sont `env`, `pluginConfigs` et les clés imbriquées sous `permissions`.

433 

434Parce que la validation utilise le schéma fourni avec la version installée de la passerelle, mettre une clé de paramètres de niveau supérieur introduite par une version plus récente de Claude Code dans la configuration gérée nécessite de mettre à niveau la passerelle en premier. Testez une nouvelle politique sur un client avant de la déployer largement.

435 

436La référence de clé complète est dans [Paramètres Claude Code](/fr/settings#available-settings). Les clés que les opérateurs atteignent en premier :

437 

438```yaml theme={null}

439managed:

440 policies:

441 - match: {}

442 cli:

443 # Accès au modèle (également appliqué côté serveur à /v1/messages)

444 availableModels: [claude-opus-4-8, claude-sonnet-4-6, claude-haiku-4-5]

445 

446 # Politique de permission

447 permissions:

448 deny:

449 - "WebFetch"

450 - "Read(./.env)"

451 - "Read(./secrets/**)"

452 disableBypassPermissionsMode: disable # bloque --dangerously-skip-permissions

453 allowManagedPermissionRulesOnly: true # ignorer les règles de permission utilisateur/projet

454 

455 # Environnement poussé dans le processus CLI. DISABLE_UPDATES bloque

456 # les mises à jour en arrière-plan et manuelles ; DISABLE_AUTOUPDATER arrête uniquement

457 # les mises à jour en arrière-plan.

458 env:

459 DISABLE_UPDATES: "1" # épingler les versions via votre propre distribution

460 

461 # Hooks à l'échelle de l'organisation. Les commandes de hook s'exécutent sur les machines des développeurs, pas la

462 # passerelle, donc le chemin doit exister sur chaque système d'exploitation client dans la politique.

463 hooks:

464 PostToolUse:

465 - matcher: "Edit|Write"

466 hooks:

467 - { type: command, command: /usr/local/bin/audit-edit.sh }

468```

469 

470| Clé | Appliquée par | Effet |

471| ------------------------------------------ | ---------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |

472| `availableModels` | Passerelle + CLI | Liste d'autorisation de modèles. Également vérifiée à `/v1/messages`, donc un client patché ne peut pas la contourner. |

473| `permissions.allow` / `.deny` | CLI | Règles d'outils et de commandes. Voir [Permissions](/fr/permissions). |

474| `permissions.disableBypassPermissionsMode` | CLI | Définissez sur `disable` pour bloquer [`bypassPermissions`](/fr/permission-modes#skip-all-checks-with-bypasspermissions-mode), le mode qui approuve automatiquement chaque appel d'outil, et l'indicateur `--dangerously-skip-permissions` |

475| `allowManagedPermissionRulesOnly` | CLI | Lorsque `true`, les règles de permission utilisateur et projet sont ignorées ; seules les règles de ce document s'appliquent |

476| `env` | CLI | Variables d'environnement fusionnées dans le processus CLI. Utilisez pour la télémétrie, la mise à jour automatique et les remplacements de noms de modèles. |

477| `hooks` | CLI | [Hooks](/fr/hooks) à l'échelle de l'organisation |

478 

479Parce que ces paramètres arrivent sur le réseau, le CLI affiche à chaque développeur un dialogue d'approbation de sécurité unique avant d'appliquer quoi que ce soit qui puisse exécuter une commande shell ou modifier où le trafic va. Le dialogue couvre :

480 

481* `hooks`

482* Variables `env` qui ne sont pas sur la liste sûre intégrée du CLI

483* Paramètres d'exécution shell tels que `apiKeyHelper` et `statusLine`

484* Contenu CLAUDE.md géré

485 

486La liste sûre détermine quelles variables `env` s'appliquent sans approbation :

487 

488* **Sur la liste sûre** : variables de mise à jour automatique et de nom de modèle

489* **Pas sur la liste sûre** : variables de proxy, variables d'URL de base et `OTEL_EXPORTER_OTLP_ENDPOINT`

490 

491La configuration de [télémétrie](#telemetry) de la passerelle pousse `OTEL_EXPORTER_OTLP_ENDPOINT`, donc définir `telemetry.forward_to` déclenche le dialogue sur chaque client interactif. Les exécutions non interactives avec l'indicateur `-p` ignorent le dialogue et appliquent les paramètres sans approbation. Le dialogue protège la machine du développeur d'une passerelle compromise ou hostile, pas l'organisation du développeur, donc le saut `-p` est intentionnel plutôt qu'une lacune.

492 

493Si un développeur refuse, Claude Code se termine plutôt que d'appliquer la politique. Pousser un nouveau hook ou une variable env non sûre vers une politique large signifie donc une invite d'approbation au démarrage suivant de chaque développeur correspondant.

494 

495La clé `cli` s'appelait `settings` dans les versions antérieures. Cette orthographe est toujours acceptée comme alias, mais les nouveaux déploiements doivent utiliser `cli`.

496 

497<h4 id="precedence-with-other-managed-sources">

498 Précédence avec d'autres sources gérées

499</h4>

500 

501Si un appareil a également une `managed-settings.json` locale ou une politique livrée par MDM, les sources gérées ne fusionnent pas. La source de priorité la plus élevée fournit tous les paramètres de politique, classés dans cet ordre avec la priorité la plus élevée en premier :

502 

5031. L'[assistant de politique](/fr/settings#compute-managed-settings-with-a-policy-helper)

5042. Paramètres livrés par la passerelle

5053. MDM, via le registre HKLM sur Windows ou un plist sur macOS

5064. Le fichier `managed-settings.json`

5075. Le registre HKCU, sur Windows uniquement

508 

509Les hôtes d'intégration peuvent fournir une politique via l'option SDK `managedSettings`. Elle est ignorée par défaut et s'applique uniquement lorsqu'une source gérée opte pour [`parentSettingsBehavior: "merge"`](/fr/settings#available-settings), filtrée pour qu'elle puisse resserrer la politique mais pas l'assouplir.

510 

511L'exception est un petit ensemble de clés inter-sources, honorées lorsqu'une source admin les définit ; le niveau HKCU inscriptible par l'utilisateur est exclu :

512 

513* `sandbox.network.allowManagedDomainsOnly` et `sandbox.filesystem.allowManagedReadPathsOnly` : lorsqu'elles sont verrouillées, les listes d'autorisation correspondantes sont unies entre les sources

514* [`allowAllClaudeAiMcps`](/fr/settings#available-settings) : remplacement d'autorisation uniquement pour la liste d'autorisation du serveur MCP claude.ai

515* `sandbox.bwrapPath` et `sandbox.socatPath` : chemins du système de fichiers vers les binaires d'aide [sandbox](/fr/sandboxing)

516 

517`allowManagedPermissionRulesOnly` et `disableBypassPermissionsMode` ne sont pas inter-sources, donc seule la valeur de la source gagnante s'applique.

518 

519Les politiques de passerelle s'appliquent à chaque invocation de Claude Code sur la machine, y compris les exécutions non interactives `claude -p` et les sessions générées par le SDK Agent. Si la passerelle est inaccessible au démarrage, les sessions signées se terminent avec une erreur plutôt que de s'exécuter sans leur politique.

520 

521<Warning>

522 `mcpServers` à l'intérieur du bloc `cli` d'une politique est rejeté au démarrage de la passerelle. La distribution MCP par groupe n'est pas disponible ; déployez les serveurs MCP via le `managed-mcp.json` basé sur fichier sur chaque appareil ou laissez les développeurs les ajouter localement.

523</Warning>

524 

525<h3 id="telemetry">

526 `telemetry`

527</h3>

528 

529Le CLI envoie le protocole OpenTelemetry (OTLP) sur les métriques, journaux et, lorsqu'ils sont activés, les traces HTTP à la passerelle, qui les relaye textuellement à chaque destination configurée. Voir [Surveillance de l'utilisation](/fr/monitoring-usage) pour les métriques et événements que le CLI émet.

530 

531Le CLI horodate chaque export avec l'identité de l'utilisateur authentifié, lue à partir du JWT émis par la passerelle : les attributs `user.id`, `user.email` et `user.groups`. L'attribution du coût et de l'utilisation par développeur fonctionne donc sans aucune configuration côté développeur.

532 

533```yaml theme={null}

534telemetry:

535 forward_to:

536 - url: https://otel-collector.internal.example.com

537 headers:

538 Authorization: ${OTLP_TOKEN}

539 # Opt-in par signal. Par défaut : métriques uniquement.

540 metrics: true

541 logs: false

542 traces: false

543 - url: https://api.datadoghq.com/api/v2/otlp

544 headers:

545 DD-API-KEY: ${DD_API_KEY}

546```

547 

548<Warning>

549 Chaque destination opte pour `metrics`, `logs` et `traces` indépendamment, et la valeur par défaut est les métriques uniquement. Les signaux diffèrent en sensibilité :

550 

551 * **Métriques** : compteurs agrégés tels que les comptages de jetons, les comptages de demandes et la latence

552 * **Journaux et traces** : peuvent porter des commandes bash complètes, des entrées d'outils et des chemins de fichiers, couvrant tout ce que Claude Code fait sur la machine d'un développeur

553 

554 Activez les journaux et les traces uniquement sur les destinations avec les contrôles d'accès et la politique de rétention que les données justifient.

555</Warning>

556 

557La télémétrie est désactivée dans le CLI par défaut. Configurer `telemetry.forward_to` avec `listen.public_url` l'active. La passerelle pousse cinq variables env à chaque client connecté via `/managed/settings` :

558 

559* `CLAUDE_CODE_ENABLE_TELEMETRY=1`

560* `OTEL_METRICS_EXPORTER=otlp`

561* `OTEL_LOGS_EXPORTER=otlp`

562* `OTEL_TRACES_EXPORTER=otlp`

563* `OTEL_EXPORTER_OTLP_ENDPOINT=<public_url>`

564 

565Le point de terminaison poussé est construit à partir de l'URL publique, donc les métriques et les journaux n'ont besoin d'aucune configuration OTEL des développeurs ou des politiques. La configuration poussée est appliquée au niveau géré, remplaçant les variables `OTEL_*` qu'un développeur définit localement.

566 

567Les [traces](/fr/monitoring-usage#traces-beta) nécessitent en outre `CLAUDE_CODE_ENHANCED_TELEMETRY_BETA=1` sur chaque client. La passerelle ne pousse pas cette variable, donc définissez-la via le bloc `env` d'une politique gérée. Elle n'est pas sur la liste sûre du CLI, donc la livrer via une politique est couverte par le même [dialogue d'approbation de sécurité](#managed) que le point de terminaison OTLP poussé déclenche déjà.

568 

569Les encodages OTLP protobuf et JSON sont relayés, et tout backend compatible OpenTelemetry fonctionne comme destination.

570 

571<h3 id="http-tuning">

572 Réglage HTTP

573</h3>

574 

575Quatre blocs optionnels de niveau supérieur, `access_control`, `limits`, `timeouts` et `rate_limits`, ajustent la surface HTTP. Les valeurs par défaut conviennent à la plupart des déploiements.

576 

577| Bloc | Clé | Par défaut | Description |

578| ---------------- | ---------------------------------------------- | ---------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

579| `access_control` | `allow_cidrs` / `deny_cidrs` | vide | Autorisation/refus IP entrant par adresse client, après résolution `trusted_proxies`. `deny_cidrs` est vérifié en premier ; un client qu'il correspond est rejeté même si `allow_cidrs` correspond également. Si `allow_cidrs` est non vide, la passerelle est par défaut refusée. `/healthz` et `/readyz` sont exempts de `allow_cidrs`. |

580| `limits` | `max_request_bytes` | 32 MiB | Corps de demande entrant max ; les demandes surdimensionnées obtiennent `413` avant que le corps soit mis en mémoire tampon. Augmentez pour les demandes de fichiers ou d'images volumineux. |

581| `limits` | `max_request_header_bytes` | non défini | Lorsqu'il est défini, les en-têtes surdimensionnés retournent `431` |

582| `limits` | `max_url_length` | non défini | Lorsqu'il est défini, une URL trop longue retourne `414` |

583| `timeouts` | `upstream_ttfb_ms` | 120000 | Attente max pour les en-têtes de réponse upstream (time to first byte). Le corps de la réponse s'écoule ensuite sans plafond de temps mural. S'applique au chemin upstream Anthropic direct ; Bedrock, Agent Platform et Foundry sont limités par le timeout du SDK du fournisseur. |

584| `rate_limits` | `device_authorization.max` / `.window_seconds` | 30 / 600 | Limite de débit par IP sur le point de terminaison d'autorisation d'appareil non authentifié. Augmentez pour une grande organisation derrière une IP de sortie partagée ou NAT. Ces limites s'appliquent uniquement au flux de connexion de subvention d'appareil, pas à l'inférence `/v1/messages`. Voir [Résistance à la force brute du code utilisateur](/fr/claude-apps-gateway-deploy#user-code-brute-force-resistance). |

585| `rate_limits` | `device_verify.max` / `.window_seconds` | 10 / 600 | Limite de débit par IP sur les soumissions `user_code` à `/device` |

586 

587<h2 id="complete-example">

588 Exemple complet

589</h2>

590 

591Cette configuration de référence complète exerce chaque section principale ; les blocs de [réglage HTTP](#http-tuning) gardent leurs valeurs par défaut. Copiez-la, supprimez ce dont vous n'avez pas besoin et remplissez vos valeurs. La configuration du [démarrage rapide](/fr/claude-apps-gateway#quickstart) est une version minimale de celle-ci.

592 

593```yaml gateway.yaml theme={null}

594# Exécuter avec :

595# claude gateway --config gateway.yaml

596#

597# La verbosité du journal opérationnel est contrôlée par la variable d'environnement

598# CLAUDE_GATEWAY_LOG_LEVEL (info | warn | error ; par défaut info). Elle n'affecte pas

599# les événements d'audit, qui sont toujours émis.

600 

601listen:

602 host: 0.0.0.0

603 port: 8080

604 public_url: https://claude-gateway.internal.example.com

605 # Omettez le bloc tls lors de l'exécution derrière une entrée terminant TLS.

606 # tls:

607 # cert: /certs/gateway.crt

608 # key: /certs/gateway.key

609 # trusted_proxies:

610 # - 10.0.0.0/8

611 

612oidc:

613 issuer: https://example.okta.com

614 client_id: 0oa1example2

615 client_secret: ${OIDC_CLIENT_SECRET}

616 allowed_email_domains:

617 - example.com

618 # Requis lorsque l'émetteur est le serveur org Okta, dont les id_tokens

619 # peuvent omettre l'e-mail et les groupes ; la passerelle les remplit à partir de /userinfo.

620 userinfo_fallback: true

621 # allowed_groups: [claude-code-users]

622 # Okta émet les groupes uniquement lorsque la portée `groups` est demandée et que

623 # le filtre de réclamation de groupes de l'application les autorise. La politique des entrepreneurs ci-dessous

624 # correspond sur les groupes, donc la portée est demandée ici.

625 scopes: [openid, profile, email, offline_access, groups]

626 # extra_auth_params: { access_type: offline, prompt: consent } # Google

627 # groups_claim: groups # Rôles d'application Entra : utiliser `roles`

628 # email_claim: email

629 

630session:

631 jwt_secret: ${GATEWAY_JWT_SECRET} # openssl rand -base64 32

632 # ttl_hours: 1

633 

634store:

635 postgres_url: ${GATEWAY_POSTGRES_URL}

636 # max_connections: 5

637 

638# Active /v1/organizations/spend_limits (reflète l'API Admin Anthropic)

639# et l'application de dépenses par développeur sur /v1/messages. Omettez pour désactiver.

640# Les plafonds eux-mêmes sont définis via l'API admin, pas ici.

641# admin:

642# write_keys:

643# - { id: terraform, key: "${GATEWAY_ADMIN_WRITE_KEY_TF}" }

644# read_keys:

645# - { id: reporting, key: "${GATEWAY_ADMIN_READ_KEY}" }

646# admin_groups: [platform-finops]

647# blocked_message: demander une augmentation à https://go.example.com/claude-limits

648# # audit_retention_days: 365

649# # spend_retention_months: 13

650# # identity_retention_days: 90

651# # group_limit_mode: min

652 

653# enforcement:

654# fail_closed_on_error: false

655 

656upstreams:

657 - provider: anthropic

658 auth:

659 api_key: ${ANTHROPIC_API_KEY}

660 

661 # - provider: bedrock

662 # region: us-east-1

663 # auth: {}

664 

665 # - provider: vertex

666 # region: us-east5

667 # project_id: example-prod

668 # auth: {}

669 

670 # - provider: foundry

671 # resource: example-foundry

672 # auth: { use_azure_ad: true }

673 

674auto_include_builtin_models: true

675models:

676 - id: claude-opus-4-8

677 label: Claude Opus 4.8

678 upstream_model:

679 anthropic: claude-opus-4-8

680 # bedrock: us.anthropic.claude-opus-4-8

681 # vertex: claude-opus-4-8

682 # foundry: <your-opus-deployment-name>

683 - id: claude-sonnet-4-6

684 label: Claude Sonnet 4.6

685 upstream_model:

686 anthropic: claude-sonnet-4-6

687 - id: claude-haiku-4-5

688 label: Claude Haiku 4.5

689 upstream_model:

690 anthropic: claude-haiku-4-5

691 

692managed:

693 policies:

694 - match: { groups: [contractors] }

695 cli:

696 availableModels: [claude-haiku-4-5]

697 # Contraindre l'option du sélecteur par défaut à availableModels au lieu

698 # de la valeur par défaut du niveau, donc les entrepreneurs ne reçoivent pas un 400 sur la valeur par défaut.

699 enforceAvailableModels: true

700 # allow approuve automatiquement ces outils ; il ne bloque pas le reste.

701 # Ajoutez des règles de refus pour restreindre les outils.

702 permissions: { allow: [Read, Grep] }

703 - match: {}

704 cli:

705 availableModels: [claude-opus-4-8, claude-sonnet-4-6, claude-haiku-4-5]

706 permissions:

707 allow: [Read, Grep, Bash, Edit]

708 deny: ["WebFetch"]

709 env: { HTTP_PROXY: http://proxy.example.com:8080 }

710 

711telemetry:

712 forward_to:

713 - url: https://otel.internal.example.com:4318

714 headers:

715 Authorization: Bearer ${OTEL_TOKEN}

716```

717 

718<h2 id="client-side-managed-settings">

719 Paramètres gérés côté client

720</h2>

721 

722Tout ce qui précède configure le serveur de passerelle. Pointer les machines des développeurs vers celui-ci est configuré séparément, sur chaque appareil, via les [paramètres gérés](/fr/settings#settings-files) de Claude Code. La passerelle ne peut pas pousser ces clés elle-même, car ce sont elles qui disent au client où se trouve la passerelle.

723 

724Pour le CLI, définissez les deux clés dans le `managed-settings.json` par système d'exploitation :

725 

726```json theme={null}

727{

728 "forceLoginMethod": "gateway",

729 "forceLoginGatewayUrl": "https://claude-gateway.internal.example.com"

730}

731```

732 

733Déployez ce fichier sur chaque appareil, généralement via votre plateforme MDM. Le chemin du fichier diffère selon la plateforme :

734 

735| Plateforme | Chemin |

736| ------------ | -------------------------------------------------------------------------------------------------------------------------------- |

737| macOS | `/Library/Application Support/ClaudeCode/managed-settings.json`, ou le domaine des préférences gérées `com.anthropic.claudecode` |

738| Linux et WSL | `/etc/claude-code/managed-settings.json` |

739| Windows | `C:\Program Files\ClaudeCode\managed-settings.json`, ou Group Policy via le registre HKLM |

740 

741`forceLoginGatewayUrl` et la valeur `"gateway"` de `forceLoginMethod` sont honorés uniquement à partir du niveau géré contrôlé par l'administrateur. Un développeur les définissant dans son propre `~/.claude/settings.json` n'a aucun effet.

742 

743<h2 id="related">

744 Connexes

745</h2>

746 

747* [Aperçu de la passerelle Claude apps](/fr/claude-apps-gateway) : démarrage rapide et connexion des développeurs

748* [Guide de déploiement](/fr/claude-apps-gateway-deploy) : configuration IdP, image de conteneur, Kubernetes et Cloud Run, et opérations

749* [Limites de dépenses](/fr/claude-apps-gateway-spend-limits) : plafonds par développeur et API Admin

claude-apps-gateway-deploy.md +301 −0 created

Details

1> ## Documentation Index

2> Fetch the complete documentation index at: https://code.claude.com/docs/llms.txt

3> Use this file to discover all available pages before exploring further.

4 

5# Déploiement et exploitation de la passerelle Claude apps

6 

7> Enregistrez la passerelle auprès de votre fournisseur d'identité, créez le conteneur, déployez sur Kubernetes ou Cloud Run, et exploitez-la : vérifications de santé, rotation des secrets, mises à jour et sécurité.

8 

9Cette page couvre l'aspect opérationnel de l'exécution de la [passerelle Claude apps](/fr/claude-apps-gateway) : enregistrement d'un client OAuth auprès de votre fournisseur d'identité (IdP), déploiement de la passerelle en tant que conteneur, et son exploitation au quotidien. Pour chaque option du fichier `gateway.yaml` que la passerelle lit au démarrage, consultez la [Référence de configuration](/fr/claude-apps-gateway-config).

10 

11Un déploiement en production suit quatre étapes dans l'ordre, et les sections ci-dessous les correspondent. Les deux premières sont des choix à faire ; les deux dernières sont des documents de référence à consulter une fois qu'elle est en cours d'exécution.

12 

131. [Configurer votre fournisseur d'identité](#identity-provider-setup) : enregistrez le client OAuth et consultez les notes spécifiques à chaque IdP pour Okta, Entra et Google

142. [Déployer la passerelle](#deployment) : créez une image de conteneur épinglée et exécutez-la sur Kubernetes, Cloud Run ou votre propre plateforme. Cette section couvre également les décisions concernant les coûts, le contournement, les passerelles multiples et les environnements sans serveur

153. [Configurer les opérations](#operations) : journaux, sondes de santé, comportement en cas de panne, rotation des secrets et mises à jour. Référence pour le moment où vous configurez la surveillance et les runbooks

164. [Examiner la posture de sécurité](#security) : où les données circulent, le modèle de menace et les réponses de conformité. Référence pour un examen de sécurité

17 

18Si une connexion ou un démarrage échoue en cours de route, allez directement à [Dépannage](#troubleshooting), qui est indexé sur l'erreur que vous voyez.

19 

20<Note>

21 **Déployez sur votre réseau privé.** Claude Code ne se connecte qu'à une passerelle dont l'adresse est privée. C'est une protection de sécurité, car une passerelle de confiance peut envoyer des paramètres qui exécutent des commandes sur les machines des développeurs. Placez la passerelle derrière un équilibreur de charge interne ou un VPN et donnez-lui un nom d'hôte qui se résout uniquement en adresses IP privées.

22</Note>

23 

24<h2 id="identity-provider-setup">

25 Configuration du fournisseur d'identité

26</h2>

27 

28Enregistrez une application web OAuth/OpenID Connect (OIDC) confidentielle auprès d'un seul URI de redirection, `https://<gateway>/oauth/callback`, et assignez-la aux utilisateurs ou groupes qui doivent avoir accès à la passerelle.

29 

30Tout IdP conforme à OIDC fonctionne : Okta, Microsoft Entra ID, Google Workspace, Keycloak, Dex, PingFederate et autres. L'IdP doit répondre à trois exigences :

31 

32* Servir `/.well-known/openid-configuration`, via HTTPS en production ; la passerelle accepte un [émetteur `http://`](/fr/claude-apps-gateway-config#oidc), et un émetteur de bouclage local nécessite en outre `CLAUDE_GATEWAY_ALLOW_LOOPBACK=1`

33* Supporter le flux de code d'autorisation. PKCE (Proof Key for Code Exchange) est activé par défaut ; désactivez-le avec `oidc.use_pkce: false` pour les IdP qui ne le supportent pas

34* Retourner `email` et optionnellement `groups` dans l'id\_token, ou les servir à partir du point de terminaison userinfo avec `oidc.userinfo_fallback: true`

35 

36Pour l'infrastructure à clé publique privée, définissez `oidc.ca_cert_pem`.

37 

38Quelques fournisseurs gèrent les revendications d'email et de groupe différemment :

39 

40* **Okta** : le serveur d'autorisation de l'organisation à `https://example.okta.com` retourne un id\_token mince qui omet `email` et `groups`, donc définissez `oidc.userinfo_fallback: true` chaque fois que vous l'utilisez comme `issuer`. Un serveur d'autorisation personnalisé tel que `https://example.okta.com/oauth2/default` qui inclut `email` et optionnellement `groups` dans l'id\_token les émet directement et n'a besoin d'aucun fallback. Okta émet `groups` uniquement lorsque la portée `groups` est demandée dans `oidc.scopes` et que le filtre de revendication de groupes de l'application le permet ; `userinfo_fallback` ne peut pas remplir une revendication pour laquelle l'IdP n'a pas été interrogé.

41* **Microsoft Entra ID** : `issuer` = `https://login.microsoftonline.com/<tenant-id>/v2.0`. Entra émet des ID d'objet de groupe plutôt que des noms, donc utilisez les GUID dans `managed.policies.match.groups`, ou utilisez les rôles d'application pour des noms lisibles par l'homme. Si votre locataire émet des rôles sous `roles` au lieu de `groups`, définissez `oidc.groups_claim: roles`.

42* **Google Workspace** : `issuer` = `https://accounts.google.com`. L'id\_token de Google ne porte pas de groupes. Pour utiliser `allowed_groups` basé sur les groupes ou `managed.policies` avec Google comme IdP, configurez [`oidc.google_groups`](/fr/claude-apps-gateway-config#oidc), qui recherche les groupes de chaque utilisateur via l'API Directory du SDK Admin en utilisant un compte de service avec délégation au niveau du domaine. Sans cela, utilisez `oidc.allowed_email_domains` pour le contrôle d'accès à l'adhésion et `managed.policies.match.email_domain` pour l'attribution de politique. Google ignore également la portée standard `offline_access`. Pour les jetons d'actualisation, définissez `oidc.scopes: [openid, profile, email]` et `oidc.extra_auth_params: { access_type: offline, prompt: consent }`.

43 

44Pour obtenir de l'aide auprès d'un fournisseur d'identité non couvert ci-dessus, consultez [Dépannage](#troubleshooting).

45 

46<Warning>

47 Les jetons d'actualisation permettent à la passerelle de renouveler la session d'un développeur silencieusement, sans renvoyer le développeur au navigateur. Ils pilotent également le déprovisionnement, car lorsque l'IdP désactive un utilisateur, l'actualisation suivante échoue et la session se termine dans `ttl_hours`. La passerelle demande `offline_access` par défaut pour obtenir un jeton d'actualisation. Si votre IdP nécessite un consentement explicite pour l'accès hors ligne, configurez le client OAuth pour l'autoriser.

48 

49 Si votre IdP ne peut pas du tout émettre de jetons d'actualisation, la passerelle fonctionne toujours, mais il n'y a pas de renouvellement silencieux, donc les développeurs réexécutent la connexion au navigateur lorsque leur session expire. Pour éviter que cela ne se produise toutes les heures, augmentez [`session.ttl_hours`](/fr/claude-apps-gateway-config#session) à `8` ou `12`. Le compromis est la latence de déprovisionnement, car sans jetons d'actualisation un utilisateur désactivé conserve l'accès jusqu'à l'expiration du TTL plus long.

50</Warning>

51 

52<h2 id="deployment">

53 Déploiement

54</h2>

55 

56La passerelle est un seul binaire Linux. Elle se met à l'échelle horizontalement car les répliques sont sans état et Postgres est la couche de coordination partagée. Exécutez-la comme vous exécutez les services sans état dans votre environnement. Le reste de cette section indique ce dont l'image a besoin, avec de brèves notes pour Kubernetes et Cloud Run.

57 

58La passerelle est conçue pour s'exécuter à l'intérieur de votre réseau, car elle détient votre credential en amont et agit comme le seul point de sortie pour l'inférence. Elle peut s'exécuter n'importe où vos développeurs et votre IdP peuvent atteindre via HTTPS ; traitez-la comme tout autre service détenant une credential de production.

59 

60Quelques décisions façonnent le déploiement au-delà de l'endroit où il s'exécute :

61 

62* **Coûts** : il n'y a pas de licence séparée ou de frais par siège pour la passerelle ; elle fait partie du binaire `claude`. Vous payez l'inférence via votre engagement cloud ou Anthropic existant, plus le calcul pour le conteneur et votre collecteur de télémétrie.

63* **Contournement** : la passerelle n'impose pas que la seule route vers un modèle passe par elle. Un développeur avec sa propre credential peut toujours appeler le fournisseur directement, donc fermer ce chemin est une décision de politique réseau, par exemple bloquer la sortie vers `api.anthropic.com` sauf depuis la passerelle. Bloquer cette sortie casse également la [vérification de sécurité du domaine WebFetch](/fr/data-usage#webfetch-domain-safety-check), qui appelle `api.anthropic.com` depuis la machine de chaque développeur ; définissez `skipWebFetchPreflight: true` dans la politique gérée pour la désactiver.

64* **Passerelles multiples** : chaque passerelle est un déploiement séparé avec sa propre configuration. Le CLI stocke son empreinte de confiance et ses credentials par nom d'hôte de passerelle, donc différentes équipes peuvent se connecter à différentes passerelles sans conflit. Pour servir plusieurs émetteurs OIDC, exécutez des instances séparées.

65* **Sans serveur** : Cloud Run fonctionne ; définissez `min-instances: 1` pour éviter la découverte OIDC à froid. Lambda et Cloud Functions ne fonctionnent pas, car la passerelle est un serveur HTTP de longue durée.

66 

67Chaque topologie de production ici place un proxy L7, tel qu'une Ingress, le front-end de Cloud Run ou un ALB, devant les répliques HTTP simples. Définissez [`listen.trusted_proxies`](/fr/claude-apps-gateway-config#listen) sur les plages sources du proxy afin que la passerelle lise les adresses IP des clients à partir de `X-Forwarded-For`. La passerelle honore l'en-tête uniquement lorsque le pair TCP est de confiance ; l'[exemple travaillé Google Cloud](/fr/claude-apps-gateway-on-gcp) a des valeurs concrètes par topologie. Sans proxies de confiance, chaque demande semble provenir de l'adresse IP du proxy, ce qui réduit les limites de débit par IP en un seul compartiment partagé et enregistre l'adresse IP du proxy dans les événements d'audit.

68 

69<h3 id="container-image">

70 Image de conteneur

71</h3>

72 

73Créez votre propre image autour du binaire `claude` natif de la version standard de Claude Code :

74 

751. Téléchargez la version Linux pour l'architecture de votre image à partir d'une version épinglée ; consultez [Installer une version spécifique](/fr/setup#install-a-specific-version) pour l'URL de téléchargement.

762. Vérifiez-la par rapport au `manifest.json` signé GPG de la version comme décrit dans [Intégrité binaire et signature de code](/fr/setup#binary-integrity-and-code-signing).

773. Copiez-la dans le contexte de construction.

78 

79Miroitez la version dans votre registre interne si vos constructions ne peuvent pas atteindre l'hôte de version, et épinglez la version que votre flotte exécute.

80 

81Au-delà du binaire, l'image a besoin de :

82 

83* **Une image basée sur glibc** : la seule dépendance dynamique de la version glibc est les bibliothèques glibc. Les images basées sur Musl ont besoin de la version `linux-x64-musl` ou `linux-arm64-musl` plus des packages supplémentaires ; consultez [Configuration Alpine Linux](/fr/setup#alpine-linux-and-musl-based-distributions).

84* **Un répertoire d'état inscriptible** : la passerelle s'exécute en tant qu'utilisateur quelconque, mais les images minimales n'ont pas de répertoire personnel inscriptible. Définissez `CLAUDE_CONFIG_DIR` sur un chemin inscriptible tel que `/tmp/.claude`.

85* **La commande du conteneur** : `claude gateway --config /etc/claude/gateway.yaml`, avec le fichier de configuration monté en lecture seule et les secrets fournis en tant que variables d'environnement ; la passerelle écoute sur `listen.port`, par défaut `8080`.

86 

87<h3 id="kubernetes">

88 Kubernetes

89</h3>

90 

91Exécutez la passerelle en tant que Deployment, comme tout service sans état :

92 

93* Montez la configuration à partir d'une ConfigMap et les secrets à partir d'un Secret ; référencez les secrets dans le YAML via `${file:/path/to/secret}` ou en tant que variables d'environnement

94* Terminez TLS à l'Ingress et définissez `listen.public_url` sur le nom d'hôte de l'Ingress

95* Pointez la sonde de disponibilité sur `GET /readyz` et la sonde de vivacité sur `GET /healthz`

96 

97<Note>

98 **Identité de charge de travail**

99 

100 Préférez l'identité de charge de travail de la plateforme aux clés statiques : IRSA sur EKS pour Bedrock, Workload Identity sur GKE pour Agent Platform, et identité de charge de travail sur AKS pour Foundry. Définissez `auth: {}` dans le bloc en amont, ou `use_azure_ad: true` pour Foundry, et la passerelle récupère l'identité du pod via la chaîne de credentials par défaut de ce fournisseur. Pour un appairage inter-cloud, tel qu'un amont Bedrock sur GKE, définissez des credentials explicites dans le bloc `auth` de l'amont à la place. La [référence `upstreams`](/fr/claude-apps-gateway-config#upstreams) a des détails de configuration par plateforme.

101</Note>

102 

103<h3 id="cloud-run">

104 Cloud Run

105</h3>

106 

107Configurez le service comme suit :

108 

109* Laissez `listen.port` à sa valeur par défaut de `8080`, qui correspond au `PORT` par défaut de Cloud Run, ou définissez `port: ${PORT}`

110* Définissez `public_url` sur l'origine accessible de l'extérieur. Pour la production, c'est normalement le nom d'hôte d'un équilibreur de charge interne, car `/login` [rejette les adresses publiques](/fr/claude-apps-gateway#prerequisites) et l'URL `*.run.app` se résout en une, donc l'URL Cloud Run seule fonctionne uniquement pour un test de fumée `curl` ou navigateur. L'exception est un réseau où `*.run.app` se résout en privé via Private Service Connect et une zone privée Cloud DNS ; dans cette topologie l'URL Cloud Run est un `public_url` valide. L'[exemple travaillé Google Cloud](/fr/claude-apps-gateway-on-gcp#deploy-the-gateway) couvre les deux.

111* Montez la configuration en tant que volume secret

112* Définissez `min-instances: 1` pour éviter une découverte OIDC à froid à la première demande

113 

114<Note>

115 Pour un exemple travaillé complet sur Google Cloud, couvrant Cloud Run ou GKE, Cloud SQL et Secret Manager, consultez [Déployer sur Google Cloud](/fr/claude-apps-gateway-on-gcp).

116</Note>

117 

118<h3 id="push-the-gateway-url-to-developer-machines">

119 Envoyer l'URL de la passerelle aux machines des développeurs

120</h3>

121 

122Une fois que la passerelle est en service, envoyez `forceLoginMethod` et `forceLoginGatewayUrl` à la machine de chaque développeur via les paramètres gérés, via MDM ou en écrivant directement le fichier `managed-settings.json` par système d'exploitation. Sans cela, `/login` affiche le sélecteur de compte standard sans option de passerelle. Consultez [Paramètres gérés côté client](/fr/claude-apps-gateway-config#client-side-managed-settings) pour les chemins de fichiers.

123 

124<h2 id="operations">

125 Opérations

126</h2>

127 

128Une fois que la passerelle traite le trafic, l'exploitation au quotidien consiste à lire ses journaux, à sonder sa santé et à faire tourner ses secrets selon votre calendrier. Les sous-sections couvrent chacun, plus ce que Postgres détient et comment les mises à jour et les restaurations se comportent.

129 

130<h3 id="logs">

131 Journaux

132</h3>

133 

134La passerelle écrit deux flux sur stderr, tous deux JSON-friendly :

135 

136* **Événements d'audit** : JSON sur une seule ligne par événement pertinent pour la sécurité. Canalisez stderr vers votre agrégateur de journaux. Les événements émis incluent `config.load`, `session.mint`, `session.refresh`, `device.authorize`, `device.verify`, `auth.denied`, `access.denied`, `inference`, `managed.serve`, `spend.blocked` et `admin.denied`. Les champs varient selon l'événement :

137 * Les événements de mint et refresh réussis portent `sub`, `email`, `client_ip` et le résultat

138 * Les événements de refus portent la raison, le chemin et l'adresse IP du client, car aucune identité n'existe au refus

139 * `inference` enregistre quel amont a servi la demande et le statut de la réponse

140 * `admin.denied` enregistre une tentative d'authentification d'API admin rejetée avec la raison (`invalid_key` ou `no_credentials`), l'adresse IP du client, la méthode et le chemin, sans le matériel de clé présenté

141* **Journaux opérationnels** : lignes lisibles par l'homme avec préfixe `[gateway]` pour le démarrage, les avertissements et les erreurs en amont. La variable d'environnement `CLAUDE_GATEWAY_LOG_LEVEL` contrôle la verbosité et accepte `info`, `warn` ou `error`, avec `info` par défaut. Elle n'affecte pas les événements d'audit, qui sont toujours émis.

142 

143<h3 id="health">

144 Santé

145</h3>

146 

147La passerelle sert `GET /healthz` comme sonde de vivacité et `GET /readyz` comme sonde de disponibilité ; `/readyz` vérifie que le magasin est accessible. Les deux sont exempts de `access_control.allow_cidrs`, donc les sondes continuent de fonctionner sur un écouteur verrouillé.

148 

149Le document de découverte OAuth à `/.well-known/oauth-authorization-server` retourne également `200` uniquement après le chargement de la configuration, la découverte OIDC, la construction du client en amont et la migration Postgres réussissent, donc il double comme vérification de démarrage de bout en bout.

150 

151Une passerelle en cours d'exécution sert également une description des chemins et des formes de demande qu'elle accepte à `<public_url>/protocol`, correspondant à la version que vous exécutez. Le contenu n'est pas stable entre les versions.

152 

153<h3 id="outage-behavior">

154 Comportement en cas de panne

155</h3>

156 

157Si Postgres tombe en panne, la passerelle elle-même continue de servir les développeurs connectés et les nouvelles connexions échouent. Que les développeurs continuent réellement à travailler dépend de la façon dont votre orchestrateur gère la disponibilité :

158 

159* **Sessions existantes** : les jetons porteurs valident localement avec le secret JWT, les actualisations de session ne touchent pas le magasin, et le processus de passerelle peut toujours servir l'inférence

160* **Nouvelles connexions** : échouent jusqu'à la récupération de Postgres, car le flux d'appareil et ses compteurs de limite de débit vivent dans Postgres

161* **[Application des limites de dépenses](/fr/claude-apps-gateway-spend-limits#postgres-availability)** : échoue ouvert par défaut pendant la panne, donc l'inférence continue de circuler ; basculez-la pour échouer fermé si vous préférez bloquer plutôt que de fonctionner sans compteur

162* **Disponibilité** : `/readyz` signale non-prêt pendant la panne, donc les orchestrateurs qui contrôlent le trafic sur la disponibilité retirent chaque réplique de la rotation à la fois. Dans cette topologie tout le trafic, y compris l'inférence que la passerelle pourrait toujours servir, échoue à l'équilibreur de charge jusqu'à la récupération de Postgres. La sonde de vivacité sur `/healthz` continue de passer, donc les répliques ne sont pas redémarrées. Pointez la sonde de disponibilité sur `/healthz` à la place si vous préférez que les développeurs connectés continuent de travailler pendant une panne du magasin ; le coût est que les nouvelles connexions échouent contre une réplique qui signale toujours prête.

163 

164Si votre IdP tombe en panne, les sessions existantes fonctionnent jusqu'à `ttl_hours`, et les nouvelles connexions et actualisations échouent. Définissez un `ttl_hours` plus long si votre IdP a des fenêtres de maintenance fréquentes.

165 

166<h3 id="jwt-secret-rotation">

167 Rotation du secret JWT

168</h3>

169 

170Faites tourner le secret de signature en trois étapes afin que les sessions existantes restent valides :

171 

1721. Générez un nouveau secret. Ajoutez-le au début du tableau `session.jwt_secret`.

1732. Déployez le déploiement. Les nouveaux jetons signent avec le nouveau secret ; les anciens jetons valident toujours.

1743. Après `ttl_hours` plus une marge, supprimez l'ancien secret et déployez à nouveau.

175 

176La rotation est également le seul moyen de forcer les sessions à sortir avant leur expiration : les jetons porteurs valident localement par rapport au secret JWT, donc il n'y a pas de révocation par session. Remplacer le secret directement, sans conserver l'ancien dans le tableau, invalide chaque session en attente à la fois. Pour le déprovisionnement individuel, déprovisionner l'utilisateur dans votre IdP ; sa session se termine dans `ttl_hours`.

177 

178<h3 id="postgres">

179 Postgres

180</h3>

181 

182La passerelle détient cinq tables, toutes créées par ses migrations au démarrage :

183 

184| Table | Contenu | Rétention |

185| ------------------ | ------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------- |

186| `kv` | Subventions d'appareil (TTL de 10 minutes) et compteurs de limite de débit | TTL par ligne |

187| `spend` | Compteurs de dépenses période-à-date par principal, en cents | `admin.spend_retention_months`, par défaut 13 |

188| `spend_limits` | Plafonds de dépenses configurés | Jusqu'à suppression via l'API |

189| `admin_audit` | Piste de mutation de l'API admin | `admin.audit_retention_days`, par défaut 365 |

190| `principal_emails` | Email, nom d'affichage et groupes IdP de chaque principal vus en dernier. Contient des PII. | `admin.identity_retention_days` depuis la dernière activité, par défaut 90 |

191 

192Une boucle de 30 secondes expire les lignes `kv` au-delà de leur TTL, et un balayage horaire applique les fenêtres de rétention sur les tables de dépenses, donc rien ne croît sans limite. Sans [limites de dépenses](/fr/claude-apps-gateway-spend-limits) configurées, seul `kv` est écrit. Si votre politique de sécurité interdit DDL du rôle d'application, pré-créez ces tables et `_migrations` avec un rôle admin et accordez au rôle d'application `SELECT, INSERT, UPDATE, DELETE` sur chacun.

193 

194Avec les limites de dépenses en usage, une base de données perdue signifie le suivi des dépenses et les plafonds perdus, pas seulement les re-connexions des développeurs, donc exécutez des sauvegardes régulières. Pour effacer immédiatement un développeur parti plutôt que d'attendre la rétention, exécutez `DELETE FROM principal_emails WHERE principal = '<sub>'` directement ; cela supprime la seule table contenant son email, son nom et ses groupes. Les lignes `spend` et `admin_audit` ne référencent que le `sub` OIDC pseudonyme.

195 

196<h3 id="upgrades">

197 Mises à jour

198</h3>

199 

200Les répliques sont sans état, donc un redémarrage roulant est sûr à tout moment. La passerelle exécute les migrations de schéma au démarrage, ce qui signifie que le déploiement du nouveau binaire auto-migre la base de données. Si le rôle de base de données ne peut pas exécuter DDL, pré-créez le schéma, y compris la table `_migrations` amorcée à la version actuelle ; sinon le démarrage échoue en tentant `CREATE TABLE`.

201 

202Les migrations sont en ajout seul, donc revenir à un binaire antérieur qui connaît moins de migrations est sûr ; il ignore les lignes supplémentaires. La restauration re-valide également le YAML par rapport au schéma du binaire plus ancien, donc une configuration qui a adopté une clé introduite par la version plus récente échoue au démarrage sur l'ancienne. Supprimez la nouvelle clé avant de revenir.

203 

204Parce que vous épinglez la version de la passerelle dans votre propre image, les correctifs dans les nouvelles versions de Claude Code, y compris les correctifs de sécurité, atteignent votre déploiement uniquement lorsque vous mettez à jour l'épingle et redéployez. Incluez la passerelle dans le même calendrier de correction que vous utilisez pour les autres services qui détiennent des credentials de production.

205 

206<h2 id="security">

207 Sécurité

208</h2>

209 

210Cette section répond aux questions qu'un examen de sécurité pose : quelles données circulent à travers la passerelle et où elles vont, quelles attaques la conception défend, et quelles réponses appartiennent à un questionnaire de conformité.

211 

212<h3 id="data-flow">

213 Flux de données

214</h3>

215 

216| Données | Chemin | Envoyé à Anthropic par la passerelle |

217| ------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------- | ---------------------------------------------------- |

218| Inférence (invites, complétions) | CLI → passerelle → votre amont | Uniquement si l'API Anthropic est un amont configuré |

219| Télémétrie (métriques OTLP, plus [journaux et traces opt-in](/fr/claude-apps-gateway-config#telemetry)) | CLI → passerelle → votre collecteur | Jamais |

220| Identité (email, groupes, sub) | IdP → passerelle → JWT → CLI ; le CLI l'estampille sur les exports OTLP | Jamais |

221| Paramètres gérés | Votre YAML de passerelle → CLI | Jamais |

222| Journal d'audit | Stderr de passerelle → votre agrégateur | Jamais |

223 

224<h3 id="threat-model-summary">

225 Résumé du modèle de menace

226</h3>

227 

228La passerelle se trouve à l'intérieur de votre périmètre réseau, mais les ordinateurs portables des développeurs individuels ne sont pas traités comme de confiance. La conception en tient compte de trois façons :

229 

230* Les développeurs détiennent des JWT de courte durée au lieu de clés en amont brutes. La jambe CLI-à-passerelle utilise la subvention d'appareil RFC 8628, et l'échange de code d'autorisation de la passerelle avec l'IdP exécute PKCE dans la configuration par défaut, donc un code d'autorisation IdP intercepté est inutile.

231* La page de vérification d'appareil applique POST de même origine et une limite de débit par IP par RFC 8628 §5.1. Consultez [Résistance à la force brute du code utilisateur](#user-code-brute-force-resistance).

232* Les demandes sortantes passent par une protection contre la falsification de demande côté serveur (SSRF) qui résout DNS, bloque les adresses de lien local et de métadonnées cloud plus la bouclage par défaut, et épingle la connexion à l'IP résolue, donc les URL influencées par l'opérateur telles que l'IdP et les destinations OTLP ne peuvent pas être redirigées vers les points de terminaison de métadonnées cloud. Les plages privées RFC 1918 sont délibérément autorisées, car les IdP et les collecteurs OTLP vivent couramment sur des adresses IP privées. Pour le développement local par rapport à un IdP ou collecteur de bouclage, définissez `CLAUDE_GATEWAY_ALLOW_LOOPBACK=1` dans l'environnement de la passerelle ; laissez-le non défini en production.

233 

234Si vous ajoutez vos propres contrôles de sortie, la passerelle doit atteindre le serveur de métadonnées chaque fois qu'elle utilise des credentials de métadonnées d'instance tels que l'identité de charge de travail.

235 

236Deux menaces sont hors de portée car c'est votre infrastructure à sécuriser :

237 

238* **Un hôte de passerelle compromis** : l'hôte détient à la fois la credential en amont et distribue les [paramètres gérés](/fr/claude-apps-gateway-config#managed) à chaque développeur connecté, donc le contrôle de la configuration de la passerelle est comparable au contrôle de votre MDM. La boîte de dialogue d'approbation unique du CLI pour les paramètres capables de shell limite les changements silencieux mais ne remplace pas la sécurité de l'hôte.

239* **Un fournisseur OIDC malveillant** : le fournisseur signe les id\_tokens que la passerelle fait confiance, donc il peut affirmer n'importe quelle identité. L'examen et la sécurisation de votre IdP sont votre responsabilité.

240 

241<h3 id="user-code-brute-force-resistance">

242 Résistance à la force brute du code utilisateur

243</h3>

244 

245Le `user_code` qu'un développeur tape dans la page de vérification `/device` est 8 caractères tirés d'un alphabet de 20 caractères, ce qui donne 20⁸ ou environ 2,56×10¹⁰ combinaisons, et il expire après 10 minutes.

246 

247La passerelle applique des limites de débit par IP sur les points de terminaison de subvention d'appareil, configurables via [`rate_limits`](/fr/claude-apps-gateway-config#http-tuning). Augmentez les limites si de nombreux développeurs se connectent à partir d'une seule adresse NAT d'entreprise partagée. Les limites s'appliquent uniquement au flux de connexion, pas à l'inférence.

248 

249<h3 id="compliance-posture">

250 Posture de conformité

251</h3>

252 

253* **Résidence des données** : le plan de données de la passerelle elle-même n'envoie rien à Anthropic sauf si l'API Anthropic est un amont configuré ; lorsqu'elle l'est, votre accord de traitement des données existant s'applique au chemin d'inférence. La télémétrie, l'audit, l'identité et les paramètres vont uniquement aux destinations que vous configurez.

254* **Trafic du processus hôte** : le processus hôte est le CLI Claude Code, qui peut envoyer l'analytique de démarrage et les vérifications de mise à jour à Anthropic. Pour les déploiements à sortie stricte, définissez `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC=1` dans l'environnement du conteneur de la passerelle.

255* **Analytique client** : le CLI désactive sa propre analytique d'utilisation lorsqu'il est connecté à une passerelle, et le rapport d'erreurs est désactivé par défaut sur les surfaces d'API tierces.

256* **Machines client** : les CLI des développeurs envoient toujours les vérifications de nom d'hôte WebFetch et les vérifications de version à Anthropic sauf si `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC=1` et `skipWebFetchPreflight: true` sont définis. Consultez [utilisation des données](/fr/data-usage).

257* **Évaluations d'enquête** : la credential de passerelle désactive le puits d'évaluation lié à Anthropic, donc les évaluations ne sont pas envoyées à Anthropic.

258* **Partage de transcription** : choisir Oui sur une invite de partage de transcription d'enquête écrit un fichier local sous `~/.claude/feedback-bundles/` au lieu de télécharger vers Anthropic.

259* **Mises à jour client** : les vérifications de mise à jour sont séparées du trafic de passerelle. Épinglez les versions via votre propre distribution et définissez `DISABLE_UPDATES` si les ordinateurs portables ne doivent pas récupérer les versions. `DISABLE_AUTOUPDATER` arrête uniquement les mises à jour en arrière-plan tandis que `claude update` fonctionne toujours.

260* **TLS** : servez `public_url` via HTTPS en production, soit à partir du propre écouteur de la passerelle via `listen.tls`, soit à partir d'une ingress terminant TLS devant les répliques HTTP simples avec `listen.public_url` défini. La passerelle ne refuse pas HTTP simple. L'IdP doit servir HTTPS en production, et Postgres supporte `?sslmode=require`. Définissez `Strict-Transport-Security` à votre ingress.

261* **Divulgation de vulnérabilité** : suivez [Signaler les problèmes de sécurité](/fr/security#reporting-security-issues)

262 

263<h2 id="troubleshooting">

264 Dépannage

265</h2>

266 

267Pour les questions et les commentaires, utilisez [Support Claude Code](https://support.claude.com/en/collections/14445694-claude-code), ou ouvrez un problème sur le [référentiel GitHub Claude Code](https://github.com/anthropics/claude-code/issues). Lors de la signalisation d'un problème, incluez :

268 

269* **Problème de passerelle** : le stderr de la passerelle pour la fenêtre pertinente, votre `gateway.yaml` avec les secrets masqués, la version de la passerelle, affichée sur la page d'accueil à `/` et dans l'en-tête de réponse `x-cc-gateway-version` sur `/managed/settings`, et ce qui a changé récemment

270* **Problème de connexion** : le développeur exécute `claude --debug-file ./claude-debug.txt`, reproduit et envoie ce fichier plus le journal d'audit de la passerelle pour la même fenêtre

271* **Problème d'inférence** : le modèle demandé, les amonts configurés et le journal d'audit de la passerelle pour la demande, qui enregistre quel amont l'a servie et le statut de la réponse

272 

273| Symptôme | Cause | Correctif |

274| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

275| Le `/login` d'un développeur affiche le sélecteur de compte standard au lieu de l'écran **Passerelle cloud** | `forceLoginMethod` ou `forceLoginGatewayUrl` n'est pas défini dans les paramètres gérés sur cette machine | Déployez le [fichier de paramètres gérés](/fr/claude-apps-gateway#set-the-gateway-url) sur l'appareil ; `/login` lit l'URL de la passerelle à partir de là |

276| Le démarrage affiche `Gateway login is configured in managed settings, but this Claude Code build does not include Cloud gateway support.` | La version de Claude Code installée est antérieure au support de la passerelle | Demandez au développeur de mettre à jour Claude Code vers une version qui inclut le support de la passerelle cloud |

277| CLI `/login` : `Gateway hosts must be on your organization's private network; <host> resolves to the public (or unrecognized) address <ip>` | Le nom d'hôte de la passerelle se résout en au moins une adresse IP publique. Claude Code vérifie chaque adresse résolue et exige que chacune soit privée. Une cause courante est un nom double pile où une famille se résout en une adresse publique, y compris les équilibreurs de charge double pile internes AWS, qui retournent des adresses AAAA de plage publique | Faites en sorte que le nom de la passerelle se résout uniquement en adresses privées sur les machines des développeurs. Pour un nom double pile, supprimez l'enregistrement de plage publique ou servez un nom DNS interne uniquement séparé. Consultez la [prérequis de réseau privé](/fr/claude-apps-gateway#prerequisites). |

278| CLI `/login` : `Gateway login requires a direct connection and does not support connecting through an HTTP proxy` | Un `HTTPS_PROXY` ou `HTTP_PROXY` s'applique à l'hôte de la passerelle et le nom d'hôte du proxy se résout en une adresse publique. Un proxy dont l'hôte se résout uniquement en adresses privées est autorisé et ne déclenche pas cette erreur | Ajoutez l'hôte de la passerelle à `NO_PROXY` sur la machine du développeur afin que la connexion soit directe, ou utilisez un proxy dont le nom d'hôte se résout en adresses privées |

279| CLI `/login` : `Could not resolve gateway host <host>` | La machine ne peut pas résoudre le nom DNS interne de la passerelle, généralement parce qu'elle n'est pas sur le réseau d'entreprise | Demandez au développeur de se connecter à votre réseau ou VPN, puis réessayez `/login` |

280| Le démarrage se termine avec une erreur de validation de configuration nommant `store.postgres_url` | Aucun Postgres configuré ; la passerelle nécessite Postgres | Définissez `store.postgres_url`. Pour le développement local, utilisez un conteneur jetable : `docker run --rm -p 5432:5432 -e POSTGRES_HOST_AUTH_METHOD=trust postgres`. |

281| Le démarrage se termine : `requires the native binary` | Exécution sous Node au lieu du binaire natif | Installez Claude Code avec l'une des [méthodes d'installation autonome](/fr/setup) |

282| Le démarrage se termine avec une erreur de découverte OIDC après `config.load` | `oidc.issuer` inaccessible, ou chaîne TLS non approuvée | Vérifiez que l'émetteur est accessible depuis le pod et sert `/.well-known/openid-configuration`. Définissez `ca_cert_pem` pour l'infrastructure à clé publique privée. |

283| Le démarrage se termine avec une erreur de permission Postgres | Le rôle d'application manque `CREATE TABLE` | Pré-créez le schéma avec un rôle admin et accordez DML au rôle d'application, ou accordez DDL temporairement pour les démarrages qui appliquent de nouvelles migrations |

284| `/oauth/callback` affiche « La connexion n'a pas pu être complétée » | Domaine de courrier rejeté, validation id\_token échouée, ou `email_verified` est explicitement `false`, que la passerelle rejette toujours sans remplacement | Vérifiez `allowed_email_domains` et que l'IdP retourne une revendication `email` vérifiée. Pour `email_verified: false`, corrigez la vérification côté IdP. Si votre IdP émet l'email sous un nom de revendication différent, définissez `oidc.email_claim`. |

285| Journal : `token exchange failed: id_token missing email claim` | L'IdP n'inclut pas `email` dans l'id\_token par défaut. Ce refus ne se déclenche que lorsque `allowed_email_domains` est défini ; sans cela, un email manquant frappe une session sans email | Configurez l'IdP pour émettre `email` dans l'id\_token. Okta : ajoutez `email` aux revendications de jeton ID d'un serveur d'autorisation personnalisé. Entra : ajoutez `email` comme revendication optionnelle sur l'enregistrement d'application. PingFederate : activez une politique OpenID Connect qui émet `email`. Si l'IdP sert `email` à partir du point de terminaison userinfo mais ne l'inclura pas dans l'id\_token, tel que le serveur d'autorisation de l'organisation Okta, définissez `oidc.userinfo_fallback: true`. |

286| Chaque demande Bedrock retourne 502 ; le journal affiche `Could not load credentials from any providers` | Sur EC2, la limite de saut par défaut d'IMDSv2 de 1 bloque la demande de métadonnées d'instance de l'intérieur du conteneur. Le démarrage et `/readyz` passent de toute façon car le SDK AWS résout les credentials d'instance à la première demande, pas à la construction du client | Augmentez la limite de saut avec `aws ec2 modify-instance-metadata-options --instance-id <id> --http-put-response-hop-limit 2`, ou définissez-la dans le modèle de lancement. Le changement s'applique à chaque conteneur sur l'instance. Préférez les rôles de tâche ECS où disponibles, qui lisent les credentials à partir du point de terminaison des credentials du conteneur ECS et évitent complètement le changement, ou appliquez le changement sur une instance de passerelle dédiée pour limiter l'exposition. |

287| Erreur IdP : portée inconnue ou non supportée | L'IdP rejette les portées qu'il ne reconnaît pas | Définissez `oidc.scopes` exactement à la liste que votre IdP accepte ; elle doit inclure `openid`. La valeur par défaut est `openid profile email offline_access`. |

288| Les sessions ne se renouvellent pas silencieusement après la définition de `oidc.scopes` | `offline_access` a été supprimé de l'override | Rajoutez `offline_access` si votre IdP le supporte. Sans jeton d'actualisation, les développeurs réexécutent la connexion au navigateur tous les `session.ttl_hours`. |

289| Le navigateur affiche « Cette demande provenait d'un autre site et a été bloquée » | POST de formulaire inter-sites, bloqué comme protection CSRF. Attendu pour les pages intégrées ou proxifiées | Ouvrez le lien de vérification directement |

290| Chrome bloque le bouton Approuver avec « Refused to send form data … violates … Content Security Policy directive: form-action », mais la même page fonctionne dans Safari ou Firefox | Chrome applique `form-action` à toute la chaîne de redirection. Votre IdP redirige ensuite vers un deuxième hôte qui n'est pas sur la liste blanche. | Ajoutez chaque origine supplémentaire dans la chaîne de redirection à `oidc.form_action_origins`. Ouvrez Chrome DevTools → Console sur la page Approuver pour voir quelle origine a été bloquée. |

291| La connexion se termine à l'IdP mais le rappel échoue, avec une erreur CSP dans Chrome ou « ce lien de connexion a expiré » dans Safari | L'IdP a retourné le code via `response_mode=form_post`, qui l'auto-soumet inter-sites via POST à `/oauth/callback`. Chrome bloque cela sous une CSP stricte ; Safari autorise la soumission mais le rappel lit uniquement la chaîne de requête. | Assurez-vous que votre IdP honore `response_mode=query`, que la passerelle demande explicitement afin que le rappel soit une redirection simple |

292| La connexion fonctionne localement mais échoue derrière un ALB | `public_url` non défini, donc l'IdP obtient l'origine `http://` interne comme `redirect_uri` | Définissez `listen.public_url` sur l'origine `https://` externe |

293| Le développeur voit l'invite de confiance à plusieurs reprises | Le certificat TLS tourne par réplique ou par demande | Utilisez un certificat stable à l'ingress, ou terminez TLS une fois et exécutez les répliques via HTTP simple en interne |

294| CLI `/login` : « Could not verify the gateway's TLS certificate » ou `SELF_SIGNED_CERT_IN_CHAIN` | La chaîne TLS de la passerelle est signée par une CA privée non dans le magasin de confiance de l'hôte CLI | Claude Code lit le magasin de confiance du système d'exploitation par défaut sur le binaire natif et sur Node 22.15 ou ultérieur ; [`CLAUDE_CODE_CERT_STORE`](/fr/network-config#ca-certificate-store) contrôle ce comportement. Si la CA est installée dans le magasin de confiance du système d'exploitation, assurez-vous que les développeurs utilisent un runtime actuel. Sinon, définissez `NODE_EXTRA_CA_CERTS` sur le PEM du certificat CA avant de lancer. L'invite d'empreinte de première connexion s'applique toujours. |

295 

296<h2 id="related">

297 Connexes

298</h2>

299 

300* [Aperçu de la passerelle Claude apps](/fr/claude-apps-gateway) : démarrage rapide et connexion des développeurs

301* [Référence de configuration](/fr/claude-apps-gateway-config) : chaque option du fichier `gateway.yaml`

claude-apps-gateway-on-gcp.md +330 −0 created

Details

1> ## Documentation Index

2> Fetch the complete documentation index at: https://code.claude.com/docs/llms.txt

3> Use this file to discover all available pages before exploring further.

4 

5# Déployer la passerelle Claude apps sur Google Cloud

6 

7> Un exemple concret d'exécution de la passerelle Claude apps sur Google Cloud : Cloud Run ou GKE, Cloud SQL pour PostgreSQL, Secret Manager et authentification par compte de service vers Agent Platform.

8 

9<Note>

10 Cette page vous guide à travers une façon d'exécuter la passerelle Claude apps sur Google Cloud. La configuration est un exemple fonctionnel pour une infrastructure gérée par le client plutôt qu'un déploiement de production pris en charge ; utilisez-la pour voir comment les éléments s'assemblent avant de l'adapter à votre propre environnement. Pour les exigences indépendantes de la plateforme, consultez le [guide de déploiement](/fr/claude-apps-gateway-deploy).

11</Note>

12 

13Cet exemple provisionne la passerelle Claude apps sur Google Cloud avec Agent Platform de Google Cloud comme upstream de modèle, en utilisant soit Cloud Run soit GKE pour le calcul. Google Workspace est le fournisseur d'identité (IdP) d'exemple, mais tout fournisseur d'identité conforme à OpenID Connect (OIDC) fonctionne ; seul le bloc `oidc` change. Consultez [Configuration du fournisseur d'identité](/fr/claude-apps-gateway-deploy#identity-provider-setup) pour les détails spécifiques à chaque IdP.

14 

15<h2 id="what-you’ll-build">

16 Ce que vous allez construire

17</h2>

18 

19<Frame>

20 <img src="https://mintcdn.com/claude-code/-uq-4JE0W_JO5Er5/images/claude-gateway-gcp-architecture.svg?fit=max&auto=format&n=-uq-4JE0W_JO5Er5&q=85&s=cb705151c69128ac0da235852d5600ab" alt="Diagramme de la passerelle Claude apps sur Google Cloud : les clients Claude Code se connectent via HTTPS à la passerelle (Cloud Run ou GKE), qui s'exécute à l'intérieur d'un VPC aux côtés d'une base de données Cloud SQL avec IP privée pour l'état de session. La passerelle connecte les utilisateurs via OIDC contre Google Workspace, lit la configuration et les secrets de Secret Manager, transfère les demandes de modèle à Agent Platform et récupère son image d'Artifact Registry au déploiement." width="760" height="400" data-path="images/claude-gateway-gcp-architecture.svg" />

21</Frame>

22 

23La configuration de référence provisionne :

24 

25* Un service **Cloud Run** ou un **déploiement GKE** exécutant le conteneur de la passerelle

26* Un référentiel **Artifact Registry** pour l'image de la passerelle

27* Une instance **Cloud SQL pour PostgreSQL**, IP privée uniquement, pour le [store](/fr/claude-apps-gateway-config#store) de la passerelle

28* Des secrets **Secret Manager** pour `gateway.yaml`, la clé de signature JWT, le secret client OIDC et l'URL Postgres

29* Un **compte de service** avec `roles/aiplatform.user`, attaché directement sur Cloud Run ou lié via Workload Identity sur GKE

30* Un **équilibreur de charge d'application interne** sur Cloud Run, ou un **GKE Ingress** interne de classe `gce-internal` sur GKE, pour HTTPS

31 

32<h2 id="prerequisites">

33 Prérequis

34</h2>

35 

36* Un projet GCP avec facturation activée et permission de créer les ressources ci-dessus

37* L'interface de ligne de commande `gcloud`, authentifiée avec `gcloud auth login`, et Docker installé localement

38* Pour la piste GKE : `kubectl` et un cluster GKE sur le VPC créé dans la procédure pas à pas ci-dessous

39* Accès aux modèles Claude dont vous avez besoin dans Model Garden, dans une région qui les publie

40* Un client d'application web OAuth 2.0 Google Workspace avec URI de redirection `https://<gateway-host>/oauth/callback` ; consultez [Configuration du fournisseur d'identité](/fr/claude-apps-gateway-deploy#identity-provider-setup)

41* Un nom d'hôte TLS pour la passerelle, généralement un nom DNS interne pointant vers l'équilibreur de charge

42 

43Définissez le projet et la région une fois :

44 

45```bash theme={null}

46export PROJECT_ID=<your-project>

47export REGION=us-east5 # a region where the Claude models you need are published in Model Garden

48gcloud config set project "$PROJECT_ID"

49```

50 

51<h2 id="deploy-the-gateway">

52 Déployer la passerelle

53</h2>

54 

55Les étapes ci-dessous provisionnent le déploiement complet avec des commandes `gcloud`.

56 

57<Steps>

58 <Step title="Activer les API">

59 Activez les API de service que la procédure pas à pas utilise :

60 

61 ```bash theme={null}

62 gcloud services enable \

63 aiplatform.googleapis.com \

64 artifactregistry.googleapis.com \

65 sqladmin.googleapis.com \

66 secretmanager.googleapis.com \

67 iamcredentials.googleapis.com \

68 iam.googleapis.com \

69 compute.googleapis.com \

70 servicenetworking.googleapis.com \

71 run.googleapis.com \

72 container.googleapis.com

73 ```

74 

75 Les API dont vous avez besoin dépendent de la piste de déploiement :

76 

77 * `compute` et `servicenetworking` : nécessaires pour la piste Cloud SQL avec IP privée

78 * `run` : Cloud Run uniquement

79 * `container` : GKE uniquement

80 </Step>

81 

82 <Step title="Créer le compte de service et accorder l'IAM">

83 La passerelle s'exécute en tant que compte de service dédié avec permission d'appeler Agent Platform. Elle atteint Cloud SQL sur le VPC avec un utilisateur de mot de passe, donc aucun rôle IAM Cloud SQL n'est requis :

84 

85 ```bash theme={null}

86 gcloud iam service-accounts create claude-gateway --display-name="Claude apps gateway"

87 SA="claude-gateway@${PROJECT_ID}.iam.gserviceaccount.com"

88 

89 gcloud projects add-iam-policy-binding "$PROJECT_ID" \

90 --member="serviceAccount:${SA}" --role="roles/aiplatform.user" --condition=None

91 ```

92 

93 Ensuite, activez les modèles Claude pour le projet dans Model Garden ; les modèles publient dans des régions spécifiques, donc vérifiez chaque fiche de modèle.

94 </Step>

95 

96 <Step title="Construire et pousser l'image vers Artifact Registry">

97 Construisez l'image selon les [exigences d'image de conteneur](/fr/claude-apps-gateway-deploy#container-image), en utilisant le binaire glibc `linux-x64`, et poussez-la :

98 

99 ```bash theme={null}

100 gcloud artifacts repositories create claude-gateway \

101 --repository-format=docker --location="$REGION"

102 gcloud auth configure-docker "${REGION}-docker.pkg.dev" --quiet

103 

104 # Cloud Run requires linux/amd64. --provenance=false avoids a buildx OCI

105 # image index that Cloud Run rejects.

106 docker build --platform=linux/amd64 --provenance=false \

107 -t "${REGION}-docker.pkg.dev/${PROJECT_ID}/claude-gateway/gateway:<version>" .

108 docker push "${REGION}-docker.pkg.dev/${PROJECT_ID}/claude-gateway/gateway:<version>"

109 ```

110 </Step>

111 

112 <Step title="Provisionner Cloud SQL pour PostgreSQL">

113 Créez l'instance sur un VPC via Private Services Access afin qu'elle n'ait pas d'IP publique ; cela satisfait également les projets où `constraints/sql.restrictPublicIp` est appliqué :

114 

115 ```bash theme={null}

116 VPC=cc-gateway-vpc

117 gcloud compute networks create "$VPC" --subnet-mode=custom

118 gcloud compute networks subnets create cc-gateway-subnet \

119 --network="$VPC" --region="$REGION" --range=10.0.0.0/24

120 

121 # Private Services Access: one-time per VPC

122 gcloud compute addresses create "google-managed-services-${VPC}" \

123 --global --purpose=VPC_PEERING --prefix-length=16 --network="$VPC"

124 gcloud services vpc-peerings connect \

125 --service=servicenetworking.googleapis.com \

126 --ranges="google-managed-services-${VPC}" --network="$VPC"

127 

128 gcloud sql instances create claude-gateway-db \

129 --database-version=POSTGRES_16 --tier=db-g1-small --region="$REGION" \

130 --network="projects/${PROJECT_ID}/global/networks/${VPC}" --no-assign-ip

131 gcloud sql databases create claude_gateway --instance=claude-gateway-db

132 PGPASS="$(openssl rand -hex 24)"

133 gcloud sql users create gateway --instance=claude-gateway-db --password="$PGPASS"

134 

135 PRIVATE_IP="$(gcloud sql instances describe claude-gateway-db \

136 --format='value(ipAddresses[0].ipAddress)')"

137 GATEWAY_POSTGRES_URL="postgres://gateway:${PGPASS}@${PRIVATE_IP}:5432/claude_gateway?sslmode=require"

138 ```

139 

140 Le runtime Cloud Run ou GKE doit être sur, ou routé dans, ce VPC.

141 </Step>

142 

143 <Step title="Écrire gateway.yaml">

144 Le bloc `upstreams` pointe vers Agent Platform avec `auth: {}`, donc la passerelle s'authentifie via Application Default Credentials du compte de service du runtime. Consultez la [référence de configuration](/fr/claude-apps-gateway-config) pour chaque champ.

145 

146 Deux champs `listen` dépendent de ce qui se trouve devant la passerelle :

147 

148 * `public_url` : requis derrière Cloud Run ou un GKE Ingress. La passerelle construit le `redirect_uri` IdP et son document de découverte uniquement à partir de cette valeur, jamais à partir des en-têtes `X-Forwarded-*`.

149 * `trusted_proxies` : les plages source du front-end. La passerelle honore `X-Forwarded-For` uniquement lorsque le pair TCP se trouve dans cette liste, puis parcourt la chaîne au-delà des sauts de confiance, donc les limites de taux de connexion par IP et les événements d'audit enregistrent les IP des développeurs au lieu de celle de l'équilibreur de charge.

150 

151 Définissez `trusted_proxies` pour correspondre à votre front-end. Un GKE Ingress externe de classe `gce` n'est pas listé : il provisionne une adresse de règle de transfert publique, que la vérification [réseau privé](/fr/claude-apps-gateway#prerequisites) de `/login` rejette.

152 

153 | Front-end | `trusted_proxies` |

154 | ------------------------------------------------------------ | ------------------------------------------------------------------- |

155 | Cloud Run atteint directement, sans équilibreur de charge | `[169.254.0.0/16]` |

156 | Équilibreur de charge d'application interne devant Cloud Run | `169.254.0.0/16` plus le CIDR de votre sous-réseau réservé au proxy |

157 | GKE Ingress interne, classe `gce-internal` | Le CIDR de votre sous-réseau réservé au proxy |

158 

159 L'exemple ci-dessous utilise les valeurs de l'équilibreur de charge interne devant Cloud Run.

160 

161 ```yaml gateway.yaml theme={null}

162 listen:

163 host: 0.0.0.0

164 port: 8080

165 public_url: https://claude-gateway.internal.example.com

166 trusted_proxies: [169.254.0.0/16, <your-proxy-only-subnet-cidr>]

167 

168 oidc:

169 issuer: https://accounts.google.com

170 client_id: <your-oauth-client-id>

171 client_secret: ${OIDC_CLIENT_SECRET} # GKE: ${file:/secrets/oidc-client-secret}

172 allowed_email_domains: [example.com]

173 # Google ignores offline_access; these yield refresh tokens:

174 scopes: [openid, profile, email]

175 extra_auth_params: { access_type: offline, prompt: consent }

176 

177 session:

178 jwt_secret: ${GATEWAY_JWT_SECRET} # GKE: ${file:/secrets/jwt-secret}

179 

180 store:

181 postgres_url: ${GATEWAY_POSTGRES_URL} # GKE: ${file:/secrets/postgres-url}

182 

183 upstreams:

184 - provider: vertex

185 region: <your-region> # must match $REGION

186 project_id: <your-project>

187 auth: {} # ADC via the runtime service account

188 ```

189 

190 <Note>

191 Les id\_tokens Google ne portent aucune revendication `groups`. Pour utiliser des politiques basées sur les groupes dans [`managed.policies`](/fr/claude-apps-gateway-config#managed) avec Google Workspace comme IdP, configurez [`oidc.google_groups`](/fr/claude-apps-gateway-config#oidc), qui recherche les groupes de chaque utilisateur via l'API Admin SDK Directory en utilisant un compte de service avec délégation au niveau du domaine. Sans cela, faites correspondre sur `email_domain` à la place.

192 </Note>

193 </Step>

194 

195 <Step title="Stocker les secrets dans Secret Manager">

196 Créez quatre secrets et accordez `roles/secretmanager.secretAccessor` au compte de service `claude-gateway` :

197 

198 | Secret | Source |

199 | ---------------------------- | ----------------------------------------------- |

200 | `gateway-jwt-secret` | `openssl rand -base64 32` |

201 | `gateway-oidc-client-secret` | Google Cloud Console → Client OAuth |

202 | `gateway-postgres-url` | `$GATEWAY_POSTGRES_URL` de l'étape Cloud SQL |

203 | `gateway-config` | le `gateway.yaml` complet de l'étape précédente |

204 

205 La façon dont les secrets atteignent le conteneur diffère selon la piste :

206 

207 * Sur GKE, ils se montent en tant que fichiers via le pilote CSI Secret Manager, et `gateway.yaml` référence `${file:/secrets/...}`.

208 * Sur Cloud Run, qui ne peut pas monter plusieurs secrets dans un seul répertoire, `gateway.yaml` se monte en tant que fichier et les trois autres s'injectent en tant que variables d'environnement, donc `gateway.yaml` référence `${GATEWAY_JWT_SECRET}`, `${OIDC_CLIENT_SECRET}` et `${GATEWAY_POSTGRES_URL}` à la place.

209 </Step>

210 

211 <Step title="Déployer">

212 <Tabs>

213 <Tab title="Cloud Run">

214 La commande ci-dessous déploie pour la production derrière un équilibreur de charge interne.

215 

216 ```bash theme={null}

217 gcloud run deploy claude-gateway \

218 --image="${REGION}-docker.pkg.dev/${PROJECT_ID}/claude-gateway/gateway:<version>" \

219 --region="$REGION" \

220 --service-account="claude-gateway@${PROJECT_ID}.iam.gserviceaccount.com" \

221 --min-instances=1 \

222 --timeout=3600 \

223 --ingress=internal-and-cloud-load-balancing \

224 --network="$VPC" --subnet=cc-gateway-subnet --vpc-egress=private-ranges-only \

225 --set-secrets=/etc/claude/gateway.yaml=gateway-config:latest,GATEWAY_JWT_SECRET=gateway-jwt-secret:latest,OIDC_CLIENT_SECRET=gateway-oidc-client-secret:latest,GATEWAY_POSTGRES_URL=gateway-postgres-url:latest \

226 --no-invoker-iam-check

227 ```

228 

229 L'accès VPC direct, via `--network`, `--subnet` et `--vpc-egress=private-ranges-only`, permet au service d'atteindre l'IP privée Cloud SQL directement. L'accès public aux points de terminaison Agent Platform et `accounts.google.com` va directement sur Internet plutôt que via le VPC, donc aucun Cloud NAT n'est nécessaire.

230 

231 La vérification IAM de l'invocateur doit être ouverte ou désactivée. La passerelle exécute son propre OIDC et ses clients ne portent aucun jeton GCP, donc la vérification de l'invocateur de Cloud Run doit admettre les demandes non authentifiées. L'authentification OIDC de la passerelle authentifie la demande une fois qu'elle atteint le conteneur, avec `allowed_email_domains` contrôlant les domaines autorisés à se connecter.

232 

233 Deux drapeaux admettent les demandes non authentifiées :

234 

235 * `--no-invoker-iam-check` : désactive la vérification sans liaison `allUsers` à gérer, et fonctionne sous Domain Restricted Sharing

236 * `--allow-unauthenticated` : accorde à `allUsers` le rôle `run.invoker` ; utilisez-le si votre organisation n'autorise pas `--no-invoker-iam-check`

237 

238 La restriction d'accès via `--ingress` est une couche indépendante et séparée de la vérification de l'invocateur ; gardez-la définie pour limiter le service à votre réseau d'entreprise.

239 

240 Par défaut, l'URL Cloud Run `*.run.app` se résout en une adresse publique, que la vérification [réseau privé](/fr/claude-apps-gateway#prerequisites) de `/login` rejette. Deux topologies donnent aux développeurs un nom d'hôte résoluble en privé, et Cloud Run ne provisionne ni l'une ni l'autre pour vous :

241 

242 * **Équilibreur de charge d'application interne**, la topologie que la commande de déploiement ci-dessus suppose : déployez avec `--ingress=internal-and-cloud-load-balancing`, provisionnez un équilibreur de charge d'application interne devant le service avec un nom DNS interne et un certificat, et définissez `listen.public_url` sur ce nom d'hôte.

243 * **Accès interne uniquement sans équilibreur de charge** : déployez avec `--ingress=internal` et laissez `listen.public_url` comme l'URL `*.run.app`, la valeur par défaut dans les [actifs de référence](#terraform-reference) ci-dessous. Pour que `*.run.app` se résolve en privé, votre équipe réseau doit déjà exploiter un point de terminaison Private Service Connect pour les API Google, une zone privée Cloud DNS résolvant `*.run.app` vers celui-ci, et un routage sur site vers ce point de terminaison.

244 

245 Le [guide de mise en réseau privée de Google pour Cloud Run](https://cloud.google.com/run/docs/securing/private-networking) couvre l'infrastructure que les deux options nécessitent. Vérifiez la connexion une fois que la passerelle est servie sur un nom d'hôte privé ; jusqu'à ce moment, confirmez que le conteneur a démarré à partir de ses journaux dans Cloud Run.

246 

247 Mettez à jour l'URI de redirection autorisé du client OAuth vers `<public_url>/oauth/callback` avant la première connexion. Redéployez après avoir modifié `public_url`, car la passerelle construit son origine publique uniquement à partir de ce paramètre et ignore `X-Forwarded-Host` et `X-Forwarded-Proto`. `X-Forwarded-For` est honoré pour les IP client uniquement lorsque `listen.trusted_proxies` est défini.

248 </Tab>

249 

250 <Tab title="GKE">

251 Le cluster doit être sur le `$VPC` créé à l'étape Cloud SQL afin que les pods puissent atteindre l'IP privée de la base de données ; l'appairage VPC seul ne fonctionne pas, car l'IP privée Cloud SQL est elle-même un réseau appairé et l'appairage n'est pas transitif. Pour créer un nouveau cluster sur ce VPC, passez `--network="$VPC" --subnetwork=cc-gateway-subnet` à `gcloud container clusters create`.

252 

253 Activez Workload Identity sur le cluster et ses pools de nœuds, puis liez le compte de service Google au compte de service Kubernetes afin que les pods héritent de ses identifiants :

254 

255 ```bash theme={null}

256 gcloud container clusters update <cluster> --region="$REGION" \

257 --workload-pool="${PROJECT_ID}.svc.id.goog"

258 # On a Standard cluster, existing node pools also need GKE_METADATA;

259 # Autopilot enables this by default.

260 gcloud container node-pools update <pool> --cluster=<cluster> \

261 --region="$REGION" --workload-metadata=GKE_METADATA

262 

263 kubectl create namespace claude-gateway

264 kubectl create serviceaccount gateway -n claude-gateway

265 

266 gcloud iam service-accounts add-iam-policy-binding \

267 "claude-gateway@${PROJECT_ID}.iam.gserviceaccount.com" \

268 --role roles/iam.workloadIdentityUser \

269 --member "serviceAccount:${PROJECT_ID}.svc.id.goog[claude-gateway/gateway]"

270 

271 kubectl annotate serviceaccount gateway -n claude-gateway \

272 iam.gke.io/gcp-service-account="claude-gateway@${PROJECT_ID}.iam.gserviceaccount.com"

273 ```

274 

275 Déployez la passerelle en tant que Deployment standard plus un Service et un Ingress interne, classe `gce-internal`, comme décrit dans [Déploiement Kubernetes](/fr/claude-apps-gateway-deploy#kubernetes), avec :

276 

277 * `serviceAccountName: gateway`

278 * le pilote CSI Secret Manager montant les secrets à `/secrets`

279 * la sonde de disponibilité pointée vers `GET /readyz`

280 

281 Attachez un BackendConfig avec un `timeoutSec` augmenté au Service de la passerelle : le service backend de l'équilibreur de charge derrière GKE Ingress par défaut à un délai d'expiration de 30 secondes, ce qui coupe les réponses de streaming longues.

282 

283 N'appliquez pas une NetworkPolicy d'accès sortant qui bloque `169.254.169.254` sur un cluster Workload Identity ; le pod doit atteindre le serveur de métadonnées pour les identifiants. La [garde SSRF](/fr/claude-apps-gateway-deploy#threat-model-summary) intégrée de la passerelle est la défense là.

284 

285 La passerelle enregistre un avertissement de démarrage que le point de terminaison des métadonnées est accessible et suggère d'appliquer une NetworkPolicy d'accès sortant. Sous Workload Identity, cet avertissement est attendu, car le pod a besoin du point de terminaison.

286 </Tab>

287 </Tabs>

288 </Step>

289 

290 <Step title="Pousser l'URL de la passerelle vers les machines des développeurs">

291 La passerelle s'exécute maintenant, mais les développeurs ne peuvent pas la atteindre à partir de `/login` jusqu'à ce que l'URL de la passerelle soit sur leurs machines. Définissez `forceLoginMethod` et `forceLoginGatewayUrl` dans le [fichier de paramètres gérés](/fr/claude-apps-gateway#set-the-gateway-url) que vous déployez sur chaque appareil via MDM. Il n'y a pas d'option de passerelle dans le sélecteur de connexion pour qu'un développeur sélectionne manuellement.

292 </Step>

293</Steps>

294 

295<h2 id="terraform-reference">

296 Référence Terraform

297</h2>

298 

299Les [actifs de déploiement de référence](https://github.com/anthropics/claude-code/tree/main/examples/gateway/gcp) automatisent la piste Cloud Run sur cette page ; les actifs de configuration et d'image s'appliquent aux deux pistes :

300 

301* `setup.sh` : un provisionneur `gcloud` idempotent qui parcourt le chemin Cloud Run complet, de l'activation des API au premier déploiement

302* `terraform/` : le même déploiement en tant qu'infrastructure en tant que code, pour un déploiement sur terrain vierge : une application ciblée pour créer le référentiel Artifact Registry, puis construire et pousser l'image, puis une application complète

303* `gateway.yaml.example` et un `Dockerfile` pour l'image de runtime distroless

304 

305Les artefacts par défaut Cloud Run ingress à `internal`, donc aucun équilibreur de charge n'est requis. Pour correspondre au déploiement de production derrière un ALB de cette page, exécutez `setup.sh` avec `INGRESS=internal-and-cloud-load-balancing`, ou définissez la variable Terraform `ingress` à `INGRESS_TRAFFIC_INTERNAL_LOAD_BALANCER`. Les artefacts définissent également par défaut la couche d'invocateur à une concession `allUsers` `run.invoker` plutôt qu'à `--no-invoker-iam-check`, l'inverse de la procédure pas à pas de cette page ; l'un ou l'autre fonctionne, et le choix dépend des contraintes de politique de votre organisation.

306 

307Les actifs sont fournis en tant qu'exemples fonctionnels, non en tant qu'artefact de production pris en charge ; examinez-les et adaptez-les à votre environnement.

308 

309<h2 id="troubleshooting">

310 Dépannage

311</h2>

312 

313Pour les erreurs de démarrage et de connexion de la passerelle, consultez le tableau [dépannage](/fr/claude-apps-gateway-deploy#troubleshooting) indépendant de la plateforme. Les entrées ci-dessous sont spécifiques à Google Cloud.

314 

315| Symptôme | Cause | Correction |

316| ------------------------------------------------------------------------------------------------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

317| Cloud Run retourne `403 Forbidden` avant d'atteindre le conteneur | La vérification IAM de l'invocateur est toujours activée | Déployez avec `--no-invoker-iam-check`, ou accordez à `allUsers` le rôle `run.invoker` avec `--allow-unauthenticated` |

318| `--no-invoker-iam-check` rejeté avec `invoker_iam_disabled is not currently available` | Bloqué par `constraints/run.managed.requireInvokerIam` | Utilisez `--allow-unauthenticated`. Si Domain Restricted Sharing via `constraints/iam.allowedPolicyMemberDomains` bloque également cela, utilisez la piste GKE, qui expose la passerelle au niveau du réseau sans liaison `allUsers`. |

319| `Container manifest type … must support amd64/linux` au déploiement | L'image a été construite sur un hôte non-amd64, ou buildx a émis un index d'image OCI | Construisez avec `--platform=linux/amd64 --provenance=false` |

320| Le démarrage de la passerelle se termine avec une erreur de délai d'expiration de connexion Postgres sur Cloud Run | Le service n'est pas attaché au VPC, ou Cloud SQL n'a pas d'IP privée sur ce VPC ; le store arrête d'attendre après 5 secondes | Déployez avec `--network` et `--subnet` pour l'accès VPC direct, et créez l'instance Cloud SQL avec `--no-assign-ip` et `--network` pointant vers le même VPC |

321| Les demandes Agent Platform retournent `403 PERMISSION_DENIED` | Le runtime n'utilise pas le compte de service `claude-gateway`, ou le modèle n'est pas activé dans Model Garden pour le projet | Définissez `--service-account` sur Cloud Run ou liez Workload Identity sur GKE, et activez chaque modèle Claude dans Model Garden pour la région cible |

322| Les réponses de streaming se coupent après une durée fixe | Délai d'expiration de la demande du front-end : le service backend de l'équilibreur de charge derrière GKE Ingress par défaut à 30 secondes et Cloud Run à 300 secondes | Attachez un BackendConfig avec un `timeoutSec` augmenté sur GKE, ou déployez avec `--timeout=3600` sur Cloud Run |

323 

324<h2 id="next-steps">

325 Étapes suivantes

326</h2>

327 

328* [Référence de configuration](/fr/claude-apps-gateway-config) : chaque option `gateway.yaml`, y compris `managed.policies` et `telemetry`

329* [Déploiement et opérations](/fr/claude-apps-gateway-deploy) : configuration IdP, vérifications de santé, rotation des clés secrètes JWT, mises à niveau et le modèle de sécurité

330* [Aperçu de la passerelle Claude apps](/fr/claude-apps-gateway) : démarrage rapide et connexion des développeurs

Details

1> ## Documentation Index

2> Fetch the complete documentation index at: https://code.claude.com/docs/llms.txt

3> Use this file to discover all available pages before exploring further.

4 

5# Limites de dépenses de la passerelle Claude apps

6 

7> Limitez les dépenses de chaque développeur via la passerelle Claude apps par jour, semaine ou mois. Définissez les limites avec une API Admin et la passerelle les applique en direct à chaque requête.

8 

9Les limites de dépenses limitent le montant que chaque développeur peut dépenser via votre [passerelle Claude apps](/fr/claude-apps-gateway) au cours d'un jour, d'une semaine ou d'un mois donné. Lorsqu'un développeur dépasse sa limite, la passerelle retourne `429` à sa prochaine requête et le bloque jusqu'à ce que la période se réinitialise ou qu'un administrateur augmente la limite. Utilisez les limites de dépenses pour donner à chaque développeur, groupe ou l'ensemble de l'organisation un plafond sur une credential que tout le monde partage.

10 

11Une passerelle Claude apps transfère toutes les inférences via une credential amont partagée, de sorte que la facture de votre fournisseur attribue tout à cette credential, et non aux développeurs individuels. Sans limites par développeur, une flotte d'agents incontrôlée peut dépenser l'engagement entier de l'organisation. Les limites de dépenses constituent la vue par développeur de la passerelle et le disjoncteur sur cette facture partagée.

12 

13<h2 id="set-a-cap">

14 Définir une limite

15</h2>

16 

17Avec le bloc [`admin:`](/fr/claude-apps-gateway-config#admin) configuré dans `gateway.yaml`, la passerelle sert une API admin à `/v1/organizations/spend_limits` et applique les limites en direct à chaque requête d'inférence. Les limites elles-mêmes sont définies via cette API, pas dans `gateway.yaml` ; chaque requête `POST /v1/organizations/spend_limits` crée ou remplace une limite à partir de `{scope, amount, period}`. L'API reflète les formes de câblage des points de terminaison de limites de dépenses de l'[API Admin](https://platform.claude.com/docs/en/manage-claude/admin-api) public d'Anthropic, de sorte qu'un client HTTP écrit selon ce contrat peut cibler la passerelle en changeant son URL de base.

18 

19Cette requête définit une limite par défaut à l'échelle de l'organisation de 500 \$ par mois pour chaque développeur :

20 

21```bash theme={null}

22curl -sS https://claude-gateway.internal.example.com/v1/organizations/spend_limits \

23 -H "x-api-key: $GATEWAY_ADMIN_WRITE_KEY" \

24 -H "Content-Type: application/json" \

25 -d '{"scope": {"type": "organization"}, "amount": "50000", "period": "monthly"}'

26```

27 

28Cette requête ajoute une limite plus stricte de 100 \$ par jour pour chaque membre du groupe `contractors` :

29 

30```bash theme={null}

31curl -sS https://claude-gateway.internal.example.com/v1/organizations/spend_limits \

32 -H "x-api-key: $GATEWAY_ADMIN_WRITE_KEY" \

33 -H "Content-Type: application/json" \

34 -d '{"scope": {"type": "rbac_group", "rbac_group_id": "contractors"}, "amount": "10000", "period": "daily"}'

35```

36 

37| Champ | Valeurs | Description |

38| ------------ | ----------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

39| `scope.type` | `user`, `rbac_group`, `organization` | `user` cible un développeur par son OpenID Connect (OIDC) `sub`, l'ID utilisateur stable que votre fournisseur d'identité attribue ; passez-le comme `scope.user_id`. `rbac_group` cible un [groupe IdP](/fr/claude-apps-gateway-config#managed) par nom ; passez-le comme `scope.rbac_group_id`. `organization` est la limite par défaut à l'échelle de l'organisation. La passerelle accepte les trois ; le `POST` public d'Anthropic est actuellement réservé aux utilisateurs uniquement. |

40| `amount` | Chaîne de nombre entier de cents USD, ou `null` | `null` est illimité. `"0"` est une limite zéro, qui bloque chaque requête. |

41| `period` | `daily`, `weekly`, `monthly` | Une portée peut contenir une limite par période, et chacune s'applique indépendamment : un développeur est bloqué s'il dépasse l'une d'elles. |

42 

43Une limite de groupe ou d'organisation est une limite par siège par défaut que chaque membre hérite, pas un pool partagé. Par période, la limite effective d'un développeur se résout dans cet ordre : un remplacement par utilisateur, puis la plus restrictive de ses limites de groupe, puis la limite par défaut de l'organisation, puis illimitée. [`admin.group_limit_mode: max`](/fr/claude-apps-gateway-config#admin) bascule le départage multi-groupe vers la moins restrictive à la place.

44 

45<h3 id="authenticate-to-the-admin-api">

46 S'authentifier auprès de l'API admin

47</h3>

48 

49Envoyez l'un des éléments suivants :

50 

51* Un en-tête `x-api-key` correspondant à une clé dans [`admin.write_keys`](/fr/claude-apps-gateway-config#admin) pour un accès complet, ou `admin.read_keys` pour un accès en lecture seule avec `GET`. Chaque clé porte un `id` qui apparaît dans le journal d'audit comme `admin-key:<id>`, donc donnez à Terraform, CI et à chaque automatisation la sienne.

52* Un jeton bearer de passerelle dont la revendication `groups` inclut l'un des [`admin.admin_groups`](/fr/claude-apps-gateway-config#admin). C'est un accès complet et s'audite comme `oidc:<sub>`, donc préférez-le pour les administrateurs humains.

53 

54<h2 id="how-enforcement-works">

55 Comment l'application fonctionne

56</h2>

57 

58À chaque requête `/v1/messages`, la passerelle résout les limites du développeur et les dépenses à ce jour de la période en une seule requête Postgres. S'il dépasse une limite, la requête retourne `429` avec `error.type: billing_error` et l'en-tête `x-should-retry: false`. Le message est `spend limit reached`, suivi de votre [`admin.blocked_message`](/fr/claude-apps-gateway-config#admin) s'il est défini.

59 

60`/v1/messages/count_tokens` est exempté. Le comptage de tokens est gratuit, il s'exécute donc indépendamment de l'état de la limite.

61 

62Après chaque réponse, un compteur d'utilisation lit les nombres de tokens de la réponse au fur et à mesure qu'elle est diffusée au client, les évalue au prix de liste USD et incrémente les compteurs Postgres pour les trois buckets de période. Le compteur est un lecteur unique sur le flux, de sorte que les octets du client ne sont pas modifiés et une défaillance de mesure ne casse pas la réponse.

63 

64Les limites de dépenses estiment les dépenses à partir des nombres de tokens au prix de liste USD ; c'est un disjoncteur, pas une facture. Pour une facturation faisant autorité, rapprochez-vous de la déclaration d'utilisation propre de votre fournisseur, comme l'API Admin Utilisation & Coûts d'Anthropic, les journaux d'invocation sur Bedrock, ou Cloud Monitoring sur Google Cloud.

65 

66La tarification utilise la même table que Claude Code CLI utilise pour son propre affichage des coûts, avec la même canonicalisation d'ID de modèle sur les formes Anthropic, Bedrock (`us.anthropic.…-v1:0`), Agent Platform (`claude-…@date`) et Foundry ID. Un ID de modèle que la table ne peut pas placer, comme un nom de déploiement Foundry ou un ARN de profil d'inférence, est tarifé au niveau de tier par défaut de modèle inconnu de 5 $/25 $ par million de tokens d'entrée/sortie plutôt que zéro, de sorte qu'un ID non reconnu ne peut pas contourner une limite en restant non mesuré. La passerelle avertit au démarrage et une fois par ID à l'exécution lorsqu'un modèle est tarifé via le fallback.

67 

68Les abandons de clients sont également facturés. L'amont rapporte les tokens de sortie uniquement dans la trame terminale du flux, de sorte qu'un flux abandonné ne les porte pas. Le compteur maintient une estimation de plancher conservatrice à partir de la taille du contenu diffusé, environ quatre caractères par token, et la facture quand et seulement quand la trame d'utilisation terminale est manquante. Un flux complet facture toujours le nombre rapporté en amont. Sans cela, un développeur limité pourrait diffuser la sortie et abandonner chaque requête immédiatement avant la fin, dépensant sans jamais être compté.

69 

70<h3 id="postgres-availability">

71 Disponibilité de Postgres

72</h3>

73 

74La pré-vérification interroge Postgres avec un délai d'expiration de deux secondes. Si le magasin est inaccessible ou expire, l'application échoue ouvertement par défaut : la requête procède et la passerelle enregistre un avertissement. Définissez [`enforcement.fail_closed_on_error: true`](/fr/claude-apps-gateway-config#enforcement) pour échouer fermé à la place, ce qui retourne le même `429 billing_error` avec le message `spend limit unavailable`. L'échec ouvert empêche une panne de magasin de devenir une panne d'inférence ; l'échec fermé garantit aucune dépense non mesurée.

75 

76<h2 id="admin-api-reference">

77 Référence de l'API Admin

78</h2>

79 

80Les points de terminaison ci-dessous sont servis sous `/v1/organizations/spend_limits`.

81 

82| Méthode et chemin | Description |

83| ---------------------------------------------- | ------------------------------------------------------------------------- |

84| `GET /v1/organizations/spend_limits` | Lister les limites configurées. Requête : `?limit=&after_id=&before_id=`. |

85| `POST /v1/organizations/spend_limits` | Créer ou remplacer une limite pour `{scope, period}`. |

86| `GET /v1/organizations/spend_limits/{id}` | Récupérer une limite par son ID préfixé `spl_`. |

87| `DELETE /v1/organizations/spend_limits/{id}` | Supprimer une limite. Retourne `{type: "spend_limit_deleted", id}`. |

88| `GET /v1/organizations/spend_limits/effective` | Limite résolue et dépenses à ce jour par principal par période. |

89| `GET /v1/organizations/spend_limits/audit` | Piste de mutation admin, plus récente en premier. Requête : `?limit=`. |

90 

91Les conventions reflètent l'API Admin d'Anthropic :

92 

93* Un `type` sur chaque objet

94* IDs préfixés `spl_`

95* Montants sous forme de chaînes de nombre entier de cents USD ; `POST` rejette toute autre `currency` avec `400`

96* L'enveloppe d'erreur `{type: "error", error: {type, message}, request_id}`

97* Un en-tête de réponse `request-id` sur chaque réponse admin, succès ou erreur, correspondant au `request_id` du corps

98 

99Chaque mutation écrit une ligne avant/après à `admin_audit` dans la même transaction, attribuée à `admin-key:<id>` ou `oidc:<sub>`.

100 

101La passerelle sert les points de terminaison des limites de dépenses uniquement. Les autres surfaces de l'API Admin, telles que la file d'attente `spend_limit_increase_requests`, ne font pas partie de l'API admin de la passerelle.

102 

103<h3 id="/effective">

104 `/effective`

105</h3>

106 

107`GET /v1/organizations/spend_limits/effective` retourne le schéma `SpendSummary` d'Anthropic : chaque ligne est un principal pour une période, avec la limite résolue, les dépenses à ce jour de la période et un objet `actor`. Différences spécifiques à la passerelle :

108 

109* `user_id` est l'OIDC `sub`.

110* `actor.name` et `actor.email_address` sont `null` jusqu'à la première requête d'inférence du principal via la passerelle. La passerelle n'a pas de répertoire utilisateur ; elle enregistre les valeurs dernièrement vues à partir du JWT de session de chaque utilisateur.

111* Chaque ligne porte également un tableau `groups`, les groupes IdP dernièrement vus du principal. C'est une extension de passerelle pour qu'une interface utilisateur admin puisse afficher chaque niveau de limite qui s'applique ; les clients façonnés par Anthropic l'ignorent.

112* Sans un filtre `user_ids[]`, il liste les principaux avec des dépenses enregistrées, car la passerelle ne peut pas énumérer tous les membres de l'organisation.

113 

114Les limites sourced par groupe se résolvent contre ces groupes dernièrement vus avec le même départage `group_limit_mode` que l'application utilise, de sorte que la visionneuse affiche la limite qui s'applique réellement.

115 

116| Paramètre de requête | Description |

117| -------------------- | ------------------------------------------------------------------------------------------------------------------- |

118| `user_ids[]` | Répétable. Filtrer vers des principaux spécifiques par OIDC `sub`. |

119| `period[]` | Répétable. Filtrer vers les lignes `daily`, `weekly` ou `monthly`. |

120| `sort` | `spend_desc` liste les plus gros dépensiers en premier. Nécessite exactement un `period[]`. |

121| `q` | Filtre de sous-chaîne insensible à la casse sur l'OIDC `sub`, le dernier email vu et le dernier nom d'affichage vu. |

122| `limit` / `page` | Taille de page (1–1000, par défaut 20) et le curseur opaque de la réponse précédente `next_page`. |

123 

124<Warning>

125 `q=` et `user_ids[]=` utilisent les chaînes de requête GET, de sorte que tout proxy frontal ou équilibreur de charge les capture dans ses journaux d'accès. Si votre politique de journalisation des PII est stricte, nettoyez ces paramètres là-bas.

126</Warning>

127 

128<h3 id="/audit">

129 `/audit`

130</h3>

131 

132Retourne la piste de mutation de limite de dépenses : qui a changé quelle limite, les snapshots avant/après et la raison optionnelle, plus récente en premier. `has_more` est exact. Ce point de terminaison suit les conventions de l'API Admin locale plutôt qu'une forme de câblage de première partie.

133 

134<h3 id="pagination">

135 Pagination

136</h3>

137 

138La liste brute pagine par `after_id` et `before_id`, qui sont des IDs `spl_…` mutuellement exclusifs ; les résultats sont ordonnés par création et `has_more` reflète la direction de traversée. `/effective` pagine par le jeton opaque `next_page` repassé comme `?page=`, avec les principaux ordonnés en ordre croissant de sorte que les pages restent stables pendant que les dépenses sont enregistrées. `limit` est 1–1000, par défaut 20, sur les deux.

139 

140<h2 id="data-lifecycle">

141 Cycle de vie des données

142</h2>

143 

144La passerelle contient quatre tables liées aux dépenses ; un balayage horaire applique les fenêtres de rétention :

145 

146| Table | Contenu | Rétention |

147| ------------------ | ------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------ |

148| `spend` | Compteurs à ce jour de la période par principal en cents | [`admin.spend_retention_months`](/fr/claude-apps-gateway-config#admin), par défaut 13 |

149| `spend_limits` | Les limites configurées | Jusqu'à suppression via l'API |

150| `admin_audit` | La piste de mutation | [`admin.audit_retention_days`](/fr/claude-apps-gateway-config#admin), par défaut 365 |

151| `principal_emails` | Le dernier email vu de chaque principal, le nom d'affichage et les groupes IdP. Contient des PII. | [`admin.identity_retention_days`](/fr/claude-apps-gateway-config#admin) depuis la dernière activité, par défaut 90 |

152 

153`identity_retention_days` est délibérément plus court que `spend_retention_months` : une identité déprovisionée cesse de se rafraîchir et vieillit, tandis que ses compteurs de dépenses anonymes restent pour les rapports d'année en année.

154 

155Lorsqu'un développeur part, supprimez toute limite par utilisateur via `DELETE /v1/organizations/spend_limits/{id}` ; ses lignes de dépenses et d'identité vieillissent sur les fenêtres de rétention ci-dessus. Pour effacer une personne immédiatement, pour l'offboarding ou une demande d'accès aux données (DSAR), exécutez `DELETE FROM principal_emails WHERE principal = '<sub>'` directement contre la base de données de la passerelle. Cela supprime la seule table contenant leur email, nom et groupes. Les lignes `spend` et `admin_audit` font référence uniquement au pseudonyme OIDC `sub` et vieillissent sur leurs propres fenêtres.

156 

157<h2 id="related">

158 Connexes

159</h2>

160 

161* [Configuration `admin` et `enforcement`](/fr/claude-apps-gateway-config#admin) : activation de l'API admin et ajustement de la rétention

162* [Guide de déploiement](/fr/claude-apps-gateway-deploy#postgres) : schéma Postgres et conseils de sauvegarde

Details

63 Ce qui est disponible dans les sessions cloud63 Ce qui est disponible dans les sessions cloud

64</h3>64</h3>

65 65 

66Les sessions cloud commencent par un clone frais de votre référentiel. Tout ce qui est validé dans le référentiel est disponible. Tout ce que vous avez installé ou configuré uniquement sur votre propre machine ne l'est pas ; la politique de votre organisation arrive séparément via les [paramètres gérés par le serveur](/fr/server-managed-settings).66Les sessions cloud commencent par un clone frais de votre référentiel. Tout ce qui est validé dans le référentiel est disponible. Tout ce que vous avez installé ou configuré uniquement sur votre propre machine ne l'est pas dans la session. La politique de votre organisation arrive séparément via les [paramètres gérés par le serveur](/fr/server-managed-settings).

67 67 

68| | Disponible dans les sessions cloud | Pourquoi |68| | Disponible dans les sessions cloud | Pourquoi |

69| :------------------------------------------------------------------------------------- | :--------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |69| :------------------------------------------------------------------------------------- | :--------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |


81| Jetons API statiques et identifiants | Non | Aucun magasin de secrets dédié n'existe encore. Voir ci-dessous |81| Jetons API statiques et identifiants | Non | Aucun magasin de secrets dédié n'existe encore. Voir ci-dessous |

82| Authentification interactive comme AWS SSO | Non | Non pris en charge. SSO nécessite une connexion basée sur le navigateur qui ne peut pas s'exécuter dans une session cloud |82| Authentification interactive comme AWS SSO | Non | Non pris en charge. SSO nécessite une connexion basée sur le navigateur qui ne peut pas s'exécuter dans une session cloud |

83 83 

84Pour rendre votre propre configuration disponible dans les sessions cloud, validez-la dans le référentiel ; la politique de l'organisation arrive séparément via les [paramètres gérés par le serveur](/fr/server-managed-settings). Un magasin de secrets dédié n'est pas encore disponible. Les variables d'environnement et les scripts de configuration sont stockés dans la configuration de l'environnement, visibles à quiconque peut modifier cet environnement. Si vous avez besoin de secrets dans une session cloud, ajoutez-les comme variables d'environnement en gardant cette visibilité à l'esprit.84Pour rendre votre propre configuration disponible dans les sessions cloud, validez-la dans le référentiel ; la politique de l'organisation arrive séparément via les [paramètres gérés par le serveur](/fr/server-managed-settings).

85 

86Un magasin de secrets dédié n'est pas encore disponible. Les variables d'environnement et les scripts de configuration sont stockés dans la configuration de l'environnement, visibles à quiconque peut modifier cet environnement. Si vous avez besoin de secrets dans une session cloud, ajoutez-les comme variables d'environnement en gardant cette visibilité à l'esprit.

85 87 

86<h3 id="installed-tools">88<h3 id="installed-tools">

87 Outils installés89 Outils installés


143 Exécuter les tests, démarrer les services et ajouter des paquets145 Exécuter les tests, démarrer les services et ajouter des paquets

144</h3>146</h3>

145 147 

146Claude exécute les tests dans le cadre du travail sur une tâche. Demandez-le dans votre invite, comme « corriger les tests échoués dans `tests/` » ou « exécuter pytest après chaque modification ». Les exécuteurs de tests comme pytest, jest et cargo test fonctionnent directement puisqu'ils sont pré-installés.148Claude exécute les tests dans le cadre du travail sur une tâche. Demandez-le dans votre invite, comme « corriger les tests échoués dans `tests/` » ou « exécuter pytest après chaque modification ». Les exécuteurs de tests comme pytest, jest et cargo test sont pré-installés et fonctionnent sans configuration supplémentaire.

147 149 

148PostgreSQL et Redis sont pré-installés mais ne s'exécutent pas par défaut. Demandez à Claude de démarrer chacun pendant la session :150PostgreSQL et Redis sont pré-installés mais ne s'exécutent pas par défaut. Demandez à Claude de démarrer chacun pendant la session :

149 151 


186| Archiver un environnement | Ouvrez l'environnement pour le modifier et sélectionnez **Archiver**. Les environnements archivés sont masqués du sélecteur mais les sessions existantes continuent de s'exécuter. |188| Archiver un environnement | Ouvrez l'environnement pour le modifier et sélectionnez **Archiver**. Les environnements archivés sont masqués du sélecteur mais les sessions existantes continuent de s'exécuter. |

187| Définir la valeur par défaut pour `--remote` | Exécutez `/remote-env` dans votre terminal. Si vous avez un seul environnement, cette commande affiche votre configuration actuelle. `/remote-env` sélectionne uniquement la valeur par défaut ; ajoutez, modifiez et archivez les environnements à partir de l'interface web. |189| Définir la valeur par défaut pour `--remote` | Exécutez `/remote-env` dans votre terminal. Si vous avez un seul environnement, cette commande affiche votre configuration actuelle. `/remote-env` sélectionne uniquement la valeur par défaut ; ajoutez, modifiez et archivez les environnements à partir de l'interface web. |

188 190 

189Les variables d'environnement utilisent le format `.env` avec une paire `KEY=value` par ligne. N'enveloppez pas les valeurs entre guillemets, car les guillemets sont stockés comme faisant partie de la valeur.191Les variables d'environnement utilisent le format `.env` avec une paire `KEY=value` par ligne. N'enveloppez pas les valeurs entre guillemets, car les guillemets sont stockés comme faisant partie de la valeur. Cet exemple définit trois variables :

190 192 

191```text theme={null}193```text theme={null}

192NODE_ENV=development194NODE_ENV=development


593 * \*.sentry.io595 * \*.sentry.io

594 * downloads.sentry-cdn.com596 * downloads.sentry-cdn.com

595 * http-intake.logs.datadoghq.com597 * http-intake.logs.datadoghq.com

598 * browser-intake-us5-datadoghq.com

596 * \*.datadoghq.com599 * \*.datadoghq.com

597 * \*.datadoghq.eu600 * \*.datadoghq.eu

598 * api.honeycomb.io601 * api.honeycomb.io


641 644 

642Cela crée une nouvelle session cloud sur claude.ai. La session clone votre répertoire courant du serveur distant GitHub à votre branche actuelle, donc poussez d'abord si vous avez des commits locaux, puisque la VM clone depuis GitHub plutôt que depuis votre machine. `--remote` fonctionne avec un seul référentiel à la fois. La tâche s'exécute dans le cloud tandis que vous continuez à travailler localement.645Cela crée une nouvelle session cloud sur claude.ai. La session clone votre répertoire courant du serveur distant GitHub à votre branche actuelle, donc poussez d'abord si vous avez des commits locaux, puisque la VM clone depuis GitHub plutôt que depuis votre machine. `--remote` fonctionne avec un seul référentiel à la fois. La tâche s'exécute dans le cloud tandis que vous continuez à travailler localement.

643 646 

647À partir de la v2.1.195, le CLI affiche une liste de contrôle en direct des étapes de configuration, telles que le clonage du référentiel et l'exécution de votre [script de configuration](#setup-scripts), tandis que le conteneur cloud démarre. Les messages que vous tapez pendant que le conteneur est en cours de provisionnement sont mis en file d'attente et envoyés une fois que la session est prête.

648 

644<Note>649<Note>

645 `--remote` crée des sessions cloud. `--remote-control` n'est pas lié : il expose une session CLI locale pour la surveillance depuis le web. Consultez [Contrôle à distance](/fr/remote-control).650 `--remote` crée des sessions cloud. `--remote-control` n'est pas lié : il expose une session CLI locale pour la surveillance depuis le web. Consultez [Contrôle à distance](/fr/remote-control).

646</Note>651</Note>


703Extrayez une session cloud dans votre terminal en utilisant l'une de ces options :708Extrayez une session cloud dans votre terminal en utilisant l'une de ces options :

704 709 

705* **Utilisation de `--teleport`** : à partir de la ligne de commande, exécutez `claude --teleport` pour un sélecteur de session interactif, ou `claude --teleport <session-id>` pour reprendre une session spécifique directement. Si vous avez des modifications non validées, vous serez invité à les ranger d'abord.710* **Utilisation de `--teleport`** : à partir de la ligne de commande, exécutez `claude --teleport` pour un sélecteur de session interactif, ou `claude --teleport <session-id>` pour reprendre une session spécifique directement. Si vous avez des modifications non validées, vous serez invité à les ranger d'abord.

706* **Utilisation de `/teleport`** : à l'intérieur d'une session CLI existante, exécutez `/teleport` (ou `/tp`) pour ouvrir le même sélecteur de session sans redémarrer Claude Code.711* **Utilisation de `/teleport`** : à l'intérieur d'une session CLI existante, exécutez `/teleport` ou `/tp` pour ouvrir le même sélecteur de session sans redémarrer Claude Code.

707* **À partir de `/tasks`** : exécutez `/tasks` pour voir vos sessions en arrière-plan, puis appuyez sur `t` pour vous téléporter dans l'une d'elles712* **À partir de `/tasks`** : exécutez `/tasks` pour voir vos sessions en arrière-plan, puis appuyez sur `t` pour vous téléporter dans l'une d'elles.

708* **À partir de l'interface web** : sélectionnez **Ouvrir dans CLI** pour copier une commande que vous pouvez coller dans votre terminal713* **À partir de l'interface web** : sélectionnez **Ouvrir dans CLI** pour copier une commande que vous pouvez coller dans votre terminal.

709 714 

710Lorsque vous téléportez une session, Claude vérifie que vous êtes dans le bon référentiel, récupère et extrait la branche de la session cloud, et charge l'historique complet de la conversation dans votre terminal.715Lorsque vous téléportez une session, Claude vérifie que vous êtes dans le bon référentiel, récupère et extrait la branche de la session cloud, et charge l'historique complet de la conversation dans votre terminal.

711 716 


752 757 

753La compaction automatique s'exécute automatiquement lorsque la fenêtre de contexte approche de la capacité. Pour la déclencher plus tôt, définissez [`CLAUDE_AUTOCOMPACT_PCT_OVERRIDE`](/fr/env-vars) dans vos [variables d'environnement](#configure-your-environment). Par exemple, `CLAUDE_AUTOCOMPACT_PCT_OVERRIDE=70` compacte à 70 % de capacité au lieu d'attendre que la fenêtre soit presque pleine. Pour modifier la taille de fenêtre effective pour les calculs de compaction, utilisez [`CLAUDE_CODE_AUTO_COMPACT_WINDOW`](/fr/env-vars).758La compaction automatique s'exécute automatiquement lorsque la fenêtre de contexte approche de la capacité. Pour la déclencher plus tôt, définissez [`CLAUDE_AUTOCOMPACT_PCT_OVERRIDE`](/fr/env-vars) dans vos [variables d'environnement](#configure-your-environment). Par exemple, `CLAUDE_AUTOCOMPACT_PCT_OVERRIDE=70` compacte à 70 % de capacité au lieu d'attendre que la fenêtre soit presque pleine. Pour modifier la taille de fenêtre effective pour les calculs de compaction, utilisez [`CLAUDE_CODE_AUTO_COMPACT_WINDOW`](/fr/env-vars).

754 759 

755Les [sous-agents](/fr/sub-agents) fonctionnent de la même manière qu'en local. Claude peut les générer avec l'outil Task pour décharger la recherche ou le travail parallèle dans une fenêtre de contexte séparée, gardant la conversation principale plus légère. Les sous-agents définis dans votre `.claude/agents/` du référentiel sont récupérés automatiquement. Les [équipes d'agents](/fr/agent-teams) sont désactivées par défaut mais peuvent être activées en ajoutant `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1` à vos [variables d'environnement](#configure-your-environment).760Les [sous-agents](/fr/sub-agents) fonctionnent de la même manière qu'en local. Claude peut les générer avec l'outil Task pour décharger la recherche ou le travail parallèle dans une fenêtre de contexte séparée, gardant la conversation principale plus légère. Les sous-agents définis dans votre `.claude/agents/` du référentiel sont récupérés automatiquement.

761 

762Les [équipes d'agents](/fr/agent-teams) sont désactivées par défaut mais peuvent être activées en ajoutant `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1` à vos [variables d'environnement](#configure-your-environment).

756 763 

757<h3 id="review-changes">764<h3 id="review-changes">

758 Examiner les modifications765 Examiner les modifications


770 Partage à partir d'un compte Enterprise ou Team777 Partage à partir d'un compte Enterprise ou Team

771</h4>778</h4>

772 779 

773Pour les comptes Enterprise et Team, les deux options de visibilité sont **Private** et **Team**. La visibilité Team rend la session visible aux autres membres de votre organisation claude.ai. La vérification de l'accès au référentiel est activée par défaut, en fonction du compte GitHub connecté au compte du destinataire. Le nom d'affichage de votre compte est visible à tous les destinataires ayant accès. Les sessions [Claude dans Slack](/fr/slack) sont automatiquement partagées avec la visibilité Team.780Pour les comptes Enterprise et Team, les deux options de visibilité sont **Private** et **Team**. La visibilité Team rend la session visible aux autres membres de votre organisation claude.ai. [Claude dans Slack](/fr/slack) les sessions sont automatiquement partagées avec la visibilité Team.

781 

782La vérification de l'accès au référentiel est activée par défaut, en fonction du compte GitHub connecté au compte du destinataire. Le nom d'affichage de votre compte est visible à tous les destinataires ayant accès.

774 783 

775<h4 id="share-from-a-max-or-pro-account">784<h4 id="share-from-a-max-or-pro-account">

776 Partage à partir d'un compte Max ou Pro785 Partage à partir d'un compte Max ou Pro


863 872 

864* Vérifiez [status.claude.com](https://status.claude.com) pour les incidents de session cloud873* Vérifiez [status.claude.com](https://status.claude.com) pour les incidents de session cloud

865* Réessayez après une minute, car la capacité est mise en service à la demande874* Réessayez après une minute, car la capacité est mise en service à la demande

866* Confirmez que votre référentiel est accessible. Le compte GitHub qui se connecte doit avoir accès au référentiel sur GitHub, soit par l'autorisation de l'application Claude GitHub, soit par un jeton `gh` synchronisé via `/web-setup` l'installation de l'application sur le référentiel n'est pas requise. Consultez [Options d'authentification GitHub](#github-authentication-options).875* Confirmez que votre référentiel est accessible. Le compte GitHub qui se connecte doit avoir accès au référentiel sur GitHub, soit par l'autorisation de l'application Claude GitHub, soit par un jeton `gh` synchronisé via `/web-setup`. L'installation de l'application sur le référentiel n'est pas requise. Consultez [Options d'authentification GitHub](#github-authentication-options).

867 876 

868<h3 id="remote-control-session-expired-or-access-denied">877<h3 id="remote-control-session-expired-or-access-denied">

869 Session Remote Control expirée ou accès refusé878 Session Remote Control expirée ou accès refusé

Details

283```bash theme={null}283```bash theme={null}

284export ANTHROPIC_DEFAULT_FABLE_MODEL=claude-fable-5284export ANTHROPIC_DEFAULT_FABLE_MODEL=claude-fable-5

285export ANTHROPIC_DEFAULT_OPUS_MODEL=claude-opus-4-7285export ANTHROPIC_DEFAULT_OPUS_MODEL=claude-opus-4-7

286export ANTHROPIC_DEFAULT_SONNET_MODEL=claude-sonnet-4-6286export ANTHROPIC_DEFAULT_SONNET_MODEL=claude-sonnet-5

287export ANTHROPIC_DEFAULT_HAIKU_MODEL=claude-haiku-4-5287export ANTHROPIC_DEFAULT_HAIKU_MODEL=claude-haiku-4-5

288```288```

289 289 

Details

22| `claude -c -p "query"` | Continuer via SDK | `claude -c -p "Check for type errors"` |22| `claude -c -p "query"` | Continuer via SDK | `claude -c -p "Check for type errors"` |

23| `claude -r "<session>" "query"` | Reprendre une session par ID ou nom | `claude -r "auth-refactor" "Finish this PR"` |23| `claude -r "<session>" "query"` | Reprendre une session par ID ou nom | `claude -r "auth-refactor" "Finish this PR"` |

24| `claude update` | Mettre à jour vers la dernière version | `claude update` |24| `claude update` | Mettre à jour vers la dernière version | `claude update` |

25| `claude gateway` | Démarrer le serveur [passerelle d'applications Claude](/fr/claude-apps-gateway) auto-hébergé, pour les administrateurs déployant SSO et la politique devant Claude Code sur Bedrock, Vertex AI, ou Foundry. Nécessite `--config` pointant vers un [`gateway.yaml`](/fr/claude-apps-gateway-config). Disponible dans Claude Code v2.1.195 et ultérieur. | `claude gateway --config gateway.yaml` |

25| `claude install [version]` | Installer ou réinstaller le binaire natif. Accepte une version comme `2.1.118`, ou `stable` ou `latest`. Voir [Installer une version spécifique](/fr/setup#install-a-specific-version) | `claude install stable` |26| `claude install [version]` | Installer ou réinstaller le binaire natif. Accepte une version comme `2.1.118`, ou `stable` ou `latest`. Voir [Installer une version spécifique](/fr/setup#install-a-specific-version) | `claude install stable` |

26| `claude auth login` | Se connecter à votre compte Anthropic. Utilisez `--email` pour pré-remplir votre adresse e-mail, `--sso` pour forcer l'authentification SSO, et `--console` pour vous connecter avec Anthropic Console pour la facturation de l'utilisation de l'API au lieu d'un abonnement Claude | `claude auth login --console` |27| `claude auth login` | Se connecter à votre compte Anthropic. Utilisez `--email` pour pré-remplir votre adresse e-mail, `--sso` pour forcer l'authentification SSO, et `--console` pour vous connecter avec Anthropic Console pour la facturation de l'utilisation de l'API au lieu d'un abonnement Claude | `claude auth login --console` |

27| `claude auth logout` | Se déconnecter de votre compte Anthropic | `claude auth logout` |28| `claude auth logout` | Se déconnecter de votre compte Anthropic | `claude auth logout` |


93| `--max-budget-usd` | Montant en dollars maximum à dépenser pour les appels API avant d'arrêter (mode impression uniquement) | `claude -p --max-budget-usd 5.00 "query"` |94| `--max-budget-usd` | Montant en dollars maximum à dépenser pour les appels API avant d'arrêter (mode impression uniquement) | `claude -p --max-budget-usd 5.00 "query"` |

94| `--max-turns` | Limiter le nombre de tours d'agent (mode impression uniquement). Quitte avec une erreur lorsque la limite est atteinte. Pas de limite par défaut | `claude -p --max-turns 3 "query"` |95| `--max-turns` | Limiter le nombre de tours d'agent (mode impression uniquement). Quitte avec une erreur lorsque la limite est atteinte. Pas de limite par défaut | `claude -p --max-turns 3 "query"` |

95| `--mcp-config` | Charger les serveurs MCP à partir de fichiers ou de chaînes JSON (séparés par des espaces) | `claude --mcp-config ./mcp.json` |96| `--mcp-config` | Charger les serveurs MCP à partir de fichiers ou de chaînes JSON (séparés par des espaces) | `claude --mcp-config ./mcp.json` |

96| `--model` | Définit le modèle pour la session actuelle avec un alias pour le dernier modèle (`sonnet`, `opus`, `haiku`, ou `fable`) ou le nom complet d'un modèle. Remplace le paramètre [`model`](/fr/settings#available-settings) et [`ANTHROPIC_MODEL`](/fr/model-config#environment-variables) | `claude --model claude-sonnet-4-6` |97| `--model` | Définit le modèle pour la session actuelle avec un alias pour le dernier modèle (`sonnet`, `opus`, `haiku`, ou `fable`) ou le nom complet d'un modèle. Remplace le paramètre [`model`](/fr/settings#available-settings) et [`ANTHROPIC_MODEL`](/fr/model-config#environment-variables) | `claude --model claude-sonnet-5` |

97| `--name`, `-n` | Définir un nom d'affichage pour la session, affiché dans `/resume` et le titre du terminal. Vous pouvez reprendre une session nommée avec `claude --resume <name>`. <br /><br />[`/rename`](/fr/commands) change le nom en cours de session et l'affiche également dans la barre d'invite | `claude -n "my-feature-work"` |98| `--name`, `-n` | Définir un nom d'affichage pour la session, affiché dans `/resume` et le titre du terminal. Vous pouvez reprendre une session nommée avec `claude --resume <name>`. <br /><br />[`/rename`](/fr/commands) change le nom en cours de session et l'affiche également dans la barre d'invite | `claude -n "my-feature-work"` |

98| `--no-chrome` | Désactiver l'[intégration du navigateur Chrome](/fr/chrome) pour cette session | `claude --no-chrome` |99| `--no-chrome` | Désactiver l'[intégration du navigateur Chrome](/fr/chrome) pour cette session | `claude --no-chrome` |

99| `--no-session-persistence` | Désactiver la persistance de session afin que les sessions ne soient pas enregistrées sur le disque et ne puissent pas être reprises. Mode impression uniquement. La variable d'environnement [`CLAUDE_CODE_SKIP_PROMPT_HISTORY`](/fr/env-vars) fait la même chose dans n'importe quel mode | `claude -p --no-session-persistence "query"` |100| `--no-session-persistence` | Désactiver la persistance de session afin que les sessions ne soient pas enregistrées sur le disque et ne puissent pas être reprises. Mode impression uniquement. La variable d'environnement [`CLAUDE_CODE_SKIP_PROMPT_HISTORY`](/fr/env-vars) fait la même chose dans n'importe quel mode | `claude -p --no-session-persistence "query"` |

commands.md +2 −0

Details

70| `/cost` | Alias pour `/usage` |70| `/cost` | Alias pour `/usage` |

71| `/debug [description]` | **[Skill](/fr/skills#bundled-skills).** Activer la journalisation de débogage pour la session actuelle et dépanner les problèmes en lisant le journal de débogage de la session. La journalisation de débogage est désactivée par défaut sauf si vous avez démarré avec `claude --debug`, donc exécuter `/debug` en milieu de session commence à capturer les journaux à partir de ce moment. Décrivez optionnellement le problème pour concentrer l'analyse |71| `/debug [description]` | **[Skill](/fr/skills#bundled-skills).** Activer la journalisation de débogage pour la session actuelle et dépanner les problèmes en lisant le journal de débogage de la session. La journalisation de débogage est désactivée par défaut sauf si vous avez démarré avec `claude --debug`, donc exécuter `/debug` en milieu de session commence à capturer les journaux à partir de ce moment. Décrivez optionnellement le problème pour concentrer l'analyse |

72| `/deep-research <question>` | **[Workflow](/fr/workflows#bundled-workflows).** Déployer des recherches web sur une question, récupérer et vérifier les sources, et synthétiser un rapport cité |72| `/deep-research <question>` | **[Workflow](/fr/workflows#bundled-workflows).** Déployer des recherches web sur une question, récupérer et vérifier les sources, et synthétiser un rapport cité |

73| `/design-login` | Autoriser l'accès au système de conception pour `/design-sync` avec votre compte claude.ai |

74| `/design-sync [hint]` | **[Skill](/fr/skills#bundled-skills).** Convertir le système de conception React de votre référentiel et le télécharger vers [Claude Design](https://claude.ai/design), afin que les conceptions qu'il produit utilisent vos vrais composants. Nommez optionnellement le système de conception, par exemple `/design-sync Acme DS`. Une première synchronisation vérifie chaque composant et peut prendre quelques heures sur un grand référentiel. Disponible sur l'API Anthropic ; sur Amazon Bedrock, la plateforme d'agents de Google Cloud, et Microsoft Foundry, l'outil sous-jacent ne peut pas atteindre claude.ai, donc la commande n'est pas disponible |

73| `/desktop` | Continuer la session actuelle dans l'application Claude Code Desktop. Nécessite macOS ou Windows et un abonnement Claude. Alias : `/app` |75| `/desktop` | Continuer la session actuelle dans l'application Claude Code Desktop. Nécessite macOS ou Windows et un abonnement Claude. Alias : `/app` |

74| `/diff` | Ouvrir un visualiseur de diff interactif montrant les modifications non validées et les diffs par tour. Utilisez les flèches gauche/droite pour basculer entre le diff git actuel et les tours Claude individuels, et haut/bas pour parcourir les fichiers |76| `/diff` | Ouvrir un visualiseur de diff interactif montrant les modifications non validées et les diffs par tour. Utilisez les flèches gauche/droite pour basculer entre le diff git actuel et les tours Claude individuels, et haut/bas pour parcourir les fichiers |

75| `/doctor` | Diagnostiquer et vérifier votre installation et vos paramètres Claude Code. Les résultats s'affichent avec des icônes de statut. Appuyez sur `f` pour que Claude corrige les problèmes signalés |77| `/doctor` | Diagnostiquer et vérifier votre installation et vos paramètres Claude Code. Les résultats s'affichent avec des icônes de statut. Appuyez sur `f` pour que Claude corrige les problèmes signalés |

computer-use.md +3 −3

Details

113 Une session à la fois113 Une session à la fois

114</h3>114</h3>

115 115 

116L'utilisation de l'ordinateur maintient un verrou à l'échelle de la machine pendant qu'elle est active. Si une autre session Claude Code utilise déjà votre ordinateur, les nouvelles tentatives échouent avec un message vous indiquant quelle session détient le verrou. Terminez ou quittez cette session d'abord.116L'utilisation de l'ordinateur maintient un verrou à l'échelle de la machine à partir de la première action d'utilisation de l'ordinateur jusqu'à ce que la session qui l'a acquis se termine. {/* min-version: 2.1.195 */}À partir de la v2.1.195, terminer la tâche ne libère pas le verrou ; seule la fermeture de la session le fait. Si une autre session Claude Code utilise déjà votre ordinateur, les nouvelles tentatives échouent avec un message vous indiquant quelle session détient le verrou. Quittez d'abord cette session.

117 117 

118<h3 id="apps-are-hidden-while-claude-works">118<h3 id="apps-are-hidden-while-claude-works">

119 Les applications sont masquées pendant que Claude travaille119 Les applications sont masquées pendant que Claude travaille


135 Arrêter à tout moment135 Arrêter à tout moment

136</h3>136</h3>

137 137 

138Lorsque Claude acquiert le verrou, une notification macOS apparaît : « Claude utilise votre ordinateur · appuyez sur Échap pour arrêter ». Appuyez sur `Échap` n'importe où pour abandonner l'action actuelle immédiatement, ou appuyez sur `Ctrl+C` dans le terminal. De toute façon, Claude libère le verrou, affiche vos applications et vous rend le contrôle.138Lorsque Claude acquiert le verrou, une notification macOS apparaît : « Claude utilise votre ordinateur · appuyez sur Échap pour arrêter ». Appuyez sur `Échap` n'importe où pour abandonner l'action actuelle immédiatement, ou appuyez sur `Ctrl+C` dans le terminal. De toute façon, Claude s'arrête, affiche vos applications et vous rend le contrôle. La session conserve le [verrou d'utilisation de l'ordinateur](#one-session-at-a-time) jusqu'à ce qu'elle se termine.

139 139 

140Une deuxième notification apparaît lorsque Claude a terminé.140Une deuxième notification apparaît lorsque Claude a terminé.

141 141 


225 « L'utilisation de l'ordinateur est utilisée par une autre session Claude »225 « L'utilisation de l'ordinateur est utilisée par une autre session Claude »

226</h3>226</h3>

227 227 

228Une autre session Claude Code détient le verrou. Terminez la tâche dans cette session ou quittez-la. Si l'autre session a planté, le verrou est libéré automatiquement lorsque Claude détecte que le processus n'est plus en cours d'exécution.228Une autre session Claude Code détient le verrou, qu'elle conserve jusqu'à sa fermeture. Quittez cette session. Si l'autre session a planté, le verrou est libéré automatiquement lorsque Claude détecte que le processus n'est plus en cours d'exécution.

229 229 

230<h3 id="macos-permissions-prompt-keeps-reappearing">230<h3 id="macos-permissions-prompt-keeps-reappearing">

231 L'invite de permissions macOS continue de réapparaître231 L'invite de permissions macOS continue de réapparaître

Details

1615* **Effacer entre les tâches** : exécutez `/clear` quand vous passez à un travail non lié. L'ancienne conversation encombre les fichiers dont vous avez besoin ensuite et coûte des jetons à chaque message.1615* **Effacer entre les tâches** : exécutez `/clear` quand vous passez à un travail non lié. L'ancienne conversation encombre les fichiers dont vous avez besoin ensuite et coûte des jetons à chaque message.

1616* **Déléguer les lectures volumineuses** : envoyez la recherche à un [sous-agent](/fr/sub-agents) de sorte que le contenu du fichier reste dans sa fenêtre de contexte, pas dans la vôtre.1616* **Déléguer les lectures volumineuses** : envoyez la recherche à un [sous-agent](/fr/sub-agents) de sorte que le contenu du fichier reste dans sa fenêtre de contexte, pas dans la vôtre.

1617 1617 

1618Si vous avez besoin d'une fenêtre plus grande plutôt qu'une conversation plus petite, Fable 5, Opus 4.6 et versions ultérieures, et Sonnet 4.6 supportent une fenêtre de contexte de 1 million de jetons. Consultez [Contexte étendu](/fr/model-config#extended-context) pour la disponibilité par plan et comment sélectionner une variante de modèle `[1m]`. La compaction fonctionne de la même manière à la limite plus grande.1618Si vous avez besoin d'une fenêtre plus grande plutôt qu'une conversation plus petite, Fable 5, Sonnet 5, Opus 4.6 et versions ultérieures, et Sonnet 4.6 supportent une fenêtre de contexte de 1 million de jetons. Consultez [Contexte étendu](/fr/model-config#extended-context) pour la disponibilité par plan et comment sélectionner une variante de modèle `[1m]`. Sonnet 5 s'exécute à 1M sans variante `[1m]` à sélectionner ; consultez [Fenêtre de contexte Sonnet 5](/fr/model-config#sonnet-5-context-window) pour ses seuils de compaction automatique et l'exception de la passerelle LLM. La compaction fonctionne de la même manière à la limite plus grande.

1619 1619 

1620<h2 id="check-your-own-session">1620<h2 id="check-your-own-session">

1621 Vérifiez votre propre session1621 Vérifiez votre propre session

costs.md +1 −1

Details

51 Pour les organisations avec des limites de débit personnalisées, le trafic Claude Code dans cet espace de travail compte vers les limites de débit API globales de votre organisation. Vous pouvez définir une [limite de débit d'espace de travail](https://platform.claude.com/docs/fr/api/rate-limits#setting-lower-limits-for-workspaces) sur la page Limites de cet espace de travail dans la Console Claude pour limiter la part de Claude Code et protéger les autres charges de travail de production.51 Pour les organisations avec des limites de débit personnalisées, le trafic Claude Code dans cet espace de travail compte vers les limites de débit API globales de votre organisation. Vous pouvez définir une [limite de débit d'espace de travail](https://platform.claude.com/docs/fr/api/rate-limits#setting-lower-limits-for-workspaces) sur la page Limites de cet espace de travail dans la Console Claude pour limiter la part de Claude Code et protéger les autres charges de travail de production.

52</Note>52</Note>

53 53 

54Sur Bedrock, Vertex et Foundry, Claude Code n'envoie pas de métriques depuis votre cloud. Les organisations qui acheminent déjà Claude Code via une [passerelle LLM](/fr/llm-gateway) peuvent suivre les dépenses là-bas, puisque la passerelle voit chaque requête.54Sur Bedrock, Vertex et Foundry, Claude Code n'envoie pas de métriques depuis votre cloud. Une [passerelle d'applications Claude](/fr/claude-apps-gateway) auto-hébergée fournit l'attribution d'utilisation par utilisateur, les métriques OTLP avec les décomptes de tokens, et les [limites de dépenses par utilisateur](/fr/claude-apps-gateway-spend-limits) sur ces fournisseurs. Les organisations qui acheminent Claude Code via une [passerelle LLM](/fr/llm-gateway) différente peuvent suivre les dépenses à la passerelle à la place, puisqu'elle voit chaque requête.

55 55 

56<h3 id="rate-limit-recommendations">56<h3 id="rate-limit-recommendations">

57 Recommandations de limite de débit57 Recommandations de limite de débit

data-usage.md +2 −2

Details

39 39 

40Après l'invite de notation, vous pouvez voir une question de suivi distincte demandant « Anthropic peut-il consulter votre transcription de session pour nous aider à améliorer Claude Code ? ». Ceci est une deuxième étape optionnelle distincte de la notation :40Après l'invite de notation, vous pouvez voir une question de suivi distincte demandant « Anthropic peut-il consulter votre transcription de session pour nous aider à améliorer Claude Code ? ». Ceci est une deuxième étape optionnelle distincte de la notation :

41 41 

42* **Oui** : télécharge votre transcription de conversation, toute transcription de sous-agent et le fichier journal de session brut du disque vers Anthropic. Les modèles de clé API et de jeton connus sont masqués avant le téléchargement. Le code source, le contenu des fichiers et tout autre contenu de conversation sont téléchargés tels quels. Les transcriptions partagées sont conservées jusqu'à 6 mois.42* **Oui** : télécharge votre transcription de conversation, toute transcription de sous-agent et le fichier journal de session brut du disque vers Anthropic. Les modèles de clé API et de jeton connus sont masqués avant le téléchargement. Le code source, le contenu des fichiers et tout autre contenu de conversation sont téléchargés tels quels. Les transcriptions partagées sont conservées jusqu'à 6 mois. Sur Bedrock, Vertex AI, Foundry et les sessions de [passerelle d'applications Claude](/fr/claude-apps-gateway) connectées, Oui écrit la même charge utile dans une archive locale sous `~/.claude/feedback-bundles/` au lieu de télécharger ; rien ne quitte votre machine jusqu'à ce que vous transmettiez ce fichier.

43* **Non** : refuse sans rien envoyer43* **Non** : refuse sans rien envoyer

44* **Ne plus demander** : refuse et arrête cette question de suivi d'apparaître dans les futures sessions44* **Ne plus demander** : refuse et arrête cette question de suivi d'apparaître dans les futures sessions

45 45 


127 Comportements par défaut par fournisseur d'API127 Comportements par défaut par fournisseur d'API

128</h2>128</h2>

129 129 

130Par défaut, les rapports d'erreurs, la télémétrie et les rapports de bogues sont désactivés lors de l'utilisation de Bedrock, Vertex, Foundry ou Claude Platform sur AWS. Les sondages de qualité de session et la vérification de sécurité du domaine WebFetch font exception et s'exécutent quel que soit le fournisseur. Vous pouvez refuser tout le trafic non essentiel, y compris les sondages, à la fois en définissant `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`. Cette variable n'affecte pas la vérification WebFetch, qui a sa propre option de refus. Voici les comportements par défaut complets :130Par défaut, les rapports d'erreurs, la télémétrie et les rapports de bogues sont désactivés lors de l'utilisation de Bedrock, Vertex, Foundry ou Claude Platform sur AWS. Les sondages de qualité de session et la vérification de sécurité du domaine WebFetch font exception et s'exécutent quel que soit le fournisseur. Sur une session de [passerelle d'applications Claude](/fr/claude-apps-gateway) connectée, les analyses d'utilisation, les rapports d'erreurs et les évaluations de sondage à Anthropic sont désactivés par la passerelle elle-même, sans paramètre pour les réactiver. Vous pouvez refuser tout le trafic non essentiel, y compris les sondages, à la fois en définissant `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`. Cette variable n'affecte pas la vérification WebFetch, qui a sa propre option de refus. Voici les comportements par défaut complets :

131 131 

132| Service | Claude API | Vertex API | Bedrock API | Foundry API | Claude Platform sur AWS |132| Service | Claude API | Vertex API | Bedrock API | Foundry API | Claude Platform sur AWS |

133| ------------------------------------------------ | ------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------ |133| ------------------------------------------------ | ------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------ |

Details

19Pour plus de détails sur une catégorie spécifique, suivez avec la commande dédiée :19Pour plus de détails sur une catégorie spécifique, suivez avec la commande dédiée :

20 20 

21| Commande | Affiche |21| Commande | Affiche |

22| :--------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------- |22| :--------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

23| `/memory` | Quels fichiers `CLAUDE.md` et règles ont été chargés, plus les entrées de mémoire automatique |23| `/memory` | Quels fichiers `CLAUDE.md` et règles ont été chargés, plus les entrées de mémoire automatique |

24| `/skills` | Les skills disponibles provenant des sources de projet, utilisateur et plugin |24| `/skills` | Les skills disponibles provenant des sources de projet, utilisateur et plugin |

25| `/agents` | Les sous-agents configurés et leurs paramètres |25| `/agents` | Les sous-agents configurés et leurs paramètres |

26| `/hooks` | Les configurations de hooks actives |26| `/hooks` | Les configurations de hooks actives |

27| `/mcp` | Les serveurs MCP connectés et leur statut |27| `/mcp` | Les serveurs MCP connectés et leur statut |

28| `/permissions` | Les règles d'autorisation et de refus résolues actuellement en vigueur |28| `/permissions` | Les règles d'autorisation et de refus résolues actuellement en vigueur |

29| `/doctor` | Diagnostics de configuration : clés invalides, erreurs de schéma, santé de l'installation |29| `/doctor` | Diagnostics de configuration : clés invalides, erreurs de schéma, santé de l'installation. {/* min-version: 2.1.196 */}À partir de la v2.1.196, signale également les noms de [sous-agents](/fr/sub-agents) en doublon définis dans la même portée et marque lequel est actif |

30| `/debug [issue]` | Active la journalisation de débogage pour la session et invite Claude à diagnostiquer en utilisant la sortie du journal et les chemins de paramètres |30| `/debug [issue]` | Active la journalisation de débogage pour la session et invite Claude à diagnostiquer en utilisant la sortie du journal et les chemins de paramètres |

31| `/status` | Les sources de paramètres actives, y compris si les paramètres gérés sont en vigueur |31| `/status` | Les sources de paramètres actives, y compris si les paramètres gérés sont en vigueur |

32 32 

desktop.md +10 −6

Details

8 8 

9L'application Claude Desktop a trois onglets : **Chat** pour les conversations, **Cowork** pour [Dispatch et les travaux agentiques plus longs](https://claude.com/product/cowork), et **Code** pour le développement logiciel. Cette page est la référence pour l'onglet Code.9L'application Claude Desktop a trois onglets : **Chat** pour les conversations, **Cowork** pour [Dispatch et les travaux agentiques plus longs](https://claude.com/product/cowork), et **Code** pour le développement logiciel. Cette page est la référence pour l'onglet Code.

10 10 

11<CardGroup cols={2}>11<CardGroup cols={3}>

12 <Card title="Download for macOS" icon="apple" href="https://claude.ai/api/desktop/darwin/universal/dmg/latest/redirect?utm_source=claude_code&utm_medium=docs">12 <Card title="Download for macOS" icon="apple" href="https://claude.ai/api/desktop/darwin/universal/dmg/latest/redirect?utm_source=claude_code&utm_medium=docs">

13 Universal build for Intel and Apple Silicon13 Universal build for Intel and Apple Silicon

14 </Card>14 </Card>


16 <Card title="Download for Windows" icon="windows" href="https://claude.ai/api/desktop/win32/x64/setup/latest/redirect?utm_source=claude_code&utm_medium=docs">16 <Card title="Download for Windows" icon="windows" href="https://claude.ai/api/desktop/win32/x64/setup/latest/redirect?utm_source=claude_code&utm_medium=docs">

17 For x64 processors17 For x64 processors

18 </Card>18 </Card>

19 

20 <Card title="Get Claude for Linux (beta)" icon="linux" href="/en/desktop-linux">

21 apt or .deb for Ubuntu and Debian

22 </Card>

19</CardGroup>23</CardGroup>

20 24 

21For Windows ARM64, download the [ARM64 installer](https://claude.ai/api/desktop/win32/arm64/setup/latest/redirect?utm_source=claude_code\&utm_medium=docs). The desktop app is not available on Linux; use the [CLI](/en/quickstart) instead.25For Windows ARM64, download the [ARM64 installer](https://claude.ai/api/desktop/win32/arm64/setup/latest/redirect?utm_source=claude_code\&utm_medium=docs). On Linux, install with apt; see [Claude Desktop on Linux](/en/desktop-linux).

22 26 

23Après l'installation, lancez Claude, connectez-vous et cliquez sur l'onglet **Code**. La première fois que vous l'ouvrez sur Windows, vous devez avoir [Git for Windows](https://git-scm.com/downloads/win) installé ; redémarrez l'application après l'installation. Pour une présentation de votre première session, consultez le [guide Démarrer](/fr/desktop-quickstart).27Après l'installation, lancez Claude, connectez-vous et cliquez sur l'onglet **Code**. La première fois que vous l'ouvrez sur Windows, vous devez avoir [Git for Windows](https://git-scm.com/downloads/win) installé ; redémarrez l'application après l'installation. Pour une présentation de votre première session, consultez le [guide Démarrer](/fr/desktop-quickstart).

24 28 


88 92 

89<span id="auto-mode-availability" />93<span id="auto-mode-availability" />

90 94 

91Auto mode est un aperçu de recherche disponible à tous les utilisateurs sur l'API Anthropic et nécessite Claude Opus 4.6 ou version ultérieure, ou Sonnet 4.6. Dans les déploiements Enterprise qui acheminent Desktop vers Google Cloud Vertex AI, auto mode est désactivé jusqu'à ce que vous [définissiez `CLAUDE_CODE_ENABLE_AUTO_MODE`](/fr/permission-modes#enable-auto-mode-on-bedrock-vertex-ai-or-foundry), et seuls Claude Opus 4.7 et Opus 4.8 sont supportés là-bas.95Auto mode est un aperçu de recherche disponible à tous les utilisateurs sur l'API Anthropic et nécessite Claude Opus 4.6 ou version ultérieure, ou Sonnet 4.6 ou version ultérieure. Dans les déploiements Enterprise qui acheminent Desktop vers Google Cloud Vertex AI, auto mode est désactivé jusqu'à ce que vous [définissiez `CLAUDE_CODE_ENABLE_AUTO_MODE`](/fr/permission-modes#enable-auto-mode-on-bedrock-vertex-ai-or-foundry), et seuls Claude Sonnet 5, Opus 4.7 et Opus 4.8 sont supportés là-bas.

92 96 

93<Tip title="Bonne pratique">97<Tip title="Bonne pratique">

94 Commencez les tâches complexes en Plan mode pour que Claude trace une approche avant de faire des modifications. Une fois que vous approuvez le plan, passez à Accepter automatiquement les modifications ou Demander les permissions pour l'exécuter. Voir [explorer d'abord, puis planifier, puis coder](/fr/best-practices#explore-first-then-plan-then-code) pour plus d'informations sur ce flux de travail.98 Commencez les tâches complexes en Plan mode pour que Claude trace une approche avant de faire des modifications. Une fois que vous approuvez le plan, passez à Accepter automatiquement les modifications ou Demander les permissions pour l'exécuter. Voir [explorer d'abord, puis planifier, puis coder](/fr/best-practices#explore-first-then-plan-then-code) pour plus d'informations sur ce flux de travail.


600 604 

601Pour définir les variables d'environnement pour les sessions locales et les serveurs de développement sur n'importe quelle plateforme, ouvrez la liste déroulante d'environnement dans la zone de prompt, survolez **Local** et cliquez sur l'icône d'engrenage pour ouvrir l'éditeur d'environnement local. Les variables que vous enregistrez ici sont stockées chiffrées sur votre machine et s'appliquent à chaque session locale et serveur d'aperçu que vous démarrez. Vous pouvez également ajouter des variables à la clé `env` dans votre fichier `~/.claude/settings.json`, bien que celles-ci n'atteignent que les sessions Claude et non les serveurs de développement. Voir [variables d'environnement](/fr/env-vars) pour la liste complète des variables supportées.605Pour définir les variables d'environnement pour les sessions locales et les serveurs de développement sur n'importe quelle plateforme, ouvrez la liste déroulante d'environnement dans la zone de prompt, survolez **Local** et cliquez sur l'icône d'engrenage pour ouvrir l'éditeur d'environnement local. Les variables que vous enregistrez ici sont stockées chiffrées sur votre machine et s'appliquent à chaque session locale et serveur d'aperçu que vous démarrez. Vous pouvez également ajouter des variables à la clé `env` dans votre fichier `~/.claude/settings.json`, bien que celles-ci n'atteignent que les sessions Claude et non les serveurs de développement. Voir [variables d'environnement](/fr/env-vars) pour la liste complète des variables supportées.

602 606 

603[La réflexion étendue](/fr/model-config#extended-thinking) est activée par défaut, ce qui améliore les performances sur les tâches de raisonnement complexe mais utilise des tokens supplémentaires. Pour désactiver la réflexion, définissez `MAX_THINKING_TOKENS` à `0` dans l'éditeur d'environnement local ; cela n'a aucun effet sur Fable 5, qui utilise toujours la réflexion étendue. Sur les [fournisseurs tiers](/fr/third-party-integrations), `0` omet le paramètre `thinking` à la place, et les modèles de raisonnement adaptatif peuvent toujours réfléchir. Sur les modèles avec [raisonnement adaptatif](/fr/model-config#adjust-effort-level), toute autre valeur `MAX_THINKING_TOKENS` est ignorée car le raisonnement adaptatif contrôle la profondeur de la réflexion à la place. Sur Opus 4.6 et Sonnet 4.6, définissez `CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING` à `1` pour utiliser un budget de réflexion fixe ; Opus 4.7 et versions ultérieures utilisent toujours le raisonnement adaptatif et n'ont pas de mode de budget fixe.607[La réflexion étendue](/fr/model-config#extended-thinking) est activée par défaut, ce qui améliore les performances sur les tâches de raisonnement complexe mais utilise des tokens supplémentaires. Pour désactiver la réflexion, définissez `MAX_THINKING_TOKENS` à `0` dans l'éditeur d'environnement local ; cela n'a aucun effet sur Fable 5, qui utilise toujours la réflexion étendue. Sur les [fournisseurs tiers](/fr/third-party-integrations), `0` omet le paramètre `thinking` à la place, et les modèles de raisonnement adaptatif peuvent toujours réfléchir. Sur les modèles avec [raisonnement adaptatif](/fr/model-config#adjust-effort-level), toute autre valeur `MAX_THINKING_TOKENS` est ignorée car le raisonnement adaptatif contrôle la profondeur de la réflexion à la place. Sur Opus 4.6 et Sonnet 4.6, définissez `CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING` à `1` pour utiliser un budget de réflexion fixe ; Fable 5, Sonnet 5, et Opus 4.7 et versions ultérieures utilisent toujours le raisonnement adaptatif et n'ont pas de mode de budget fixe.

604 608 

605<h3 id="cloud-sessions">609<h3 id="cloud-sessions">

606 Sessions distantes610 Sessions distantes


822Les fonctionnalités suivantes sont disponibles uniquement dans la CLI ou l'extension VS Code, sauf indication contraire :826Les fonctionnalités suivantes sont disponibles uniquement dans la CLI ou l'extension VS Code, sauf indication contraire :

823 827 

824* **Fournisseurs tiers** : Desktop se connecte à l'API d'Anthropic par défaut. Les déploiements d'entreprise peuvent configurer Vertex AI et les fournisseurs de passerelle via [paramètres gérés](https://support.claude.com/en/articles/12622667-enterprise-configuration). Pour Bedrock ou Foundry dans la CLI, voir le [démarrage rapide](/fr/quickstart). À titre d'exception à la section ci-dessus, [Cowork on 3P research preview](https://claude.com/docs/cowork/3p/overview) exécute l'onglet Code sur Bedrock, Vertex AI, Foundry ou une passerelle LLM auto-hébergée.828* **Fournisseurs tiers** : Desktop se connecte à l'API d'Anthropic par défaut. Les déploiements d'entreprise peuvent configurer Vertex AI et les fournisseurs de passerelle via [paramètres gérés](https://support.claude.com/en/articles/12622667-enterprise-configuration). Pour Bedrock ou Foundry dans la CLI, voir le [démarrage rapide](/fr/quickstart). À titre d'exception à la section ci-dessus, [Cowork on 3P research preview](https://claude.com/docs/cowork/3p/overview) exécute l'onglet Code sur Bedrock, Vertex AI, Foundry ou une passerelle LLM auto-hébergée.

825* **Linux** : l'application de bureau est disponible sur macOS et Windows uniquement. Sur Linux, utilisez la [CLI](/fr/quickstart).829* **Linux (bêta)** : l'utilisation informatique n'est pas encore disponible dans l'application de bureau Linux. Voir [Claude Desktop sur Linux](/fr/desktop-linux).

826* **Suggestions de code en ligne** : Desktop ne fournit pas de suggestions de style autocomplétion. Il fonctionne via des prompts conversationnels et des modifications de code explicites.830* **Suggestions de code en ligne** : Desktop ne fournit pas de suggestions de style autocomplétion. Il fonctionne via des prompts conversationnels et des modifications de code explicites.

827* **Équipes d'agents** : les sessions Claude Code parallèles qui se communiquent entre elles sont disponibles dans la [CLI](/fr/agent-teams), pas dans Desktop. Pour le travail multi-agents dans une seule session, utilisez les [flux de travail dynamiques](/fr/workflows), qui s'exécutent dans Desktop.831* **Équipes d'agents** : les sessions Claude Code parallèles qui se communiquent entre elles sont disponibles dans la [CLI](/fr/agent-teams), pas dans Desktop. Pour le travail multi-agents dans une seule session, utilisez les [flux de travail dynamiques](/fr/workflows), qui s'exécutent dans Desktop.

828* **Commandes de dialogue terminal** : les commandes intégrées qui ouvrent un panneau interactif dans le terminal, telles que `/permissions`, `/config`, `/agents` et `/doctor`, ne sont pas disponibles dans l'onglet Code et répondent avec `n'est pas disponible dans cet environnement`. Modifiez les [fichiers de paramètres](/fr/settings) directement pour gérer les règles de permission et la configuration, ou exécutez la commande à partir de la CLI autonome.832* **Commandes de dialogue terminal** : les commandes intégrées qui ouvrent un panneau interactif dans le terminal, telles que `/permissions`, `/config`, `/agents` et `/doctor`, ne sont pas disponibles dans l'onglet Code et répondent avec `n'est pas disponible dans cet environnement`. Modifiez les [fichiers de paramètres](/fr/settings) directement pour gérer les règles de permission et la configuration, ou exécutez la commande à partir de la CLI autonome.


862Si l'application s'ouvre mais affiche un écran blanc ou ne répond pas :866Si l'application s'ouvre mais affiche un écran blanc ou ne répond pas :

863 867 

8641. Redémarrez l'application.8681. Redémarrez l'application.

8652. Vérifiez les mises à jour en attente. L'application se met à jour automatiquement au lancement.8692. Vérifiez les mises à jour en attente. Sur macOS et Windows, l'application se met à jour automatiquement au lancement ; sur Linux, mettez à jour via apt comme décrit dans [Claude Desktop sur Linux](/fr/desktop-linux).

8663. Sur Windows, vérifiez l'Observateur d'événements pour les journaux de crash sous **Journaux Windows → Application**.8703. Sur Windows, vérifiez l'Observateur d'événements pour les journaux de crash sous **Journaux Windows → Application**.

867 871 

868<h3 id="failed-to-load-session">872<h3 id="failed-to-load-session">

desktop-linux.md +113 −0 created

Details

1> ## Documentation Index

2> Fetch the complete documentation index at: https://code.claude.com/docs/llms.txt

3> Use this file to discover all available pages before exploring further.

4 

5# Claude Desktop sur Linux (bêta)

6 

7> Installez et mettez à jour l'application de bureau Claude sur Ubuntu et Debian

8 

9<Note>

10 Le support Linux pour l'application de bureau Claude est en bêta. Les onglets Chat, Cowork et Code sont tous disponibles.

11</Note>

12 

13L'application de bureau sur Linux vous offre la même expérience Chat, Cowork et Claude Code que macOS et Windows : sessions parallèles, examen des différences visuelles, un terminal et un éditeur intégrés, et un aperçu en direct de l'application. Consultez [Utiliser Claude Code Desktop](/fr/desktop) pour la référence complète des fonctionnalités.

14 

15<h2 id="requirements">

16 Configuration requise

17</h2>

18 

19* Ubuntu 22.04 ou version ultérieure, ou Debian 12 ou version ultérieure

20* x86\_64 ou arm64

21 

22Les autres distributions basées sur Debian qui répondent à ces exigences peuvent fonctionner mais ne sont pas officiellement testées.

23 

24<h2 id="install">

25 Installation

26</h2>

27 

28Installez à partir du référentiel apt d'Anthropic afin que les mises à jour arrivent via les mises à jour régulières des paquets de votre système.

29 

30<Steps>

31 <Step title="Ajouter le référentiel apt d'Anthropic">

32 Téléchargez la clé de signature d'Anthropic :

33 

34 ```bash theme={null}

35 sudo curl -fsSLo /usr/share/keyrings/claude-desktop-archive-keyring.asc https://downloads.claude.ai/claude-desktop/key.asc

36 ```

37 

38 Enregistrez le référentiel :

39 

40 ```bash theme={null}

41 echo "deb [arch=amd64,arm64 signed-by=/usr/share/keyrings/claude-desktop-archive-keyring.asc] https://downloads.claude.ai/claude-desktop/apt/stable stable main" | sudo tee /etc/apt/sources.list.d/claude-desktop.list

42 ```

43 </Step>

44 

45 <Step title="Installer le paquet">

46 ```bash theme={null}

47 sudo apt update && sudo apt install claude-desktop

48 ```

49 </Step>

50 

51 <Step title="Lancer et se connecter">

52 Lancez **Claude** à partir de votre lanceur d'applications, ou exécutez `claude-desktop` à partir d'un terminal, et connectez-vous avec votre compte Anthropic.

53 </Step>

54</Steps>

55 

56<Accordion title="Vérifier la clé de signature">

57 Vous pouvez confirmer que la clé de signature téléchargée appartient à Anthropic :

58 

59 ```bash theme={null}

60 gpg --show-keys /usr/share/keyrings/claude-desktop-archive-keyring.asc

61 ```

62 

63 L'empreinte digitale doit être `31DD DE24 DDFA B679 F42D 7BD2 BAA9 29FF 1A7E CACE`.

64</Accordion>

65 

66<h3 id="install-from-a-downloaded-file">

67 Installer à partir d'un fichier téléchargé

68</h3>

69 

70Si vous ne pouvez pas utiliser le référentiel apt, téléchargez le paquet `.deb` pour votre architecture (x64 ou arm64) depuis [claude.com/download](https://claude.com/download), puis ouvrez-le avec votre installateur de logiciels ou exécutez-le à partir de votre répertoire de téléchargement :

71 

72```bash theme={null}

73sudo apt install ./claude-desktop_*.deb

74```

75 

76Un `.deb` installé de cette manière ne reçoit pas de mises à jour. Pour obtenir les mises à jour via apt, ajoutez le référentiel comme indiqué ci-dessus, ou décommentez la ligne `deb` dans l'entrée d'espace réservé que le paquet écrit dans `/etc/apt/sources.list.d/claude-desktop.list`.

77 

78<h2 id="update">

79 Mise à jour

80</h2>

81 

82L'application de bureau ne se met pas à jour elle-même sur Linux. Les mises à jour arrivent avec les mises à jour régulières des paquets de votre système :

83 

84```bash theme={null}

85sudo apt update && sudo apt upgrade

86```

87 

88Le gestionnaire de logiciels graphique de votre distribution détectera également les nouvelles versions.

89 

90<h2 id="uninstall">

91 Désinstallation

92</h2>

93 

94```bash theme={null}

95sudo apt remove claude-desktop

96```

97 

98Cela supprime la clé de signature ainsi que l'application, donc si vous avez ajouté l'entrée du référentiel lors de l'installation, supprimez-la également :

99 

100```bash theme={null}

101sudo rm /etc/apt/sources.list.d/claude-desktop.list

102```

103 

104<h2 id="what’s-not-in-the-linux-beta-yet">

105 Ce qui n'est pas encore dans la bêta Linux

106</h2>

107 

108* **Computer Use** : [le contrôle des applications et de l'écran](/fr/desktop#let-claude-use-your-computer) n'est pas disponible sur Linux.

109* **Dictation** : l'entrée vocale n'est pas disponible dans l'application de bureau Linux. Utilisez plutôt la [dictation vocale](/fr/voice-dictation) dans l'interface de ligne de commande.

110* **Raccourci global Quick Entry** : fonctionne sur X11. Sur Wayland natif, cela nécessite le portail GlobalShortcuts de votre environnement de bureau.

111* **Fedora et RHEL** : seules les distributions basées sur Debian sont prises en charge aujourd'hui. Le support pour des distributions supplémentaires arrivera à l'avenir.

112 

113Pour tout ce qui n'est pas encore disponible dans l'application de bureau, l'[interface de ligne de commande](/fr/quickstart) exécute le même moteur Claude Code et prend en charge une gamme plus large de distributions Linux ; consultez la [configuration requise du système](/fr/setup#system-requirements).

Details

8 8 

9L'application de bureau vous donne accès à Claude Code avec une interface graphique conçue pour exécuter plusieurs sessions côte à côte : une barre latérale pour gérer les travaux parallèles, une disposition glisser-déposer avec un terminal intégré et un éditeur de fichiers, un examen des différences visuelles, un aperçu en direct de l'application, la surveillance des PR GitHub avec fusion automatique, et les tâches planifiées. Aucun terminal requis.9L'application de bureau vous donne accès à Claude Code avec une interface graphique conçue pour exécuter plusieurs sessions côte à côte : une barre latérale pour gérer les travaux parallèles, une disposition glisser-déposer avec un terminal intégré et un éditeur de fichiers, un examen des différences visuelles, un aperçu en direct de l'application, la surveillance des PR GitHub avec fusion automatique, et les tâches planifiées. Aucun terminal requis.

10 10 

11<CardGroup cols={2}>11<CardGroup cols={3}>

12 <Card title="Download for macOS" icon="apple" href="https://claude.ai/api/desktop/darwin/universal/dmg/latest/redirect?utm_source=claude_code&utm_medium=docs">12 <Card title="Download for macOS" icon="apple" href="https://claude.ai/api/desktop/darwin/universal/dmg/latest/redirect?utm_source=claude_code&utm_medium=docs">

13 Universal build for Intel and Apple Silicon13 Universal build for Intel and Apple Silicon

14 </Card>14 </Card>


16 <Card title="Download for Windows" icon="windows" href="https://claude.ai/api/desktop/win32/x64/setup/latest/redirect?utm_source=claude_code&utm_medium=docs">16 <Card title="Download for Windows" icon="windows" href="https://claude.ai/api/desktop/win32/x64/setup/latest/redirect?utm_source=claude_code&utm_medium=docs">

17 For x64 processors17 For x64 processors

18 </Card>18 </Card>

19 

20 <Card title="Get Claude for Linux (beta)" icon="linux" href="/en/desktop-linux">

21 apt or .deb for Ubuntu and Debian

22 </Card>

19</CardGroup>23</CardGroup>

20 24 

21For Windows ARM64, download the [ARM64 installer](https://claude.ai/api/desktop/win32/arm64/setup/latest/redirect?utm_source=claude_code\&utm_medium=docs). The desktop app is not available on Linux; use the [CLI](/en/quickstart) instead.25For Windows ARM64, download the [ARM64 installer](https://claude.ai/api/desktop/win32/arm64/setup/latest/redirect?utm_source=claude_code\&utm_medium=docs). On Linux, install with apt; see [Claude Desktop on Linux](/en/desktop-linux).

22 26 

23<Note>27<Note>

24 Claude Code nécessite un [abonnement Pro, Max, Team ou Enterprise](https://claude.com/pricing?utm_source=claude_code\&utm_medium=docs\&utm_content=desktop_quickstart_pricing).28 Claude Code nécessite un [abonnement Pro, Max, Team ou Enterprise](https://claude.com/pricing?utm_source=claude_code\&utm_medium=docs\&utm_content=desktop_quickstart_pricing).


40 44 

41<Steps>45<Steps>

42 <Step title="Installer et se connecter">46 <Step title="Installer et se connecter">

43 Téléchargez le programme d'installation pour votre plateforme à partir des liens ci-dessus et exécutez-le. Lancez Claude à partir de votre dossier Applications sur macOS ou du menu Démarrer sur Windows, puis connectez-vous avec votre compte Anthropic.47 Sur macOS et Windows, téléchargez le programme d'installation à partir des liens ci-dessus et exécutez-le. Sur Linux, suivez les étapes d'installation dans [Claude Desktop sur Linux](/fr/desktop-linux). Lancez Claude à partir de votre dossier Applications sur macOS, du menu Démarrer sur Windows, ou de votre lanceur d'applications sur Linux, puis connectez-vous avec votre compte Anthropic.

44 </Step>48 </Step>

45 49 

46 <Step title="Ouvrir l'onglet Code">50 <Step title="Ouvrir l'onglet Code">

Details

162 </Step>162 </Step>

163 163 

164 <Step title="Parcourir les plugins disponibles">164 <Step title="Parcourir les plugins disponibles">

165 Exécutez `/plugin` pour ouvrir le gestionnaire de plugins. Cela ouvre une interface à onglets avec quatre onglets que vous pouvez parcourir en utilisant **Tab** (ou **Shift+Tab** pour aller en arrière) :165 Exécutez `/plugin` pour ouvrir le gestionnaire de plugins. Cela ouvre une interface à onglets avec quatre onglets que vous pouvez parcourir en utilisant **Tab**, ou **Shift+Tab** pour aller en arrière :

166 166 

167 * **Discover** : parcourez les plugins disponibles de toutes vos marketplaces167 * **Discover** : parcourez les plugins disponibles de toutes vos marketplaces

168 * **Installed** : visualisez et gérez vos plugins installés168 * **Installed** : visualisez et gérez vos plugins installés


185 * **Project scope** : installez pour tous les collaborateurs sur ce référentiel185 * **Project scope** : installez pour tous les collaborateurs sur ce référentiel

186 * **Local scope** : installez pour vous-même dans ce référentiel uniquement186 * **Local scope** : installez pour vous-même dans ce référentiel uniquement

187 187 

188 Par exemple, sélectionnez **commit-commands** (un plugin qui ajoute des skills de workflow git) et installez-le à votre portée utilisateur.188 Par exemple, sélectionnez **commit-commands**, un plugin qui ajoute des skills de workflow git, et installez-le à votre portée utilisateur.

189 189 

190 Vous pouvez également installer directement depuis la ligne de commande :190 Vous pouvez également installer directement depuis la ligne de commande :

191 191 


224</Tip>224</Tip>

225 225 

226* **Référentiels GitHub** : format `owner/repo` (par exemple, `anthropics/claude-code`)226* **Référentiels GitHub** : format `owner/repo` (par exemple, `anthropics/claude-code`)

227* **URLs Git** : n'importe quelle URL de référentiel git (GitLab, Bitbucket, auto-hébergé)227* **URLs Git** : n'importe quelle URL de référentiel git, y compris GitLab, Bitbucket et les serveurs auto-hébergés

228* **Chemins locaux** : répertoires ou chemins directs vers les fichiers `marketplace.json`228* **Chemins locaux** : répertoires ou chemins directs vers les fichiers `marketplace.json`

229* **URLs distantes** : URLs directs vers les fichiers `marketplace.json` hébergés229* **URLs distantes** : URLs directs vers les fichiers `marketplace.json` hébergés

230 230 


232 Ajouter depuis GitHub232 Ajouter depuis GitHub

233</h3>233</h3>

234 234 

235Ajoutez un référentiel GitHub qui contient un fichier `.claude-plugin/marketplace.json` en utilisant le format `owner/repo`où `owner` est le nom d'utilisateur ou l'organisation GitHub et `repo` est le nom du référentiel.235Ajoutez un référentiel GitHub qui contient un fichier `.claude-plugin/marketplace.json` en utilisant le format `owner/repo`, où `owner` est le nom d'utilisateur ou l'organisation GitHub et `repo` est le nom du référentiel.

236 236 

237Par exemple, `anthropics/claude-code` fait référence au référentiel `claude-code` appartenant à `anthropics` :237Par exemple, `anthropics/claude-code` fait référence au référentiel `claude-code` appartenant à `anthropics` :

238 238 


246 246 

247Ajoutez n'importe quel référentiel git en fournissant l'URL complète. Cela fonctionne avec n'importe quel hôte Git, y compris GitLab, Bitbucket et les serveurs auto-hébergés. Incluez le suffixe `.git` pour que Claude Code clone le référentiel plutôt que de traiter l'URL comme un lien direct vers un fichier `marketplace.json` hébergé.247Ajoutez n'importe quel référentiel git en fournissant l'URL complète. Cela fonctionne avec n'importe quel hôte Git, y compris GitLab, Bitbucket et les serveurs auto-hébergés. Incluez le suffixe `.git` pour que Claude Code clone le référentiel plutôt que de traiter l'URL comme un lien direct vers un fichier `marketplace.json` hébergé.

248 248 

249Incluez le préfixe `https://` également. Claude Code v2.1.196 et versions ultérieures rejettent un hôte saisi sans celui-ci, tel que `gitlab.com/company/plugins.git`, comme un raccourci `owner/repo` GitHub invalide, et l'erreur vous indique d'ajouter le préfixe. Les versions antérieures l'ont mal interprété comme un chemin de référentiel GitHub et échouent au moment du clonage.

250 

249Utilisation de HTTPS :251Utilisation de HTTPS :

250 252 

251```shell theme={null}253```shell theme={null}


298 Installer des plugins300 Installer des plugins

299</h2>301</h2>

300 302 

301Une fois que vous avez ajouté des marketplaces, vous pouvez installer des plugins directement (installe à la portée utilisateur par défaut) :303Une fois que vous avez ajouté des marketplaces, vous pouvez installer des plugins directement :

302 304 

303```shell theme={null}305```shell theme={null}

304/plugin install plugin-name@marketplace-name306/plugin install plugin-name@marketplace-name

305```307```

306 308 

307Pour choisir une [portée d'installation](/fr/settings#configuration-scopes) différente, utilisez l'interface interactive : exécutez `/plugin`, allez à l'onglet **Discover** et appuyez sur **Enter** sur un plugin. Vous verrez les options pour :309La commande ouvre les détails de ce plugin, où vous choisissez une [portée d'installation](/fr/settings#configuration-scopes). Vous voyez les mêmes choix lorsque vous exécutez `/plugin`, allez à l'onglet **Discover** et appuyez sur **Enter** sur un plugin :

308 310 

309* **User scope** (par défaut) : installez pour vous-même dans tous les projets311* **User scope** (par défaut) : installez pour vous-même dans tous les projets

310* **Project scope** : installez pour tous les collaborateurs sur ce référentiel (ajoute à `.claude/settings.json`)312* **Project scope** : installez pour tous les collaborateurs sur ce référentiel, ce qui ajoute le plugin à `.claude/settings.json`

311* **Local scope** : installez pour vous-même dans ce référentiel uniquement (non partagé avec les collaborateurs)313* **Local scope** : installez pour vous-même dans ce référentiel uniquement, non partagé avec les collaborateurs

314 

315Pour installer sans étape interactive, utilisez la commande shell [`claude plugin install`](/fr/plugins-reference#plugin-install), qui s'installe à la portée utilisateur sauf si vous passez `--scope`.

312 316 

313Vous pouvez également voir des plugins avec la portée **managed**—ceux-ci sont installés par les administrateurs via [managed settings](/fr/settings#settings-files) et ne peuvent pas être modifiés.317Vous pouvez également voir des plugins avec la portée **managed**. Ceux-ci sont installés par les administrateurs via [managed settings](/fr/settings#settings-files) et ne peuvent pas être modifiés.

314 318 

315<Warning>319<Warning>

316 Assurez-vous de faire confiance à un plugin avant de l'installer. Anthropic ne contrôle pas quels serveurs MCP, fichiers ou autres logiciels sont inclus dans les plugins et ne peut pas vérifier qu'ils fonctionnent comme prévu. Consultez la page d'accueil de chaque plugin pour plus d'informations.320 Assurez-vous de faire confiance à un plugin avant de l'installer. Anthropic ne contrôle pas quels serveurs MCP, fichiers ou autres logiciels sont inclus dans les plugins et ne peut pas vérifier qu'ils fonctionnent comme prévu. Consultez la page d'accueil de chaque plugin pour plus d'informations.


358/plugin enable plugin-name@marketplace-name362/plugin enable plugin-name@marketplace-name

359```363```

360 364 

365Dans ces identifiants, `plugin-name` est le `name` du plugin dans l'[entrée de marketplace](/fr/plugin-marketplaces#plugin-entries), qui peut différer du `name` dans le propre `plugin.json` du plugin.

366 

367À partir de Claude Code v2.1.195, **Enable** et **Disable** dans l'interface `/plugin` fonctionnent pour les plugins dont les deux noms diffèrent, et `/plugin enable` et `/plugin disable` acceptent l'un ou l'autre nom. Quand vous désactivez un tel plugin dans une version antérieure, Claude Code signale `already disabled` et le laisse activé.

368 

361Supprimer complètement un plugin :369Supprimer complètement un plugin :

362 370 

363```shell theme={null}371```shell theme={null}


464 472 

465Les administrateurs d'équipe peuvent configurer l'installation automatique de marketplace pour les projets en ajoutant la configuration de marketplace à `.claude/settings.json`. Quand les membres de l'équipe font confiance au dossier du référentiel, Claude Code les invite à installer ces marketplaces et plugins.473Les administrateurs d'équipe peuvent configurer l'installation automatique de marketplace pour les projets en ajoutant la configuration de marketplace à `.claude/settings.json`. Quand les membres de l'équipe font confiance au dossier du référentiel, Claude Code les invite à installer ces marketplaces et plugins.

466 474 

475À partir de Claude Code v2.1.195, cette étape d'installation s'applique sur chaque chemin qui charge des plugins. Un plugin que seul le `.claude/settings.json` du projet active, et qui provient d'une source externe telle qu'un référentiel GitHub ou un package npm, ne se charge pas tant que le membre de l'équipe ne l'installe pas. Jusqu'à ce moment, Claude Code signale le plugin comme non installé et affiche la commande `claude plugin install` à exécuter.

476 

467Ajoutez `extraKnownMarketplaces` au `.claude/settings.json` de votre projet :477Ajoutez `extraKnownMarketplaces` au `.claude/settings.json` de votre projet :

468 478 

469```json theme={null}479```json theme={null}


499 509 

5001. **Vérifiez votre version** : Exécutez `claude --version` pour voir ce qui est installé.5101. **Vérifiez votre version** : Exécutez `claude --version` pour voir ce qui est installé.

5012. **Mettez à jour Claude Code** :5112. **Mettez à jour Claude Code** :

502 * **Homebrew** : `brew upgrade claude-code` (ou `brew upgrade claude-code@latest` si vous avez installé ce cask)512 * **Homebrew** : `brew upgrade claude-code`, ou `brew upgrade claude-code@latest` si vous avez installé ce cask

503 * **npm** : `npm install -g @anthropic-ai/claude-code@latest`513 * **npm** : `npm install -g @anthropic-ai/claude-code@latest`

504 * **Native installer** : Réexécutez la commande d'installation depuis [Setup](/fr/setup)514 * **Native installer** : Réexécutez la commande d'installation depuis [Setup](/fr/setup)

5053. **Redémarrez Claude Code** : Après la mise à jour, redémarrez votre terminal et exécutez `claude` à nouveau.5153. **Redémarrez Claude Code** : Après la mise à jour, redémarrez votre terminal et exécutez `claude` à nouveau.


509</h3>519</h3>

510 520 

511* **Marketplace ne se charge pas** : Vérifiez que l'URL est accessible et que `.claude-plugin/marketplace.json` existe au chemin521* **Marketplace ne se charge pas** : Vérifiez que l'URL est accessible et que `.claude-plugin/marketplace.json` existe au chemin

512* **Échecs d'installation de plugin** : Vérifiez que les URLs sources du plugin sont accessibles et que les référentiels sont publics (ou vous avez accès)522* **Échecs d'installation de plugin** : Vérifiez que les URLs sources du plugin sont accessibles et que les référentiels sont publics, ou que vous y avez accès

513* **Fichiers non trouvés après l'installation** : Les plugins sont copiés dans un cache, donc les chemins référençant des fichiers en dehors du répertoire du plugin ne fonctionneront pas523* **Fichiers non trouvés après l'installation** : Les plugins sont copiés dans un cache, donc les chemins référençant des fichiers en dehors du répertoire du plugin ne fonctionneront pas

514* **Les skills du plugin n'apparaissent pas** : Effacez le cache avec `rm -rf ~/.claude/plugins/cache`, redémarrez Claude Code et réinstallez le plugin.524* **Les skills du plugin n'apparaissent pas** : Effacez le cache avec `rm -rf ~/.claude/plugins/cache`, redémarrez Claude Code et réinstallez le plugin.

515 525 


519 Problèmes de code intelligence529 Problèmes de code intelligence

520</h3>530</h3>

521 531 

522* **Le serveur de langage ne démarre pas** : vérifiez que le binaire est installé et disponible dans votre `$PATH`. Consultez l'onglet Errors de `/plugin` pour plus de détails.532* **Le serveur de langage ne démarre pas** : Vérifiez que le binaire est installé et disponible dans votre `$PATH`. Consultez l'onglet Errors de `/plugin` pour plus de détails.

523* **Utilisation élevée de la mémoire** : les serveurs de langage comme `rust-analyzer` et `pyright` peuvent consommer une mémoire importante sur les grands projets. Si vous rencontrez des problèmes de mémoire, désactivez le plugin avec `/plugin disable <plugin-name>` et fiez-vous aux outils de recherche intégrés de Claude à la place.533* **Utilisation élevée de la mémoire** : Les serveurs de langage comme `rust-analyzer` et `pyright` peuvent consommer une mémoire importante sur les grands projets. Si vous rencontrez des problèmes de mémoire, désactivez le plugin avec `/plugin disable <plugin-name>` et fiez-vous aux outils de recherche intégrés de Claude à la place.

524* **Diagnostics faux positifs dans les monorepos** : les serveurs de langage peuvent signaler des erreurs d'import non résolues pour les packages internes si l'espace de travail n'est pas configuré correctement. Ceux-ci n'affectent pas la capacité de Claude à modifier le code.534* **Diagnostics faux positifs dans les monorepos** : Les serveurs de langage peuvent signaler des erreurs d'import non résolues pour les packages internes si l'espace de travail n'est pas configuré correctement. Ceux-ci n'affectent pas la capacité de Claude à modifier le code.

525 535 

526<h2 id="next-steps">536<h2 id="next-steps">

527 Prochaines étapes537 Prochaines étapes

env-vars.md +23 −17

Details

96</h2>96</h2>

97 97 

98| Variable | Objectif |98| Variable | Objectif |

99| :------------------------------------------------------ | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |99| :------------------------------------------------------ | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

100| `ANTHROPIC_API_KEY` | Clé API envoyée en tant qu'en-tête `X-Api-Key`. Lorsqu'elle est définie, cette clé est utilisée à la place de votre abonnement Claude Pro, Max, Team ou Enterprise, même si vous êtes connecté. En mode non interactif (`-p`), la clé est toujours utilisée lorsqu'elle est présente. En mode interactif, vous êtes invité à approuver la clé une fois avant qu'elle ne remplace votre abonnement. Pour utiliser votre abonnement à la place, exécutez `unset ANTHROPIC_API_KEY` |100| `ANTHROPIC_API_KEY` | Clé API envoyée en tant qu'en-tête `X-Api-Key`. Lorsqu'elle est définie, cette clé est utilisée à la place de votre abonnement Claude Pro, Max, Team ou Enterprise, même si vous êtes connecté. En mode non interactif (`-p`), la clé est toujours utilisée lorsqu'elle est présente. En mode interactif, vous êtes invité à approuver la clé une fois avant qu'elle ne remplace votre abonnement. Pour utiliser votre abonnement à la place, exécutez `unset ANTHROPIC_API_KEY` |

101| `ANTHROPIC_AUTH_TOKEN` | Valeur personnalisée pour l'en-tête `Authorization` (la valeur que vous définissez ici sera préfixée par `Bearer `) |101| `ANTHROPIC_AUTH_TOKEN` | Valeur personnalisée pour l'en-tête `Authorization` (la valeur que vous définissez ici sera préfixée par `Bearer `) |

102| `ANTHROPIC_AWS_API_KEY` | Clé API de l'espace de travail pour [Claude Platform on AWS](/fr/claude-platform-on-aws), générée dans la console AWS. Envoyée en tant que `x-api-key` et prend la priorité sur AWS SigV4 |102| `ANTHROPIC_AWS_API_KEY` | Clé API de l'espace de travail pour [Claude Platform on AWS](/fr/claude-platform-on-aws), générée dans la console AWS. Envoyée en tant que `x-api-key` et prend la priorité sur AWS SigV4 |

103| `ANTHROPIC_AWS_BASE_URL` | Remplacer l'URL du point de terminaison [Claude Platform on AWS](/fr/claude-platform-on-aws). À utiliser pour les régions personnalisées ou lors du routage via une [passerelle LLM](/fr/llm-gateway). Par défaut `https://aws-external-anthropic.{AWS_REGION}.api.aws` |103| `ANTHROPIC_AWS_BASE_URL` | Remplacer l'URL du point de terminaison [Claude Platform on AWS](/fr/claude-platform-on-aws). À utiliser pour les régions personnalisées ou lors du routage via une [passerelle LLM](/fr/llm-gateway). Par défaut `https://aws-external-anthropic.{AWS_REGION}.api.aws` |

104| `ANTHROPIC_AWS_WORKSPACE_ID` | Requis pour [Claude Platform on AWS](/fr/claude-platform-on-aws). Envoyé à chaque requête en tant qu'en-tête `anthropic-workspace-id` |104| `ANTHROPIC_AWS_WORKSPACE_ID` | Requis pour [Claude Platform on AWS](/fr/claude-platform-on-aws). Envoyé à chaque requête en tant qu'en-tête `anthropic-workspace-id` |

105| `ANTHROPIC_BASE_URL` | Remplacer le point de terminaison de l'API pour acheminer les requêtes via un proxy ou une passerelle. Lorsqu'elle est définie sur un hôte non-first-party, la [recherche d'outils MCP](/fr/mcp#scale-with-mcp-tool-search) est désactivée par défaut. Définissez `ENABLE_TOOL_SEARCH=true` si votre proxy transfère les blocs `tool_reference` |105| `ANTHROPIC_BASE_URL` | Remplacer le point de terminaison de l'API pour acheminer les requêtes via un proxy ou une passerelle. Lorsqu'elle est définie sur un hôte non-first-party, la [recherche d'outils MCP](/fr/mcp#scale-with-mcp-tool-search) est désactivée par défaut. Définissez `ENABLE_TOOL_SEARCH=true` si votre proxy transfère les blocs `tool_reference`. {/* min-version: 2.1.196 */}À partir de v2.1.196, le [Contrôle à distance](/fr/remote-control#requirements) est désactivé lorsque cela pointe vers un hôte autre que `api.anthropic.com`, correspondant à son comportement sur Bedrock, Vertex AI et Foundry |

106| `ANTHROPIC_BEDROCK_BASE_URL` | Remplacer l'URL du point de terminaison Bedrock. À utiliser pour les points de terminaison Bedrock personnalisés ou lors du routage via une [passerelle LLM](/fr/llm-gateway). Voir [Amazon Bedrock](/fr/amazon-bedrock) |106| `ANTHROPIC_BEDROCK_BASE_URL` | Remplacer l'URL du point de terminaison Bedrock. À utiliser pour les points de terminaison Bedrock personnalisés ou lors du routage via une [passerelle LLM](/fr/llm-gateway). Voir [Amazon Bedrock](/fr/amazon-bedrock) |

107| `ANTHROPIC_BEDROCK_MANTLE_BASE_URL` | Remplacer l'URL du point de terminaison Bedrock Mantle. Voir [Point de terminaison Mantle](/fr/amazon-bedrock#use-the-mantle-endpoint) |107| `ANTHROPIC_BEDROCK_MANTLE_BASE_URL` | Remplacer l'URL du point de terminaison Bedrock Mantle. Voir [Point de terminaison Mantle](/fr/amazon-bedrock#use-the-mantle-endpoint) |

108| `ANTHROPIC_BEDROCK_SERVICE_TIER` | Bedrock [niveau de service](https://docs.aws.amazon.com/bedrock/latest/userguide/service-tiers-inference.html) (`default`, `flex` ou `priority`). Envoyé en tant qu'en-tête `X-Amzn-Bedrock-Service-Tier`. Voir [Amazon Bedrock](/fr/amazon-bedrock#service-tiers) |108| `ANTHROPIC_BEDROCK_SERVICE_TIER` | Bedrock [niveau de service](https://docs.aws.amazon.com/bedrock/latest/userguide/service-tiers-inference.html) (`default`, `flex` ou `priority`). Envoyé en tant qu'en-tête `X-Amzn-Bedrock-Service-Tier`. Voir [Amazon Bedrock](/fr/amazon-bedrock#service-tiers) |


148| `CLAUDE_AGENT_SDK_DISABLE_BUILTIN_AGENTS` | Définissez sur `1` pour désactiver tous les types de [subagent](/fr/sub-agents) intégrés tels que Explore et Plan. S'applique uniquement en mode non interactif (l'indicateur `-p`). Utile pour les utilisateurs du SDK qui veulent une ardoise vierge |148| `CLAUDE_AGENT_SDK_DISABLE_BUILTIN_AGENTS` | Définissez sur `1` pour désactiver tous les types de [subagent](/fr/sub-agents) intégrés tels que Explore et Plan. S'applique uniquement en mode non interactif (l'indicateur `-p`). Utile pour les utilisateurs du SDK qui veulent une ardoise vierge |

149| `CLAUDE_AGENT_SDK_MCP_NO_PREFIX` | Définissez sur `1` pour ignorer le préfixe `mcp__<server>__` sur les noms d'outils des serveurs MCP créés par le SDK. Les outils utilisent leurs noms d'origine. Utilisation du SDK uniquement |149| `CLAUDE_AGENT_SDK_MCP_NO_PREFIX` | Définissez sur `1` pour ignorer le préfixe `mcp__<server>__` sur les noms d'outils des serveurs MCP créés par le SDK. Les outils utilisent leurs noms d'origine. Utilisation du SDK uniquement |

150| `CLAUDE_ASYNC_AGENT_STALL_TIMEOUT_MS` | Délai d'expiration de blocage en millisecondes pour les subagents en arrière-plan. Par défaut `600000` (10 minutes). Le minuteur se réinitialise à chaque événement de progression en continu ; si aucune progression n'arrive dans la fenêtre, le subagent est interrompu et la tâche est marquée comme échouée, exposant tout résultat partiel au parent |150| `CLAUDE_ASYNC_AGENT_STALL_TIMEOUT_MS` | Délai d'expiration de blocage en millisecondes pour les subagents en arrière-plan. Par défaut `600000` (10 minutes). Le minuteur se réinitialise à chaque événement de progression en continu ; si aucune progression n'arrive dans la fenêtre, le subagent est interrompu et la tâche est marquée comme échouée, exposant tout résultat partiel au parent |

151| `CLAUDE_AUTOCOMPACT_PCT_OVERRIDE` | Définissez le pourcentage (1-100) de la fenêtre de compactage automatique auquel le compactage automatique se déclenche. Utilisez des valeurs plus basses comme `50` pour compacter plus tôt. Cette variable ne provoque un compactage plus précoce que lorsque Claude Code compacte de manière proactive : lorsque `CLAUDE_CODE_AUTO_COMPACT_WINDOW` est défini, dans les [sessions cloud](/fr/claude-code-on-the-web) et sur Sonnet 4.6 et Opus 4.6 sans [contexte étendu](/fr/model-config#extended-context), qui compactent à la limite 200K par défaut. Dans d'autres cas, comme une session locale sur Opus 4.8 ou tout modèle avec contexte étendu, le compactage automatique se déclenche lorsque la conversation atteint la limite de contexte du modèle. Le remplacement ne peut que réduire le seuil, de sorte que les valeurs au-dessus de la valeur par défaut n'ont aucun effet. S'applique aux conversations principales et aux subagents |151| `CLAUDE_AUTOCOMPACT_PCT_OVERRIDE` | Définissez le pourcentage (1-100) de la fenêtre de compactage automatique auquel le compactage automatique se déclenche. Utilisez des valeurs plus basses comme `50` pour compacter plus tôt. Cette variable ne provoque un compactage plus précoce que lorsque Claude Code compacte de manière proactive : lorsque `CLAUDE_CODE_AUTO_COMPACT_WINDOW` est défini, dans les [sessions cloud](/fr/claude-code-on-the-web) et sur Sonnet 4.6 et Opus 4.6 sans [contexte étendu](/fr/model-config#extended-context), qui compactent à la limite 200K par défaut. Sur Sonnet 5, le compactage proactif s'applique au [seuil par défaut](/fr/model-config#sonnet-5-context-window) du modèle. Dans d'autres cas, comme une session locale sur Opus 4.8, le compactage automatique se déclenche lorsque la conversation atteint la limite de contexte du modèle. Le remplacement ne peut que réduire le seuil, de sorte que les valeurs au-dessus de la valeur par défaut n'ont aucun effet. S'applique aux conversations principales et aux subagents |

152| `CLAUDE_AUTO_BACKGROUND_TASKS` | Définissez sur `1` pour forcer l'activation de la mise en arrière-plan automatique des tâches d'agent longues. Lorsqu'elle est activée, les subagents sont déplacés en arrière-plan après environ deux minutes d'exécution |152| `CLAUDE_AUTO_BACKGROUND_TASKS` | Définissez sur `1` pour forcer l'activation de la mise en arrière-plan automatique des tâches d'agent longues. Lorsqu'elle est activée, les subagents sont déplacés en arrière-plan après environ deux minutes d'exécution |

153| `CLAUDE_AX_SCREEN_READER` | {/* min-version: 2.1.181 */}Définissez sur `1` pour afficher une sortie conviviale pour les lecteurs d'écran : texte plat sans bordures décoratives ni animations. Définissez sur `0` pour forcer le mode lecteur d'écran désactivé même lorsque [`axScreenReader`](/fr/settings#available-settings) est `true`. Le drapeau [`--ax-screen-reader`](/fr/cli-reference#cli-flags) prend la priorité. Nécessite Claude Code v2.1.181 ou ultérieur |153| `CLAUDE_AX_SCREEN_READER` | {/* min-version: 2.1.181 */}Définissez sur `1` pour afficher une sortie conviviale pour les lecteurs d'écran : texte plat sans bordures décoratives ni animations. Définissez sur `0` pour forcer le mode lecteur d'écran désactivé même lorsque [`axScreenReader`](/fr/settings#available-settings) est `true`. Le drapeau [`--ax-screen-reader`](/fr/cli-reference#cli-flags) prend la priorité. Nécessite Claude Code v2.1.181 ou ultérieur |

154| `CLAUDE_BASH_MAINTAIN_PROJECT_WORKING_DIR` | Retourner au répertoire de travail d'origine après chaque commande Bash ou PowerShell dans la session principale |154| `CLAUDE_BASH_MAINTAIN_PROJECT_WORKING_DIR` | Retourner au répertoire de travail d'origine après chaque commande Bash ou PowerShell dans la session principale |


160| `CLAUDE_CODE_API_KEY_HELPER_TTL_MS` | Intervalle en millisecondes auquel les identifiants doivent être actualisés (lors de l'utilisation de [`apiKeyHelper`](/fr/settings#available-settings)) |160| `CLAUDE_CODE_API_KEY_HELPER_TTL_MS` | Intervalle en millisecondes auquel les identifiants doivent être actualisés (lors de l'utilisation de [`apiKeyHelper`](/fr/settings#available-settings)) |

161| `CLAUDE_CODE_ARTIFACT_AUTO_OPEN` | Définissez sur `0` pour empêcher Claude Code d'ouvrir le navigateur automatiquement lorsqu'un nouvel [artifact](/fr/artifacts) est publié. La republication d'un artifact existant n'ouvre pas le navigateur indépendamment de ce paramètre |161| `CLAUDE_CODE_ARTIFACT_AUTO_OPEN` | Définissez sur `0` pour empêcher Claude Code d'ouvrir le navigateur automatiquement lorsqu'un nouvel [artifact](/fr/artifacts) est publié. La republication d'un artifact existant n'ouvre pas le navigateur indépendamment de ce paramètre |

162| `CLAUDE_CODE_ATTRIBUTION_HEADER` | Définissez sur `0` pour omettre le bloc d'attribution (version client et empreinte digitale d'invite) du début de l'invite système. La désactiver améliore les taux de succès du cache d'invite lors du routage via une [passerelle LLM](/fr/llm-gateway). La mise en cache de l'API Anthropic n'est pas affectée |162| `CLAUDE_CODE_ATTRIBUTION_HEADER` | Définissez sur `0` pour omettre le bloc d'attribution (version client et empreinte digitale d'invite) du début de l'invite système. La désactiver améliore les taux de succès du cache d'invite lors du routage via une [passerelle LLM](/fr/llm-gateway). La mise en cache de l'API Anthropic n'est pas affectée |

163| `CLAUDE_CODE_AUTO_COMPACT_WINDOW` | Définissez la capacité de contexte en tokens utilisée pour les calculs de compactage automatique. Par défaut, la fenêtre de contexte du modèle : 200 K pour les modèles standard ou 1 M pour les modèles de [contexte étendu](/fr/model-config#extended-context). Utilisez une valeur inférieure comme `500000` sur un modèle 1 M pour traiter la fenêtre comme 500 K à des fins de compactage. La valeur est plafonnée à la fenêtre de contexte réelle du modèle. `CLAUDE_AUTOCOMPACT_PCT_OVERRIDE` est appliqué en pourcentage de cette valeur. La définition de cette variable découple le seuil de compactage du `used_percentage` de la ligne d'état, qui utilise toujours la fenêtre de contexte complète du modèle |163| `CLAUDE_CODE_AUTO_COMPACT_WINDOW` | Définissez la capacité de contexte en tokens utilisée pour les calculs de compactage automatique. Par défaut, la fenêtre de contexte du modèle : 200 K pour les modèles standard ou 1 M pour les modèles de [contexte étendu](/fr/model-config#extended-context), sauf sur Sonnet 5, qui a son propre [seuil par défaut](/fr/model-config#sonnet-5-context-window). Utilisez une valeur inférieure comme `500000` sur un modèle 1 M pour traiter la fenêtre comme 500 K à des fins de compactage. La valeur est plafonnée à la fenêtre de contexte réelle du modèle. `CLAUDE_AUTOCOMPACT_PCT_OVERRIDE` est appliqué en pourcentage de cette valeur. La définition de cette variable découple le seuil de compactage du `used_percentage` de la ligne d'état, qui utilise toujours la fenêtre de contexte complète du modèle |

164| `CLAUDE_CODE_AUTO_CONNECT_IDE` | Remplacer la [connexion IDE](/fr/vs-code) automatique. Par défaut, Claude Code se connecte automatiquement lorsqu'il est lancé dans le terminal intégré d'un IDE pris en charge. Définissez sur `false` pour empêcher cela. Définissez sur `true` pour forcer une tentative de connexion lorsque la détection automatique échoue, par exemple lorsque tmux masque le terminal parent. Prend la priorité sur le paramètre de configuration globale [`autoConnectIde`](/fr/settings#global-config-settings) |164| `CLAUDE_CODE_AUTO_CONNECT_IDE` | Remplacer la [connexion IDE](/fr/vs-code) automatique. Par défaut, Claude Code se connecte automatiquement lorsqu'il est lancé dans le terminal intégré d'un IDE pris en charge. Définissez sur `false` pour empêcher cela. Définissez sur `true` pour forcer une tentative de connexion lorsque la détection automatique échoue, par exemple lorsque tmux masque le terminal parent. Prend la priorité sur le paramètre de configuration globale [`autoConnectIde`](/fr/settings#global-config-settings) |

165| `CLAUDE_CODE_CERT_STORE` | Liste séparée par des virgules de sources de certificats CA pour les connexions TLS. `bundled` est l'ensemble Mozilla CA fourni avec Claude Code. `system` est le magasin de confiance du système d'exploitation. Par défaut `bundled,system` |165| `CLAUDE_CODE_CERT_STORE` | Liste séparée par des virgules de sources de certificats CA pour les connexions TLS. `bundled` est l'ensemble Mozilla CA fourni avec Claude Code. `system` est le magasin de confiance du système d'exploitation, en lecture seule sur les runtimes avec `tls.getCACertificates` : le binaire natif, ou Node 22.15 ou ultérieur pour les installations npm. Voir [Magasin de certificats CA](/fr/network-config#ca-certificate-store). Par défaut `bundled,system` |

166| `CLAUDE_CODE_CHILD_SESSION` | {/* min-version: 2.1.172 */}Défini sur `1` dans les sous-processus que Claude Code génère via les outils Bash, PowerShell et Monitor, les commandes [hook](/fr/hooks) et les commandes de [ligne d'état](/fr/statusline). Non défini pour les sous-processus du serveur MCP [stdio](/fr/mcp), qui sont longue durée et survivent à la session qui les a générés. Contrairement à `CLAUDECODE`, ceci n'est défini que par Claude Code lui-même lorsqu'il lance un sous-processus et non par les extensions IDE, de sorte qu'il distingue de manière fiable une session imbriquée d'une `claude` de niveau supérieur lancée dans un terminal intégré IDE. Une `claude` TUI interactive imbriquée démarrée de cette manière est automatiquement exclue de `--resume`, `--continue`, l'historique de la flèche vers le haut et la liste `claude agents`. Les sessions non-interactives `claude -p` persistent toujours. Définissez `CLAUDE_CODE_FORCE_SESSION_PERSISTENCE=1` pour remplacer cette exclusion. Nécessite Claude Code v2.1.172 ou ultérieur |166| `CLAUDE_CODE_CHILD_SESSION` | {/* min-version: 2.1.172 */}Défini sur `1` dans les sous-processus que Claude Code génère via les outils Bash, PowerShell et Monitor, les commandes [hook](/fr/hooks) et les commandes de [ligne d'état](/fr/statusline). Non défini pour les sous-processus du serveur MCP [stdio](/fr/mcp), qui sont longue durée et survivent à la session qui les a générés. Contrairement à `CLAUDECODE`, ceci n'est défini que par Claude Code lui-même lorsqu'il lance un sous-processus et non par les extensions IDE, de sorte qu'il distingue de manière fiable une session imbriquée d'une `claude` de niveau supérieur lancée dans un terminal intégré IDE. Une `claude` TUI interactive imbriquée démarrée de cette manière est automatiquement exclue de `--resume`, `--continue`, l'historique de la flèche vers le haut et la liste `claude agents`. Les sessions non-interactives `claude -p` persistent toujours. Définissez `CLAUDE_CODE_FORCE_SESSION_PERSISTENCE=1` pour remplacer cette exclusion. Nécessite Claude Code v2.1.172 ou ultérieur |

167| `CLAUDE_CODE_CLIENT_CERT` | Chemin d'accès au fichier de certificat client pour l'authentification mTLS |167| `CLAUDE_CODE_CLIENT_CERT` | Chemin d'accès au fichier de certificat client pour l'authentification mTLS |

168| `CLAUDE_CODE_CLIENT_KEY` | Chemin d'accès au fichier de clé privée client pour l'authentification mTLS |168| `CLAUDE_CODE_CLIENT_KEY` | Chemin d'accès au fichier de clé privée client pour l'authentification mTLS |


170| `CLAUDE_CODE_CONNECT_TIMEOUT_MS` | {/* max-version: 2.1.185 */}Supprimé dans v2.1.186 et maintenant un no-op. Auparavant, définissait un délai d'expiration distinct pour la phase de connexion, TLS et en-tête de réponse d'une requête API en continu. Utilisez `API_TIMEOUT_MS` pour le délai d'expiration par requête |170| `CLAUDE_CODE_CONNECT_TIMEOUT_MS` | {/* max-version: 2.1.185 */}Supprimé dans v2.1.186 et maintenant un no-op. Auparavant, définissait un délai d'expiration distinct pour la phase de connexion, TLS et en-tête de réponse d'une requête API en continu. Utilisez `API_TIMEOUT_MS` pour le délai d'expiration par requête |

171| `CLAUDE_CODE_DEBUG_LOGS_DIR` | Remplacer le chemin d'accès au fichier journal de débogage. Malgré le nom, il s'agit d'un chemin de fichier, pas d'un répertoire. Nécessite que le mode débogage soit activé séparément via `--debug`, `/debug` ou la variable d'environnement `DEBUG` : la définition de cette variable seule n'active pas la journalisation. Le drapeau [`--debug-file`](/fr/cli-reference#cli-flags) fait les deux à la fois. Par défaut `~/.claude/debug/<session-id>.txt` |171| `CLAUDE_CODE_DEBUG_LOGS_DIR` | Remplacer le chemin d'accès au fichier journal de débogage. Malgré le nom, il s'agit d'un chemin de fichier, pas d'un répertoire. Nécessite que le mode débogage soit activé séparément via `--debug`, `/debug` ou la variable d'environnement `DEBUG` : la définition de cette variable seule n'active pas la journalisation. Le drapeau [`--debug-file`](/fr/cli-reference#cli-flags) fait les deux à la fois. Par défaut `~/.claude/debug/<session-id>.txt` |

172| `CLAUDE_CODE_DEBUG_LOG_LEVEL` | Niveau de journal minimum écrit dans le fichier journal de débogage. Valeurs : `verbose`, `debug` (par défaut), `info`, `warn`, `error`. Définissez sur `verbose` pour inclure les diagnostics à haut volume comme la sortie complète de la commande de ligne d'état, ou augmentez à `error` pour réduire le bruit |172| `CLAUDE_CODE_DEBUG_LOG_LEVEL` | Niveau de journal minimum écrit dans le fichier journal de débogage. Valeurs : `verbose`, `debug` (par défaut), `info`, `warn`, `error`. Définissez sur `verbose` pour inclure les diagnostics à haut volume comme la sortie complète de la commande de ligne d'état, ou augmentez à `error` pour réduire le bruit |

173| `CLAUDE_CODE_DISABLE_1M_CONTEXT` | Définissez sur `1` pour désactiver la prise en charge de la [fenêtre de contexte 1 M](/fr/model-config#extended-context). Lorsqu'elle est définie, les variantes de modèle 1 M ne sont pas disponibles dans le sélecteur de modèle. Utile pour les environnements d'entreprise avec des exigences de conformité |173| `CLAUDE_CODE_DISABLE_1M_CONTEXT` | Définissez sur `1` pour désactiver la prise en charge de la [fenêtre de contexte 1 M](/fr/model-config#extended-context). Lorsqu'elle est définie, les variantes de modèle 1 M ne sont pas disponibles dans le sélecteur de modèle, et les sessions [Sonnet 5](/fr/model-config#sonnet-5-context-window) sont traitées comme ayant une fenêtre 200K. Utile pour les environnements d'entreprise avec des exigences de conformité |

174| `CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING` | Définissez sur `1` pour désactiver le [raisonnement adaptatif](/fr/model-config#adjust-effort-level) sur Opus 4.6 et Sonnet 4.6 et revenir au budget de réflexion fixe contrôlé par `MAX_THINKING_TOKENS`. {/* min-version: 2.1.111 */}À partir de v2.1.111, n'a aucun effet sur Fable 5, ou sur Opus 4.7 et versions ultérieures, qui utilisent toujours le raisonnement adaptatif |174| `CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING` | Définissez sur `1` pour désactiver le [raisonnement adaptatif](/fr/model-config#adjust-effort-level) sur Opus 4.6 et Sonnet 4.6 et revenir au budget de réflexion fixe contrôlé par `MAX_THINKING_TOKENS`. {/* min-version: 2.1.111 */}À partir de v2.1.111, n'a aucun effet sur Fable 5, Sonnet 5 ou Opus 4.7 et versions ultérieures, qui utilisent toujours le raisonnement adaptatif |

175| `CLAUDE_CODE_DISABLE_ADVISOR_TOOL` | {/* min-version: 2.1.98 */}Définissez sur `1` pour désactiver l'[outil advisor](/fr/advisor). La commande `/advisor` et le drapeau `--advisor` deviennent indisponibles et tout `advisorModel` configuré est ignoré. Nécessite Claude Code v2.1.98 ou ultérieur |175| `CLAUDE_CODE_DISABLE_ADVISOR_TOOL` | {/* min-version: 2.1.98 */}Définissez sur `1` pour désactiver l'[outil advisor](/fr/advisor). La commande `/advisor` et le drapeau `--advisor` deviennent indisponibles et tout `advisorModel` configuré est ignoré. Nécessite Claude Code v2.1.98 ou ultérieur |

176| `CLAUDE_CODE_DISABLE_AGENT_VIEW` | Définissez sur `1` pour désactiver les [agents en arrière-plan et la vue des agents](/fr/agent-view) : `claude agents`, `--bg`, `/background` et le superviseur à la demande. Équivalent au paramètre [`disableAgentView`](/fr/settings#available-settings) |176| `CLAUDE_CODE_DISABLE_AGENT_VIEW` | Définissez sur `1` pour désactiver les [agents en arrière-plan et la vue des agents](/fr/agent-view) : `claude agents`, `--bg`, `/background` et le superviseur à la demande. Équivalent au paramètre [`disableAgentView`](/fr/settings#available-settings) |

177| `CLAUDE_CODE_DISABLE_ALTERNATE_SCREEN` | Définissez sur `1` pour désactiver le [rendu en plein écran](/fr/fullscreen) et utiliser le rendu classique de l'écran principal. La conversation reste dans le défilement natif de votre terminal pour que `Cmd+f` et le mode copie tmux fonctionnent comme d'habitude. Prend la priorité sur `CLAUDE_CODE_NO_FLICKER` et le paramètre [`tui`](/fr/settings#available-settings). Vous pouvez également basculer avec `/tui default`. Ne s'applique pas aux sessions en arrière-plan ouvertes à partir de la [vue des agents](/fr/agent-view), qui utilisent toujours le rendu en plein écran |177| `CLAUDE_CODE_DISABLE_ALTERNATE_SCREEN` | Définissez sur `1` pour désactiver le [rendu en plein écran](/fr/fullscreen) et utiliser le rendu classique de l'écran principal. La conversation reste dans le défilement natif de votre terminal pour que `Cmd+f` et le mode copie tmux fonctionnent comme d'habitude. Prend la priorité sur `CLAUDE_CODE_NO_FLICKER` et le paramètre [`tui`](/fr/settings#available-settings). Vous pouvez également basculer avec `/tui default`. Ne s'applique pas aux sessions en arrière-plan ouvertes à partir de la [vue des agents](/fr/agent-view), qui utilisent toujours le rendu en plein écran |


179| `CLAUDE_CODE_DISABLE_ATTACHMENTS` | Définissez sur `1` pour désactiver le traitement des pièces jointes. Les mentions de fichiers avec la syntaxe `@` sont envoyées en tant que texte brut au lieu d'être développées dans le contenu du fichier |179| `CLAUDE_CODE_DISABLE_ATTACHMENTS` | Définissez sur `1` pour désactiver le traitement des pièces jointes. Les mentions de fichiers avec la syntaxe `@` sont envoyées en tant que texte brut au lieu d'être développées dans le contenu du fichier |

180| `CLAUDE_CODE_DISABLE_AUTO_MEMORY` | Définissez sur `1` pour désactiver la [mémoire automatique](/fr/memory#auto-memory). Définissez sur `0` pour forcer la mémoire automatique même lorsque le mode `--bare` ou [`autoMemoryEnabled: false`](/fr/settings#available-settings) la désactiverait autrement. Lorsqu'elle est désactivée, Claude ne crée ni ne charge les fichiers de mémoire automatique |180| `CLAUDE_CODE_DISABLE_AUTO_MEMORY` | Définissez sur `1` pour désactiver la [mémoire automatique](/fr/memory#auto-memory). Définissez sur `0` pour forcer la mémoire automatique même lorsque le mode `--bare` ou [`autoMemoryEnabled: false`](/fr/settings#available-settings) la désactiverait autrement. Lorsqu'elle est désactivée, Claude ne crée ni ne charge les fichiers de mémoire automatique |

181| `CLAUDE_CODE_DISABLE_BACKGROUND_TASKS` | Définissez sur `1` pour désactiver toutes les fonctionnalités de tâche en arrière-plan, y compris le paramètre `run_in_background` sur les outils Bash et subagent, l'arrière-plan automatique et le raccourci Ctrl+B |181| `CLAUDE_CODE_DISABLE_BACKGROUND_TASKS` | Définissez sur `1` pour désactiver toutes les fonctionnalités de tâche en arrière-plan, y compris le paramètre `run_in_background` sur les outils Bash et subagent, l'arrière-plan automatique et le raccourci Ctrl+B |

182| `CLAUDE_CODE_DISABLE_BG_EXIT_HANDOFF` | {/* min-version: 2.1.196 */}Définissez sur `1` pour arrêter les commandes shell en arrière-plan en cours d'exécution et les workflows dynamiques d'une [session en arrière-plan](/fr/agent-view) lorsque le [superviseur](/fr/agent-view#the-supervisor-process) arrête, redémarre ou met à jour le processus de cette session, au lieu de les transmettre au processus suivant de la session. Affecte uniquement cette transmission : la mise en arrière-plan d'une session avec `←` ou [`/background`](/fr/agent-view#from-inside-a-session) porte toujours le travail en cours, et `CLAUDE_DISABLE_ADOPT` désactive les deux. Nécessite Claude Code v2.1.196 ou ultérieur |

183| `CLAUDE_CODE_DISABLE_BG_SHELL_PRESSURE_REAP` | {/* min-version: 2.1.193 */}Définissez sur `1` pour arrêter Claude Code de terminer les [commandes shell en arrière-plan](/fr/interactive-mode#background-bash-commands) lorsque le système d'exploitation signale une pression mémoire. Par défaut, sur macOS et Linux, Claude Code termine un shell en arrière-plan démarré dans la session principale sur un signal de pression mémoire une fois que la session a été inactive pendant 30 minutes et qu'aucun tour ou subagent n'est en cours d'exécution. Windows n'a pas de signal de pression mémoire, de sorte que cette variable n'a aucun effet là-bas. Nécessite Claude Code v2.1.193 ou ultérieur |

182| `CLAUDE_CODE_DISABLE_BUNDLED_SKILLS` | Définissez sur `1` pour désactiver les [skills](/fr/skills) et workflows qui sont fournis avec Claude Code : les skills groupés et les workflows intégrés sont supprimés entièrement, tandis que les commandes slash intégrées comme `/init` restent tapables mais sont masquées au modèle. Les skills des plugins, `.claude/skills/` et `.claude/commands/` ne sont pas affectés. Équivalent au paramètre [`disableBundledSkills`](/fr/settings#available-settings) ; `0` ne le remplace pas |184| `CLAUDE_CODE_DISABLE_BUNDLED_SKILLS` | Définissez sur `1` pour désactiver les [skills](/fr/skills) et workflows qui sont fournis avec Claude Code : les skills groupés et les workflows intégrés sont supprimés entièrement, tandis que les commandes slash intégrées comme `/init` restent tapables mais sont masquées au modèle. Les skills des plugins, `.claude/skills/` et `.claude/commands/` ne sont pas affectés. Équivalent au paramètre [`disableBundledSkills`](/fr/settings#available-settings) ; `0` ne le remplace pas |

183| `CLAUDE_CODE_DISABLE_CLAUDE_MDS` | Définissez sur `1` pour empêcher le chargement de tous les fichiers de mémoire CLAUDE.md dans le contexte, y compris les fichiers utilisateur, projet et mémoire automatique |185| `CLAUDE_CODE_DISABLE_CLAUDE_MDS` | Définissez sur `1` pour empêcher le chargement de tous les fichiers de mémoire CLAUDE.md dans le contexte, y compris les fichiers utilisateur, projet et mémoire automatique |

184| `CLAUDE_CODE_DISABLE_CRON` | Définissez sur `1` pour désactiver les [tâches planifiées](/fr/scheduled-tasks). Le skill `/loop` et les outils cron deviennent indisponibles et toutes les tâches déjà planifiées cessent de se déclencher, y compris les tâches qui s'exécutent déjà en milieu de session |186| `CLAUDE_CODE_DISABLE_CRON` | Définissez sur `1` pour désactiver les [tâches planifiées](/fr/scheduled-tasks). Le skill `/loop` et les outils cron deviennent indisponibles et toutes les tâches déjà planifiées cessent de se déclencher, y compris les tâches qui s'exécutent déjà en milieu de session |

185| `CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS` | Définissez sur `1` pour supprimer les en-têtes de requête `anthropic-beta` spécifiques à Anthropic et les champs de schéma d'outil bêta (tels que `defer_loading` et `eager_input_streaming`) des requêtes API. Utilisez ceci lorsqu'une passerelle proxy rejette les requêtes avec des erreurs comme « Unexpected value(s) for the `anthropic-beta` header » ou « Extra inputs are not permitted ». Les champs standard (`name`, `description`, `input_schema`, `cache_control`) sont conservés. |187| `CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS` | Définissez sur `1` pour supprimer les en-têtes de requête `anthropic-beta` spécifiques à Anthropic et les champs de schéma d'outil bêta (tels que `defer_loading` et `eager_input_streaming`) des requêtes API. Utilisez ceci lorsqu'une passerelle proxy rejette les requêtes avec des erreurs comme « Unexpected value(s) for the `anthropic-beta` header » ou « Extra inputs are not permitted ». Les champs standard (`name`, `description`, `input_schema`, `cache_control`) sont conservés |

186| `CLAUDE_CODE_DISABLE_FAST_MODE` | Définissez sur `1` pour désactiver le [mode rapide](/fr/fast-mode) |188| `CLAUDE_CODE_DISABLE_FAST_MODE` | Définissez sur `1` pour désactiver le [mode rapide](/fr/fast-mode) |

187| `CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY` | Définissez sur `1` pour désactiver les sondages de qualité de session « Comment Claude se débrouille-t-il ? ». Les sondages sont également désactivés lorsque `DISABLE_TELEMETRY`, `DO_NOT_TRACK` ou `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` est défini, sauf si `CLAUDE_CODE_ENABLE_FEEDBACK_SURVEY_FOR_OTEL` participe à nouveau. Pour définir un taux d'échantillonnage au lieu de désactiver complètement, utilisez le paramètre [`feedbackSurveyRate`](/fr/settings#available-settings). Voir [Sondages de qualité de session](/fr/data-usage#session-quality-surveys) |189| `CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY` | Définissez sur `1` pour désactiver les sondages de qualité de session « Comment Claude se débrouille-t-il ? ». Les sondages sont également désactivés lorsque `DISABLE_TELEMETRY`, `DO_NOT_TRACK` ou `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` est défini, sauf si `CLAUDE_CODE_ENABLE_FEEDBACK_SURVEY_FOR_OTEL` participe à nouveau. Pour définir un taux d'échantillonnage au lieu de désactiver complètement, utilisez le paramètre [`feedbackSurveyRate`](/fr/settings#available-settings). Voir [Sondages de qualité de session](/fr/data-usage#session-quality-surveys) |

188| `CLAUDE_CODE_DISABLE_FILE_CHECKPOINTING` | Définissez sur `1` pour désactiver le [checkpointing](/fr/checkpointing) de fichier. La commande `/rewind` ne pourra pas restaurer les modifications de code |190| `CLAUDE_CODE_DISABLE_FILE_CHECKPOINTING` | Définissez sur `1` pour désactiver le [checkpointing](/fr/checkpointing) de fichier. La commande `/rewind` ne pourra pas restaurer les modifications de code |

189| `CLAUDE_CODE_DISABLE_GIT_INSTRUCTIONS` | Définissez sur `1` pour supprimer les instructions de flux de travail de commit et PR intégrées et l'instantané du statut git de l'invite système de Claude. Utile lors de l'utilisation de vos propres skills de flux de travail git. Prend la priorité sur le paramètre [`includeGitInstructions`](/fr/settings#available-settings) lorsqu'il est défini |191| `CLAUDE_CODE_DISABLE_GIT_INSTRUCTIONS` | Définissez sur `1` pour supprimer les instructions de flux de travail de commit et PR intégrées et l'instantané du statut git de l'invite système de Claude. Utile lors de l'utilisation de vos propres skills de flux de travail git. Prend la priorité sur le paramètre [`includeGitInstructions`](/fr/settings#available-settings) lorsqu'il est défini |

190| `CLAUDE_CODE_DISABLE_LEGACY_MODEL_REMAP` | Définissez sur `1` pour empêcher le remappage automatique d'Opus 4.0 et 4.1 à la version Opus actuelle sur l'API Anthropic. À utiliser lorsque vous souhaitez intentionnellement épingler une version plus ancienne du modèle. Le remappage ne s'exécute pas sur Bedrock, Vertex ou Foundry |192| `CLAUDE_CODE_DISABLE_LEGACY_MODEL_REMAP` | Définissez sur `1` pour empêcher le remappage automatique d'Opus 4.0 et 4.1 à la version Opus actuelle sur l'API Anthropic. À utiliser lorsque vous souhaitez intentionnellement épingler une version plus ancienne du modèle. Le remappage ne s'exécute pas sur Bedrock, Vertex ou Foundry |

191| `CLAUDE_CODE_DISABLE_MOUSE` | Définissez sur `1` pour désactiver le suivi de la souris dans le [rendu en plein écran](/fr/fullscreen). Le défilement au clavier avec `PgUp` et `PgDn` fonctionne toujours. Utilisez ceci pour conserver le comportement natif de copie à la sélection de votre terminal |193| `CLAUDE_CODE_DISABLE_MOUSE` | Définissez sur `1` pour désactiver le suivi de la souris dans le [rendu en plein écran](/fr/fullscreen). Le défilement au clavier avec `PgUp` et `PgDn` fonctionne toujours. Utilisez ceci pour conserver le comportement natif de copie à la sélection de votre terminal |

194| `CLAUDE_CODE_DISABLE_MOUSE_CLICKS` | {/* min-version: 2.1.195 */}Définissez sur `1` pour désactiver le clic, le glissement et le survol dans le [rendu en plein écran](/fr/fullscreen) tout en conservant le défilement à la molette de la souris. À utiliser lorsque vous souhaitez que le défilement à la molette fonctionne à l'intérieur de Claude Code mais que vous ne souhaitez pas que les clics positionnent le curseur, développent la sortie d'outil ou ouvrent des liens. `CLAUDE_CODE_DISABLE_MOUSE` prend la priorité lorsque les deux sont définis. Nécessite Claude Code v2.1.195 ou ultérieur |

192| `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` | Équivalent de la définition de `DISABLE_AUTOUPDATER`, `DISABLE_FEEDBACK_COMMAND`, `DISABLE_ERROR_REPORTING` et `DISABLE_TELEMETRY` |195| `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` | Équivalent de la définition de `DISABLE_AUTOUPDATER`, `DISABLE_FEEDBACK_COMMAND`, `DISABLE_ERROR_REPORTING` et `DISABLE_TELEMETRY` |

193| `CLAUDE_CODE_DISABLE_NONSTREAMING_FALLBACK` | Définissez sur `1` pour désactiver le secours non-streaming lorsqu'une requête streaming échoue en milieu de flux. Les erreurs de streaming se propagent à la couche de nouvelle tentative à la place. Utile lorsqu'un proxy ou une passerelle provoque le secours pour produire l'exécution d'outils en double |196| `CLAUDE_CODE_DISABLE_NONSTREAMING_FALLBACK` | Définissez sur `1` pour désactiver le secours non-streaming lorsqu'une requête streaming échoue en milieu de flux. Les erreurs de streaming se propagent à la couche de nouvelle tentative à la place. Utile lorsqu'un proxy ou une passerelle provoque le secours pour produire l'exécution d'outils en double |

197| `CLAUDE_CODE_DISABLE_NOTIFICATION_PRESENCE_CHECK` | {/* min-version: 2.1.193 */}Définissez sur `1` pour envoyer la notification de bureau de l'outil `PushNotification` même lorsque vous tapez dans ou êtes concentré sur le terminal. Par défaut, l'outil ignore à la fois la notification de bureau et le [push mobile](/fr/remote-control#mobile-push-notifications) lorsqu'il détecte une activité clavier récente ou une concentration sur le terminal. Cette variable désactive uniquement cette vérification locale, de sorte que le serveur peut toujours supprimer le push mobile lorsqu'il détecte que vous êtes actif. Nécessite Claude Code v2.1.193 ou ultérieur |

194| `CLAUDE_CODE_DISABLE_OFFICIAL_MARKETPLACE_AUTOINSTALL` | Définissez sur `1` pour ignorer l'ajout automatique de la place de marché officielle des plugins au premier lancement |198| `CLAUDE_CODE_DISABLE_OFFICIAL_MARKETPLACE_AUTOINSTALL` | Définissez sur `1` pour ignorer l'ajout automatique de la place de marché officielle des plugins au premier lancement |

195| `CLAUDE_CODE_DISABLE_POLICY_SKILLS` | Définissez sur `1` pour ignorer le chargement des skills à partir du répertoire des skills gérés au niveau du système. Utile pour les sessions de conteneur ou CI qui ne doivent pas charger les skills fournis par l'opérateur |199| `CLAUDE_CODE_DISABLE_POLICY_SKILLS` | Définissez sur `1` pour ignorer le chargement des skills à partir du répertoire des skills gérés au niveau du système. Utile pour les sessions de conteneur ou CI qui ne doivent pas charger les skills fournis par l'opérateur |

196| `CLAUDE_CODE_DISABLE_TERMINAL_TITLE` | Définissez sur `1` pour désactiver les mises à jour automatiques du titre du terminal en fonction du contexte de la conversation. En mode Agent SDK et sessions `claude -p`, cela ignore également la requête Haiku en arrière-plan qui génère le titre de la session |200| `CLAUDE_CODE_DISABLE_TERMINAL_TITLE` | Définissez sur `1` pour désactiver les mises à jour automatiques du titre du terminal en fonction du contexte de la conversation. En mode Agent SDK et sessions `claude -p`, cela ignore également la requête Haiku en arrière-plan qui génère le titre de la session |


198| `CLAUDE_CODE_DISABLE_VIRTUAL_SCROLL` | Définissez sur `1` pour désactiver le défilement virtuel dans le [rendu en plein écran](/fr/fullscreen) et afficher chaque message dans la transcription. Utilisez ceci si le défilement en mode plein écran affiche des régions vierges où les messages devraient apparaître |202| `CLAUDE_CODE_DISABLE_VIRTUAL_SCROLL` | Définissez sur `1` pour désactiver le défilement virtuel dans le [rendu en plein écran](/fr/fullscreen) et afficher chaque message dans la transcription. Utilisez ceci si le défilement en mode plein écran affiche des régions vierges où les messages devraient apparaître |

199| `CLAUDE_CODE_DISABLE_WORKFLOWS` | Définissez sur `1` pour désactiver les [workflows](/fr/workflows#turn-workflows-off). Équivalent au paramètre [`disableWorkflows`](/fr/settings#available-settings) |203| `CLAUDE_CODE_DISABLE_WORKFLOWS` | Définissez sur `1` pour désactiver les [workflows](/fr/workflows#turn-workflows-off). Équivalent au paramètre [`disableWorkflows`](/fr/settings#available-settings) |

200| `CLAUDE_CODE_EFFORT_LEVEL` | Définissez le niveau d'effort pour les modèles pris en charge. Valeurs : `low`, `medium`, `high`, `xhigh`, `max` ou `auto` pour utiliser le niveau par défaut du modèle. Les niveaux disponibles dépendent du modèle. Prend la priorité sur `/effort` et le paramètre `effortLevel`. Voir [Ajuster le niveau d'effort](/fr/model-config#adjust-effort-level) |204| `CLAUDE_CODE_EFFORT_LEVEL` | Définissez le niveau d'effort pour les modèles pris en charge. Valeurs : `low`, `medium`, `high`, `xhigh`, `max` ou `auto` pour utiliser le niveau par défaut du modèle. Les niveaux disponibles dépendent du modèle. Prend la priorité sur `/effort` et le paramètre `effortLevel`. Voir [Ajuster le niveau d'effort](/fr/model-config#adjust-effort-level) |

201| `CLAUDE_CODE_ENABLE_AUTO_MODE` | {/* min-version: 2.1.158 */}Définissez sur `1` pour rendre le [mode auto](/fr/permission-modes#eliminate-prompts-with-auto-mode) disponible sur Amazon Bedrock, Google Cloud Vertex AI et Microsoft Foundry. Nécessite Claude Code v2.1.158 ou ultérieur. N'a aucun effet sur l'API Anthropic, où le mode auto est disponible par défaut. Voir [Activer le mode auto sur Bedrock, Vertex AI ou Foundry](/fr/permission-modes#enable-auto-mode-on-bedrock-vertex-ai-or-foundry) |205| `CLAUDE_CODE_ENABLE_AUTO_MODE` | {/* min-version: 2.1.158 */}Définissez sur `1` pour rendre le [mode auto](/fr/permission-modes#eliminate-prompts-with-auto-mode) disponible sur Amazon Bedrock, Google Cloud Vertex AI, Microsoft Foundry et les sessions [passerelle d'applications Claude](/fr/claude-apps-gateway) signées. Nécessite Claude Code v2.1.158 ou ultérieur. N'a aucun effet sur l'API Anthropic, où le mode auto est disponible par défaut. Voir [Activer le mode auto sur Bedrock, Vertex AI ou Foundry](/fr/permission-modes#enable-auto-mode-on-bedrock-vertex-ai-or-foundry) |

202| `CLAUDE_CODE_ENABLE_AWAY_SUMMARY` | Remplacer la disponibilité du [récapitulatif de session](/fr/interactive-mode#session-recap). Définissez sur `0` pour forcer les récapitulatifs désactivés indépendamment du bouton bascule `/config`. Définissez sur `1` pour forcer les récapitulatifs activés lorsque [`awaySummaryEnabled`](/fr/settings#available-settings) est `false`. Prend la priorité sur le paramètre et le bouton bascule `/config` |206| `CLAUDE_CODE_ENABLE_AWAY_SUMMARY` | Remplacer la disponibilité du [récapitulatif de session](/fr/interactive-mode#session-recap). Définissez sur `0` pour forcer les récapitulatifs désactivés indépendamment du bouton bascule `/config`. Définissez sur `1` pour forcer les récapitulatifs activés lorsque [`awaySummaryEnabled`](/fr/settings#available-settings) est `false`. Prend la priorité sur le paramètre et le bouton bascule `/config` |

203| `CLAUDE_CODE_ENABLE_BACKGROUND_PLUGIN_REFRESH` | Définissez sur `1` pour actualiser l'état du plugin aux limites de tour en [mode non interactif](/fr/headless) après la fin d'une installation en arrière-plan. Désactivé par défaut car l'actualisation modifie l'invite système en milieu de session, ce qui invalide la [mise en cache des invites](/fr/prompt-caching) pour ce tour |207| `CLAUDE_CODE_ENABLE_BACKGROUND_PLUGIN_REFRESH` | Définissez sur `1` pour actualiser l'état du plugin aux limites de tour en [mode non interactif](/fr/headless) après la fin d'une installation en arrière-plan. Désactivé par défaut car l'actualisation modifie l'invite système en milieu de session, ce qui invalide la [mise en cache des invites](/fr/prompt-caching) pour ce tour |

204| `CLAUDE_CODE_ENABLE_FEEDBACK_SURVEY_FOR_OTEL` | Définissez sur `1` pour acheminer le sondage de qualité de session « Comment Claude se débrouille-t-il ? » vers votre propre [collecteur OpenTelemetry](/fr/monitoring-usage) lorsque le trafic non essentiel lié à Anthropic est bloqué. Les évaluations du sondage sont émises uniquement en tant qu'événements OTEL vers votre collecteur configuré. Aucune donnée de sondage n'est envoyée à Anthropic dans ce mode. S'applique lorsque `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`, `DISABLE_TELEMETRY` ou `DO_NOT_TRACK` est défini, et n'a aucun effet autrement. `CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY` et la politique de rétroaction produit de l'organisation prennent la priorité |208| `CLAUDE_CODE_ENABLE_FEEDBACK_SURVEY_FOR_OTEL` | Définissez sur `1` pour acheminer le sondage de qualité de session « Comment Claude se débrouille-t-il ? » vers votre propre [collecteur OpenTelemetry](/fr/monitoring-usage) lorsque le trafic non essentiel lié à Anthropic est bloqué. Les évaluations du sondage sont émises uniquement en tant qu'événements OTEL vers votre collecteur configuré. Aucune donnée de sondage n'est envoyée à Anthropic dans ce mode. S'applique lorsque `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`, `DISABLE_TELEMETRY` ou `DO_NOT_TRACK` est défini, et n'a aucun effet autrement. `CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY` et la politique de rétroaction produit de l'organisation prennent la priorité |


224| `CLAUDE_CODE_IDE_HOST_OVERRIDE` | Remplacer l'adresse d'hôte utilisée pour se connecter à l'extension IDE. Par défaut, Claude Code détecte automatiquement l'adresse correcte, y compris le routage WSL vers Windows |228| `CLAUDE_CODE_IDE_HOST_OVERRIDE` | Remplacer l'adresse d'hôte utilisée pour se connecter à l'extension IDE. Par défaut, Claude Code détecte automatiquement l'adresse correcte, y compris le routage WSL vers Windows |

225| `CLAUDE_CODE_IDE_SKIP_AUTO_INSTALL` | Ignorer l'installation automatique des extensions IDE. Équivalent à la définition de [`autoInstallIdeExtension`](/fr/settings#global-config-settings) sur `false` |229| `CLAUDE_CODE_IDE_SKIP_AUTO_INSTALL` | Ignorer l'installation automatique des extensions IDE. Équivalent à la définition de [`autoInstallIdeExtension`](/fr/settings#global-config-settings) sur `false` |

226| `CLAUDE_CODE_IDE_SKIP_VALID_CHECK` | Définissez sur `1` pour ignorer la validation des entrées du fichier de verrouillage IDE lors de la connexion. À utiliser lorsque la connexion automatique ne trouve pas votre IDE malgré son exécution |230| `CLAUDE_CODE_IDE_SKIP_VALID_CHECK` | Définissez sur `1` pour ignorer la validation des entrées du fichier de verrouillage IDE lors de la connexion. À utiliser lorsque la connexion automatique ne trouve pas votre IDE malgré son exécution |

227| `CLAUDE_CODE_MAX_CONTEXT_TOKENS` | Remplacer la taille de la fenêtre de contexte que Claude Code suppose pour le modèle actif. Ne prend effet que lorsque `DISABLE_COMPACT` est également défini. À utiliser lors du routage vers un modèle via `ANTHROPIC_BASE_URL` dont la fenêtre de contexte ne correspond pas à la taille intégrée pour son nom |231| `CLAUDE_CODE_MAX_CONTEXT_TOKENS` | Remplacer la taille de la fenêtre de contexte que Claude Code suppose pour le modèle actif. {/* min-version: 2.1.193 */}À partir de v2.1.193, appliqué directement pour les noms de modèles que Claude Code ne reconnaît pas comme un modèle Claude ; pour les modèles Claude reconnus, il ne prend effet que lorsque `DISABLE_COMPACT` est également défini. À utiliser lors du routage vers un modèle via `ANTHROPIC_BASE_URL` dont la fenêtre de contexte ne correspond pas à la taille intégrée pour son nom |

228| `CLAUDE_CODE_MAX_OUTPUT_TOKENS` | Définissez le nombre maximal de tokens de sortie pour la plupart des requêtes. Les valeurs par défaut et les plafonds varient selon le modèle ; voir [max output tokens](https://platform.claude.com/docs/en/about-claude/models/overview#latest-models-comparison). L'augmentation de cette valeur réduit la fenêtre de contexte effective disponible avant que le [compactage automatique](/fr/costs#reduce-token-usage) ne se déclenche. |232| `CLAUDE_CODE_MAX_OUTPUT_TOKENS` | Définissez le nombre maximal de tokens de sortie pour la plupart des requêtes. Les valeurs par défaut et les plafonds varient selon le modèle ; voir [max output tokens](https://platform.claude.com/docs/en/about-claude/models/overview#latest-models-comparison). L'augmentation de cette valeur réduit la fenêtre de contexte effective disponible avant que le [compactage automatique](/fr/costs#reduce-token-usage) ne se déclenche |

229| `CLAUDE_CODE_MAX_RETRIES` | Remplacer le nombre de fois pour réessayer les requêtes API échouées (par défaut : 10). {/* min-version: 2.1.186 */}Plafonné à 15 à partir de v2.1.186. Pour les sessions sans surveillance qui doivent attendre les pannes plus longues, définissez `CLAUDE_CODE_RETRY_WATCHDOG` à la place |233| `CLAUDE_CODE_MAX_RETRIES` | Remplacer le nombre de fois pour réessayer les requêtes API échouées (par défaut : 10). {/* min-version: 2.1.186 */}Plafonné à 15 à partir de v2.1.186. Pour les sessions sans surveillance qui doivent attendre les pannes plus longues, définissez `CLAUDE_CODE_RETRY_WATCHDOG` à la place |

230| `CLAUDE_CODE_MAX_TOOL_USE_CONCURRENCY` | Nombre maximal d'outils en lecture seule et de subagents qui peuvent s'exécuter en parallèle (par défaut : 10). Les valeurs plus élevées augmentent le parallélisme mais consomment plus de ressources |234| `CLAUDE_CODE_MAX_TOOL_USE_CONCURRENCY` | Nombre maximal d'outils en lecture seule et de subagents qui peuvent s'exécuter en parallèle (par défaut : 10). Les valeurs plus élevées augmentent le parallélisme mais consomment plus de ressources |

231| `CLAUDE_CODE_MAX_TURNS` | Plafonner le nombre de tours d'agent lorsqu'aucune limite explicite n'est transmise. Équivalent à la transmission de [`--max-turns`](/fr/cli-reference#cli-flags), qui prend la priorité lorsque les deux sont définis. Une valeur qui n'est pas un entier positif est rejetée au démarrage avec une erreur plutôt que traitée comme aucun plafond |235| `CLAUDE_CODE_MAX_TURNS` | Plafonner le nombre de tours d'agent lorsqu'aucune limite explicite n'est transmise. Équivalent à la transmission de [`--max-turns`](/fr/cli-reference#cli-flags), qui prend la priorité lorsque les deux sont définis. Une valeur qui n'est pas un entier positif est rejetée au démarrage avec une erreur plutôt que traitée comme aucun plafond |

232| `CLAUDE_CODE_MCP_ALLOWLIST_ENV` | Définissez sur `1` pour générer les serveurs MCP stdio avec uniquement un environnement de base sûr plus l'`env` configuré du serveur, au lieu d'hériter de votre environnement shell |236| `CLAUDE_CODE_MCP_ALLOWLIST_ENV` | Définissez sur `1` pour générer les serveurs MCP stdio avec uniquement un environnement de base sûr plus l'`env` configuré du serveur, au lieu d'hériter de votre environnement shell |

233| `CLAUDE_CODE_MCP_TOOL_IDLE_TIMEOUT` | {/* min-version: 2.1.187 */}Délai d'expiration d'inactivité en millisecondes pour les appels d'outils MCP distants (par défaut : 300 000, ou 5 minutes). Lorsqu'un serveur MCP HTTP, SSE, WebSocket ou [connecteur claude.ai](/fr/mcp#use-mcp-servers-from-claude-ai) n'envoie aucune réponse et aucune notification de progression pendant ce temps, l'appel d'outil s'interrompt avec une erreur au lieu d'attendre le `MCP_TOOL_TIMEOUT` mural. Définissez sur `0` pour désactiver la vérification d'inactivité. Les valeurs inférieures à 1 000 sont augmentées à une seconde, et la valeur est plafonnée au `MCP_TOOL_TIMEOUT` effectif. Ne s'applique pas aux serveurs stdio ou IDE. Nécessite Claude Code v2.1.187 ou ultérieur |237| `CLAUDE_CODE_MCP_TOOL_IDLE_TIMEOUT` | {/* min-version: 2.1.187 */}Délai d'expiration d'inactivité en millisecondes pour les appels d'outils MCP distants (par défaut : 300 000, ou 5 minutes). Lorsqu'un serveur MCP HTTP, SSE, WebSocket ou [connecteur claude.ai](/fr/mcp#use-mcp-servers-from-claude-ai) n'envoie aucune réponse et aucune notification de progression pendant ce temps, l'appel d'outil s'interrompt avec une erreur au lieu d'attendre le `MCP_TOOL_TIMEOUT` mural. Définissez sur `0` pour désactiver la vérification d'inactivité. Les valeurs inférieures à 1 000 sont augmentées à une seconde, et la valeur est plafonnée au `MCP_TOOL_TIMEOUT` effectif. Ne s'applique pas aux serveurs stdio ou IDE. Nécessite Claude Code v2.1.187 ou ultérieur |

234| `CLAUDE_CODE_NATIVE_CURSOR` | Définissez sur `1` pour afficher le curseur propre du terminal au curseur d'entrée au lieu d'un bloc dessiné. Le curseur respecte les paramètres de clignotement, de forme et de focus du terminal |238| `CLAUDE_CODE_NATIVE_CURSOR` | Définissez sur `1` pour afficher le curseur propre du terminal au curseur d'entrée au lieu d'un bloc dessiné. Le curseur respecte les paramètres de clignotement, de forme et de focus du terminal |

235| `CLAUDE_CODE_NEW_INIT` | Définissez sur `1` pour faire exécuter `/init` un flux de configuration interactif. Le flux demande quels fichiers générer, y compris CLAUDE.md, skills et hooks, avant d'explorer la base de code et de les écrire. Sans cette variable, `/init` génère un CLAUDE.md automatiquement sans demander. |239| `CLAUDE_CODE_NEW_INIT` | Définissez sur `1` pour faire exécuter `/init` un flux de configuration interactif. Le flux demande quels fichiers générer, y compris CLAUDE.md, skills et hooks, avant d'explorer la base de code et de les écrire. Sans cette variable, `/init` génère un CLAUDE.md automatiquement sans demander |

236| `CLAUDE_CODE_NO_FLICKER` | Définissez sur `1` pour activer le [rendu en plein écran](/fr/fullscreen), un aperçu de recherche qui réduit le scintillement et maintient la mémoire plate dans les longues conversations. Équivalent au paramètre [`tui`](/fr/settings#available-settings) ; vous pouvez également basculer avec `/tui fullscreen` |240| `CLAUDE_CODE_NO_FLICKER` | Définissez sur `1` pour activer le [rendu en plein écran](/fr/fullscreen), un aperçu de recherche qui réduit le scintillement et maintient la mémoire plate dans les longues conversations. Équivalent au paramètre [`tui`](/fr/settings#available-settings) ; vous pouvez également basculer avec `/tui fullscreen` |

237| `CLAUDE_CODE_OAUTH_REFRESH_TOKEN` | Jeton d'actualisation OAuth pour l'authentification Claude.ai. Lorsqu'il est défini, `claude auth login` échange ce jeton directement au lieu d'ouvrir un navigateur. Nécessite `CLAUDE_CODE_OAUTH_SCOPES`. Utile pour provisionner l'authentification dans les environnements automatisés |241| `CLAUDE_CODE_OAUTH_REFRESH_TOKEN` | Jeton d'actualisation OAuth pour l'authentification Claude.ai. Lorsqu'il est défini, `claude auth login` échange ce jeton directement au lieu d'ouvrir un navigateur. Nécessite `CLAUDE_CODE_OAUTH_SCOPES`. Utile pour provisionner l'authentification dans les environnements automatisés |

238| `CLAUDE_CODE_OAUTH_SCOPES` | Portées OAuth séparées par des espaces avec lesquelles le jeton d'actualisation a été émis, telles que `"user:profile user:inference user:sessions:claude_code"`. Requis lorsque `CLAUDE_CODE_OAUTH_REFRESH_TOKEN` est défini |242| `CLAUDE_CODE_OAUTH_SCOPES` | Portées OAuth séparées par des espaces avec lesquelles le jeton d'actualisation a été émis, telles que `"user:profile user:inference user:sessions:claude_code"`. Requis lorsque `CLAUDE_CODE_OAUTH_REFRESH_TOKEN` est défini |

239| `CLAUDE_CODE_OAUTH_TOKEN` | Jeton d'accès OAuth pour l'authentification Claude.ai. Alternative à `/login` pour le SDK et les environnements automatisés. Prend la priorité sur les identifiants stockés dans le trousseau. Générez-en un avec [`claude setup-token`](/fr/authentication#generate-a-long-lived-token) |243| `CLAUDE_CODE_OAUTH_TOKEN` | Jeton d'accès OAuth pour l'authentification Claude.ai. Alternative à `/login` pour le SDK et les environnements automatisés. Prend la priorité sur les identifiants stockés dans le trousseau. Générez-en un avec [`claude setup-token`](/fr/authentication#generate-a-long-lived-token) |

240| `CLAUDE_CODE_OPUS_4_6_FAST_MODE_OVERRIDE` | {/* max-version: 2.1.159 */}Supprimé dans v2.1.160 et maintenant un no-op. Auparavant épinglé le [mode rapide](/fr/fast-mode) à Claude Opus 4.6 au lieu du défaut actuel |244| `CLAUDE_CODE_OPUS_4_6_FAST_MODE_OVERRIDE` | {/* max-version: 2.1.159 */}Supprimé dans v2.1.160 et maintenant un no-op. Auparavant épinglé le [mode rapide](/fr/fast-mode) à Claude Opus 4.6 au lieu du défaut actuel. Opus 4.6 ne prend plus en charge le mode rapide |

241| `CLAUDE_CODE_OTEL_DIAG_STDERR` | {/* min-version: 2.1.179 */}Définissez sur `1` pour écrire les erreurs de diagnostic de l'exportateur OpenTelemetry sur stderr. Par défaut, ces erreurs n'apparaissent qu'avec `--debug`, de sorte qu'un exportateur mal configuré tel qu'une collision de port Prometheus échoue silencieusement autrement. Nécessite Claude Code v2.1.179 ou ultérieur. Voir [Surveillance](/fr/monitoring-usage) |245| `CLAUDE_CODE_OTEL_DIAG_STDERR` | {/* min-version: 2.1.179 */}Définissez sur `1` pour écrire les erreurs de diagnostic de l'exportateur OpenTelemetry sur stderr. Par défaut, ces erreurs n'apparaissent qu'avec `--debug`, de sorte qu'un exportateur mal configuré tel qu'une collision de port Prometheus échoue silencieusement autrement. Nécessite Claude Code v2.1.179 ou ultérieur. Voir [Surveillance](/fr/monitoring-usage) |

242| `CLAUDE_CODE_OTEL_FLUSH_TIMEOUT_MS` | Délai d'expiration en millisecondes pour vider les spans OpenTelemetry en attente (par défaut : 5 000). Voir [Surveillance](/fr/monitoring-usage) |246| `CLAUDE_CODE_OTEL_FLUSH_TIMEOUT_MS` | Délai d'expiration en millisecondes pour vider les spans OpenTelemetry en attente (par défaut : 5 000). Voir [Surveillance](/fr/monitoring-usage) |

243| `CLAUDE_CODE_OTEL_HEADERS_HELPER_DEBOUNCE_MS` | Intervalle pour actualiser les en-têtes OpenTelemetry dynamiques en millisecondes (par défaut : 1 740 000 / 29 minutes). Voir [En-têtes dynamiques](/fr/monitoring-usage#dynamic-headers) |247| `CLAUDE_CODE_OTEL_HEADERS_HELPER_DEBOUNCE_MS` | Intervalle pour actualiser les en-têtes OpenTelemetry dynamiques en millisecondes (par défaut : 1 740 000 / 29 minutes). Voir [En-têtes dynamiques](/fr/monitoring-usage#dynamic-headers) |


275| `CLAUDE_CODE_SKIP_PROMPT_HISTORY` | Définissez sur `1` pour ignorer l'écriture de l'historique des invites et des transcriptions de session sur le disque. Les sessions démarrées avec cette variable définie n'apparaissent pas dans `--resume`, `--continue` ou l'historique de la flèche vers le haut. Utile pour les sessions scriptées éphémères |279| `CLAUDE_CODE_SKIP_PROMPT_HISTORY` | Définissez sur `1` pour ignorer l'écriture de l'historique des invites et des transcriptions de session sur le disque. Les sessions démarrées avec cette variable définie n'apparaissent pas dans `--resume`, `--continue` ou l'historique de la flèche vers le haut. Utile pour les sessions scriptées éphémères |

276| `CLAUDE_CODE_SKIP_VERTEX_AUTH` | Ignorer l'authentification Google pour Vertex (par exemple, lors de l'utilisation d'une passerelle LLM) |280| `CLAUDE_CODE_SKIP_VERTEX_AUTH` | Ignorer l'authentification Google pour Vertex (par exemple, lors de l'utilisation d'une passerelle LLM) |

277| `CLAUDE_CODE_STOP_HOOK_BLOCK_CAP` | Nombre maximal de fois consécutives qu'un hook [Stop](/fr/hooks#stop) ou [SubagentStop](/fr/hooks#subagentstop) peut bloquer la fin du tour avant que Claude Code le remplace et termine le tour de toute façon (par défaut : 8). Définissez sur `0` pour désactiver le plafond. Augmentez ceci si votre hook a légitimement besoin de plus d'itérations pour se résoudre |281| `CLAUDE_CODE_STOP_HOOK_BLOCK_CAP` | Nombre maximal de fois consécutives qu'un hook [Stop](/fr/hooks#stop) ou [SubagentStop](/fr/hooks#subagentstop) peut bloquer la fin du tour avant que Claude Code le remplace et termine le tour de toute façon (par défaut : 8). Définissez sur `0` pour désactiver le plafond. Augmentez ceci si votre hook a légitimement besoin de plus d'itérations pour se résoudre |

278| `CLAUDE_CODE_SUBAGENT_MODEL` | Voir [Configuration du modèle](/fr/model-config) |282| `CLAUDE_CODE_SUBAGENT_MODEL` | Voir [Configuration du modèle](/fr/model-config). {/* min-version: 2.1.196 */}À partir de v2.1.196, la définir sur `inherit` est la même que de la laisser non définie ; les versions antérieures traitaient `inherit` comme un remplacement qui forçait chaque subagent sur le modèle de la conversation principale |

279| `CLAUDE_CODE_SUBPROCESS_ENV_SCRUB` | Définissez sur `1` pour supprimer les identifiants Anthropic et des fournisseurs de cloud des environnements de sous-processus (outil Bash, hooks, serveurs MCP stdio). Le processus Claude parent conserve ces identifiants pour les appels API, mais les processus enfants ne peuvent pas les lire, réduisant l'exposition aux attaques par injection de prompt qui tentent d'exfiltrer les secrets via l'expansion du shell. Sur Linux, cela exécute également les sous-processus Bash dans un espace de noms PID isolé pour qu'ils ne puissent pas lire les environnements de processus hôte via `/proc` ; en conséquence, `ps`, `pgrep` et `kill` ne peuvent pas voir ou signaler les processus hôte. `claude-code-action` définit ceci automatiquement lorsque `allowed_non_write_users` est configuré |283| `CLAUDE_CODE_SUBPROCESS_ENV_SCRUB` | Définissez sur `1` pour supprimer les identifiants Anthropic et des fournisseurs de cloud des environnements de sous-processus (outil Bash, hooks, serveurs MCP stdio). Le processus Claude parent conserve ces identifiants pour les appels API, mais les processus enfants ne peuvent pas les lire, réduisant l'exposition aux attaques par injection de prompt qui tentent d'exfiltrer les secrets via l'expansion du shell. Sur Linux, cela exécute également les sous-processus Bash dans un espace de noms PID isolé pour qu'ils ne puissent pas lire les environnements de processus hôte via `/proc` ; en conséquence, `ps`, `pgrep` et `kill` ne peuvent pas voir ou signaler les processus hôte. `claude-code-action` définit ceci automatiquement lorsque `allowed_non_write_users` est configuré |

280| `CLAUDE_CODE_SYNC_PLUGIN_INSTALL` | Définissez sur `1` en mode non interactif (l'indicateur `-p`) pour attendre que l'installation du plugin se termine avant la première requête. Sans cela, les plugins s'installent en arrière-plan et peuvent ne pas être disponibles au premier tour. Combinez avec `CLAUDE_CODE_SYNC_PLUGIN_INSTALL_TIMEOUT_MS` pour limiter l'attente |284| `CLAUDE_CODE_SYNC_PLUGIN_INSTALL` | Définissez sur `1` en mode non interactif (l'indicateur `-p`) pour attendre que l'installation du plugin se termine avant la première requête. Sans cela, les plugins s'installent en arrière-plan et peuvent ne pas être disponibles au premier tour. Combinez avec `CLAUDE_CODE_SYNC_PLUGIN_INSTALL_TIMEOUT_MS` pour limiter l'attente |

281| `CLAUDE_CODE_SYNC_PLUGIN_INSTALL_TIMEOUT_MS` | Délai d'expiration en millisecondes pour l'installation synchrone des plugins. Lorsqu'il est dépassé, Claude Code continue sans plugins et enregistre une erreur. Pas de défaut : sans cette variable, l'installation synchrone attend jusqu'à la fin |285| `CLAUDE_CODE_SYNC_PLUGIN_INSTALL_TIMEOUT_MS` | Délai d'expiration en millisecondes pour l'installation synchrone des plugins. Lorsqu'il est dépassé, Claude Code continue sans plugins et enregistre une erreur. Pas de défaut : sans cette variable, l'installation synchrone attend jusqu'à la fin |


295| `CLAUDE_CODE_USE_POWERSHELL_TOOL` | Contrôle l'outil PowerShell. Sur Windows sans Git Bash, l'outil est activé automatiquement ; définissez sur `0` pour le désactiver. Sur Windows avec Git Bash installé, l'outil se déploie progressivement : définissez sur `1` pour participer ou `0` pour refuser. Sur Linux, macOS et WSL, définissez sur `1` pour l'activer, ce qui nécessite `pwsh` sur votre `PATH`. Lorsqu'il est activé sur Windows, Claude peut exécuter les commandes PowerShell en mode natif au lieu de les acheminer via Git Bash. Voir [Outil PowerShell](/fr/tools-reference#powershell-tool) |299| `CLAUDE_CODE_USE_POWERSHELL_TOOL` | Contrôle l'outil PowerShell. Sur Windows sans Git Bash, l'outil est activé automatiquement ; définissez sur `0` pour le désactiver. Sur Windows avec Git Bash installé, l'outil se déploie progressivement : définissez sur `1` pour participer ou `0` pour refuser. Sur Linux, macOS et WSL, définissez sur `1` pour l'activer, ce qui nécessite `pwsh` sur votre `PATH`. Lorsqu'il est activé sur Windows, Claude peut exécuter les commandes PowerShell en mode natif au lieu de les acheminer via Git Bash. Voir [Outil PowerShell](/fr/tools-reference#powershell-tool) |

296| `CLAUDE_CODE_USE_VERTEX` | Utiliser [Vertex](/fr/google-vertex-ai) |300| `CLAUDE_CODE_USE_VERTEX` | Utiliser [Vertex](/fr/google-vertex-ai) |

297| `CLAUDE_CONFIG_DIR` | Remplacer le répertoire de configuration (par défaut : `~/.claude`). Tous les paramètres, identifiants, historique de session et plugins sont stockés sous ce chemin. Utile pour exécuter plusieurs comptes côte à côte : par exemple, `alias claude-work='CLAUDE_CONFIG_DIR=~/.claude-work claude'` |301| `CLAUDE_CONFIG_DIR` | Remplacer le répertoire de configuration (par défaut : `~/.claude`). Tous les paramètres, identifiants, historique de session et plugins sont stockés sous ce chemin. Utile pour exécuter plusieurs comptes côte à côte : par exemple, `alias claude-work='CLAUDE_CONFIG_DIR=~/.claude-work claude'` |

302| `CLAUDE_DISABLE_ADOPT` | {/* min-version: 2.1.195 */}Définissez sur `1` pour arrêter le travail en arrière-plan en cours au lieu de le transporter lorsque vous mettez une session en arrière-plan en appuyant sur `←` ou avec [`/background`](/fr/agent-view#from-inside-a-session). Claude Code vous demande de confirmer avant la mise en arrière-plan, puis arrête les tâches qui seraient autrement transportées. Nécessite Claude Code v2.1.195 ou ultérieur |

298| `CLAUDE_EFFORT` | Défini automatiquement dans les sous-processus des outils Bash et les commandes hook au [niveau d'effort](/fr/model-config#adjust-effort-level) actif pour le tour : `low`, `medium`, `high`, `xhigh` ou `max`. Ultracode n'est pas un niveau distinct et rapporte comme `xhigh`. Correspond au champ `effort.level` passé aux [hooks](/fr/hooks). Défini uniquement lorsque le modèle actuel prend en charge le paramètre d'effort |303| `CLAUDE_EFFORT` | Défini automatiquement dans les sous-processus des outils Bash et les commandes hook au [niveau d'effort](/fr/model-config#adjust-effort-level) actif pour le tour : `low`, `medium`, `high`, `xhigh` ou `max`. Ultracode n'est pas un niveau distinct et rapporte comme `xhigh`. Correspond au champ `effort.level` passé aux [hooks](/fr/hooks). Défini uniquement lorsque le modèle actuel prend en charge le paramètre d'effort |

299| `CLAUDE_ENABLE_BYTE_WATCHDOG` | Définissez sur `1` pour forcer l'activation du chien de garde d'inactivité au niveau des octets, ou définissez sur `0` pour forcer la désactivation. Lorsqu'il n'est pas défini, le chien de garde est activé par défaut pour les connexions API Anthropic directes et [Claude Platform on AWS](/fr/claude-platform-on-aws). Le chien de garde d'octets abandonne une connexion lorsqu'aucun octet n'arrive sur le fil pendant 180 secondes par défaut sur les connexions API Anthropic directes, 300 secondes sur Claude Platform on AWS et lorsqu'il est activé sur Bedrock, ou pour la valeur de `CLAUDE_STREAM_IDLE_TIMEOUT_MS` lorsqu'elle est définie, qui est limitée à un minimum de 5 minutes, indépendamment du chien de garde au niveau des événements |304| `CLAUDE_ENABLE_BYTE_WATCHDOG` | Définissez sur `1` pour forcer l'activation du chien de garde d'inactivité au niveau des octets, ou définissez sur `0` pour forcer la désactivation. Lorsqu'il n'est pas défini, le chien de garde est activé par défaut pour les connexions API Anthropic directes et [Claude Platform on AWS](/fr/claude-platform-on-aws). Le chien de garde d'octets abandonne une connexion lorsqu'aucun octet n'arrive sur le fil pendant 180 secondes par défaut sur les connexions API Anthropic directes, 300 secondes sur Claude Platform on AWS et lorsqu'il est activé sur Bedrock, ou pour la valeur de `CLAUDE_STREAM_IDLE_TIMEOUT_MS` lorsqu'elle est définie, qui est limitée à un minimum de 5 minutes, indépendamment du chien de garde au niveau des événements |

300| `CLAUDE_ENABLE_BYTE_WATCHDOG_BEDROCK` | Définissez sur `1` pour activer le chien de garde d'inactivité de streaming au niveau des octets sur les réponses Amazon Bedrock `vnd.amazon.eventstream`. Désactivé par défaut. Configurez le délai d'expiration avec `CLAUDE_STREAM_IDLE_TIMEOUT_MS` |305| `CLAUDE_ENABLE_BYTE_WATCHDOG_BEDROCK` | Définissez sur `1` pour activer le chien de garde d'inactivité de streaming au niveau des octets sur les réponses Amazon Bedrock `vnd.amazon.eventstream`. Désactivé par défaut. Configurez le délai d'expiration avec `CLAUDE_STREAM_IDLE_TIMEOUT_MS` |

301| `CLAUDE_ENABLE_STREAM_WATCHDOG` | Définissez sur `1` pour forcer l'activation du chien de garde d'inactivité de streaming au niveau des événements, ou définissez sur `0` pour forcer la désactivation. Lorsqu'il n'est pas défini, la valeur par défaut est contrôlée par le serveur sur l'API Anthropic directe et désactivée sur les autres fournisseurs. {/* min-version: 2.1.169 */}À partir de v2.1.169, les fournisseurs autres que l'API Anthropic directe et Claude Platform on AWS ont également un délai d'expiration d'inactivité du corps de 5 minutes par défaut indépendant de cette variable ; voir `API_FORCE_IDLE_TIMEOUT`. Sur Bedrock, vous pouvez également activer le chien de garde indépendant au niveau des octets avec `CLAUDE_ENABLE_BYTE_WATCHDOG_BEDROCK` ; les deux s'exécutent ensemble lorsque les deux sont définis. Configurez le délai d'expiration avec `CLAUDE_STREAM_IDLE_TIMEOUT_MS` |306| `CLAUDE_ENABLE_STREAM_WATCHDOG` | Définissez sur `0` pour forcer-désactiver le chien de garde d'inactivité de streaming au niveau des événements, ou définissez sur `1` pour forcer-activer. {/* min-version: 2.1.196 */}Lorsqu'il n'est pas défini, le chien de garde est activé par défaut pour tous les fournisseurs. Avant v2.1.196, la valeur par défaut non définie était contrôlée par le serveur sur l'API Anthropic directe et désactivée sur les autres fournisseurs. {/* min-version: 2.1.169 */}À partir de v2.1.169, les fournisseurs autres que l'API Anthropic directe et Claude Platform on AWS ont également un délai d'expiration d'inactivité du corps de 5 minutes par défaut indépendant de cette variable ; voir `API_FORCE_IDLE_TIMEOUT`. Sur Bedrock, vous pouvez également activer le chien de garde indépendant au niveau des octets avec `CLAUDE_ENABLE_BYTE_WATCHDOG_BEDROCK` ; les deux s'exécutent ensemble lorsque les deux sont définis. Configurez le délai d'expiration avec `CLAUDE_STREAM_IDLE_TIMEOUT_MS` |

302| `CLAUDE_ENV_FILE` | Chemin d'accès à un script shell dont le contenu Claude Code exécute avant chaque commande Bash dans le même processus shell, de sorte que les exports du fichier sont visibles pour la commande. À utiliser pour persister l'activation de virtualenv ou conda entre les commandes. Également rempli dynamiquement par les hooks [SessionStart](/fr/hooks#persist-environment-variables), [Setup](/fr/hooks#setup), [CwdChanged](/fr/hooks#cwdchanged) et [FileChanged](/fr/hooks#filechanged) |307| `CLAUDE_ENV_FILE` | Chemin d'accès à un script shell dont le contenu Claude Code exécute avant chaque commande Bash dans le même processus shell, de sorte que les exports du fichier sont visibles pour la commande. À utiliser pour persister l'activation de virtualenv ou conda entre les commandes. Également rempli dynamiquement par les hooks [SessionStart](/fr/hooks#persist-environment-variables), [Setup](/fr/hooks#setup), [CwdChanged](/fr/hooks#cwdchanged) et [FileChanged](/fr/hooks#filechanged) |

303| `CLAUDE_REMOTE_CONTROL_SESSION_NAME_PREFIX` | Préfixe pour les noms de session [Contrôle à distance](/fr/remote-control) générés automatiquement lorsqu'aucun nom explicite n'est fourni. Par défaut, le nom d'hôte de votre machine, produisant des noms comme `myhost-graceful-unicorn`. Le drapeau CLI `--remote-control-session-name-prefix` définit la même valeur pour une seule invocation |308| `CLAUDE_REMOTE_CONTROL_SESSION_NAME_PREFIX` | Préfixe pour les noms de session [Contrôle à distance](/fr/remote-control) générés automatiquement lorsqu'aucun nom explicite n'est fourni. Par défaut, le nom d'hôte de votre machine, produisant des noms comme `myhost-graceful-unicorn`. Le drapeau CLI `--remote-control-session-name-prefix` définit la même valeur pour une seule invocation |

304| `CLAUDE_STREAM_IDLE_TIMEOUT_MS` | Délai d'expiration en millisecondes avant que le chien de garde d'inactivité de streaming ferme une connexion bloquée. Lorsque vous définissez cette variable explicitement, le minimum est `300000` (5 minutes) ; les valeurs inférieures sont silencieusement limitées pour absorber les pauses de réflexion étendue et la mise en mémoire tampon du proxy. Lorsqu'il n'est pas défini, le chien de garde au niveau des événements par défaut à 300 secondes et le chien de garde au niveau des octets par défaut à 180 secondes sur les connexions API Anthropic directes (300 secondes sur Claude Platform on AWS et les autres fournisseurs). La valeur par défaut non définie de 180 secondes du chien de garde au niveau des octets est une valeur distincte et n'est pas soumise à la limite de 5 minutes. Pour le chien de garde au niveau des événements sur les fournisseurs tiers, nécessite `CLAUDE_ENABLE_STREAM_WATCHDOG=1` ; le délai d'expiration d'inactivité du corps décrit sous `API_FORCE_IDLE_TIMEOUT` s'applique indépendamment. Sur Bedrock, s'applique également lorsque `CLAUDE_ENABLE_BYTE_WATCHDOG_BEDROCK=1` |309| `CLAUDE_STREAM_IDLE_TIMEOUT_MS` | Délai d'expiration en millisecondes avant que le chien de garde d'inactivité de streaming ferme une connexion bloquée. Lorsque vous définissez cette variable explicitement, le minimum est `300000` (5 minutes) ; les valeurs inférieures sont silencieusement limitées pour absorber les pauses de réflexion étendue et la mise en mémoire tampon du proxy. Lorsqu'il n'est pas défini, le chien de garde au niveau des événements par défaut à 300 secondes et le chien de garde au niveau des octets par défaut à 180 secondes sur les connexions API Anthropic directes (300 secondes sur Claude Platform on AWS et les autres fournisseurs). La valeur par défaut non définie de 180 secondes du chien de garde au niveau des octets est une valeur distincte et n'est pas soumise à la limite de 5 minutes. Le délai d'expiration d'inactivité du corps décrit sous `API_FORCE_IDLE_TIMEOUT` s'applique indépendamment. Sur Bedrock, s'applique également lorsque `CLAUDE_ENABLE_BYTE_WATCHDOG_BEDROCK=1` |

305| `DEBUG` | Définissez sur `1` pour activer le mode débogage, équivalent au lancement avec [`--debug`](/fr/cli-reference#cli-flags). Les journaux de débogage sont écrits dans `~/.claude/debug/<session-id>.txt`, ou dans le chemin défini par `CLAUDE_CODE_DEBUG_LOGS_DIR`. Seules les valeurs véridiques `1`, `true`, `yes` et `on` activent le mode débogage, donc les modèles d'espace de noms comme `DEBUG=express:*` définis pour d'autres outils ne le déclenchent pas |310| `DEBUG` | Définissez sur `1` pour activer le mode débogage, équivalent au lancement avec [`--debug`](/fr/cli-reference#cli-flags). Les journaux de débogage sont écrits dans `~/.claude/debug/<session-id>.txt`, ou dans le chemin défini par `CLAUDE_CODE_DEBUG_LOGS_DIR`. Seules les valeurs véridiques `1`, `true`, `yes` et `on` activent le mode débogage, donc les modèles d'espace de noms comme `DEBUG=express:*` définis pour d'autres outils ne le déclenchent pas |

306| `DISABLE_AUTOUPDATER` | Définissez sur `1` pour désactiver les mises à jour automatiques en arrière-plan. La commande manuelle `claude update` fonctionne toujours. Utilisez `DISABLE_UPDATES` pour bloquer les deux |311| `DISABLE_AUTOUPDATER` | Définissez sur `1` pour désactiver les mises à jour automatiques en arrière-plan. La commande manuelle `claude update` fonctionne toujours. Utilisez `DISABLE_UPDATES` pour bloquer les deux |

307| `DISABLE_AUTO_COMPACT` | Définissez sur `1` pour désactiver le compactage automatique lorsque vous approchez de la limite de contexte. La commande manuelle `/compact` reste disponible. À utiliser lorsque vous souhaitez un contrôle explicite sur le moment du compactage |312| `DISABLE_AUTO_COMPACT` | Définissez sur `1` pour désactiver le compactage automatique lorsque vous approchez de la limite de contexte. La commande manuelle `/compact` reste disponible. À utiliser lorsque vous souhaitez un contrôle explicite sur le moment du compactage |


348| `MCP_TIMEOUT` | Délai d'expiration en millisecondes pour le démarrage du serveur MCP (par défaut : 30 000, ou 30 secondes) |353| `MCP_TIMEOUT` | Délai d'expiration en millisecondes pour le démarrage du serveur MCP (par défaut : 30 000, ou 30 secondes) |

349| `MCP_TOOL_TIMEOUT` | Délai d'expiration en millisecondes pour l'exécution de l'outil MCP (par défaut : 100 000 000, environ 28 heures). Un champ `timeout` par serveur dans `.mcp.json` remplace ceci pour ce serveur. Pour la variable env, les valeurs inférieures à 1 000 sont arrondies à une seconde ; pour le champ par serveur, les valeurs inférieures à 1 000 sont ignorées |354| `MCP_TOOL_TIMEOUT` | Délai d'expiration en millisecondes pour l'exécution de l'outil MCP (par défaut : 100 000 000, environ 28 heures). Un champ `timeout` par serveur dans `.mcp.json` remplace ceci pour ce serveur. Pour la variable env, les valeurs inférieures à 1 000 sont arrondies à une seconde ; pour le champ par serveur, les valeurs inférieures à 1 000 sont ignorées |

350| `NO_PROXY` | Liste des domaines et adresses IP vers lesquels les requêtes seront émises directement, en contournant le proxy |355| `NO_PROXY` | Liste des domaines et adresses IP vers lesquels les requêtes seront émises directement, en contournant le proxy |

356| `OTEL_LOG_ASSISTANT_RESPONSES` | {/* min-version: 2.1.193 */}Définissez sur `1` pour inclure le texte de la réponse du modèle sur les événements de journal OpenTelemetry `assistant_response`. Lorsqu'il n'est pas défini, la valeur de `OTEL_LOG_USER_PROMPTS` est utilisée à la place. Définissez sur `0` pour garder les réponses masquées même lorsque `OTEL_LOG_USER_PROMPTS` est défini. Nécessite Claude Code v2.1.193 ou ultérieur. Voir [Surveillance](/fr/monitoring-usage#assistant-response-event) |

351| `OTEL_LOG_RAW_API_BODIES` | Émettre la requête et la réponse JSON complètes de l'API Anthropic Messages en tant qu'événements de journal `api_request_body` / `api_response_body`. Définissez sur `1` pour les corps en ligne tronqués à 60 Ko, ou `file:<dir>` pour écrire les corps non tronqués sur le disque et émettre une référence de chemin `body_ref` à la place. Désactivé par défaut ; les corps incluent l'historique complet de la conversation. Voir [Surveillance](/fr/monitoring-usage#api-request-body-event) |357| `OTEL_LOG_RAW_API_BODIES` | Émettre la requête et la réponse JSON complètes de l'API Anthropic Messages en tant qu'événements de journal `api_request_body` / `api_response_body`. Définissez sur `1` pour les corps en ligne tronqués à 60 Ko, ou `file:<dir>` pour écrire les corps non tronqués sur le disque et émettre une référence de chemin `body_ref` à la place. Désactivé par défaut ; les corps incluent l'historique complet de la conversation. Voir [Surveillance](/fr/monitoring-usage#api-request-body-event) |

352| `OTEL_LOG_TOOL_CONTENT` | Définissez sur `1` pour inclure le contenu d'entrée et de sortie d'outil dans les événements d'intervalle OpenTelemetry. Désactivé par défaut pour protéger les données sensibles. Voir [Surveillance](/fr/monitoring-usage) |358| `OTEL_LOG_TOOL_CONTENT` | Définissez sur `1` pour inclure le contenu d'entrée et de sortie d'outil dans les événements d'intervalle OpenTelemetry. Désactivé par défaut pour protéger les données sensibles. Voir [Surveillance](/fr/monitoring-usage) |

353| `OTEL_LOG_TOOL_DETAILS` | Définissez sur `1` pour inclure les arguments d'entrée d'outil, les noms de serveurs MCP, les chaînes d'erreur brutes en cas d'échec d'outil et d'autres détails d'outils dans les traces et journaux OpenTelemetry. Désactivé par défaut pour protéger les informations personnelles. Voir [Surveillance](/fr/monitoring-usage) |359| `OTEL_LOG_TOOL_DETAILS` | Définissez sur `1` pour inclure les arguments d'entrée d'outil, les noms de serveurs MCP, les chaînes d'erreur brutes en cas d'échec d'outil, la catégorie de refus sur les événements `api_refusal` et d'autres détails d'outils dans les traces et journaux OpenTelemetry. Désactivé par défaut pour protéger les informations personnelles. Voir [Surveillance](/fr/monitoring-usage) |

354| `OTEL_LOG_USER_PROMPTS` | Définissez sur `1` pour inclure le texte de l'invite utilisateur dans les traces et journaux OpenTelemetry. Désactivé par défaut (les invites sont masquées). Voir [Surveillance](/fr/monitoring-usage) |360| `OTEL_LOG_USER_PROMPTS` | Définissez sur `1` pour inclure le texte de l'invite utilisateur dans les traces et journaux OpenTelemetry. Désactivé par défaut (les invites sont masquées). Voir [Surveillance](/fr/monitoring-usage) |

355| `OTEL_METRICS_INCLUDE_ACCOUNT_UUID` | Définissez sur `false` pour exclure l'UUID du compte des attributs de métriques (par défaut : inclus). Voir [Surveillance](/fr/monitoring-usage) |361| `OTEL_METRICS_INCLUDE_ACCOUNT_UUID` | Définissez sur `false` pour exclure l'UUID du compte des attributs de métriques (par défaut : inclus). Voir [Surveillance](/fr/monitoring-usage) |

356| `OTEL_METRICS_INCLUDE_ENTRYPOINT` | {/* min-version: 2.1.152 */}Définissez sur `true` pour inclure le point d'entrée de session dans les attributs de métriques (par défaut : exclu). Ajouté dans v2.1.152. Voir [Surveillance](/fr/monitoring-usage) |362| `OTEL_METRICS_INCLUDE_ENTRYPOINT` | {/* min-version: 2.1.152 */}Définissez sur `true` pour inclure le point d'entrée de session dans les attributs de métriques (par défaut : exclu). Ajouté dans v2.1.152. Voir [Surveillance](/fr/monitoring-usage) |

errors.md +22 −4

Details

40| `Your organization has disabled API key authentication` | [Authentification](#your-organization-has-disabled-api-key-authentication) |40| `Your organization has disabled API key authentication` | [Authentification](#your-organization-has-disabled-api-key-authentication) |

41| `Your organization has disabled Claude subscription access` | [Authentification](#your-organization-has-disabled-claude-subscription-access) |41| `Your organization has disabled Claude subscription access` | [Authentification](#your-organization-has-disabled-claude-subscription-access) |

42| `Routines are disabled by your organization's policy` | [Authentification](#routines-are-disabled-by-your-organization%E2%80%99s-policy) |42| `Routines are disabled by your organization's policy` | [Authentification](#routines-are-disabled-by-your-organization%E2%80%99s-policy) |

43| `Remote Control is only available when using Claude via api.anthropic.com` | [Authentification](#remote-control-requires-the-anthropic-api) |

43| `OAuth token revoked` / `OAuth token has expired` | [Authentification](#oauth-token-revoked-or-expired) |44| `OAuth token revoked` / `OAuth token has expired` | [Authentification](#oauth-token-revoked-or-expired) |

44| `does not meet scope requirement user:profile` | [Authentification](#oauth-scope-requirement) |45| `does not meet scope requirement user:profile` | [Authentification](#oauth-scope-requirement) |

45| `Unable to connect to API` | [Réseau](#unable-to-connect-to-api) |46| `Unable to connect to API` | [Réseau](#unable-to-connect-to-api) |


426* Demandez à un propriétaire de votre organisation d'activer le bouton bascule **Routines** sur [claude.ai/admin-settings/claude-code](https://claude.ai/admin-settings/claude-code)427* Demandez à un propriétaire de votre organisation d'activer le bouton bascule **Routines** sur [claude.ai/admin-settings/claude-code](https://claude.ai/admin-settings/claude-code)

427* Pour les travaux ponctuels programmés qui ne nécessitent pas de routines au niveau de l'organisation, consultez [tâches programmées](/fr/scheduled-tasks)428* Pour les travaux ponctuels programmés qui ne nécessitent pas de routines au niveau de l'organisation, consultez [tâches programmées](/fr/scheduled-tasks)

428 429 

430<h3 id="remote-control-requires-the-anthropic-api">

431 Remote Control requires the Anthropic API

432</h3>

433 

434La session ne communique pas directement avec l'API Anthropic, il n'y a donc pas de backend claude.ai pour que [Remote Control](/fr/remote-control) s'apparie avec.

435 

436```text theme={null}

437Remote Control is only available when using Claude via api.anthropic.com.

438```

439 

440Cela apparaît sur Amazon Bedrock, Google Vertex AI et Microsoft Foundry. {/* min-version: 2.1.196 */}À partir de la v2.1.196, cela apparaît également lorsque [`ANTHROPIC_BASE_URL`](/fr/env-vars) pointe vers un hôte autre que `api.anthropic.com`, comme une [passerelle LLM](/fr/llm-gateway) ou un proxy, même lorsque vous vous connectez avec claude.ai.

441 

442**Que faire :**

443 

444* Déconfigurez `ANTHROPIC_BASE_URL` et redémarrez la session, ou démarrez Remote Control à partir d'une session qui communique directement avec l'API Anthropic

445* Pour ce message et les autres messages de démarrage de Remote Control, consultez [Troubleshoot Remote Control](/fr/remote-control#troubleshooting)

446 

429<h3 id="oauth-token-revoked-or-expired">447<h3 id="oauth-token-revoked-or-expired">

430 OAuth token revoked or expired448 OAuth token revoked or expired

431</h3>449</h3>


727 thinking.type.enabled is not supported for this model745 thinking.type.enabled is not supported for this model

728</h3>746</h3>

729 747 

730Votre version de Claude Code est plus ancienne que le minimum pour Opus 4.7 ou Opus 4.8. L'interface CLI a envoyé une configuration de réflexion que le modèle n'accepte plus.748Votre version de Claude Code est plus ancienne que le minimum pour Sonnet 5, Opus 4.8 ou Opus 4.7. L'interface CLI a envoyé une configuration de réflexion que le modèle n'accepte plus.

731 749 

732```text theme={null}750```text theme={null}

733API Error: 400 ... "thinking.type.enabled" is not supported for this model. Use "thinking.type.adaptive" and "output_config.effort" to control thinking behavior.751API Error: 400 ... "thinking.type.enabled" is not supported for this model. Use "thinking.type.adaptive" and "output_config.effort" to control thinking behavior.


735 753 

736**Que faire :**754**Que faire :**

737 755 

738* Exécutez `claude update` et redémarrez Claude Code. Opus 4.7 nécessite v2.1.111 ou ultérieur. Opus 4.8 nécessite v2.1.154 ou ultérieur756* Exécutez `claude update` et redémarrez Claude Code. Opus 4.7 nécessite v2.1.111 ou ultérieur. Opus 4.8 nécessite v2.1.154 ou ultérieur. Sonnet 5 nécessite v2.1.197 ou ultérieur

739* Si vous ne pouvez pas mettre à niveau, exécutez `/model` et sélectionnez Opus 4.6 ou Sonnet à la place757* Si vous ne pouvez pas mettre à niveau, exécutez `/model` et sélectionnez Opus 4.6 ou Sonnet 4.6 à la place

740* Si vous rencontrez cela dans le SDK Agent, consultez [SDK troubleshooting](/fr/agent-sdk/quickstart#troubleshooting)758* {/* min-version: agent-sdk@0.3.197 */}Si vous rencontrez cela dans le [Agent SDK](/fr/agent-sdk/overview), mettez à niveau le package SDK à la place. Opus 4.8 nécessite le SDK TypeScript v0.3.154 ou ultérieur et le SDK Python v0.2.88 ou ultérieur. Sonnet 5 nécessite le SDK TypeScript v0.3.197 ou ultérieur

741 759 

742<h3 id="thinking-budget-exceeds-output-limit">760<h3 id="thinking-budget-exceeds-output-limit">

743 Thinking budget exceeds output limit761 Thinking budget exceeds output limit

fullscreen.md +13 −3

Details

62* **Cliquez et glissez** pour sélectionner du texte n'importe où dans la conversation. Double-cliquez pour sélectionner un mot, en correspondant avec les limites de mots d'iTerm2 afin qu'un chemin de fichier se sélectionne comme une unité. Triple-cliquez pour sélectionner la ligne.62* **Cliquez et glissez** pour sélectionner du texte n'importe où dans la conversation. Double-cliquez pour sélectionner un mot, en correspondant avec les limites de mots d'iTerm2 afin qu'un chemin de fichier se sélectionne comme une unité. Triple-cliquez pour sélectionner la ligne.

63* **Faites défiler avec la molette de la souris** pour vous déplacer dans la conversation.63* **Faites défiler avec la molette de la souris** pour vous déplacer dans la conversation.

64 64 

65Le texte sélectionné est copié automatiquement dans votre presse-papiers au relâchement de la souris. Pour désactiver cela, basculez Copier à la sélection dans `/config`. Avec cette option désactivée, appuyez sur `Ctrl+Shift+c` pour copier manuellement. Sur les terminaux qui supportent le protocole clavier kitty, comme kitty, WezTerm, Ghostty et iTerm2, `Cmd+c` fonctionne également. Si vous avez une sélection active, `Ctrl+c` copie au lieu d'annuler.65Le texte sélectionné est copié automatiquement dans votre presse-papiers au relâchement de la souris. Pour désactiver cela, basculez Copier à la sélection dans `/config`.

66 

67Avec Copier à la sélection désactivé, appuyez sur `Ctrl+Shift+c` pour copier manuellement. Sur les terminaux qui supportent le protocole clavier kitty, comme kitty, WezTerm, Ghostty et iTerm2, `Cmd+c` fonctionne également. Si vous avez une sélection active, `Ctrl+c` copie au lieu d'annuler.

66 68 

67Avec une sélection active, maintenez `Shift` et appuyez sur les touches fléchées pour l'étendre à partir du clavier. `Shift+↑` et `Shift+↓` font défiler la fenêtre d'affichage lorsque la sélection atteint le bord supérieur ou inférieur. `Shift+Home` et `Shift+End` étendent jusqu'au début ou à la fin de la ligne actuelle.69Avec une sélection active, maintenez `Shift` et appuyez sur les touches fléchées pour l'étendre à partir du clavier. `Shift+↑` et `Shift+↓` font défiler la fenêtre d'affichage lorsque la sélection atteint le bord supérieur ou inférieur. `Shift+Home` et `Shift+End` étendent jusqu'au début ou à la fin de la ligne actuelle.

68 70 


107 109 

108Une valeur de `3` correspond à la valeur par défaut dans `vim` et les applications similaires. Le paramètre accepte les valeurs de 1 à 20, et les valeurs fractionnaires inférieures à 1 telles que `0,5` pour ralentir le défilement accéléré du trackpad et de la molette dans les terminaux qui amplifient déjà les événements de molette.110Une valeur de `3` correspond à la valeur par défaut dans `vim` et les applications similaires. Le paramètre accepte les valeurs de 1 à 20, et les valeurs fractionnaires inférieures à 1 telles que `0,5` pour ralentir le défilement accéléré du trackpad et de la molette dans les terminaux qui amplifient déjà les événements de molette.

109 111 

110Pour ajuster la vitesse de défilement de manière interactive, exécutez `/scroll-speed`. La boîte de dialogue affiche une règle que vous pouvez faire défiler pendant qu'elle est ouverte afin que vous puissiez ressentir le changement immédiatement. Appuyez sur `←` et `→` pour ajuster, `r` pour réinitialiser à la valeur par défaut détectée automatiquement, et `Entrée` pour enregistrer. La commande écrit la même valeur que la variable d'environnement `CLAUDE_CODE_SCROLL_SPEED` définit, persistée à `~/.claude/settings.json`. La commande n'est pas disponible dans le terminal de l'IDE JetBrains.112Pour ajuster la vitesse de défilement de manière interactive, exécutez `/scroll-speed`. La boîte de dialogue affiche une règle que vous pouvez faire défiler pendant qu'elle est ouverte afin que vous puissiez ressentir le changement immédiatement. Appuyez sur `←` et `→` pour ajuster, `r` pour réinitialiser à la valeur par défaut détectée automatiquement, et `Entrée` pour enregistrer.

113 

114La commande écrit la même valeur que la variable d'environnement `CLAUDE_CODE_SCROLL_SPEED` définit, persistée à `~/.claude/settings.json`. La commande n'est pas disponible dans le terminal de l'IDE JetBrains.

111 115 

112Indépendamment de la vitesse de base, Claude Code accélère la vitesse de défilement lorsque vous tournez la molette rapidement, donc une rotation rapide couvre plus de distance que le même nombre de crans lents. Pour désactiver l'accélération et maintenir une vitesse constante par cran, définissez `wheelScrollAccelerationEnabled` sur `false` dans [`settings.json`](/fr/settings#available-settings). Ce paramètre nécessite Claude Code v2.1.174 ou une version ultérieure.116Indépendamment de la vitesse de base, Claude Code accélère la vitesse de défilement lorsque vous tournez la molette rapidement, donc une rotation rapide couvre plus de distance que le même nombre de crans lents. Pour désactiver l'accélération et maintenir une vitesse constante par cran, définissez `wheelScrollAccelerationEnabled` sur `false` dans [`settings.json`](/fr/settings#available-settings). Ce paramètre nécessite Claude Code v2.1.174 ou une version ultérieure.

113 117 


123 Rechercher et examiner la conversation127 Rechercher et examiner la conversation

124</h2>128</h2>

125 129 

126`Ctrl+o` bascule entre l'invite normale et le mode transcription. Pour une vue plus calme qui affiche uniquement votre dernière invite, un résumé d'une ligne des appels d'outil avec les statistiques de diff de modification, et la réponse finale, exécutez `/focus`. Le paramètre persiste entre les sessions. Exécutez `/focus` à nouveau pour le désactiver.130`Ctrl+o` bascule entre l'invite normale et le mode transcription.

131 

132Pour une vue plus calme qui affiche uniquement votre dernière invite, un résumé d'une ligne des appels d'outil avec les statistiques de diff de modification, et la réponse finale, exécutez `/focus`. Le paramètre persiste entre les sessions. Exécutez `/focus` à nouveau pour le désactiver.

127 133 

128Le mode transcription gagne la navigation et la recherche de style `less` :134Le mode transcription gagne la navigation et la recherche de style `less` :

129 135 


203 209 

204Avec la capture de souris désactivée, le défilement au clavier avec `PgUp`, `PgDn`, `Ctrl+Home` et `Ctrl+End` fonctionne toujours, et votre terminal gère la sélection nativement. Vous perdez le clic pour positionner le curseur, le clic pour développer la sortie de l'outil, le clic sur URL et le défilement à la molette à l'intérieur de Claude Code.210Avec la capture de souris désactivée, le défilement au clavier avec `PgUp`, `PgDn`, `Ctrl+Home` et `Ctrl+End` fonctionne toujours, et votre terminal gère la sélection nativement. Vous perdez le clic pour positionner le curseur, le clic pour développer la sortie de l'outil, le clic sur URL et le défilement à la molette à l'intérieur de Claude Code.

205 211 

212Pour conserver le défilement à la molette mais désactiver le clic, le glissement et la gestion du survol, définissez `CLAUDE_CODE_DISABLE_MOUSE_CLICKS=1` à la place. Nécessite Claude Code v2.1.195 ou version ultérieure. `CLAUDE_CODE_DISABLE_MOUSE` a la priorité lorsque les deux variables sont définies.

213 

214Avec les clics désactivés, Claude Code capture toujours la souris, donc la molette et le pavé tactile font défiler la conversation mais les clics gauches ne font rien à l'intérieur de Claude Code. Vous devez toujours maintenir la touche de votre terminal enfoncée pour la sélection natif par clic et glissement. Le clic droit et le collage au clic du milieu continuent de fonctionner sur les terminaux qui les supportent.

215 

206<h2 id="research-preview">216<h2 id="research-preview">

207 Aperçu de recherche217 Aperçu de recherche

208</h2>218</h2>

gateways.md +87 −0 created

Details

1> ## Documentation Index

2> Fetch the complete documentation index at: https://code.claude.com/docs/llms.txt

3> Use this file to discover all available pages before exploring further.

4 

5# Exécuter Claude Code via une passerelle

6 

7> Acheminez Claude Code via une passerelle auto-hébergée pour les identifiants centralisés, le suivi de l'utilisation et les contrôles de coûts. Couvre l'architecture, la passerelle d'applications Claude d'Anthropic et l'utilisation d'autres produits de passerelle.

8 

9Une passerelle est un proxy que votre organisation exécute entre Claude Code et un fournisseur de modèles. Claude Code envoie le trafic API à la passerelle au lieu de l'envoyer directement au fournisseur, et la passerelle le transfère en utilisant un identifiant que votre organisation détient. Les développeurs s'authentifient auprès de la passerelle plutôt que de détenir des identifiants de fournisseur, de sorte que l'authentification, le suivi de l'utilisation, les budgets et la journalisation d'audit se produisent en un seul endroit que vous contrôlez.

10 

11Claude Code inclut une passerelle auto-hébergée, [Claude apps gateway](/fr/claude-apps-gateway), dans le binaire `claude`, vous n'avez donc pas besoin d'adopter un produit de passerelle distinct pour en exécuter une. Si votre organisation exécute déjà une [passerelle LLM](/fr/llm-gateway), Claude Code fonctionne également avec celle-ci.

12 

13Cette page couvre :

14 

15* [Comment une passerelle s'insère entre Claude Code et votre fournisseur](#how-a-gateway-works)

16* [Choisir entre la passerelle d'applications Claude et une passerelle que vous exécutez déjà](#choose-a-gateway)

17* [Comment les passerelles interagissent avec les abonnements claude.ai](#subscriptions-and-gateways)

18* [Ce qui est configuré séparément de la passerelle](#configure-separately-from-the-gateway)

19 

20<h2 id="how-a-gateway-works">

21 Comment fonctionne une passerelle

22</h2>

23 

24Chaque Claude Code de développeur est pointé vers l'adresse de la passerelle et s'authentifie avec un identifiant émis par la passerelle.

25 

26La passerelle authentifie le développeur, applique les règles d'accès et de budget que vous configurez, et transfère la demande à votre fournisseur avec l'identifiant de l'organisation. Le fournisseur peut être l'API d'Anthropic ou un [fournisseur cloud](/fr/third-party-integrations) tel qu'Amazon Bedrock, Agent Platform de Google Cloud ou Microsoft Foundry ; la configuration de la passerelle le décide. Avec la passerelle d'applications Claude, ou une autre passerelle qui expose un seul point de terminaison au format Anthropic, le changement de fournisseur ne nécessite pas de toucher aux machines des développeurs.

27 

28<Frame>

29 <img src="https://mintcdn.com/claude-code/-uq-4JE0W_JO5Er5/images/llm-gateway-flow.svg?fit=max&auto=format&n=-uq-4JE0W_JO5Er5&q=85&s=1c1a8dcc0cfcc3a58652cc8e28cd3e20" alt="Diagramme montrant Claude Code acheminé via une passerelle. Dans une zone de machines de développeur, l'interface CLI Claude Code et l'extension VS Code envoient des demandes à l'adresse de la passerelle avec un identifiant par développeur. Dans une zone intitulée votre infrastructure, la passerelle gère l'authentification, le suivi de l'utilisation, les budgets et l'acheminement, et transfère les demandes avec l'identifiant de votre organisation. Dans une zone de fournisseurs de modèles, une flèche pleine mène au fournisseur que vous configurez, affiché comme l'API Anthropic, et des flèches pointillées mènent à d'autres options de fournisseur, illustrées avec Amazon Bedrock, Google Cloud et Microsoft Foundry comme exemples." width="780" height="322" data-path="images/llm-gateway-flow.svg" />

30</Frame>

31 

32Deux types d'identifiants sont impliqués :

33 

34* **Identifiant de développeur** : chaque développeur en détient un, émis par la passerelle. Il l'authentifie auprès de la passerelle et l'identifie dans le suivi de l'utilisation

35* **Identifiant de fournisseur** : la passerelle détient un identifiant pour votre compte fournisseur, partagé par tout le trafic transféré

36 

37<h2 id="choose-a-gateway">

38 Choisir une passerelle

39</h2>

40 

41Claude Code fonctionne avec la passerelle d'Anthropic ou avec une passerelle que votre organisation exécute déjà.

42 

43<h3 id="claude-apps-gateway">

44 Passerelle d'applications Claude

45</h3>

46 

47La passerelle d'applications Claude est la passerelle auto-hébergée d'Anthropic, incluse dans le binaire `claude`. Elle achemine vers Amazon Bedrock, Google Cloud, Microsoft Foundry ou l'API Anthropic en amont. Les développeurs se connectent avec votre fournisseur d'identité d'entreprise via `/login`, la passerelle applique l'accès aux modèles et les [paramètres gérés](/fr/permissions#managed-settings) par groupe IdP, et elle émet des métriques d'utilisation du [protocole OpenTelemetry (OTLP)](/fr/monitoring-usage) vers votre propre pile d'observabilité.

48 

49Parce qu'elle est construite et testée aux côtés de chaque version de Claude Code, elle transfère les en-têtes et les champs de demande que Claude Code envoie. Une passerelle maintenue séparément doit avoir ses [règles de transfert mises à jour](/fr/llm-gateway-protocol#forward-as-open-lists) à mesure que ces en-têtes et champs changent à chaque version ; la passerelle d'applications Claude est publiée avec l'interface CLI, il n'y a donc pas de liste à tenir à jour. Voir [Disponibilité et limitations](/fr/claude-apps-gateway#availability-and-limitations) pour le petit ensemble de fonctionnalités qui se comportent différemment sur une session de passerelle.

50 

51La connexion à la passerelle est une étape SSO du navigateur, et il n'y a pas de flux de jeton de service, donc un pipeline CI sans développeur pour approuver la connexion ne peut pas s'authentifier via celui-ci ; configurez-les directement auprès de votre fournisseur. Les sessions du SDK Agent et les exécutions `claude -p` sur une machine où un développeur s'est connecté utilisent la session de passerelle de cette machine et sont régies par ses politiques. Voir [Pipelines CI et machines distantes](/fr/claude-apps-gateway#ci-pipelines-and-remote-machines).

52 

53Voir [Claude apps gateway](/fr/claude-apps-gateway) pour la déployer.

54 

55<h3 id="other-gateways">

56 Autres passerelles

57</h3>

58 

59Si votre organisation exécute déjà une passerelle LLM ou une passerelle API, vous pouvez l'utiliser à la place. Anthropic n'approuve pas, ne maintient pas et n'audite pas d'autres produits de passerelle, et ne supporte pas l'acheminement de Claude Code vers des modèles non-Claude via aucune passerelle. Voir [Autres passerelles LLM](/fr/llm-gateway) pour la liste de contrôle du déploiement administrateur, ce qu'une passerelle doit implémenter et comment pointer Claude Code vers celle-ci.

60 

61<h2 id="subscriptions-and-gateways">

62 Abonnements et passerelles

63</h2>

64 

65Lorsque les développeurs se connectent via une passerelle avec un identifiant de passerelle, l'utilisation est facturée au compte fournisseur de votre organisation aux tarifs de l'API, et leurs abonnements claude.ai ne sont pas utilisés ni facturés. La définition de [`ANTHROPIC_AUTH_TOKEN`](/fr/env-vars) pour une passerelle que vous exécutez, ou la connexion à une passerelle d'applications Claude avec `/login`, désactive la connexion par abonnement pour cette session. Chaque demande transférée sous cet identifiant est facturée au compte derrière l'identifiant du fournisseur de la passerelle.

66 

67L'exception est de définir uniquement `ANTHROPIC_BASE_URL`, sans identifiant de passerelle. Les demandes s'acheminent toujours via la passerelle, mais une connexion claude.ai enregistrée reste l'identifiant actif, de sorte que les limites d'utilisation et la facturation de l'abonnement s'appliquent. [Autres passerelles LLM](/fr/llm-gateway#subscriptions-and-gateways) couvre cette configuration et ce que la passerelle doit transférer pour que cela fonctionne.

68 

69<h2 id="configure-separately-from-the-gateway">

70 Configurer séparément de la passerelle

71</h2>

72 

73Une passerelle achemine les demandes d'API de modèle. Quelques éléments que vous pourriez vous attendre à ce qu'elle gère sont configurés ailleurs :

74 

75* **Quel modèle répond** : choisissez le modèle avec la commande `/model` ou les [variables d'environnement de modèle](/fr/model-config#setting-your-model). La passerelle décide où les demandes vont, pas quel modèle le développeur sélectionne. La passerelle d'applications Claude peut limiter le choix avec une liste d'autorisation `availableModels` par groupe, mais le développeur choisit toujours dans celle-ci.

76* **Autre trafic réseau** : Claude Code lui-même envoie les vérifications de version et les téléchargements directement à Anthropic, séparément du chemin de la passerelle. Le fait que le flux de télémétrie client optionnel soit également activé dépend de votre fournisseur ; le [tableau des valeurs par défaut de télémétrie](/fr/data-usage#telemetry-services) couvre chaque cas. Sur une session de passerelle d'applications Claude signée, l'identifiant de passerelle désactive l'analyse liée à Anthropic et, lorsque le [transfert de télémétrie](/fr/claude-apps-gateway-config#telemetry) est configuré, épingle l'export OTLP à la passerelle. Votre réseau a toujours besoin d'une sortie vers les [domaines requis](/fr/network-config), ou définissez [`CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`](/fr/env-vars) pour désactiver les flux optionnels.

77* **Proxies HTTP d'entreprise** : un `HTTPS_PROXY` s'insère entre Claude Code et chaque serveur avec lequel il communique, y compris la passerelle. Si votre réseau en nécessite un, [configurez le proxy](/fr/network-config) en plus de la passerelle. Pour la passerelle d'applications Claude spécifiquement, [la connexion vérifie que l'hôte proxy est également sur un réseau privé](/fr/claude-apps-gateway#prerequisites) ; si ce n'est pas le cas, ajoutez l'hôte de la passerelle à `NO_PROXY` pour que l'interface CLI s'y connecte directement.

78 

79<h2 id="next-steps">

80 Étapes suivantes

81</h2>

82 

83La page suivante dépend de qui exécute la passerelle. La passerelle d'Anthropic s'exécute à partir du binaire `claude` et a son propre guide de configuration ; une passerelle que votre organisation exécute déjà a un protocole à implémenter et une liste de contrôle du déploiement administrateur.

84 

85* [Claude apps gateway](/fr/claude-apps-gateway) pour déployer la passerelle auto-hébergée d'Anthropic avec la connexion SSO et la télémétrie OTLP

86* [Autres passerelles LLM](/fr/llm-gateway) pour ce qu'une passerelle que votre organisation exécute déjà doit implémenter, et comment pointer Claude Code vers celle-ci

87* [Configurer Claude Code pour votre organisation](/fr/admin-setup) pour les décisions de déploiement plus larges dont une passerelle est une partie

Details

127 anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}127 anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}

128 custom_instructions: "Follow our coding standards"128 custom_instructions: "Follow our coding standards"

129 max_turns: "10"129 max_turns: "10"

130 model: "claude-sonnet-4-6"130 model: "claude-sonnet-5"

131```131```

132 132 

133**Version GA (v1.0) :**133**Version GA (v1.0) :**


140 claude_args: |140 claude_args: |

141 --append-system-prompt "Follow our coding standards"141 --append-system-prompt "Follow our coding standards"

142 --max-turns 10142 --max-turns 10

143 --model claude-sonnet-4-6143 --model claude-sonnet-5

144```144```

145 145 

146<Tip>146<Tip>


228 228 

229Dans les commentaires d'issue ou de PR :229Dans les commentaires d'issue ou de PR :

230 230 

231```text theme={null}231```text wrap theme={null}

232@claude implement this feature based on the issue description232@claude implement this feature based on the issue description

233@claude how should I implement user authentication for this endpoint?233@claude how should I implement user authentication for this endpoint?

234@claude fix the TypeError in the user dashboard component234@claude fix the TypeError in the user dashboard component


709Le paramètre `claude_args` accepte n'importe quel argument Claude Code CLI :709Le paramètre `claude_args` accepte n'importe quel argument Claude Code CLI :

710 710 

711```yaml theme={null}711```yaml theme={null}

712claude_args: "--max-turns 5 --model claude-sonnet-4-6 --mcp-config /path/to/config.json"712claude_args: "--max-turns 5 --model claude-sonnet-5 --mcp-config /path/to/config.json"

713```713```

714 714 

715Arguments courants :715Arguments courants :

716 716 

717* `--max-turns` : Nombre maximum de tours de conversation (par défaut : 10)717* `--max-turns` : Nombre maximum de tours de conversation (par défaut : 10)

718* `--model` : Modèle à utiliser (par exemple, `claude-sonnet-4-6`)718* `--model` : Modèle à utiliser (par exemple, `claude-sonnet-5`)

719* `--mcp-config` : Chemin vers la configuration MCP719* `--mcp-config` : Chemin vers la configuration MCP

720* `--allowedTools` : Liste séparée par des virgules des outils autorisés. L'alias `--allowed-tools` fonctionne également.720* `--allowedTools` : Liste séparée par des virgules des outils autorisés. L'alias `--allowed-tools` fonctionne également.

721* `--debug` : Activer la sortie de débogage721* `--debug` : Activer la sortie de débogage

glossary.md +1 −1

Details

170 Effort level170 Effort level

171</h3>171</h3>

172 172 

173Un paramètre qui contrôle la quantité du budget de réflexion adaptative que Claude utilise à chaque tour. Un effort plus élevé signifie plus de tokens de réflexion et un raisonnement plus profond ; un effort plus faible est plus rapide et moins cher. L'effort est pris en charge sur Fable 5, sur Opus 4.6 et versions ultérieures, ainsi que sur Sonnet 4.6.173Un paramètre qui contrôle la quantité du budget de réflexion adaptative que Claude utilise à chaque tour. Un effort plus élevé signifie plus de tokens de réflexion et un raisonnement plus profond ; un effort plus faible est plus rapide et moins cher. L'effort est pris en charge sur Fable 5, sur Opus 4.6 et versions ultérieures, ainsi que sur Sonnet 4.6 et versions ultérieures.

174 174 

175En savoir plus : [Adjust effort level](/fr/model-config#adjust-effort-level)175En savoir plus : [Adjust effort level](/fr/model-config#adjust-effort-level)

176 176 

Details

236 236 

237```bash theme={null}237```bash theme={null}

238export ANTHROPIC_DEFAULT_OPUS_MODEL='claude-opus-4-8'238export ANTHROPIC_DEFAULT_OPUS_MODEL='claude-opus-4-8'

239export ANTHROPIC_DEFAULT_SONNET_MODEL='claude-sonnet-4-6'239export ANTHROPIC_DEFAULT_SONNET_MODEL='claude-sonnet-5'

240export ANTHROPIC_DEFAULT_HAIKU_MODEL='claude-haiku-4-5@20251001'240export ANTHROPIC_DEFAULT_HAIKU_MODEL='claude-haiku-4-5@20251001'

241```241```

242 242 


290 Fenêtre de contexte de 1M de jetons290 Fenêtre de contexte de 1M de jetons

291</h2>291</h2>

292 292 

293Claude Opus 4.6 et versions ultérieures, ainsi que Sonnet 4.6, prennent en charge la [fenêtre de contexte de 1M de jetons](https://platform.claude.com/docs/en/build-with-claude/context-windows#1m-token-context-window) sur Vertex AI. Claude Code active automatiquement la fenêtre de contexte étendue lorsque vous sélectionnez une variante de modèle 1M.293Claude Sonnet 5, Opus 4.6 et versions ultérieures, ainsi que Sonnet 4.6, prennent en charge la [fenêtre de contexte de 1M de jetons](https://platform.claude.com/docs/en/build-with-claude/context-windows#1m-token-context-window) sur Vertex AI. Sonnet 5 s'exécute toujours avec la fenêtre 1M, sans variante `[1m]` à sélectionner. Pour les autres modèles, Claude Code active automatiquement la fenêtre de contexte étendue lorsque vous sélectionnez une variante de modèle 1M.

294 294 

295L'[assistant de configuration](#sign-in-with-vertex-ai) offre une option de contexte 1M lorsqu'il épingle les modèles. Pour l'activer pour un modèle épinglé manuellement à la place, ajoutez `[1m]` à l'ID du modèle. Consultez [Épingler les modèles pour les déploiements tiers](/fr/model-config#pin-models-for-third-party-deployments) pour plus de détails.295L'[assistant de configuration](#sign-in-with-vertex-ai) offre une option de contexte 1M lorsqu'il épingle les modèles. Pour l'activer pour un modèle épinglé manuellement à la place, ajoutez `[1m]` à l'ID du modèle. Consultez [Épingler les modèles pour les déploiements tiers](/fr/model-config#pin-models-for-third-party-deployments) pour plus de détails.

296 296 

hooks.md +53 −20

Details

191Le champ `matcher` filtre quand les hooks se déclenchent. La façon dont un matcher est évalué dépend des caractères qu'il contient :191Le champ `matcher` filtre quand les hooks se déclenchent. La façon dont un matcher est évalué dépend des caractères qu'il contient :

192 192 

193| Valeur du matcher | Évalué comme | Exemple |193| Valeur du matcher | Évalué comme | Exemple |

194| :------------------------------------------------------------------ | :------------------------------------------------------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------- |194| :----------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

195| `"*"`, `""` ou omis | Correspondre à tous | se déclenche à chaque occurrence de l'événement |195| `"*"`, `""` ou omis | Correspondre à tous | se déclenche à chaque occurrence de l'événement |

196| Uniquement des lettres, des chiffres, `_`, des espaces, `,` et `\|` | Chaîne exacte ou liste de chaînes exactes séparées par `\|` ou `,` avec espaces blancs optionnels autour | `Bash` correspond uniquement à l'outil Bash ; `Edit\|Write` et `Edit, Write` correspondent chacun à l'un ou l'autre outil exactement |196| Uniquement des lettres, des chiffres, `_`, `-`, des espaces, `,` et `\|` | Chaîne exacte ou liste de chaînes exactes séparées par `\|` ou `,` avec espaces blancs optionnels autour | `Bash` correspond uniquement à l'outil Bash ; `Edit\|Write` et `Edit, Write` correspondent chacun à l'un ou l'autre outil exactement ; `code-reviewer` correspond uniquement à ce type d'agent |

197| Contient tout autre caractère | Expression régulière JavaScript | `^Notebook` correspond à tout outil commençant par Notebook ; `mcp__memory__.*` correspond à chaque outil du serveur `memory` |197| Contient tout autre caractère | Expression régulière JavaScript, non ancrée | `^Notebook` correspond à tout outil commençant par Notebook ; `mcp__memory__.*` correspond à chaque outil du serveur `memory` |

198 198 

199Les séparateurs par virgule et la tolérance des espaces blancs environnants nécessitent Claude Code v2.1.191 ou ultérieur. Les événements `FileChanged` et `StopFailure` acceptent uniquement `|` comme séparateur de liste et traitent `,` comme un caractère littéral ; tous les autres événements listés dans le tableau qui suit acceptent `|` ou `,`.199Un matcher sur le chemin de l'expression régulière est testé avec `RegExp.prototype.test` de JavaScript, qui réussit sur une correspondance n'importe dans la valeur. `Edit.*` correspond à la fois à `Edit` et à `NotebookEdit` ; enveloppez le modèle dans `^` et `$`, comme dans `^Edit$`, lorsque vous avez besoin d'une correspondance de chaîne entière.

200 

201Les séparateurs par virgule et la tolérance des espaces blancs environnants nécessitent Claude Code v2.1.191 ou ultérieur.

202 

203Les traits d'union dans l'ensemble de correspondance exacte nécessitent Claude Code v2.1.195 ou ultérieur. Sur les versions antérieures, un nom avec trait d'union comme `code-reviewer` est évalué comme une expression régulière non ancrée, donc il se déclenche également pour `senior-code-reviewer` ; ancrez-le comme `^code-reviewer$` sur ces versions pour correspondre uniquement à ce nom.

204 

205`FileChanged` et `StopFailure` utilisent un ensemble de correspondance exacte plus étroit contenant uniquement des lettres, des chiffres, `_` et `|`. Un trait d'union, un espace ou une virgule dans un matcher pour ces deux événements le maintient sur le chemin de l'expression régulière, et seul `|` sépare les alternatives. Tous les autres événements avec support de matcher dans le tableau qui suit acceptent `|` ou `,`.

200 206 

201L'événement `FileChanged` ne suit pas ces règles lors de la construction de sa liste de surveillance. Consultez [FileChanged](#filechanged).207L'événement `FileChanged` ne suit pas ces règles lors de la construction de sa liste de surveillance. Consultez [FileChanged](#filechanged).

202 208 


209| `Setup` | quel drapeau CLI a déclenché la configuration | `init`, `maintenance` |215| `Setup` | quel drapeau CLI a déclenché la configuration | `init`, `maintenance` |

210| `SessionEnd` | pourquoi la session s'est terminée | `clear`, `resume`, `logout`, `prompt_input_exit`, `bypass_permissions_disabled`, `other` |216| `SessionEnd` | pourquoi la session s'est terminée | `clear`, `resume`, `logout`, `prompt_input_exit`, `bypass_permissions_disabled`, `other` |

211| `Notification` | type de notification | `permission_prompt`, `idle_prompt`, `auth_success`, `elicitation_dialog`, `elicitation_complete`, `elicitation_response` |217| `Notification` | type de notification | `permission_prompt`, `idle_prompt`, `auth_success`, `elicitation_dialog`, `elicitation_complete`, `elicitation_response` |

212| `SubagentStart` | type d'agent | `general-purpose`, `Explore`, `Plan` ou noms d'agents personnalisés |218| `SubagentStart` | type d'agent | `general-purpose`, `Explore`, `Plan`, noms d'agents personnalisés ou noms limités au plugin comme `^my-plugin:reviewer$` |

213| `PreCompact`, `PostCompact` | ce qui a déclenché la compaction | `manual`, `auto` |219| `PreCompact`, `PostCompact` | ce qui a déclenché la compaction | `manual`, `auto` |

214| `SubagentStop` | type d'agent | mêmes valeurs que `SubagentStart` |220| `SubagentStop` | type d'agent | mêmes valeurs que `SubagentStart` |

215| `ConfigChange` | source de configuration | `user_settings`, `project_settings`, `local_settings`, `policy_settings`, `skills` |221| `ConfigChange` | source de configuration | `user_settings`, `project_settings`, `local_settings`, `policy_settings`, `skills` |


244}250}

245```251```

246 252 

247`UserPromptSubmit`, `PostToolBatch`, `Stop`, `TeammateIdle`, `TaskCreated`, `TaskCompleted`, `WorktreeCreate`, `WorktreeRemove` et `CwdChanged` ne supportent pas les matchers et se déclenchent toujours à chaque occurrence. Si vous ajoutez un champ `matcher` à ces événements, il est silencieusement ignoré.253`UserPromptSubmit`, `PostToolBatch`, `Stop`, `TeammateIdle`, `TaskCreated`, `TaskCompleted`, `WorktreeCreate`, `WorktreeRemove`, `MessageDisplay` et `CwdChanged` ne supportent pas les matchers et se déclenchent toujours à chaque occurrence. Si vous ajoutez un champ `matcher` à ces événements, il est silencieusement ignoré.

248 254 

249Pour les événements d'outil, vous pouvez filtrer plus étroitement en définissant le champ [`if`](#common-fields) sur les gestionnaires de hook individuels. `if` utilise la [syntaxe des règles de permission](/fr/permissions) pour correspondre au nom de l'outil et aux arguments ensemble, donc `"Bash(git *)"` s'exécute lorsqu'une sous-commande quelconque de l'entrée Bash correspond à `git *` et `"Edit(*.ts)"` s'exécute uniquement pour les fichiers TypeScript.255Pour les événements d'outil, vous pouvez filtrer plus étroitement en définissant le champ [`if`](#common-fields) sur les gestionnaires de hook individuels. `if` utilise la [syntaxe des règles de permission](/fr/permissions) pour correspondre au nom de l'outil et aux arguments ensemble, donc `"Bash(git *)"` s'exécute lorsqu'une sous-commande quelconque de l'entrée Bash correspond à `git *` et `"Edit(*.ts)"` s'exécute uniquement pour les fichiers TypeScript.

250 256 


260* `mcp__filesystem__read_file` : outil de lecture de fichier du serveur Filesystem266* `mcp__filesystem__read_file` : outil de lecture de fichier du serveur Filesystem

261* `mcp__github__search_repositories` : outil de recherche du serveur GitHub267* `mcp__github__search_repositories` : outil de recherche du serveur GitHub

262 268 

263Pour correspondre à chaque outil d'un serveur, ajoutez `.*` au préfixe du serveur. Le `.*` est requis : un matcher comme `mcp__memory` contient uniquement des lettres et des traits de soulignement, donc il est comparé comme une chaîne exacte et ne correspond à aucun outil.269Pour correspondre à chaque outil d'un serveur, ajoutez `.*` au préfixe du serveur. Le `.*` est requis : un matcher comme `mcp__memory` ou `mcp__brave-search` contient uniquement des caractères de correspondance exacte, donc il est comparé comme une chaîne exacte et ne correspond à aucun outil.

264 270 

265* `mcp__memory__.*` correspond à tous les outils du serveur `memory`271* `mcp__memory__.*` correspond à tous les outils du serveur `memory`

272* `mcp__brave-search__.*` correspond à tous les outils d'un serveur dont le nom contient un trait d'union

266* `mcp__.*__write.*` correspond à tout outil dont le nom commence par `write` de n'importe quel serveur273* `mcp__.*__write.*` correspond à tout outil dont le nom commence par `write` de n'importe quel serveur

267 274 

275Les traits d'union dans l'ensemble de correspondance exacte nécessitent Claude Code v2.1.195 ou ultérieur. Sur les versions antérieures, un préfixe nu avec trait d'union comme `mcp__brave-search` est évalué comme une expression régulière non ancrée et correspond à chaque outil de ce serveur. La forme `mcp__brave-search__.*` fonctionne sur chaque version.

276 

268Cet exemple enregistre toutes les opérations du serveur memory et valide les opérations d'écriture de n'importe quel serveur MCP :277Cet exemple enregistre toutes les opérations du serveur memory et valide les opérations d'écriture de n'importe quel serveur MCP :

269 278 

270```json theme={null}279```json theme={null}


306* **[Hooks de prompt](#prompt-and-agent-hook-fields)** (`type: "prompt"`) : envoient un prompt à un modèle Claude pour une évaluation en un seul tour. Le modèle retourne une décision oui/non en JSON. Consultez [Hooks basés sur des prompts](#prompt-based-hooks).315* **[Hooks de prompt](#prompt-and-agent-hook-fields)** (`type: "prompt"`) : envoient un prompt à un modèle Claude pour une évaluation en un seul tour. Le modèle retourne une décision oui/non en JSON. Consultez [Hooks basés sur des prompts](#prompt-based-hooks).

307* **[Hooks d'agent](#prompt-and-agent-hook-fields)** (`type: "agent"`) : lancent un subagent qui peut utiliser des outils comme Read, Grep et Glob pour vérifier les conditions avant de retourner une décision. Les hooks d'agent sont expérimentaux et peuvent changer. Consultez [Hooks basés sur des agents](#agent-based-hooks).316* **[Hooks d'agent](#prompt-and-agent-hook-fields)** (`type: "agent"`) : lancent un subagent qui peut utiliser des outils comme Read, Grep et Glob pour vérifier les conditions avant de retourner une décision. Les hooks d'agent sont expérimentaux et peuvent changer. Consultez [Hooks basés sur des agents](#agent-based-hooks).

308 317 

318Tous les hooks correspondants s'exécutent en parallèle, et les gestionnaires identiques sont automatiquement dédupliqués. Les hooks de commande sont dédupliqués par chaîne de commande et `args`, et les hooks HTTP sont dédupliqués par URL.

319 

320Les gestionnaires s'exécutent dans le répertoire courant avec l'environnement de Claude Code. La variable d'environnement `$CLAUDE_CODE_REMOTE` est définie à `"true"` dans les environnements web distants et n'est pas définie dans le CLI local.

321 

309<h4 id="common-fields">322<h4 id="common-fields">

310 Champs communs323 Champs communs

311</h4>324</h4>


341En plus des [champs communs](#common-fields), les hooks de commande acceptent ces champs :354En plus des [champs communs](#common-fields), les hooks de commande acceptent ces champs :

342 355 

343| Champ | Requis | Description |356| Champ | Requis | Description |

344| :------------ | :----- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |357| :------------ | :----- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

345| `command` | oui | Commande shell à exécuter. Avec `args`, l'exécutable à lancer directement. Consultez [Forme exec et forme shell](#exec-form-and-shell-form) |358| `command` | oui | Commande shell à exécuter. Avec `args`, l'exécutable à lancer directement. Consultez [Forme exec et forme shell](#exec-form-and-shell-form) |

346| `args` | non | Liste d'arguments. Lorsqu'elle est présente, `command` est résolu comme un exécutable et lancé directement avec `args` comme vecteur d'arguments, sans shell. Consultez [Forme exec et forme shell](#exec-form-and-shell-form) |359| `args` | non | Liste d'arguments. Lorsqu'elle est présente, `command` est résolu comme un exécutable et lancé directement avec `args` comme vecteur d'arguments, sans shell. Consultez [Forme exec et forme shell](#exec-form-and-shell-form) |

347| `async` | non | Si `true`, s'exécute en arrière-plan sans bloquer. Consultez [Exécuter les hooks en arrière-plan](#run-hooks-in-the-background) |360| `async` | non | Si `true`, s'exécute en arrière-plan sans bloquer. Consultez [Exécuter les hooks en arrière-plan](#run-hooks-in-the-background) |

348| `asyncRewake` | non | Si `true`, s'exécute en arrière-plan et réveille Claude au code de sortie 2. Implique `async`. Le stderr du hook, ou stdout s'il est vide, est affiché à Claude comme un rappel système afin qu'il puisse réagir à un échec en arrière-plan de longue durée |361| `asyncRewake` | non | Si `true`, s'exécute en arrière-plan et réveille Claude au code de sortie 2. Implique `async`. Le stderr du hook, ou stdout s'il est vide, est affiché à Claude comme un rappel système afin qu'il puisse réagir à un échec en arrière-plan de longue durée |

349| `shell` | non | Shell à utiliser pour ce hook. Accepte `"bash"` (par défaut) ou `"powershell"`. Définir `"powershell"` exécute la commande via PowerShell sur Windows. Ne nécessite pas `CLAUDE_CODE_USE_POWERSHELL_TOOL` puisque les hooks lancent PowerShell directement. Ignoré lorsque `args` est défini |362| `shell` | non | Shell à utiliser pour ce hook. Accepte `"bash"` ou `"powershell"`. Par défaut `"bash"`, ou `"powershell"` sur Windows lorsque Git Bash n'est pas installé. Définir `"powershell"` exécute la commande via PowerShell sur Windows. Ne nécessite pas `CLAUDE_CODE_USE_POWERSHELL_TOOL` puisque les hooks lancent PowerShell directement. Ignoré lorsque `args` est défini |

350 363 

351<a id="exec-form-and-shell-form" />364<a id="exec-form-and-shell-form" />

352 365 


479| `prompt` | oui | Texte du prompt à envoyer au modèle. Utilisez `$ARGUMENTS` comme placeholder pour l'entrée JSON du hook. Échappez avec une barre oblique inverse pour inclure du texte littéral : `\$1.00` s'affiche comme `$1.00` |492| `prompt` | oui | Texte du prompt à envoyer au modèle. Utilisez `$ARGUMENTS` comme placeholder pour l'entrée JSON du hook. Échappez avec une barre oblique inverse pour inclure du texte littéral : `\$1.00` s'affiche comme `$1.00` |

480| `model` | non | Modèle à utiliser pour l'évaluation. Par défaut un modèle rapide |493| `model` | non | Modèle à utiliser pour l'évaluation. Par défaut un modèle rapide |

481 494 

482Tous les hooks correspondants s'exécutent en parallèle, et les gestionnaires identiques sont automatiquement dédupliqués. Les hooks de commande sont dédupliqués par chaîne de commande et `args`, et les hooks HTTP sont dédupliqués par URL. Les gestionnaires s'exécutent dans le répertoire courant avec l'environnement de Claude Code. La variable d'environnement `$CLAUDE_CODE_REMOTE` est définie à `"true"` dans les environnements web distants et n'est pas définie dans le CLI local.

483 

484<h3 id="reference-scripts-by-path">495<h3 id="reference-scripts-by-path">

485 Référencer les scripts par chemin496 Référencer les scripts par chemin

486</h3>497</h3>


620| Champ | Description |631| Champ | Description |

621| :---------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |632| :---------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

622| `session_id` | Identifiant de session actuel |633| `session_id` | Identifiant de session actuel |

634| `prompt_id` | UUID identifiant le prompt utilisateur actuellement traité. Correspond à l'[attribut `prompt.id` sur les événements OpenTelemetry](/fr/monitoring-usage#event-correlation-attributes), afin que vous puissiez corréler la sortie du hook avec la télémétrie pour un seul prompt. Absent jusqu'à la première entrée utilisateur. {/* min-version: 2.1.196 */}Nécessite Claude Code v2.1.196 ou ultérieur |

623| `transcript_path` | Chemin vers le JSON de conversation |635| `transcript_path` | Chemin vers le JSON de conversation |

624| `cwd` | Répertoire de travail courant lorsque le hook est invoqué |636| `cwd` | Répertoire de travail courant lorsque le hook est invoqué |

625| `permission_mode` | [Mode de permission](/fr/permissions#permission-modes) actuel : `"default"`, `"plan"`, `"acceptEdits"`, `"auto"`, `"dontAsk"` ou `"bypassPermissions"`. Tous les événements ne reçoivent pas ce champ : consultez l'exemple JSON de chaque événement ci-dessous pour vérifier |637| `permission_mode` | [Mode de permission](/fr/permissions#permission-modes) actuel : `"default"`, `"plan"`, `"acceptEdits"`, `"auto"`, `"dontAsk"` ou `"bypassPermissions"`. Tous les événements ne reçoivent pas ce champ : consultez l'exemple JSON de chaque événement ci-dessous pour vérifier |


629Lors de l'exécution avec `--agent` ou à l'intérieur d'un subagent, deux champs supplémentaires sont inclus :641Lors de l'exécution avec `--agent` ou à l'intérieur d'un subagent, deux champs supplémentaires sont inclus :

630 642 

631| Champ | Description |643| Champ | Description |

632| :----------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |644| :----------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |

633| `agent_id` | Identifiant unique pour le subagent. Présent uniquement lorsque le hook se déclenche à l'intérieur d'un appel de subagent. Utilisez ceci pour distinguer les appels de hook de subagent des appels du thread principal. |645| `agent_id` | Identifiant unique pour le subagent. Présent uniquement lorsque le hook se déclenche à l'intérieur d'un appel de subagent. Utilisez ceci pour distinguer les appels de hook de subagent des appels du thread principal. |

634| `agent_type` | Nom de l'agent (par exemple, `"Explore"` ou `"security-reviewer"`). Présent lorsque la session utilise `--agent` ou que le hook se déclenche à l'intérieur d'un subagent. Pour les subagents, le type du subagent prend précédence sur la valeur `--agent` de la session. Pour les [subagents personnalisés](/fr/sub-agents), c'est le champ `name` du frontmatter de l'agent, pas le nom du fichier. |646| `agent_type` | Nom de l'agent (par exemple, `"Explore"` ou `"security-reviewer"`). Présent lorsque la session utilise `--agent` ou que le hook se déclenche à l'intérieur d'un subagent. Pour les subagents, le type du subagent prend précédence sur la valeur `--agent` de la session. Pour les [subagents personnalisés](/fr/sub-agents), c'est le champ `name` du frontmatter de l'agent, pas le nom du fichier. Pour les subagents fournis par un [plugin](/fr/plugins), c'est l'identifiant scoped du plugin tel que `my-plugin:reviewer`, pas le nom du frontmatter nu. Consultez [SubagentStart](#subagentstart) pour savoir comment écrire un matcher contre un nom scoped du plugin. |

635 647 

636Seuls les hooks [`SessionStart`](#sessionstart) reçoivent un champ `model`, et sa présence n'est pas garantie. Il n'y a pas de variable d'environnement `$CLAUDE_MODEL`. Un processus de hook hérite de l'environnement parent, il peut donc lire `$ANTHROPIC_MODEL` si vous le définissez dans votre shell, mais cette valeur ne change pas lorsque vous changez de modèle avec `/model` pendant une session.648Seuls les hooks [`SessionStart`](#sessionstart) reçoivent un champ `model`, et sa présence n'est pas garantie. Il n'y a pas de variable d'environnement `$CLAUDE_MODEL`. Un processus de hook hérite de l'environnement parent, il peut donc lire `$ANTHROPIC_MODEL` si vous le définissez dans votre shell, mais cette valeur ne change pas lorsque vous changez de modèle avec `/model` pendant une session.

637 649 


640```json theme={null}652```json theme={null}

641{653{

642 "session_id": "abc123",654 "session_id": "abc123",

655 "prompt_id": "550e8400-e29b-41d4-a716-446655440000",

643 "transcript_path": "/home/user/.claude/projects/.../transcript.jsonl",656 "transcript_path": "/home/user/.claude/projects/.../transcript.jsonl",

644 "cwd": "/home/user/my-project",657 "cwd": "/home/user/my-project",

645 "permission_mode": "default",658 "permission_mode": "default",


796# Hook de notification : ping le bureau lorsque Claude Code a besoin d'attention.809# Hook de notification : ping le bureau lorsque Claude Code a besoin d'attention.

797input=$(cat)810input=$(cat)

798title="Claude Code'811title="Claude Code'

799body=$(jq -r '.message // 'Needs your attention'' <<<'$input")812body=$(jq -r '.message // 'Needs your attention"' <<<"$input")

800seq=$(printf '\033]777;notify;%s;%s\007' "$title" "$body")813seq=$(printf '\033]777;notify;%s;%s\007' "$title" "$body")

801jq -nc --arg seq "$seq" '{terminalSequence: $seq}'814jq -nc --arg seq "$seq" '{terminalSequence: $seq}'

802```815```


867 880 

868Quelques événements peuvent également réécrire le contenu plutôt que seulement l'autoriser ou le bloquer :881Quelques événements peuvent également réécrire le contenu plutôt que seulement l'autoriser ou le bloquer :

869 882 

870* `PreToolUse` `updatedInput` directement sous `hookSpecificOutput` remplace les arguments d'un outil avant son exécution ([détails](#pretooluse-decision-control))883* `PreToolUse` : `updatedInput` directement sous `hookSpecificOutput` remplace les arguments d'un outil avant son exécution. Consultez [Contrôle de décision PreToolUse](#pretooluse-decision-control)

871* `PermissionRequest` `updatedInput` à l'intérieur de l'objet `decision` ([détails](#permissionrequest-decision-control))884* `PermissionRequest` : `updatedInput` à l'intérieur de l'objet `decision`. Consultez [Contrôle de décision PermissionRequest](#permissionrequest-decision-control)

872* `PostToolUse` `updatedToolOutput` remplace le résultat de l'outil ([détails](#posttooluse-decision-control))885* `PostToolUse` : `updatedToolOutput` remplace le résultat de l'outil. Consultez [Contrôle de décision PostToolUse](#posttooluse-decision-control)

873* `UserPromptSubmit` ne peut pas remplacer le prompt ; injecte uniquement `additionalContext` à côté de celui-ci886* `UserPromptSubmit` : ne peut pas remplacer le prompt ; injecte uniquement `additionalContext` à côté de celui-ci

874 887 

875Pour les cas d'usage de rédaction ou de transformation, interceptez à `PreToolUse` pour les entrées d'outil sortantes et `PostToolUse` pour les résultats d'outil entrants.888Pour les cas d'usage de rédaction ou de transformation, interceptez à `PreToolUse` pour les entrées d'outil sortantes et `PostToolUse` pour les résultats d'outil entrants.

876 889 


959 "cwd": "/Users/...",972 "cwd": "/Users/...",

960 "hook_event_name": "SessionStart",973 "hook_event_name": "SessionStart",

961 "source": "startup",974 "source": "startup",

962 "model": "claude-sonnet-4-6"975 "model": "claude-sonnet-5"

963}976}

964```977```

965 978 


1148 1161 

1149Les hooks `UserPromptSubmit` ont un délai d'expiration par défaut de 30 secondes pour les types `command`, `http` et `mcp_tool`, plus court que le délai par défaut de 600 secondes pour ces types sur d'autres événements. Parce que ce hook s'exécute avant chaque prompt et bloque le traitement du modèle jusqu'à son achèvement, un hook bloqué paralyse la session. Si votre hook a besoin de plus de temps, définissez le champ `timeout` dans l'entrée du hook.1162Les hooks `UserPromptSubmit` ont un délai d'expiration par défaut de 30 secondes pour les types `command`, `http` et `mcp_tool`, plus court que le délai par défaut de 600 secondes pour ces types sur d'autres événements. Parce que ce hook s'exécute avant chaque prompt et bloque le traitement du modèle jusqu'à son achèvement, un hook bloqué paralyse la session. Si votre hook a besoin de plus de temps, définissez le champ `timeout` dans l'entrée du hook.

1150 1163 

1164Un hook `UserPromptSubmit` qui atteint son délai d'expiration est annulé et sa sortie, y compris tout `additionalContext`, est supprimée. Le prompt atteint toujours Claude sans ce contexte. À partir de v2.1.196, la transcription affiche un avis nommant le hook, le délai d'expiration qui s'est déclenché et que la sortie a été supprimée. Les versions antérieures annulent le hook sans avis.

1165 

1151<h4 id="userpromptsubmit-input">1166<h4 id="userpromptsubmit-input">

1152 Entrée UserPromptSubmit1167 Entrée UserPromptSubmit

1153</h4>1168</h4>


1404 1419 

1405S'exécute après que Claude crée les paramètres de l'outil et avant le traitement de l'appel d'outil. Correspond au nom de l'outil : `Bash`, `Edit`, `Write`, `Read`, `Glob`, `Grep`, `Agent`, `WebFetch`, `WebSearch`, `AskUserQuestion`, `ExitPlanMode` et tout [nom d'outil MCP](#match-mcp-tools).1420S'exécute après que Claude crée les paramètres de l'outil et avant le traitement de l'appel d'outil. Correspond au nom de l'outil : `Bash`, `Edit`, `Write`, `Read`, `Glob`, `Grep`, `Agent`, `WebFetch`, `WebSearch`, `AskUserQuestion`, `ExitPlanMode` et tout [nom d'outil MCP](#match-mcp-tools).

1406 1421 

1422<Warning>

1423 PreToolUse s'exécute uniquement lorsque Claude appelle un outil. Les fichiers que vous [référencez avec `@` dans votre prompt](/fr/common-workflows#reference-files-and-directories) sont ajoutés sans aucun appel d'outil : Claude Code insère leurs contenus lors de la construction du prompt, donc aucun hook PreToolUse ne se déclenche pour eux, y compris les hooks correspondant à `Read`. Pour bloquer des chemins spécifiques des références `@`, utilisez une [règle de refus `Read`](/fr/permissions#read-and-edit) à la place.

1424</Warning>

1425 

1407Utilisez [Contrôle de décision PreToolUse](#pretooluse-decision-control) pour autoriser, refuser, demander ou différer l'appel d'outil.1426Utilisez [Contrôle de décision PreToolUse](#pretooluse-decision-control) pour autoriser, refuser, demander ou différer l'appel d'outil.

1408 1427 

1409<h4 id="pretooluse-input">1428<h4 id="pretooluse-input">


2054 2073 

2055S'exécute lorsqu'un subagent Claude Code est lancé via l'outil Agent. Supporte les matchers pour filtrer par nom de type d'agent. Pour les agents intégrés, c'est le nom de l'agent comme `general-purpose`, `Explore` ou `Plan`. Pour les [subagents personnalisés](/fr/sub-agents), c'est le champ `name` du frontmatter de l'agent, pas le nom du fichier.2074S'exécute lorsqu'un subagent Claude Code est lancé via l'outil Agent. Supporte les matchers pour filtrer par nom de type d'agent. Pour les agents intégrés, c'est le nom de l'agent comme `general-purpose`, `Explore` ou `Plan`. Pour les [subagents personnalisés](/fr/sub-agents), c'est le champ `name` du frontmatter de l'agent, pas le nom du fichier.

2056 2075 

2076Pour les subagents fournis par un [plugin](/fr/plugins), l'identifiant de type d'agent est l'identifiant limité au plugin comme `my-plugin:reviewer`, pas le nom brut du frontmatter. Le deux-points place un nom limité au plugin sur le chemin d'expression régulière, donc ancrez le matcher avec `^` et `$` pour une correspondance exacte : `^my-plugin:reviewer$`.

2077 

2057<h4 id="subagentstart-input">2078<h4 id="subagentstart-input">

2058 Entrée SubagentStart2079 Entrée SubagentStart

2059</h4>2080</h4>


3037* `PostToolUseFailure`, `TaskCreated` et `TaskCompleted` : la raison est retournée à Claude comme une erreur d'outil, similaire à `PreToolUse`3058* `PostToolUseFailure`, `TaskCreated` et `TaskCompleted` : la raison est retournée à Claude comme une erreur d'outil, similaire à `PreToolUse`

3038* `TeammateIdle` : par défaut le coéquipier s'arrête et la raison apparaît comme une ligne d'avertissement. Définissez `continueOnBlock: true` pour renvoyer la raison au coéquipier et le garder actif à la place3059* `TeammateIdle` : par défaut le coéquipier s'arrête et la raison apparaît comme une ligne d'avertissement. Définissez `continueOnBlock: true` pour renvoyer la raison au coéquipier et le garder actif à la place

3039* `PermissionRequest` : `ok: false` n'a aucun effet. Pour refuser une approbation d'un hook, utilisez un [hook de commande](#command-hook-fields) retournant `hookSpecificOutput.decision.behavior: "deny"`3060* `PermissionRequest` : `ok: false` n'a aucun effet. Pour refuser une approbation d'un hook, utilisez un [hook de commande](#command-hook-fields) retournant `hookSpecificOutput.decision.behavior: "deny"`

3040* `PermissionDenied` : `ok: false` n'a aucun effet car le refus a déjà eu lieu. La seule sortie que cet événement lit est `hookSpecificOutput.retry`, que les hooks de prompt et d'agent ne peuvent pas définir ils s'exécutent sur cet événement, mais leur sortie est ignorée. Utilisez un [hook de commande](#command-hook-fields) pour retourner `retry`3061* `PermissionDenied` : `ok: false` n'a aucun effet car le refus a déjà eu lieu. La seule sortie que cet événement lit est `hookSpecificOutput.retry`, que les hooks de prompt et d'agent ne peuvent pas définir. Ils s'exécutent sur cet événement, mais leur sortie est ignorée. Utilisez un [hook de commande](#command-hook-fields) pour retourner `retry`

3041 3062 

3042Si vous avez besoin d'un contrôle plus fin sur un événement quelconque, utilisez un [hook de commande](#command-hook-fields) avec les champs par événement décrits dans [Contrôle de décision](#decision-control).3063Si vous avez besoin d'un contrôle plus fin sur un événement quelconque, utilisez un [hook de commande](#command-hook-fields) avec les champs par événement décrits dans [Contrôle de décision](#decision-control).

3043 3064 


3285}3306}

3286```3307```

3287 3308 

3309Pour référencer la racine du projet à partir d'une commande PowerShell en forme shell, lisez-la comme une variable d'environnement avec `$env:CLAUDE_PROJECT_DIR`. PowerShell traite la forme nue `${CLAUDE_PROJECT_DIR}` comme une variable locale, pas une recherche d'environnement, et Claude Code substitue ce placeholder en forme shell uniquement pour les [hooks de script de référence](#reference-scripts-by-path). Pour un hook défini dans `settings.json`, utilisez soit la forme `$env:` soit basculez vers la [forme exec](#exec-form-and-shell-form), où `${CLAUDE_PROJECT_DIR}` est substitué dans chaque élément `args` indépendamment de l'endroit où le hook est défini.

3310 

3311L'exemple ci-dessous montre un hook `settings.json` qui exécute un script de projet avec la forme `$env:` :

3312 

3313```json theme={null}

3314{

3315 "type": "command",

3316 "shell": "powershell",

3317 "command": "& \"$env:CLAUDE_PROJECT_DIR\\.claude\\hooks\\check.ps1\""

3318}

3319```

3320 

3288<h2 id="debug-hooks">3321<h2 id="debug-hooks">

3289 Déboguer les hooks3322 Déboguer les hooks

3290</h2>3323</h2>

Details

249* L'historique des entrées se réinitialise lorsque vous exécutez `/clear` pour démarrer une nouvelle session. La conversation de la session précédente est conservée et peut être reprise.249* L'historique des entrées se réinitialise lorsque vous exécutez `/clear` pour démarrer une nouvelle session. La conversation de la session précédente est conservée et peut être reprise.

250* Soumettre la même invite deux fois de suite enregistre une seule entrée d'historique, donc appuyer sur Haut accède à l'invite distincte précédente250* Soumettre la même invite deux fois de suite enregistre une seule entrée d'historique, donc appuyer sur Haut accède à l'invite distincte précédente

251* Utilisez les flèches Haut/Bas pour naviguer (voir les raccourcis clavier ci-dessus)251* Utilisez les flèches Haut/Bas pour naviguer (voir les raccourcis clavier ci-dessus)

252* **Remarque** : l'expansion de l'historique (`!`) est désactivée par défaut252* L'expansion de l'historique avec `!` est désactivée par défaut

253 253 

254<h3 id="reverse-search-with-ctrl-r">254<h3 id="reverse-search-with-ctrl-r">

255 Recherche inversée avec Ctrl+R255 Recherche inversée avec Ctrl+R


285Pour exécuter les commandes en arrière-plan, vous pouvez soit :285Pour exécuter les commandes en arrière-plan, vous pouvez soit :

286 286 

287* Inviter Claude Code à exécuter une commande en arrière-plan287* Inviter Claude Code à exécuter une commande en arrière-plan

288* Appuyez sur Ctrl+B pour déplacer une invocation d'outil Bash régulière vers l'arrière-plan. (Les utilisateurs Tmux doivent appuyer sur Ctrl+B deux fois en raison de la touche de préfixe de tmux.)288* Appuyez sur `Ctrl+B` pour déplacer une invocation d'outil Bash régulière vers l'arrière-plan. Les utilisateurs Tmux doivent appuyer sur `Ctrl+B` deux fois en raison de la touche de préfixe de tmux.

289 289 

290**Caractéristiques clés :**290**Caractéristiques clés :**

291 291 

292* La sortie est écrite dans un fichier et Claude peut la récupérer à l'aide de l'outil Read292* La sortie est écrite dans un fichier et Claude peut la récupérer à l'aide de l'outil Read

293* Les tâches en arrière-plan ont des ID uniques pour le suivi et la récupération de la sortie293* Les tâches en arrière-plan ont des ID uniques pour le suivi et la récupération de la sortie

294* Les tâches en arrière-plan sont automatiquement nettoyées lorsque Claude Code se ferme294* Les tâches en arrière-plan sont automatiquement nettoyées lorsque Claude Code se ferme. Mettre en arrière-plan la session au lieu de la fermer les confie à la session en arrière-plan, où elles continuent à s'exécuter. Consultez [mettre en arrière-plan une session en cours d'exécution](/fr/agent-view#from-inside-a-session)

295* Les tâches en arrière-plan sont automatiquement terminées si la sortie dépasse 5 Go, avec une note dans stderr expliquant pourquoi295* Les tâches en arrière-plan sont automatiquement terminées si la sortie dépasse 5 Go, avec une note dans stderr expliquant pourquoi

296* À partir de la v2.1.193, sur macOS et Linux, les tâches en arrière-plan en cours d'exécution sont terminées lorsque le système d'exploitation signale une pression mémoire, à condition que la session soit restée inactive pendant au moins 30 minutes sans aucun tour ou sous-agent en cours d'exécution. Définissez [`CLAUDE_CODE_DISABLE_BG_SHELL_PRESSURE_REAP`](/fr/env-vars) sur `1` pour désactiver cette fonctionnalité

296 297 

297Pour désactiver toutes les fonctionnalités de tâche en arrière-plan, définissez la variable d'environnement `CLAUDE_CODE_DISABLE_BACKGROUND_TASKS` sur `1`. Consultez [Variables d'environnement](/fr/env-vars) pour plus de détails.298Pour désactiver toutes les fonctionnalités de tâche en arrière-plan, définissez la variable d'environnement `CLAUDE_CODE_DISABLE_BACKGROUND_TASKS` sur `1`. Consultez [Variables d'environnement](/fr/env-vars) pour plus de détails.

298 299 


322* Affiche la progression et la sortie en temps réel323* Affiche la progression et la sortie en temps réel

323* Prend en charge la même mise en arrière-plan `Ctrl+B` pour les commandes de longue durée324* Prend en charge la même mise en arrière-plan `Ctrl+B` pour les commandes de longue durée

324* Ne nécessite pas que Claude interprète ou approuve la commande325* Ne nécessite pas que Claude interprète ou approuve la commande

325* Prend en charge l'autocomplétion basée sur l'historique : tapez une commande partielle et appuyez sur **Tab** pour compléter à partir des commandes `!` précédentes du projet actuel326* Prend en charge l'autocomplétion basée sur l'historique : tapez une commande partielle et appuyez sur `Tab` pour compléter à partir des commandes `!` précédentes du projet actuel

327* À partir de la v2.1.193 sur toutes les plateformes, prend en charge l'autocomplétion de chemin de fichier en direct : tapez un jeton contenant une barre oblique, tel que `./src/` ou `~/`, pour voir une liste déroulante des fichiers et répertoires correspondants, puis appuyez sur `Tab` pour accepter. Utilisez les barres obliques sur Windows également ; la liste déroulante est déclenchée par `/`, pas `\`

326* Quittez avec `Échap`, `Retour arrière` ou `Ctrl+U` sur une invite vide328* Quittez avec `Échap`, `Retour arrière` ou `Ctrl+U` sur une invite vide

327* Coller du texte commençant par `!` dans une invite vide entre en mode shell automatiquement, correspondant au comportement du texte tapé `!`329* Coller du texte commençant par `!` dans une invite vide entre en mode shell automatiquement, correspondant au comportement du texte tapé `!`

328 330 


338 340 

339Après la réponse de Claude, les suggestions continuent à apparaître en fonction de votre historique de conversation, comme une étape de suivi d'une demande en plusieurs parties ou une continuation naturelle de votre flux de travail.341Après la réponse de Claude, les suggestions continuent à apparaître en fonction de votre historique de conversation, comme une étape de suivi d'une demande en plusieurs parties ou une continuation naturelle de votre flux de travail.

340 342 

341* Appuyez sur **Tab** ou **Flèche droite** pour placer la suggestion dans l'entrée d'invite, puis **Entrée** pour soumettre343* Appuyez sur `Tab` ou `Flèche droite` pour placer la suggestion dans l'entrée d'invite, puis `Entrée` pour soumettre

342* Commencez à taper pour la rejeter344* Commencez à taper pour la rejeter

343 345 

344La suggestion s'exécute en tant que demande en arrière-plan qui réutilise le cache d'invite de la conversation parent, le coût supplémentaire est donc minimal. Claude Code ignore la génération de suggestions lorsque le cache est froid pour éviter les coûts inutiles.346La suggestion s'exécute en tant que demande en arrière-plan qui réutilise le cache d'invite de la conversation parent, le coût supplémentaire est donc minimal. Claude Code ignore la génération de suggestions lorsque le cache est froid pour éviter les coûts inutiles.

345 347 

346Les suggestions sont automatiquement ignorées après le premier tour d'une conversation et en mode plan. En mode impression, elles sont désactivées par défaut. Passez [`--prompt-suggestions`](/fr/cli-reference#cli-flags) avec `--output-format stream-json --verbose` pour émettre un message `prompt_suggestion` après chaque tour à la place.348Les suggestions sont automatiquement ignorées après le premier tour d'une conversation et en Plan Mode. En print mode, elles sont désactivées par défaut. Passez [`--prompt-suggestions`](/fr/cli-reference#cli-flags) avec `--output-format stream-json --verbose` pour émettre un message `prompt_suggestion` après chaque tour à la place.

347 349 

348Pour désactiver complètement les suggestions d'invite, définissez la variable d'environnement ou basculez le paramètre dans `/config` :350Pour désactiver complètement les suggestions d'invite, définissez la variable d'environnement ou basculez le paramètre dans `/config` :

349 351 


368* **Réponse unique** : il n'y a pas de tours de suivi dans la superposition. Pour continuer le fil, divisez-le en sa propre session avec `f`.370* **Réponse unique** : il n'y a pas de tours de suivi dans la superposition. Pour continuer le fil, divisez-le en sa propre session avec `f`.

369* **Coût faible** : la question latérale réutilise le cache d'invite de la conversation parent, le coût supplémentaire est donc minimal.371* **Coût faible** : la question latérale réutilise le cache d'invite de la conversation parent, le coût supplémentaire est donc minimal.

370 372 

371Une fois que la réponse apparaît, la superposition accepte ces touches. Les questions latérales antérieures de la même session apparaissent sous forme de liste estompée au-dessus de la réponse actuelle ; elles restent en dehors de l'historique de la conversation mais restent visibles dans la superposition jusqu'à ce que vous les effaciez.373Les questions latérales antérieures de la même session apparaissent sous forme de liste estompée au-dessus de la réponse actuelle. Elles restent en dehors de l'historique de la conversation mais restent visibles dans la superposition jusqu'à ce que vous les effaciez.

374 

375Une fois que la réponse apparaît, la superposition accepte ces touches.

372 376 

373| Touche | Action |377| Touche | Action |

374| :-------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |378| :-------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |


406 Statut de révision PR410 Statut de révision PR

407</h2>411</h2>

408 412 

409Lorsque vous travaillez sur une branche avec une demande de tirage ouverte, Claude Code affiche un lien PR cliquable dans le pied de page (par exemple, « PR #446 »). Le lien a un soulignement coloré indiquant l'état de la révision :413Lorsque vous travaillez sur une branche avec une demande de tirage ouverte, Claude Code affiche un lien PR cliquable dans le pied de page, par exemple « PR #446 ». Le lien a un soulignement coloré indiquant l'état de la révision :

410 414 

411* Vert : approuvé415* Vert : approuvé

412* Jaune : en attente de révision416* Jaune : en attente de révision

413* Rouge : modifications demandées417* Rouge : modifications demandées

414* Gris : brouillon418* Gris : brouillon

415 419 

416Le badge disparaît une fois que la demande de tirage est fusionnée ou fermée. `Cmd+clic` (Mac) ou `Ctrl+clic` (Windows/Linux) sur le lien pour ouvrir la demande de tirage dans votre navigateur. Le statut se met à jour toutes les 60 secondes, et immédiatement après l'exécution d'une commande `gh pr` ou `git push` dans la session.420Le badge disparaît une fois que la demande de tirage est fusionnée ou fermée. `Cmd+clic` (macOS) ou `Ctrl+clic` (Windows/Linux) sur le lien pour ouvrir la demande de tirage dans votre navigateur. Le statut se met à jour toutes les 60 secondes, et immédiatement après l'exécution d'une commande `gh pr` ou `git push` dans la session.

417 421 

418<Note>422<Note>

419 Le statut PR nécessite que le CLI `gh` soit installé et authentifié (`gh auth login`).423 Le statut PR nécessite que le CLI `gh` soit installé et authentifié (`gh auth login`).

jetbrains.md +1 −1

Details

233 Considérations de sécurité233 Considérations de sécurité

234</h2>234</h2>

235 235 

236Lorsque Claude Code s'exécute dans un IDE JetBrains avec les permissions d'édition automatique activées, il peut être en mesure de modifier les fichiers de configuration de l'IDE qui peuvent être exécutés automatiquement par votre IDE. Cela peut augmenter le risque d'exécution de Claude Code en mode édition automatique et permettre de contourner les invites de permission de Claude Code pour l'exécution bash.236Lorsque Claude Code s'exécute dans un IDE JetBrains en mode de permission [`acceptEdits`](/fr/permission-modes#auto-approve-file-edits-with-acceptedits-mode), il peut être en mesure de modifier les fichiers de configuration de l'IDE qui peuvent être exécutés automatiquement par votre IDE. Cela peut augmenter le risque d'exécution de Claude Code en mode `acceptEdits` et permettre de contourner les invites de permission de Claude Code pour l'exécution bash.

237 237 

238Lors de l'exécution dans les IDEs JetBrains, considérez :238Lors de l'exécution dans les IDEs JetBrains, considérez :

239 239 

llm-gateway.md +0 −96 deleted

File Deleted View Diff

1> ## Documentation Index

2> Fetch the complete documentation index at: https://code.claude.com/docs/llms.txt

3> Use this file to discover all available pages before exploring further.

4 

5# Passerelles LLM

6 

7> Acheminez Claude Code via une passerelle LLM pour l'authentification centralisée, le suivi de l'utilisation et les contrôles des coûts. Couvre la connexion de Claude Code à une passerelle, le déploiement d'une passerelle pour votre organisation, ce que Claude Code envoie à une passerelle et comment les passerelles interagissent avec les abonnements claude.ai.

8 

9Une passerelle LLM est un proxy que votre organisation exécute entre Claude Code et un fournisseur de modèles. Claude Code envoie le trafic API à la passerelle, et la passerelle le transfère au fournisseur en utilisant une credential que votre organisation contrôle.

10 

11<Note>

12 * Si vous êtes un développeur se connectant à une passerelle existante : [connectez Claude Code à votre passerelle](/fr/llm-gateway-connect)

13 * Si vous êtes un administrateur déployant une passerelle pour votre organisation : [déployez et distribuez une passerelle](/fr/llm-gateway-rollout)

14 * Si vous configurez un produit de passerelle : la [référence du protocole de passerelle](/fr/llm-gateway-protocol)

15</Note>

16 

17<h2 id="what-a-gateway-provides">

18 Ce qu'une passerelle fournit

19</h2>

20 

21Une passerelle donne à votre organisation un seul endroit pour gérer :

22 

23* **Credentials** : la clé du fournisseur reste côté serveur ; les développeurs détiennent plutôt des credentials de passerelle

24* **Suivi de l'utilisation** : attribuez l'utilisation par développeur ou équipe, quel que soit le fournisseur qui traite la requête

25* **Contrôles des coûts** : appliquez les budgets et les limites de débit en un seul endroit

26* **Journalisation d'audit** : enregistrez chaque requête de modèle pour la conformité

27* **Changement de fournisseur** : changez le fournisseur dans la configuration de la passerelle, sans toucher aux machines des développeurs

28 

29Tous ces éléments sauf le changement de fournisseur s'appliquent que le flux amont soit l'API d'Anthropic ou un [fournisseur cloud](/fr/third-party-integrations).

30 

31Le compromis est que la passerelle devient une infrastructure que votre organisation exploite. Claude Code ajoute des capacités à chaque version, et une passerelle qui ne les transfère pas casse les fonctionnalités correspondantes, donc le produit de passerelle doit être maintenu à jour à mesure que Claude Code évolue. La [référence du protocole de passerelle](/fr/llm-gateway-protocol) couvre ce qu'il faut transférer.

32 

33<h2 id="how-a-gateway-works">

34 Comment une passerelle fonctionne

35</h2>

36 

37Par défaut, Claude Code envoie les requêtes directement à l'API d'Anthropic à `api.anthropic.com`. Pour acheminer via une passerelle, définissez `ANTHROPIC_BASE_URL` à l'adresse de la passerelle ; Claude Code envoie les mêmes requêtes là à la place. La passerelle authentifie le développeur, attache la credential du fournisseur de votre organisation, et transfère chaque requête au fournisseur pour lequel elle est configurée.

38 

39`ANTHROPIC_BASE_URL` est la variable d'adresse pour la plupart des passerelles. Une passerelle qui fait face à un fournisseur cloud spécifique, tel que Bedrock, Vertex, Foundry, ou la Claude Platform sur AWS, utilise plutôt la variable d'URL de base de ce fournisseur ; [API formats](/fr/llm-gateway-protocol#api-formats) énumère quelle variable va avec chaque configuration.

40 

41<Frame>

42 <img src="https://mintcdn.com/claude-code/-uq-4JE0W_JO5Er5/images/llm-gateway-flow.svg?fit=max&auto=format&n=-uq-4JE0W_JO5Er5&q=85&s=1c1a8dcc0cfcc3a58652cc8e28cd3e20" alt="Diagramme montrant Claude Code acheminé via une passerelle LLM. Dans une zone de machines de développeur, le CLI Claude Code, l'extension VS Code et les clients SDK CI ou Agent envoient des requêtes à la passerelle, avec la variable d'URL de base pour le format API de la passerelle la pointant et chaque développeur détenant une credential par développeur, et l'application de bureau atteint la même passerelle via la configuration distribuée par l'organisation. Dans une zone intitulée votre infrastructure, la passerelle LLM gère l'authentification, le suivi de l'utilisation, les budgets et le routage, et transfère les requêtes avec la credential de votre organisation. Dans une zone de fournisseurs de modèles, une flèche pleine mène au fournisseur que vous configurez, montré comme l'API Anthropic, et des flèches pointillées mènent à d'autres options de fournisseur, illustrées avec Amazon Bedrock, Google Vertex AI et Microsoft Foundry comme exemples." width="780" height="322" data-path="images/llm-gateway-flow.svg" />

43</Frame>

44 

45Deux types de credential sont impliqués :

46 

47* **Credentials de développeur** : chaque développeur détient la sienne, émise par la passerelle. Elle les authentifie auprès de la passerelle et les identifie dans le suivi de l'utilisation

48* **Credential du fournisseur** : la passerelle détient une credential pour votre compte de fournisseur, partagée par tout le trafic transféré. Vous ne provisionnez pas les clés du fournisseur par développeur

49 

50La passerelle transfère chaque requête au fournisseur que vous configurez, tel que l'API Anthropic, [Amazon Bedrock](/fr/amazon-bedrock), [Google Vertex AI](/fr/google-vertex-ai), [Microsoft Foundry](/fr/microsoft-foundry), ou la [Claude Platform sur AWS](/fr/claude-platform-on-aws). Parce que Claude Code ne parle qu'à la passerelle, le choix du fournisseur est la configuration de la passerelle, pas celle du client.

51 

52<h2 id="roll-out-a-gateway">

53 Déployer une passerelle

54</h2>

55 

56Quand vous êtes prêt à déployer une passerelle LLM pour votre organisation, la séquence est la même quel que soit le produit de passerelle que vous choisissez :

57 

581. Déployez la passerelle et donnez-lui votre credential du fournisseur, afin qu'elle puisse authentifier les requêtes qu'elle transfère.

592. Émettez à chaque développeur une credential de passerelle, afin que l'utilisation soit attribuée au développeur et que l'offboarding révoque une credential.

603. Distribuez la configuration via un [fichier de paramètres gérés](/fr/settings#settings-files) et votre outillage de secrets, afin que chaque machine reçoive l'URL de base et une credential. Quand les deux sont distribués, les développeurs ne configurent rien. Si vous n'avez pas de distribution de paramètres en place, les développeurs suivent la [page de connexion](/fr/llm-gateway-connect) pour définir les variables eux-mêmes.

614. Faites en sorte que chaque développeur [vérifie la configuration dans Claude Code](/fr/llm-gateway-connect#check-for-an-existing-configuration), afin que les problèmes de distribution fassent surface avant qu'ils ne dépendent de la passerelle.

62 

63[Déployez une passerelle LLM pour votre organisation](/fr/llm-gateway-rollout) parcourt chaque étape et montre les fichiers de configuration à distribuer à chacune. La passerelle est une partie de la configuration de l'organisation ; pour l'application des politiques, la visibilité de l'utilisation et les décisions de traitement des données, voir [Configurez Claude Code pour votre organisation](/fr/admin-setup).

64 

65<h2 id="third-party-gateways">

66 Passerelles tierces

67</h2>

68 

69Toute passerelle qui expose un [format API supporté](/fr/llm-gateway-protocol#api-formats) fonctionne. Anthropic n'approuve pas, ne maintient pas et n'audite pas les produits de passerelle tiers. Déployez-les en suivant leur propre documentation, puis complétez le côté Claude Code du déploiement avec les [étapes de déploiement](/fr/llm-gateway-rollout).

70 

71<h2 id="subscriptions-and-gateways">

72 Abonnements et passerelles

73</h2>

74 

75Tandis qu'une [variable de credential de passerelle](/fr/llm-gateway-connect#set-the-credential-variable) ou `apiKeyHelper` est active, l'abonnement claude.ai d'un développeur n'est pas utilisé : la credential remplace la connexion à l'abonnement pour cette session, et les limites d'utilisation de l'abonnement ne s'appliquent pas. Ce trafic est facturé par token à celui qui possède la credential que la passerelle transfère, tel que le compte Anthropic Console de votre organisation, ou votre compte Bedrock, Vertex ou Foundry quand la passerelle achemine là.

76 

77Définir uniquement `ANTHROPIC_BASE_URL`, sans credential de passerelle, ne remplace pas l'abonnement. Les requêtes acheminent toujours via la passerelle, mais une connexion claude.ai sauvegardée reste la credential active, donc ses limites d'utilisation et sa facturation s'appliquent. Les passerelles qui transmettent ce trafic à Anthropic doivent transférer la capacité OAuth dans `anthropic-beta` ; voir la [référence des en-têtes de requête](/fr/llm-gateway-protocol#request-headers).

78 

79<h2 id="configure-separately-from-the-gateway">

80 Configurer séparément de la passerelle

81</h2>

82 

83Une passerelle détermine où les requêtes API du modèle sont envoyées. La sélection du modèle, le reste du trafic réseau de Claude Code et les proxies d'entreprise sont configurés séparément :

84 

85* **Sélection du modèle** : l'URL de base décide où les requêtes vont, pas quel modèle les répond. Choisissez le modèle avec la commande `/model` ou les variables d'environnement du modèle ; voir [comment définir votre modèle](/fr/model-config#setting-your-model)

86* **Trafic côté client** : les vérifications de version et la télémétrie client optionnelle, tous deux désactivés avec [`CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`](/fr/env-vars), et le trafic de connexion quand une connexion claude.ai ou Console est en cours d'utilisation, vont aux points de terminaison de mise à jour et d'authentification d'Anthropic plutôt qu'à la passerelle. Voir [exigences d'accès réseau](/fr/network-config#network-access-requirements) pour les domaines

87* **Proxies d'entreprise** : un proxy défini avec `HTTPS_PROXY` se situe entre Claude Code et chaque serveur avec lequel il communique, y compris la passerelle. Si votre réseau nécessite un proxy, configurez les deux ; voir [configuration du proxy](/fr/network-config#proxy-configuration)

88 

89<h2 id="related-pages">

90 Pages connexes

91</h2>

92 

93* [Connectez Claude Code à une passerelle LLM](/fr/llm-gateway-connect) : définissez l'URL de base et la credential sur votre propre machine, avec la configuration par surface et un tableau de dépannage

94* [Déployez une passerelle LLM pour votre organisation](/fr/llm-gateway-rollout) : la liste de contrôle de l'administrateur pour déployer une passerelle, émettre des credentials de développeur et distribuer les paramètres gérés

95* [Référence du protocole de passerelle](/fr/llm-gateway-protocol) : ce que Claude Code envoie à une passerelle, pour les opérateurs en configurant une, couvrant les points de terminaison, les en-têtes à transférer et le passage des fonctionnalités

96* [Configurez Claude Code pour votre organisation](/fr/admin-setup) : les décisions de déploiement plus larges dont une passerelle est une partie, y compris l'application des politiques et la visibilité de l'utilisation

Details

285 285 

286[Claude Code dans Slack](/fr/slack) et [Claude Code sur le web](/fr/claude-code-on-the-web) sont des produits hébergés par Anthropic qui utilisent toujours l'API d'Anthropic ; ils ne font pas partie d'un déploiement de passerelle. Les variables de passerelle définies dans la configuration d'environnement d'une session cloud ne sont pas appliquées. Si votre trafic doit rester sur la passerelle, n'activez pas ces surfaces pour ces utilisateurs.286[Claude Code dans Slack](/fr/slack) et [Claude Code sur le web](/fr/claude-code-on-the-web) sont des produits hébergés par Anthropic qui utilisent toujours l'API d'Anthropic ; ils ne font pas partie d'un déploiement de passerelle. Les variables de passerelle définies dans la configuration d'environnement d'une session cloud ne sont pas appliquées. Si votre trafic doit rester sur la passerelle, n'activez pas ces surfaces pour ces utilisateurs.

287 287 

288[Remote Control](/fr/remote-control) et [la dictée vocale](/fr/voice-dictation) dépendent tous deux d'une identité claude.ai : Remote Control pour appairer une session en direct avec votre compte, et la dictée vocale pour atteindre le point de terminaison de transcription claude.ai. Ils ne sont pas disponibles tandis que `ANTHROPIC_API_KEY`, `ANTHROPIC_AUTH_TOKEN`, ou un `apiKeyHelper` est actif. Pour utiliser l'un ou l'autre, désactivez l'identifiant de passerelle et connectez-vous avec claude.ai à la place ; `/doctor` nomme la variable à désactiver.288[Remote Control](/fr/remote-control) et [la dictée vocale](/fr/voice-dictation) dépendent tous deux d'une identité claude.ai : Remote Control pour appairer une session en direct avec votre compte, et la dictée vocale pour atteindre le point de terminaison de transcription claude.ai. Ils ne sont pas disponibles tandis que `ANTHROPIC_API_KEY`, `ANTHROPIC_AUTH_TOKEN`, ou un `apiKeyHelper` est actif. {/* min-version: 2.1.196 */}À partir de la v2.1.196, Remote Control est également désactivé tandis que `ANTHROPIC_BASE_URL` pointe vers un hôte non-Anthropic, de sorte que la connexion avec claude.ai n'est pas suffisante en soi.

289 

290Pour restaurer l'une ou l'autre fonctionnalité, connectez-vous avec claude.ai et désactivez les variables de passerelle qu'il vérifie. `/doctor` nomme la variable d'identifiant à désactiver.

291 

292* Dictée vocale : désactivez l'identifiant de passerelle

293* Remote Control : désactivez l'identifiant de passerelle et `ANTHROPIC_BASE_URL`

289 294 

290<h2 id="additional-configuration">295<h2 id="additional-configuration">

291 Configuration supplémentaire296 Configuration supplémentaire


318```json theme={null}323```json theme={null}

319{324{

320 "env": {325 "env": {

321 "ANTHROPIC_CUSTOM_HEADERS": "X-Org-Route: prod\nX-Tenant: acme"326 "ANTHROPIC_CUSTOM_HEADERS": "X-Org-Route: prod\nX-Tenant: example"

322 }327 }

323}328}

324```329```


388 Router vers un fournisseur cloud via une passerelle393 Router vers un fournisseur cloud via une passerelle

389</h3>394</h3>

390 395 

391Ces configurations pointent Claude Code vers une passerelle via une variable d'URL de base spécifique au fournisseur à la place de `ANTHROPIC_BASE_URL`. Les passerelles Bedrock et Vertex acceptent les formats de demande natifs de ces fournisseurs ; les passerelles Foundry et Claude Platform sur AWS acceptent le format Anthropic Messages et diffèrent uniquement par la variable d'URL de base qui les atteint.396Ces configurations pointent Claude Code vers une passerelle via une variable d'URL de base spécifique au fournisseur à la place de `ANTHROPIC_BASE_URL`. Les passerelles Bedrock et Agent Platform acceptent les formats de demande natifs de ces fournisseurs ; les passerelles Foundry et Claude Platform sur AWS acceptent le format Anthropic Messages et diffèrent uniquement par la variable d'URL de base qui les atteint.

392 397 

393Utilisez-en une uniquement si votre équipe de passerelle a spécifiquement nommé Bedrock, Vertex, Foundry, ou Claude Platform sur AWS. Si la [demande de vérification](#verify-the-connection) ci-dessus a retourné JSON, vous pouvez ignorer cette section.398Utilisez-en une uniquement si votre équipe de passerelle a spécifiquement nommé Bedrock, Agent Platform, Foundry, ou Claude Platform sur AWS. Si la [demande de vérification](#verify-the-connection) ci-dessus a retourné JSON, vous pouvez ignorer cette section.

394 399 

395Définissez le bloc pour le fournisseur que votre équipe de passerelle a nommé. Les variables skip-auth disent à Claude Code de ne pas signer les demandes avec les identifiants du fournisseur, puisque la passerelle les détient. Si la passerelle a besoin de son propre jeton, ajoutez `ANTHROPIC_AUTH_TOKEN` après le bloc, sauf pour Foundry, qui utilise `ANTHROPIC_FOUNDRY_API_KEY` comme montré.400Définissez le bloc pour le fournisseur que votre équipe de passerelle a nommé. Les variables skip-auth disent à Claude Code de ne pas signer les demandes avec les identifiants du fournisseur, puisque la passerelle les détient. Si la passerelle a besoin de son propre jeton, ajoutez `ANTHROPIC_AUTH_TOKEN` après le bloc, sauf pour Foundry, qui utilise `ANTHROPIC_FOUNDRY_API_KEY` comme montré.

396 401 


416 </Tab>421 </Tab>

417</Tabs>422</Tabs>

418 423 

419<h4 id="google-vertex-ai">424<h4 id="google-cloud’s-agent-platform">

420 Google Vertex AI425 Google Cloud's Agent Platform

421</h4>426</h4>

422 427 

423<Tabs>428<Tabs>

Details

8 8 

9Cette page documente les requêtes que Claude Code envoie à une passerelle, y compris les points de terminaison qu'elle appelle, les en-têtes et champs de corps que la passerelle doit transmettre, et les fonctionnalités qui cessent de fonctionner si elle ne le fait pas. Elle est écrite pour les opérateurs configurant un produit de passerelle pour fonctionner avec Claude Code.9Cette page documente les requêtes que Claude Code envoie à une passerelle, y compris les points de terminaison qu'elle appelle, les en-têtes et champs de corps que la passerelle doit transmettre, et les fonctionnalités qui cessent de fonctionner si elle ne le fait pas. Elle est écrite pour les opérateurs configurant un produit de passerelle pour fonctionner avec Claude Code.

10 10 

11Une [passerelle d'applications Claude](/fr/claude-apps-gateway) en cours d'exécution sert une version lisible par machine de ce contrat à `GET /protocol`, couvrant les mêmes exigences de transmission plus les points de terminaison spécifiques à la passerelle d'applications Claude pour la connexion SSO, la livraison des paramètres gérés et la télémétrie. La passerelle d'applications Claude s'exécute à partir du même binaire `claude` que l'interface de ligne de commande, donc le [démarrage rapide de la passerelle d'applications Claude](/fr/claude-apps-gateway#quickstart) est le chemin le plus court vers une instance en cours d'exécution à partir de laquelle vous pouvez récupérer la spécification.

12 

11<Note>13<Note>

12 * Pour déployer une passerelle existante ou tierce pour votre organisation, consultez [Déployer une passerelle LLM](/fr/llm-gateway-rollout)14 * Pour déployer une passerelle existante ou tierce pour votre organisation, consultez [Déployer une passerelle LLM](/fr/llm-gateway-rollout)

13 * Si vous êtes un développeur individuel authentifiant Claude Code à une passerelle avec une identifiant que vous avez reçu, consultez [Connecter Claude Code à une passerelle LLM](/fr/llm-gateway-connect)15 * Si vous êtes un développeur individuel authentifiant Claude Code à une passerelle avec une identifiant que vous avez reçu, consultez [Connecter Claude Code à une passerelle LLM](/fr/llm-gateway-connect)


32 Formats API34 Formats API

33</h2>35</h2>

34 36 

35Une passerelle doit exposer au moins l'un des formats API suivants aux clients Claude Code. Le format que Claude Code utilise est déterminé par la configuration du client : la variable dans la colonne Sélectionné par du tableau ci-dessous pointe Claude Code vers votre passerelle dans ce format.37Une passerelle doit exposer au moins l'un des formats API suivants aux clients Claude Code. Le format que Claude Code utilise est déterminé par la configuration du client : la variable dans la colonne Sélectionné par du tableau ci-dessous pointe Claude Code vers votre passerelle dans ce format. Agent Platform est le point de terminaison Claude de Google Cloud, anciennement Vertex AI ; ses noms de variables conservent l'orthographe `VERTEX`.

36 38 

37| Format | Sélectionné par | Points de terminaison | Transmettre inchangé |39| Format | Sélectionné par | Points de terminaison | Transmettre inchangé |

38| :------------------ | :------------------------------------------------------------ | :------------------------------------------------------------------------ | :--------------------------------------------------------------------------------------------------------------- |40| :------------------------ | :------------------------------------------------------------ | :------------------------------------------------------------------------ | :--------------------------------------------------------------------------------------------------------------- |

39| Messages Anthropic | `ANTHROPIC_BASE_URL` | `/v1/messages`, `/v1/messages/count_tokens` (optionnel) | En-têtes de requête `anthropic-beta` et `anthropic-version` |41| Messages Anthropic | `ANTHROPIC_BASE_URL` | `/v1/messages`, `/v1/messages/count_tokens` (optionnel) | En-têtes de requête `anthropic-beta` et `anthropic-version` |

40| Bedrock InvokeModel | `ANTHROPIC_BEDROCK_BASE_URL` avec `CLAUDE_CODE_USE_BEDROCK=1` | `/model/{model}/invoke`, `/model/{model}/invoke-with-response-stream` | Champs de corps de requête `anthropic_beta` et `anthropic_version` |42| Bedrock InvokeModel | `ANTHROPIC_BEDROCK_BASE_URL` avec `CLAUDE_CODE_USE_BEDROCK=1` | `/model/{model}/invoke`, `/model/{model}/invoke-with-response-stream` | Champs de corps de requête `anthropic_beta` et `anthropic_version` |

41| Vertex rawPredict | `ANTHROPIC_VERTEX_BASE_URL` avec `CLAUDE_CODE_USE_VERTEX=1` | `:rawPredict`, `:streamRawPredict`, `count-tokens:rawPredict` (optionnel) | En-têtes de requête `anthropic-beta` et `anthropic-version`, et le champ de corps de requête `anthropic_version` |43| Agent Platform rawPredict | `ANTHROPIC_VERTEX_BASE_URL` avec `CLAUDE_CODE_USE_VERTEX=1` | `:rawPredict`, `:streamRawPredict`, `count-tokens:rawPredict` (optionnel) | En-têtes de requête `anthropic-beta` et `anthropic-version`, et le champ de corps de requête `anthropic_version` |

42 44 

43<h3 id="foundry-and-claude-platform-on-aws">45<h3 id="foundry-and-claude-platform-on-aws">

44 Foundry et Claude Platform on AWS46 Foundry et Claude Platform on AWS


50 Points de terminaison optionnels et trafic de démarrage52 Points de terminaison optionnels et trafic de démarrage

51</h3>53</h3>

52 54 

53Les points de terminaison de comptage de jetons sont les seuls optionnels : lorsqu'ils sont absents, Claude Code estime l'utilisation du contexte localement. Les requêtes d'inférence sont envoyées à `/v1/messages?beta=true`, donc faites correspondre le chemin, pas l'URL complète. La méthode Vertex ajoute des suffixes au chemin du modèle de l'éditeur, comme dans `/projects/{project}/locations/{location}/publishers/anthropic/models/{model}:streamRawPredict`.55Les points de terminaison de comptage de jetons sont les seuls optionnels : lorsqu'ils sont absents, Claude Code estime l'utilisation du contexte localement. Les requêtes d'inférence sont envoyées à `/v1/messages?beta=true`, donc faites correspondre le chemin, pas l'URL complète. La méthode Agent Platform ajoute des suffixes au chemin du modèle de l'éditeur, comme dans `/projects/{project}/locations/{location}/publishers/anthropic/models/{model}:streamRawPredict`.

54 56 

55Une passerelle voit également du trafic de démarrage au meilleur effort qu'elle peut rejeter sans rien casser : une sonde de connectivité `HEAD /`, et sur les passerelles au format Bedrock une requête `GET /inference-profiles?type=SYSTEM_DEFINED`.57Une passerelle voit également du trafic de démarrage au meilleur effort qu'elle peut rejeter sans rien casser : une sonde de connectivité `HEAD /`, et sur les passerelles au format Bedrock une requête `GET /inference-profiles?type=SYSTEM_DEFINED`.

56 58 


66 68 

67Le format que le client utilise détermine ce que votre passerelle reçoit. Le mode de défaillance courant est une incompatibilité entre le format que le client envoie à votre passerelle et le format que le fournisseur amont derrière elle accepte.69Le format que le client utilise détermine ce que votre passerelle reçoit. Le mode de défaillance courant est une incompatibilité entre le format que le client envoie à votre passerelle et le format que le fournisseur amont derrière elle accepte.

68 70 

69* Lorsque le client utilise le format Bedrock ou Vertex, Claude Code envoie uniquement le sous-ensemble de son ensemble de capacités complet que ces fournisseurs acceptent71* Lorsque le client utilise le format Bedrock ou Agent Platform, Claude Code envoie uniquement le sous-ensemble de son ensemble de capacités complet que ces fournisseurs acceptent

70* Lorsque le client utilise le format Messages Anthropic, Claude Code envoie l'ensemble complet, même si votre passerelle transmet à un amont Bedrock ou Vertex72* Lorsque le client utilise le format Messages Anthropic, Claude Code envoie l'ensemble complet, même si votre passerelle transmet à un amont Bedrock ou Agent Platform

71 73 

72Combler cette différence est le travail de votre passerelle. [Transmission des fonctionnalités](#feature-pass-through) décrit ce qui se casse lorsqu'elle ne le fait pas.74Combler cette différence est le travail de votre passerelle. [Transmission des fonctionnalités](#feature-pass-through) décrit ce qui se casse lorsqu'elle ne le fait pas.

73 75 


80| En-tête | Description |82| En-tête | Description |

81| :------------------------------ | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |83| :------------------------------ | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

82| `Authorization`, `x-api-key` | L'identifiant de passerelle du développeur, dans un ou les deux en-têtes selon la [variable d'identifiant](/fr/llm-gateway-connect#set-the-credential-variable) qu'il définit |84| `Authorization`, `x-api-key` | L'identifiant de passerelle du développeur, dans un ou les deux en-têtes selon la [variable d'identifiant](/fr/llm-gateway-connect#set-the-credential-variable) qu'il définit |

83| `anthropic-version` | Version de l'API, actuellement `2023-06-01`. Les requêtes au format Bedrock et Vertex portent également le champ de corps `anthropic_version`, dont la valeur est la chaîne de dialecte du fournisseur, pas la valeur de cet en-tête |85| `anthropic-version` | Version de l'API, actuellement `2023-06-01`. Les requêtes au format Bedrock et Agent Platform portent également le champ de corps `anthropic_version`, dont la valeur est la chaîne de dialecte du fournisseur, pas la valeur de cet en-tête |

84| `anthropic-beta` | Valeurs de capacité séparées par des virgules pour la requête. Transmettez l'en-tête verbatim ; ne mettez pas en liste blanche les valeurs individuelles, car l'ensemble change avec les versions de Claude Code. Lorsque le développeur s'authentifie avec une connexion claude.ai, ce qui est possible lorsque `ANTHROPIC_BASE_URL` est défini sans variable d'identifiant de passerelle, cet en-tête porte également une capacité OAuth que l'amont exige, et la supprimer échoue ces requêtes avec `401` |86| `anthropic-beta` | Valeurs de capacité séparées par des virgules pour la requête. Transmettez l'en-tête verbatim ; ne mettez pas en liste blanche les valeurs individuelles, car l'ensemble change avec les versions de Claude Code. Lorsque le développeur s'authentifie avec une connexion claude.ai, ce qui est possible lorsque `ANTHROPIC_BASE_URL` est défini sans variable d'identifiant de passerelle, cet en-tête porte également une capacité OAuth que l'amont exige, et la supprimer échoue ces requêtes avec `401` |

85| `x-claude-code-session-id` | Un identifiant unique pour la session Claude Code actuelle. Utilisez-le pour agréger toutes les requêtes d'une session sans analyser les corps de requête |87| `x-claude-code-session-id` | Un identifiant unique pour la session Claude Code actuelle. Utilisez-le pour agréger toutes les requêtes d'une session sans analyser les corps de requête |

86| `x-claude-code-agent-id` | Identifiant du [sous-agent](/fr/sub-agents) qui a émis la requête, présent uniquement sur les requêtes d'un agent que Claude Code a généré dans la session. Utilisez-le avec l'ID de session pour attribuer le coût aux agents parallèles |88| `x-claude-code-agent-id` | Identifiant du [sous-agent](/fr/sub-agents) qui a émis la requête, présent uniquement sur les requêtes d'un agent que Claude Code a généré dans la session. Utilisez-le avec l'ID de session pour attribuer le coût aux agents parallèles |


98 100 

99Lors de la transmission à un amont au format Anthropic, transmettez les en-têtes de requête `anthropic-*` et les champs de corps de requête inchangés plutôt que de mettre en liste blanche ceux que vous voyez aujourd'hui. Une passerelle épinglée à une liste observée supprime l'en-tête ou le champ de la capacité suivante et la casse à la version qui l'introduit.101Lors de la transmission à un amont au format Anthropic, transmettez les en-têtes de requête `anthropic-*` et les champs de corps de requête inchangés plutôt que de mettre en liste blanche ceux que vous voyez aujourd'hui. Une passerelle épinglée à une liste observée supprime l'en-tête ou le champ de la capacité suivante et la casse à la version qui l'introduit.

100 102 

101L'exception est un amont non-Anthropic tel que Bedrock ou Vertex, où combler la différence de schéma est le travail de la passerelle ; consultez [transmission des fonctionnalités](#feature-pass-through).103L'exception est un amont non-Anthropic tel que Bedrock ou Agent Platform, où combler la différence de schéma est le travail de la passerelle ; consultez [transmission des fonctionnalités](#feature-pass-through).

102 104 

103<h2 id="system-prompt-attribution-block">105<h2 id="system-prompt-attribution-block">

104 Bloc d'attribution du message système106 Bloc d'attribution du message système


112 Transmission des fonctionnalités114 Transmission des fonctionnalités

113</h2>115</h2>

114 116 

115Claude Code traite une passerelle `ANTHROPIC_BASE_URL` comme un point de terminaison au format Anthropic et lui envoie les en-têtes bêta et champs de corps de requête qu'il envoie à `api.anthropic.com`, sauf un petit ensemble de diagnostics et de valeurs par défaut réservés aux connexions directes.117Claude Code traite une passerelle `ANTHROPIC_BASE_URL` comme un point de terminaison au format Anthropic et lui envoie les en-têtes bêta et champs de corps de requête qu'il envoie à `api.anthropic.com`, sauf un petit ensemble de diagnostics et de valeurs par défaut réservés aux connexions directes, comme la valeur par défaut de streaming d'outils à grain fin couverte ci-dessous. Cet ensemble varie selon la version, donc ne dépendez pas de son contenu.

116 118 

117Les capacités qui ajoutent des champs de corps les associent à un en-tête bêta, et la paire voyage ensemble. Une passerelle qui supprime l'en-tête tout en transmettant le corps, ou transmet un corps au format Anthropic à un amont avec un schéma différent, produit des erreurs `400` dures ; seulement lorsque les deux moitiés sont absentes ensemble la fonctionnalité s'éteint silencieusement. Une passerelle qui réécrit ou rédige les corps de requête pour l'inspection du contenu casse l'appairage de la même manière que la suppression, donc inspectez sans modifier. Le tableau note où une fonctionnalité s'écarte de l'appairage.119Les capacités qui ajoutent des champs de corps les associent à un en-tête bêta, et la paire voyage ensemble. Une passerelle qui supprime l'en-tête tout en transmettant le corps, ou transmet un corps au format Anthropic à un amont avec un schéma différent, produit des erreurs `400` dures ; seulement lorsque les deux moitiés sont absentes ensemble la fonctionnalité s'éteint silencieusement. Une passerelle qui réécrit ou rédige les corps de requête pour l'inspection du contenu casse l'appairage de la même manière que la suppression, donc inspectez sans modifier. Le tableau note où une fonctionnalité s'écarte de l'appairage.

118 120 


124| [Gestion du contexte](https://platform.claude.com/docs/en/build-with-claude/context-management) | L'en-tête bêta de gestion du contexte s'associe au champ de corps `context_management` | `400` avec `Extra inputs are not permitted`. Courant lorsqu'une passerelle accepte les requêtes au format Anthropic mais les transmet à Bedrock | Transmettez les deux, ou [`CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1`](/fr/env-vars) |126| [Gestion du contexte](https://platform.claude.com/docs/en/build-with-claude/context-management) | L'en-tête bêta de gestion du contexte s'associe au champ de corps `context_management` | `400` avec `Extra inputs are not permitted`. Courant lorsqu'une passerelle accepte les requêtes au format Anthropic mais les transmet à Bedrock | Transmettez les deux, ou [`CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1`](/fr/env-vars) |

125| [Contexte étendu](https://platform.claude.com/docs/en/build-with-claude/context-windows#1m-token-context-window) et [pensée entrelacée](https://platform.claude.com/docs/en/build-with-claude/extended-thinking#interleaved-thinking) | En-têtes bêta uniquement, pas de champ de corps | Silencieusement indisponible lorsque l'en-tête est supprimé ; l'amont ne voit jamais la demande de capacité | Transmettez `anthropic-beta` verbatim |127| [Contexte étendu](https://platform.claude.com/docs/en/build-with-claude/context-windows#1m-token-context-window) et [pensée entrelacée](https://platform.claude.com/docs/en/build-with-claude/extended-thinking#interleaved-thinking) | En-têtes bêta uniquement, pas de champ de corps | Silencieusement indisponible lorsque l'en-tête est supprimé ; l'amont ne voit jamais la demande de capacité | Transmettez `anthropic-beta` verbatim |

126| Champs d'outil bêta | Les en-têtes bêta liés aux outils s'associent aux champs de schéma d'outil tels que `strict` et `defer_loading` | `400` nommant le champ de schéma d'outil non reconnu lorsque le corps passe sans son en-tête | Transmettez les deux, ou `CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1` |128| Champs d'outil bêta | Les en-têtes bêta liés aux outils s'associent aux champs de schéma d'outil tels que `strict` et `defer_loading` | `400` nommant le champ de schéma d'outil non reconnu lorsque le corps passe sans son en-tête | Transmettez les deux, ou `CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1` |

127| [Effort](https://platform.claude.com/docs/en/build-with-claude/effort) et [sorties structurées](https://platform.claude.com/docs/en/build-with-claude/structured-outputs) | Le champ de corps `output_config` porte les paramètres d'effort, de format de sortie structurée et de budget de tâche ; chacun s'associe à son propre en-tête bêta | `400` nommant `output_config`, souvent `Extra inputs are not permitted`, sur les amonts Bedrock et Vertex | Transmettez le champ et ses en-têtes ensemble |129| [Effort](https://platform.claude.com/docs/en/build-with-claude/effort) et [sorties structurées](https://platform.claude.com/docs/en/build-with-claude/structured-outputs) | Le champ de corps `output_config` porte les paramètres d'effort, de format de sortie structurée et de budget de tâche ; chacun s'associe à son propre en-tête bêta | `400` nommant `output_config`, souvent `Extra inputs are not permitted`, sur les amonts Bedrock et Agent Platform | Transmettez le champ et ses en-têtes ensemble |

128| [Comptage des jetons](https://platform.claude.com/docs/en/build-with-claude/token-counting) | Pas d'appairage bêta ; utilise le point de terminaison `count_tokens` | Claude Code revient à l'estimation de l'utilisation du contexte localement | Exposez le point de terminaison si vous voulez des comptages exacts |130| [Comptage des jetons](https://platform.claude.com/docs/en/build-with-claude/token-counting) | Pas d'appairage bêta ; utilise le point de terminaison `count_tokens` | Claude Code revient à l'estimation de l'utilisation du contexte localement | Exposez le point de terminaison si vous voulez des comptages exacts |

129 131 

130Les [variables](/fr/model-config) `ANTHROPIC_DEFAULT_*_MODEL_SUPPORTED_CAPABILITIES` déclarent les capacités du modèle uniquement dans les configurations du fournisseur : `CLAUDE_CODE_USE_BEDROCK`, `CLAUDE_CODE_USE_VERTEX`, `CLAUDE_CODE_USE_FOUNDRY`, et [`CLAUDE_CODE_USE_MANTLE`](/fr/amazon-bedrock#use-the-mantle-endpoint). Elles n'ont aucun effet derrière une passerelle `ANTHROPIC_BASE_URL`.132Les [variables](/fr/model-config) `ANTHROPIC_DEFAULT_*_MODEL_SUPPORTED_CAPABILITIES` déclarent les capacités du modèle uniquement dans les configurations du fournisseur : `CLAUDE_CODE_USE_BEDROCK`, `CLAUDE_CODE_USE_VERTEX`, `CLAUDE_CODE_USE_FOUNDRY`, et [`CLAUDE_CODE_USE_MANTLE`](/fr/amazon-bedrock#use-the-mantle-endpoint). Elles n'ont aucun effet derrière une passerelle `ANTHROPIC_BASE_URL`.


182{184{

183 "data": [185 "data": [

184 { "id": "claude-sonnet-4-6", "display_name": "Claude Sonnet 4.6" },186 { "id": "claude-sonnet-4-6", "display_name": "Claude Sonnet 4.6" },

185 { "id": "claude-opus-4-7" }187 { "id": "claude-opus-4-8" }

186 ]188 ]

187}189}

188```190```


191 Entrées du sélecteur et mise en cache193 Entrées du sélecteur et mise en cache

192</h3>194</h3>

193 195 

194Le sélecteur est la liste de modèles interactive qui s'ouvre lorsqu'un développeur exécute `/model` dans Claude Code. Chaque entrée découverte est étiquetée « Depuis la passerelle » et utilise `display_name` lorsqu'il est fourni. Un ID découvert est ignoré uniquement lorsqu'il correspond exactement à une ligne déjà dans le sélecteur, ou lorsque les ID découvert et existant se résolvent tous deux en [Fable](/fr/model-config#work-with-fable-5). Les lignes intégrées sont basées sur des alias tels que `sonnet`, donc un ID découvert tel que `claude-sonnet-4-6` ajoute sa propre ligne « Depuis la passerelle » à côté de l'entrée intégrée. Le [paramètre géré `availableModels`](/fr/settings#available-settings) limite ce que la découverte peut ajouter.196Le sélecteur est la liste de modèles interactive qui s'ouvre lorsqu'un développeur exécute `/model` dans Claude Code. Chaque entrée découverte est étiquetée « Depuis la passerelle » et utilise `display_name` lorsqu'il est fourni. Le [paramètre géré `availableModels`](/fr/settings#available-settings) limite ce que la découverte peut ajouter.

197 

198Un ID découvert est ignoré uniquement lorsqu'il correspond exactement à une ligne déjà dans le sélecteur, ou lorsque les ID découvert et existant se résolvent tous deux en [Fable](/fr/model-config#work-with-fable-5). Les lignes intégrées sont basées sur des alias tels que `sonnet`, donc un ID découvert tel que `claude-sonnet-4-6` ajoute sa propre ligne « Depuis la passerelle » à côté de l'entrée intégrée plutôt que de la remplacer.

195 199 

196Les résultats sont mis en cache dans `~/.claude/cache/gateway-models.json`, ou `%USERPROFILE%\.claude\cache\gateway-models.json` sur Windows, et actualisés à chaque démarrage. Si la requête échoue ou la passerelle n'implémente pas `/v1/models`, le sélecteur revient à la liste mise en cache du démarrage précédent ou à la liste de modèles intégrée. Si votre passerelle sert les modèles Claude sous des alias qui ne correspondent pas au filtre de découverte, les développeurs peuvent ajouter ces alias manuellement avec les [variables de configuration du modèle](/fr/model-config).200Les résultats sont mis en cache dans `~/.claude/cache/gateway-models.json`, ou `%USERPROFILE%\.claude\cache\gateway-models.json` sur Windows, et actualisés à chaque démarrage. Si la requête échoue ou la passerelle n'implémente pas `/v1/models`, le sélecteur revient à la liste mise en cache du démarrage précédent ou à la liste de modèles intégrée. Si votre passerelle sert les modèles Claude sous des alias qui ne correspondent pas au filtre de découverte, les développeurs peuvent ajouter ces alias manuellement avec les [variables de configuration du modèle](/fr/model-config).

197 201 


201 205 

202Pour le reste de l'ensemble de documentation de passerelle et les références API sous-jacentes :206Pour le reste de l'ensemble de documentation de passerelle et les références API sous-jacentes :

203 207 

204* [Aperçu des passerelles LLM](/fr/llm-gateway) : ce qu'est une passerelle et comment elle interagit avec les abonnements claude.ai208* [Aperçu des passerelles](/fr/gateways) : ce qu'est une passerelle et comment choisir entre la passerelle Claude apps et un autre produit

209* [Autres passerelles LLM](/fr/llm-gateway) : comment déployer une passerelle que votre organisation exécute et comment elle interagit avec les abonnements claude.ai

205* [Déployer une passerelle LLM pour votre organisation](/fr/llm-gateway-rollout) : la liste de contrôle d'administration qui utilise ce contrat210* [Déployer une passerelle LLM pour votre organisation](/fr/llm-gateway-rollout) : la liste de contrôle d'administration qui utilise ce contrat

206* [Connecter Claude Code à une passerelle LLM](/fr/llm-gateway-connect) : configuration par développeur et le tableau de dépannage211* [Connecter Claude Code à une passerelle LLM](/fr/llm-gateway-connect) : configuration par développeur et le tableau de dépannage

207* [Référence des en-têtes bêta](https://platform.claude.com/docs/en/api/beta-headers) : l'ensemble actuel des valeurs `anthropic-beta`212* [Référence des en-têtes bêta](https://platform.claude.com/docs/en/api/beta-headers) : l'ensemble actuel des valeurs `anthropic-beta`

Details

22* Une passerelle déployée sur votre infrastructure, servant HTTPS à l'adresse exacte que vous distribuerez aux développeurs, pas une adresse qui redirige vers elle, et configurée pour router les noms de modèles Claude vers votre fournisseur22* Une passerelle déployée sur votre infrastructure, servant HTTPS à l'adresse exacte que vous distribuerez aux développeurs, pas une adresse qui redirige vers elle, et configurée pour router les noms de modèles Claude vers votre fournisseur

23* Une identifiant de fournisseur pour que la passerelle le transfère avec :23* Une identifiant de fournisseur pour que la passerelle le transfère avec :

24 * Pour l'API Anthropic : une clé API de la [Console Claude](https://platform.claude.com/settings/keys)24 * Pour l'API Anthropic : une clé API de la [Console Claude](https://platform.claude.com/settings/keys)

25 * Pour un fournisseur cloud : des identifiants cloud avec accès aux modèles. Consultez les prérequis sur la page [Amazon Bedrock](/fr/amazon-bedrock#prerequisites), [Google Vertex AI](/fr/google-vertex-ai#prerequisites), ou [Microsoft Foundry](/fr/microsoft-foundry#prerequisites)25 * Pour un fournisseur cloud : des identifiants cloud avec accès aux modèles. Consultez les prérequis sur la page [Amazon Bedrock](/fr/amazon-bedrock#prerequisites), [Google Cloud's Agent Platform](/fr/google-vertex-ai#prerequisites), ou [Microsoft Foundry](/fr/microsoft-foundry#prerequisites)

26* Un moyen de livrer des fichiers de paramètres aux machines des développeurs, comme MDM ou gestion de configuration26* Un moyen de livrer des fichiers de paramètres aux machines des développeurs, comme MDM ou gestion de configuration

27 * Si vous n'en avez pas encore, [comment les paramètres atteignent les appareils](/fr/admin-setup#decide-how-settings-reach-devices) compare les options27 * Si vous n'en avez pas encore, [comment les paramètres atteignent les appareils](/fr/admin-setup#decide-how-settings-reach-devices) compare les options

28 28 

mcp.md +52 −24

Details

111 111 

112Les serveurs Stdio s'exécutent en tant que processus locaux sur votre machine. Ils sont idéaux pour les outils qui ont besoin d'un accès direct au système ou de scripts personnalisés.112Les serveurs Stdio s'exécutent en tant que processus locaux sur votre machine. Ils sont idéaux pour les outils qui ont besoin d'un accès direct au système ou de scripts personnalisés.

113 113 

114Claude Code définit `CLAUDE_PROJECT_DIR` dans l'environnement du serveur généré à la racine du projet, afin que votre serveur puisse résoudre les chemins relatifs au projet sans dépendre du répertoire de travail. C'est le même répertoire que les hooks reçoivent dans leur variable `CLAUDE_PROJECT_DIR`. Lisez-le depuis l'intérieur de votre processus serveur, par exemple `process.env.CLAUDE_PROJECT_DIR` en Node ou `os.environ["CLAUDE_PROJECT_DIR"]` en Python. Votre serveur peut également appeler la demande MCP `roots/list`, qui retourne le répertoire à partir duquel Claude Code a été lancé.114Claude Code définit `CLAUDE_PROJECT_DIR` dans l'environnement du serveur généré à la racine du projet, afin que votre serveur puisse résoudre les chemins relatifs au projet sans dépendre du répertoire de travail. C'est le même répertoire que les hooks reçoivent dans leur variable `CLAUDE_PROJECT_DIR`. Lisez-le depuis l'intérieur de votre processus serveur, par exemple `process.env.CLAUDE_PROJECT_DIR` en Node ou `os.environ["CLAUDE_PROJECT_DIR"]` en Python.

115 

116Votre serveur peut également appeler la demande MCP `roots/list`, qui retourne le répertoire à partir duquel Claude Code a été lancé.

115 117 

116Cette variable est définie dans l'environnement du serveur, pas dans l'environnement propre de Claude Code, donc la référencer via l'expansion `${VAR}` dans un fichier `.mcp.json` de portée projet ou utilisateur `command` ou `args` nécessite une valeur par défaut telle que `${CLAUDE_PROJECT_DIR:-.}`. Les configurations MCP fournies par les plugins remplacent `${CLAUDE_PROJECT_DIR}` directement et n'ont pas besoin de la valeur par défaut.118Cette variable est définie dans l'environnement du serveur, pas dans l'environnement propre de Claude Code, donc la référencer via l'expansion `${VAR}` dans un fichier `.mcp.json` de portée projet ou utilisateur `command` ou `args` nécessite une valeur par défaut telle que `${CLAUDE_PROJECT_DIR:-.}`. Les configurations MCP fournies par les plugins remplacent `${CLAUDE_PROJECT_DIR}` directement et n'ont pas besoin de la valeur par défaut.

117 119 


176 178 

177Les serveurs de portée projet à partir de `.mcp.json` qui attendent votre approbation apparaissent dans `claude mcp list` comme `⏸ Approbation en attente`. Exécutez `claude` de manière interactive pour les examiner et les approuver. `claude mcp get <name>` affiche les serveurs en attente comme `⏸ Approbation en attente` et les serveurs rejetés comme `✗ Rejeté`.179Les serveurs de portée projet à partir de `.mcp.json` qui attendent votre approbation apparaissent dans `claude mcp list` comme `⏸ Approbation en attente`. Exécutez `claude` de manière interactive pour les examiner et les approuver. `claude mcp get <name>` affiche les serveurs en attente comme `⏸ Approbation en attente` et les serveurs rejetés comme `✗ Rejeté`.

178 180 

181À partir de la v2.1.196, `claude mcp list` et `claude mcp get` lisent les approbations `.mcp.json` uniquement à partir des fichiers de paramètres qui ne sont pas archivés dans le référentiel jusqu'à ce que vous fassiez confiance à l'espace de travail en exécutant `claude` et en acceptant la boîte de dialogue de confiance de l'espace de travail. Un référentiel cloné ne peut pas approuver ses propres serveurs : [`enableAllProjectMcpServers` ou `enabledMcpjsonServers`](/fr/settings#available-settings) archivé dans le `.claude/settings.json` du projet est ignoré dans un dossier non approuvé, et le serveur reste à `⏸ Approbation en attente` au lieu d'être connecté et vérifié.

182 

183Les approbations de ces sources s'appliquent toujours dans un dossier non approuvé :

184 

185* votre `~/.claude/settings.json` utilisateur

186* paramètres gérés

187* paramètres passés avec `--settings`

188* `.claude/settings.local.json`, tant que git ne le suit pas

189 

190Une entrée `disabledMcpjsonServers` dans n'importe quel fichier de paramètres rejette toujours le serveur.

191 

179Le panneau `/mcp` affiche le nombre d'outils à côté de chaque serveur connecté et signale les serveurs qui annoncent la capacité des outils mais n'exposent aucun outil.192Le panneau `/mcp` affiche le nombre d'outils à côté de chaque serveur connecté et signale les serveurs qui annoncent la capacité des outils mais n'exposent aucun outil.

180 193 

181Si votre demande a besoin d'outils d'un serveur qui se connecte toujours en arrière-plan, Claude attend que ce serveur se connecte avant de continuer. Avec la [recherche d'outils](#scale-with-mcp-tool-search) activée, qui est l'option par défaut, l'attente se produit à l'intérieur de l'appel `ToolSearch`. Dans les configurations sans recherche d'outils, telles que Vertex AI, une `ANTHROPIC_BASE_URL` personnalisée, ou `ENABLE_TOOL_SEARCH=false`, Claude utilise plutôt l'outil `WaitForMcpServers`.194Si votre demande a besoin d'outils d'un serveur qui se connecte toujours en arrière-plan, Claude attend que ce serveur se connecte avant de continuer. Avec la [recherche d'outils](#scale-with-mcp-tool-search) activée, qui est l'option par défaut, l'attente se produit à l'intérieur de l'appel `ToolSearch`. Dans les configurations sans recherche d'outils, telles que Vertex AI, une `ANTHROPIC_BASE_URL` personnalisée, ou `ENABLE_TOOL_SEARCH=false`, Claude utilise plutôt l'outil `WaitForMcpServers`.


208 Conseils :221 Conseils :

209 222 

210 * Utilisez le drapeau `--scope` pour spécifier où la configuration est stockée :223 * Utilisez le drapeau `--scope` pour spécifier où la configuration est stockée :

211 * `local` (par défaut) : Disponible uniquement pour vous dans le projet actuel (appelé `project` dans les versions antérieures)224 * `local` (par défaut) : Disponible uniquement pour vous dans le projet actuel. Les versions antérieures appelaient cette portée `project`

212 * `project` : Partagé avec tous les membres du projet via le fichier `.mcp.json`225 * `project` : Partagé avec tous les membres du projet via le fichier `.mcp.json`

213 * `user` : Disponible pour vous dans tous les projets (appelé `global` dans les versions antérieures)226 * `user` : Disponible pour vous dans tous les projets. Les versions antérieures appelaient cette portée `global`

214 * Définissez les variables d'environnement avec les drapeaux `--env` (par exemple, `--env KEY=value`)227 * Définissez les variables d'environnement avec les drapeaux `--env` (par exemple, `--env KEY=value`)

215 * Configurez le délai d'expiration du démarrage du serveur MCP en utilisant la variable d'environnement MCP\_TIMEOUT (par exemple, `MCP_TIMEOUT=10000 claude` définit un délai d'expiration de 10 secondes)228 * Configurez le délai d'expiration du démarrage du serveur MCP en utilisant la variable d'environnement `MCP_TIMEOUT` (par exemple, `MCP_TIMEOUT=10000 claude` définit un délai d'expiration de 10 secondes)

216 * Définissez un délai d'expiration d'exécution d'outil par serveur en ajoutant un champ `timeout` en millisecondes à l'entrée `.mcp.json` de ce serveur, par exemple `"timeout": 600000` pour dix minutes. Cela remplace la variable d'environnement `MCP_TOOL_TIMEOUT` pour ce serveur uniquement229 * Définissez un délai d'expiration d'exécution d'outil par serveur en ajoutant un champ `timeout` en millisecondes à l'entrée `.mcp.json` de ce serveur, par exemple `"timeout": 600000` pour dix minutes. Cela remplace la variable d'environnement `MCP_TOOL_TIMEOUT` pour ce serveur uniquement

217 * Claude Code affichera un avertissement lorsque la sortie de l'outil MCP dépasse 10 000 jetons. Pour augmenter cette limite, définissez la variable d'environnement `MAX_MCP_OUTPUT_TOKENS` (par exemple, `MAX_MCP_OUTPUT_TOKENS=50000`)230 * Claude Code affichera un avertissement lorsque la sortie de l'outil MCP dépasse 10 000 jetons. Pour augmenter cette limite, définissez la variable d'environnement `MAX_MCP_OUTPUT_TOKENS` (par exemple, `MAX_MCP_OUTPUT_TOKENS=50000`)

218 * Utilisez `/mcp` pour vous authentifier auprès des serveurs distants qui nécessitent une authentification OAuth 2.0231 * Utilisez `/mcp` pour vous authentifier auprès des serveurs distants qui nécessitent une authentification OAuth 2.0


233* Les plugins définissent les serveurs MCP dans `.mcp.json` à la racine du plugin ou en ligne dans `plugin.json`246* Les plugins définissent les serveurs MCP dans `.mcp.json` à la racine du plugin ou en ligne dans `plugin.json`

234* Lorsqu'un plugin est activé, ses serveurs MCP démarrent automatiquement247* Lorsqu'un plugin est activé, ses serveurs MCP démarrent automatiquement

235* Les outils MCP des plugins apparaissent aux côtés des outils MCP configurés manuellement248* Les outils MCP des plugins apparaissent aux côtés des outils MCP configurés manuellement

236* Les serveurs des plugins sont gérés via l'installation du plugin (pas via les commandes `/mcp`)249* Les serveurs des plugins sont gérés via l'installation du plugin, pas via les commandes `/mcp`

237 250 

238**Exemple de configuration MCP du plugin** :251**Exemple de configuration MCP du plugin** :

239 252 


272* **Cycle de vie automatique** : Au démarrage de la session, les serveurs des plugins activés se connectent automatiquement. Si vous activez ou désactivez un plugin pendant une session, exécutez `/reload-plugins` pour connecter ou déconnecter ses serveurs MCP285* **Cycle de vie automatique** : Au démarrage de la session, les serveurs des plugins activés se connectent automatiquement. Si vous activez ou désactivez un plugin pendant une session, exécutez `/reload-plugins` pour connecter ou déconnecter ses serveurs MCP

273* **Variables d'environnement** : utilisez `${CLAUDE_PLUGIN_ROOT}` pour les fichiers du plugin groupés, `${CLAUDE_PLUGIN_DATA}` pour l'[état persistant](/fr/plugins-reference#persistent-data-directory) qui survit aux mises à jour du plugin, et `${CLAUDE_PROJECT_DIR}` pour la racine du projet stable286* **Variables d'environnement** : utilisez `${CLAUDE_PLUGIN_ROOT}` pour les fichiers du plugin groupés, `${CLAUDE_PLUGIN_DATA}` pour l'[état persistant](/fr/plugins-reference#persistent-data-directory) qui survit aux mises à jour du plugin, et `${CLAUDE_PROJECT_DIR}` pour la racine du projet stable

274* **Accès aux variables d'environnement utilisateur** : Accès aux mêmes variables d'environnement que les serveurs configurés manuellement287* **Accès aux variables d'environnement utilisateur** : Accès aux mêmes variables d'environnement que les serveurs configurés manuellement

275* **Types de transport multiples** : Support des transports stdio, SSE, HTTP et WebSocket (le support des transports peut varier selon le serveur)288* **Types de transport multiples** : Support des transports stdio, SSE, HTTP et WebSocket, bien que le support des transports peut varier selon le serveur

276 289 

277**Affichage des serveurs MCP du plugin** :290**Affichage des serveurs MCP du plugin** :

278 291 


408 421 

409**Syntaxe supportée :**422**Syntaxe supportée :**

410 423 

411* `${VAR}` - Se développe à la valeur de la variable d'environnement `VAR`424* `${VAR}` : se développe à la valeur de la variable d'environnement `VAR`

412* `${VAR:-default}` - Se développe à `VAR` si défini, sinon utilise `default`425* `${VAR:-default}` : se développe à `VAR` si défini, sinon utilise `default`

413 426 

414**Emplacements d'expansion :**427**Emplacements d'expansion :**

415Les variables d'environnement peuvent être développées dans :428Les variables d'environnement peuvent être développées dans :

416 429 

417* `command` - Le chemin de l'exécutable du serveur430* `command` : le chemin de l'exécutable du serveur

418* `args` - Arguments de la ligne de commande431* `args` : arguments de la ligne de commande

419* `env` - Variables d'environnement passées au serveur432* `env` : variables d'environnement passées au serveur

420* `url` - Pour les types de serveur HTTP433* `url` : pour les types de serveur HTTP

421* `headers` - Pour l'authentification du serveur HTTP434* `headers` : pour l'authentification du serveur HTTP

422 435 

423**Exemple avec expansion de variable :**436**Exemple avec expansion de variable :**

424 437 


524 537 

525De nombreux serveurs MCP basés sur le cloud nécessitent une authentification. Claude Code supporte OAuth 2.0 pour les connexions sécurisées.538De nombreux serveurs MCP basés sur le cloud nécessitent une authentification. Claude Code supporte OAuth 2.0 pour les connexions sécurisées.

526 539 

527Claude Code marque un serveur distant comme nécessitant une authentification lorsque le serveur répond avec `401 Unauthorized` ou `403 Forbidden`. L'un ou l'autre code de statut signale le serveur dans `/mcp` afin que vous puissiez compléter le flux OAuth. Un serveur personnalisé qui retourne un en-tête `WWW-Authenticate` pointant vers son serveur d'autorisation obtient la même découverte automatique que tout autre serveur distant.540Claude Code marque un serveur distant comme nécessitant une authentification lorsque le serveur répond avec `401 Unauthorized` ou `403 Forbidden`. L'un ou l'autre code de statut signale le serveur dans `/mcp` afin que vous puissiez compléter le flux OAuth.

541 

542À partir de la v2.1.195, lorsqu'une actualisation de jeton échoue parce que le serveur rejette le jeton d'actualisation stocké, Claude Code affiche immédiatement un avis pointant vers `/mcp`. Le menu du serveur connecté là-bas offre Re-authenticate, afin que vous puissiez vous connecter à nouveau avant que le prochain appel d'outil échoue.

543 

544Un serveur personnalisé qui retourne un en-tête `WWW-Authenticate` pointant vers son serveur d'autorisation obtient la même découverte automatique que tout autre serveur distant.

545 

546À partir de la v2.1.193, Claude Code affiche également un avis de démarrage lorsqu'un ou plusieurs serveurs configurés nécessitent une authentification, vous n'avez donc pas besoin d'ouvrir `/mcp` pour découvrir quels serveurs nécessitent une connexion.

547 

548En mode non interactif, il n'y a pas de panneau `/mcp`, donc Claude Code ne peut pas exécuter le flux OAuth pour vous. À partir de la v2.1.196, lorsqu'un serveur configuré nécessite une authentification lors d'une exécution `claude -p` ou Agent SDK avec [recherche d'outils](#scale-with-mcp-tool-search) activée, ce qui est la valeur par défaut, Claude Code indique à Claude que les outils du serveur ne sont pas disponibles jusqu'à ce que vous l'autorisiez. Claude peut alors nommer le serveur qui nécessite une connexion au lieu de répondre comme si le serveur n'était pas configuré. Complétez la connexion à partir d'une session interactive avec `/mcp` ou `claude mcp login <name>`.

528 549 

529Si vous avez configuré `headers.Authorization` pour le serveur et que le serveur rejette cet en-tête, Claude Code signale la connexion comme échouée au lieu de revenir à OAuth. Vérifiez que le jeton est valide pour le point de terminaison MCP, ou supprimez l'en-tête pour utiliser le flux OAuth.550Si vous avez configuré `headers.Authorization` pour le serveur et que le serveur rejette cet en-tête, Claude Code signale la connexion comme échouée au lieu de revenir à OAuth. Vérifiez que le jeton est valide pour le point de terminaison MCP, ou supprimez l'en-tête pour utiliser le flux OAuth.

530 551 


710 731 

711`oauth.scopes` a la priorité sur `authServerMetadataUrl` et les portées que le serveur découvre à `/.well-known`. Laissez-le non défini pour laisser le serveur MCP déterminer l'ensemble de portées demandées.732`oauth.scopes` a la priorité sur `authServerMetadataUrl` et les portées que le serveur découvre à `/.well-known`. Laissez-le non défini pour laisser le serveur MCP déterminer l'ensemble de portées demandées.

712 733 

734À partir de la v2.1.196, lorsque `oauth.scopes` n'est pas défini, Claude Code demande la portée fournie par l'en-tête `WWW-Authenticate` du serveur ou ses métadonnées de ressource protégée, et n'envoie aucun paramètre `scope` lorsque ni l'un ni l'autre ne fournit de portée. Il ne demande plus le catalogue complet `scopes_supported` à partir des métadonnées du serveur d'autorisation découvertes automatiquement. Demander ce catalogue a fait que les fournisseurs d'identité qui annoncent des portées réservées aux administrateurs ou des portées de modèle rejettent la demande d'autorisation avec une erreur `invalid_scope`. Les métadonnées récupérées à partir d'une `authServerMetadataUrl` configurée fournissent toujours ses `scopes_supported` comme portées demandées.

735 

713Si le serveur d'autorisation annonce `offline_access` dans `scopes_supported`, Claude Code l'ajoute aux portées épinglées afin que le jeton d'accès puisse être actualisé sans une nouvelle connexion au navigateur.736Si le serveur d'autorisation annonce `offline_access` dans `scopes_supported`, Claude Code l'ajoute aux portées épinglées afin que le jeton d'accès puisse être actualisé sans une nouvelle connexion au navigateur.

714 737 

715Si le serveur retourne ultérieurement un 403 `insufficient_scope` pour un appel d'outil, Claude Code se réauthentifie avec les mêmes portées épinglées. Élargissez `oauth.scopes` lorsqu'un outil dont vous avez besoin nécessite une portée en dehors de l'épingle.738Si le serveur retourne ultérieurement un 403 `insufficient_scope` pour un appel d'outil, Claude Code se réauthentifie avec les mêmes portées épinglées. Élargissez `oauth.scopes` lorsqu'un outil dont vous avez besoin nécessite une portée en dehors de l'épingle.


754 777 

755L'assistant s'exécute à nouveau à chaque connexion (au démarrage de la session et à la reconnexion). Il n'y a pas de mise en cache, donc votre script est responsable de toute réutilisation de jetons.778L'assistant s'exécute à nouveau à chaque connexion (au démarrage de la session et à la reconnexion). Il n'y a pas de mise en cache, donc votre script est responsable de toute réutilisation de jetons.

756 779 

780À partir de la v2.1.193, si un appel d'outil retourne `401 Unauthorized` ou `403 Forbidden`, Claude Code réexécute automatiquement l'assistant, se reconnecte avec les en-têtes frais et réessaie l'appel une fois. Claude Code marque le serveur comme nécessitant une authentification dans `/mcp` uniquement si cette nouvelle tentative échoue également.

781 

757Claude Code définit ces variables d'environnement lors de l'exécution de l'assistant :782Claude Code définit ces variables d'environnement lors de l'exécution de l'assistant :

758 783 

759| Variable | Valeur |784| Variable | Valeur |

760| :---------------------------- | :-------------------- |785| :---------------------------- | :------------------------------------------------------------------------------------------------------------------------- |

761| `CLAUDE_CODE_MCP_SERVER_NAME` | le nom du serveur MCP |786| `CLAUDE_CODE_MCP_SERVER_NAME` | le nom du serveur MCP |

762| `CLAUDE_CODE_MCP_SERVER_URL` | l'URL du serveur MCP |787| `CLAUDE_CODE_MCP_SERVER_URL` | l'URL du serveur MCP |

788| `CLAUDE_PLUGIN_ROOT` | le répertoire racine du plugin. Défini uniquement lorsqu'un [plugin](/fr/plugins-reference#mcp-servers) fournit le serveur |

763 789 

764Utilisez-les pour écrire un script d'assistant unique qui sert plusieurs serveurs MCP.790Utilisez-les pour écrire un script d'assistant unique qui sert plusieurs serveurs MCP.

765 791 

792Pour un serveur fourni par un plugin, l'assistant s'exécute également avec son répertoire de travail défini à la racine du plugin, donc un chemin `headersHelper` relatif se résout à l'intérieur du répertoire du plugin plutôt que par rapport au répertoire de travail de la session. Nécessite Claude Code v2.1.195 ou ultérieur.

793 

766<Note>794<Note>

767 `headersHelper` exécute des commandes shell arbitraires. Lorsqu'il est défini à portée de projet ou locale, il ne s'exécute qu'après que vous ayez accepté la boîte de dialogue de confiance de l'espace de travail.795 `headersHelper` exécute des commandes shell arbitraires. Lorsqu'il est défini à portée de projet ou locale, il ne s'exécute qu'après que vous ayez accepté la boîte de dialogue de confiance de l'espace de travail.

768</Note>796</Note>


841</Tip>869</Tip>

842 870 

843<h2 id="use-mcp-servers-from-claude-ai">871<h2 id="use-mcp-servers-from-claude-ai">

844 Utiliser les serveurs MCP à partir de Claude.ai872 Utiliser les serveurs MCP à partir de claude.ai

845</h2>873</h2>

846 874 

847Si vous vous êtes connecté à Claude Code avec un compte [Claude.ai](https://claude.ai), les serveurs MCP que vous avez ajoutés dans Claude.ai sont automatiquement disponibles dans Claude Code :875Si vous vous êtes connecté à Claude Code avec un compte [claude.ai](https://claude.ai), les serveurs MCP que vous avez ajoutés dans claude.ai sont automatiquement disponibles dans Claude Code :

848 876 

849<Steps>877<Steps>

850 <Step title="Configurer les serveurs MCP dans Claude.ai">878 <Step title="Configurer les serveurs MCP dans claude.ai">

851 Ajoutez les serveurs à [claude.ai/customize/connectors](https://claude.ai/customize/connectors). Sur les plans Team et Enterprise, seuls les administrateurs peuvent ajouter des serveurs.879 Ajoutez les serveurs à [claude.ai/customize/connectors](https://claude.ai/customize/connectors). Sur les plans Team et Enterprise, seuls les administrateurs peuvent ajouter des serveurs.

852 </Step>880 </Step>

853 881 

854 <Step title="Authentifier le serveur MCP">882 <Step title="Authentifier le serveur MCP">

855 Complétez les étapes d'authentification requises dans Claude.ai.883 Complétez les étapes d'authentification requises dans claude.ai.

856 </Step>884 </Step>

857 885 

858 <Step title="Afficher et gérer les serveurs dans Claude Code">886 <Step title="Afficher et gérer les serveurs dans Claude Code">


862 /mcp890 /mcp

863 ```891 ```

864 892 

865 Les serveurs Claude.ai apparaissent dans la liste avec des indicateurs montrant qu'ils proviennent de Claude.ai.893 Les serveurs de claude.ai apparaissent dans la liste avec des indicateurs montrant qu'ils proviennent de claude.ai.

866 </Step>894 </Step>

867</Steps>895</Steps>

868 896 

869À partir de la v2.1.161, les connecteurs auxquels vous ne vous êtes jamais connecté sont réduits derrière une ligne `Show unused connectors` à la fin de la section claude.ai, de sorte qu'une liste fournie par l'organisation ne remplit pas le panneau. Sélectionnez la ligne pour les développer. Un connecteur auquel vous vous êtes connecté précédemment reste visible même s'il nécessite actuellement une réauthentification.897À partir de la v2.1.161, les connecteurs auxquels vous ne vous êtes jamais connecté sont réduits derrière une ligne `Show unused connectors` à la fin de la section claude.ai, de sorte qu'une liste fournie par l'organisation ne remplit pas le panneau. Sélectionnez la ligne pour les développer. Un connecteur auquel vous vous êtes connecté précédemment reste visible même s'il nécessite actuellement une réauthentification.

870 898 

871Les connecteurs Claude.ai sont récupérés uniquement lorsque votre [méthode d'authentification](/fr/authentication#authentication-precedence) active est votre abonnement Claude.ai. Ils ne sont pas chargés lorsque `ANTHROPIC_API_KEY`, `ANTHROPIC_AUTH_TOKEN`, `apiKeyHelper`, ou un fournisseur tiers tel que Bedrock ou Vertex est actif, même si vous avez précédemment exécuté `/login`. Si `/mcp` ne répertorie pas un connecteur que vous avez ajouté, exécutez `/status` pour confirmer quelle méthode d'authentification est active, désactivez cette variable d'environnement ou supprimez le paramètre `apiKeyHelper`, puis exécutez `/login` pour sélectionner votre compte Claude.ai.899Les connecteurs de claude.ai sont récupérés uniquement lorsque votre [méthode d'authentification](/fr/authentication#authentication-precedence) active est votre abonnement claude.ai. Ils ne sont pas chargés lorsque `ANTHROPIC_API_KEY`, `ANTHROPIC_AUTH_TOKEN`, `apiKeyHelper`, ou un fournisseur tiers tel que Bedrock ou Vertex est actif, même si vous avez précédemment exécuté `/login`. Si `/mcp` ne répertorie pas un connecteur que vous avez ajouté, exécutez `/status` pour confirmer quelle méthode d'authentification est active, désactivez cette variable d'environnement ou supprimez le paramètre `apiKeyHelper`, puis exécutez `/login` pour sélectionner votre compte claude.ai.

872 900 

873Un serveur que vous avez ajouté dans Claude Code prend [précédence](#scope-hierarchy-and-precedence) sur un connecteur claude.ai qui pointe vers la même URL. Quand cela se produit, `/mcp` répertorie le connecteur comme masqué et montre comment supprimer le doublon si vous préférez utiliser le connecteur.901Un serveur que vous avez ajouté dans Claude Code prend [précédence](#scope-hierarchy-and-precedence) sur un connecteur claude.ai qui pointe vers la même URL. Quand cela se produit, `/mcp` répertorie le connecteur comme masqué et montre comment supprimer le doublon si vous préférez utiliser le connecteur.

874 902 


878 Désactiver les connecteurs claude.ai906 Désactiver les connecteurs claude.ai

879</h3>907</h3>

880 908 

881Pour désactiver les serveurs MCP de Claude.ai dans Claude Code, définissez [`disableClaudeAiConnectors`](/fr/settings#available-settings) sur `true` dans n'importe quelle portée de paramètres :909Pour désactiver les serveurs MCP de claude.ai dans Claude Code, définissez [`disableClaudeAiConnectors`](/fr/settings#available-settings) sur `true` dans n'importe quelle portée de paramètres :

882 910 

883```json theme={null}911```json theme={null}

884{912{


958 986 

959 * Le serveur fournit l'accès aux outils de Claude comme View, Edit, LS, etc.987 * Le serveur fournit l'accès aux outils de Claude comme View, Edit, LS, etc.

960 * Dans Claude Desktop, essayez de demander à Claude de lire les fichiers dans un répertoire, de faire des modifications, et plus encore.988 * Dans Claude Desktop, essayez de demander à Claude de lire les fichiers dans un répertoire, de faire des modifications, et plus encore.

961 * Notez que ce serveur MCP expose uniquement les outils de Claude Code à votre client MCP, donc votre propre client est responsable de l'implémentation de la confirmation de l'utilisateur pour les appels d'outils individuels.989 * Ce serveur MCP expose uniquement les outils de Claude Code à votre client MCP, donc votre propre client est responsable de l'implémentation de la confirmation de l'utilisateur pour les appels d'outils individuels.

962</Tip>990</Tip>

963 991 

964<h2 id="mcp-output-limits-and-warnings">992<h2 id="mcp-output-limits-and-warnings">


1199 * Les prompts MCP sont découverts dynamiquement à partir des serveurs connectés1227 * Les prompts MCP sont découverts dynamiquement à partir des serveurs connectés

1200 * Les arguments sont analysés en fonction des paramètres définis du prompt1228 * Les arguments sont analysés en fonction des paramètres définis du prompt

1201 * Les résultats du prompt sont injectés directement dans la conversation1229 * Les résultats du prompt sont injectés directement dans la conversation

1202 * Les noms de serveur et de prompt sont normalisés (les espaces deviennent des traits de soulignement)1230 * Les noms de serveur et de prompt sont normalisés, avec les espaces convertis en traits de soulignement

1203</Tip>1231</Tip>

1204 1232 

1205<h2 id="managed-mcp-configuration">1233<h2 id="managed-mcp-configuration">

Details

171 171 

172```bash theme={null}172```bash theme={null}

173export ANTHROPIC_DEFAULT_OPUS_MODEL='claude-opus-4-8'173export ANTHROPIC_DEFAULT_OPUS_MODEL='claude-opus-4-8'

174export ANTHROPIC_DEFAULT_SONNET_MODEL='claude-sonnet-4-6'174export ANTHROPIC_DEFAULT_SONNET_MODEL='claude-sonnet-5'

175export ANTHROPIC_DEFAULT_HAIKU_MODEL='claude-haiku-4-5'175export ANTHROPIC_DEFAULT_HAIKU_MODEL='claude-haiku-4-5'

176```176```

177 177 

model-config.md +44 −31

Details

30Les alias de modèle offrent un moyen pratique de sélectionner les paramètres du modèle sans avoir à mémoriser les numéros de version exacts :30Les alias de modèle offrent un moyen pratique de sélectionner les paramètres du modèle sans avoir à mémoriser les numéros de version exacts :

31 31 

32| Alias de modèle | Comportement |32| Alias de modèle | Comportement |

33| ---------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |33| ---------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

34| **`default`** | Valeur spéciale qui efface tout remplacement de modèle et revient au modèle recommandé pour votre type de compte. N'est pas en soi un alias de modèle |34| **`default`** | Valeur spéciale qui efface tout remplacement de modèle et revient au modèle recommandé pour votre type de compte. N'est pas en soi un alias de modèle |

35| **`best`** | Utilise Fable 5 où votre organisation y a accès, sinon le dernier modèle Opus |35| **`best`** | Utilise Fable 5 où votre organisation y a accès, sinon le dernier modèle Opus |

36| **`fable`** | Utilise Claude Fable 5 pour vos tâches les plus difficiles et les plus longues |36| **`fable`** | Utilise Claude Fable 5 pour vos tâches les plus difficiles et les plus longues |

37| **`sonnet`** | Utilise le dernier modèle Sonnet pour les tâches de codage quotidiennes |37| **`sonnet`** | Utilise le dernier modèle Sonnet pour les tâches de codage quotidiennes |

38| **`opus`** | Utilise le dernier modèle Opus pour les tâches de raisonnement complexe |38| **`opus`** | Utilise le dernier modèle Opus pour les tâches de raisonnement complexe |

39| **`haiku`** | Utilise le modèle Haiku rapide et efficace pour les tâches simples |39| **`haiku`** | Utilise le modèle Haiku rapide et efficace pour les tâches simples |

40| **`sonnet[1m]`** | Utilise Sonnet avec une [fenêtre de contexte de 1 million de tokens](https://platform.claude.com/docs/fr/build-with-claude/context-windows#1m-token-context-window) pour les sessions longues |40| **`sonnet[1m]`** | Utilise Sonnet avec une [fenêtre de contexte de 1 million de tokens](https://platform.claude.com/docs/fr/build-with-claude/context-windows#1m-token-context-window) pour les sessions longues. Sans effet lorsque `sonnet` se résout déjà en Sonnet 5 avec sa fenêtre 1M native ; derrière une [passerelle LLM](/fr/llm-gateway), sélectionne la fenêtre 1M pour Sonnet 5 |

41| **`opus[1m]`** | Utilise Opus avec une [fenêtre de contexte de 1 million de tokens](https://platform.claude.com/docs/fr/build-with-claude/context-windows#1m-token-context-window) pour les sessions longues |41| **`opus[1m]`** | Utilise Opus avec une [fenêtre de contexte de 1 million de tokens](https://platform.claude.com/docs/fr/build-with-claude/context-windows#1m-token-context-window) pour les sessions longues |

42| **`opusplan`** | Mode spécial qui utilise `opus` pendant le mode plan, puis bascule vers `sonnet` pour l'exécution |42| **`opusplan`** | Mode spécial qui utilise `opus` pendant le mode plan, puis bascule vers `sonnet` pour l'exécution |

43 43 

44Sur l'API Anthropic, `opus` se résout en Opus 4.8 et `sonnet` se résout en Sonnet 4.6. Sur [Claude Platform on AWS](/fr/claude-platform-on-aws), `opus` se résout en Opus 4.7 et `sonnet` se résout en Sonnet 4.6. Sur Bedrock, Vertex et Foundry, `opus` se résout en Opus 4.6 et `sonnet` se résout en Sonnet 4.5 ; les modèles plus récents sont disponibles sur ces fournisseurs en sélectionnant le nom de modèle complet explicitement ou en définissant `ANTHROPIC_DEFAULT_OPUS_MODEL` ou `ANTHROPIC_DEFAULT_SONNET_MODEL`.44Sur l'API Anthropic, `opus` se résout en Opus 4.8 et `sonnet` se résout en Sonnet 5. Sur [Claude Platform on AWS](/fr/claude-platform-on-aws), `opus` se résout en Opus 4.7 et `sonnet` se résout en Sonnet 4.6. Sur Bedrock, Vertex et Foundry, `opus` se résout en Opus 4.6 et `sonnet` se résout en Sonnet 4.5 ; les modèles plus récents sont disponibles sur ces fournisseurs en sélectionnant le nom de modèle complet explicitement ou en définissant `ANTHROPIC_DEFAULT_OPUS_MODEL` ou `ANTHROPIC_DEFAULT_SONNET_MODEL`.

45 45 

46Les alias pointent vers la version recommandée pour votre fournisseur et se mettent à jour au fil du temps. Pour épingler une version spécifique, utilisez le nom de modèle complet (par exemple, `claude-opus-4-8`) ou définissez la variable d'environnement correspondante comme `ANTHROPIC_DEFAULT_OPUS_MODEL`.46Les alias pointent vers la version recommandée pour votre fournisseur et se mettent à jour au fil du temps. Pour épingler une version spécifique, utilisez le nom de modèle complet (par exemple, `claude-opus-4-8`) ou définissez la variable d'environnement correspondante comme `ANTHROPIC_DEFAULT_OPUS_MODEL`.

47 47 

48<Note>48<Note>

49 Opus 4.8 nécessite Claude Code v2.1.154 ou version ultérieure. Exécutez `claude update` pour mettre à niveau.49 Sonnet 5 nécessite Claude Code v2.1.197 ou version ultérieure. Opus 4.8 nécessite la v2.1.154 ou version ultérieure. Exécutez `claude update` pour mettre à niveau.

50</Note>50</Note>

51 51 

52<h3 id="work-with-fable-5">52<h3 id="work-with-fable-5">


74 74 

75Vous pouvez configurer votre modèle de plusieurs façons, énumérées par ordre de priorité :75Vous pouvez configurer votre modèle de plusieurs façons, énumérées par ordre de priorité :

76 76 

771. **Pendant la session** - Utilisez `/model <alias|name>` pour basculer immédiatement, ou exécutez `/model` sans argument pour ouvrir le sélecteur. Le sélecteur demande une confirmation lorsque la conversation a une sortie antérieure, car la réponse suivante relit l'historique complet sans contexte en cache771. **Pendant la session** : utilisez `/model <alias|name>` pour basculer immédiatement, ou exécutez `/model` sans argument pour ouvrir le sélecteur. Le sélecteur demande une confirmation lorsque la conversation a une sortie antérieure, car la réponse suivante relit l'historique complet sans contexte en cache

782. **Au démarrage** - Lancez avec `claude --model <alias|name>`782. **Au démarrage** : lancez avec `claude --model <alias|name>`

793. **Variable d'environnement** - Définissez `ANTHROPIC_MODEL=<alias|name>`793. **Variable d'environnement** : définissez `ANTHROPIC_MODEL=<alias|name>`

804. **Paramètres** - Configurez de manière permanente dans votre fichier de paramètres en utilisant le champ `model`.804. **Paramètres** : configurez de manière permanente dans votre fichier de paramètres en utilisant le champ `model`

81 81 

82À partir de la v2.1.153, `/model` enregistre votre choix comme valeur par défaut pour les nouvelles sessions en écrivant le champ `model` dans vos paramètres utilisateur. Dans le sélecteur :82À partir de la v2.1.153, `/model` enregistre votre choix comme valeur par défaut pour les nouvelles sessions en écrivant le champ `model` dans vos paramètres utilisateur. Dans le sélecteur :

83 83 


92 92 

93Les sessions reprises démarrées avec `claude --resume`, `--continue`, ou le sélecteur `/resume` conservent le modèle qu'elles utilisaient lorsque la transcription a été enregistrée, indépendamment du paramètre `model` actuel. Si ce modèle a été retiré ou est exclu par [`availableModels`](#restrict-model-selection), la session revient à l'ordre de priorité normal. Cela empêche le choix `/model` d'une autre session de modifier le modèle à la reprise.93Les sessions reprises démarrées avec `claude --resume`, `--continue`, ou le sélecteur `/resume` conservent le modèle qu'elles utilisaient lorsque la transcription a été enregistrée, indépendamment du paramètre `model` actuel. Si ce modèle a été retiré ou est exclu par [`availableModels`](#restrict-model-selection), la session revient à l'ordre de priorité normal. Cela empêche le choix `/model` d'une autre session de modifier le modèle à la reprise.

94 94 

95Un modèle que vous choisissez pour le nouveau lancement avec `--model` ou `ANTHROPIC_MODEL` a toujours la priorité sur le modèle restauré. {/* min-version: 2.1.195 */}À partir de la v2.1.195, il en va de même pour une variable de famille [`ANTHROPIC_DEFAULT_OPUS_MODEL`](#environment-variables).

96 

95Lorsque le modèle actif au démarrage provient des paramètres du projet ou gérés plutôt que de votre propre sélection, l'en-tête de démarrage indique quel fichier de paramètres l'a défini. Exécutez `/model` pour remplacer ; le paramètre du projet ou géré se réapplique au prochain lancement.97Lorsque le modèle actif au démarrage provient des paramètres du projet ou gérés plutôt que de votre propre sélection, l'en-tête de démarrage indique quel fichier de paramètres l'a défini. Exécutez `/model` pour remplacer ; le paramètre du projet ou géré se réapplique au prochain lancement.

96 98 

97Lorsque le modèle demandé a une date de retrait programmée ou est automatiquement remappé à une version plus récente, Claude Code affiche un avertissement qui nomme le modèle demandé. Les sessions interactives l'affichent comme un avis de démarrage. À partir de la v2.1.182, le même avertissement est écrit dans stderr en [mode non interactif](/fr/headless) lors de l'utilisation du format de sortie texte par défaut. La vérification couvre également un `model` défini dans [frontmatter de sous-agent](/fr/sub-agents). L'avertissement stderr est supprimé pour `--output-format json` et `stream-json` ; lisez le modèle réel à partir du champ `modelUsage` du [message de résultat](/fr/headless#get-structured-output) à la place.99Lorsque le modèle demandé a une date de retrait programmée ou est automatiquement remappé à une version plus récente, Claude Code affiche un avertissement qui nomme le modèle demandé. Les sessions interactives l'affichent comme un avis de démarrage. À partir de la v2.1.182, le même avertissement est écrit dans stderr en [mode non interactif](/fr/headless) lors de l'utilisation du format de sortie texte par défaut. La vérification couvre également un `model` défini dans [frontmatter de sous-agent](/fr/sub-agents). L'avertissement stderr est supprimé pour `--output-format json` et `stream-json` ; lisez le modèle réel à partir du champ `modelUsage` du [message de résultat](/fr/headless#get-structured-output) à la place.


123 125 

124Les administrateurs d'entreprise peuvent utiliser `availableModels` dans les [paramètres gérés ou de politique](/fr/settings#settings-files) pour restreindre les modèles que les utilisateurs peuvent sélectionner. Les entrées correspondent à une famille de modèles telle que `sonnet`, un préfixe de version tel que `claude-sonnet-4-5`, ou un ID de modèle complet tel que `claude-sonnet-4-5-20250929`.126Les administrateurs d'entreprise peuvent utiliser `availableModels` dans les [paramètres gérés ou de politique](/fr/settings#settings-files) pour restreindre les modèles que les utilisateurs peuvent sélectionner. Les entrées correspondent à une famille de modèles telle que `sonnet`, un préfixe de version tel que `claude-sonnet-4-5`, ou un ID de modèle complet tel que `claude-sonnet-4-5-20250929`.

125 127 

126Lorsque `availableModels` est défini, la liste d'autorisation s'applique à chaque surface où un utilisateur peut nommer un modèle :128Lorsque `availableModels` est défini, la liste d'autorisation s'applique partout où un utilisateur peut spécifier un modèle :

127 129 

128* **Modèle de session principale** : `/model`, le drapeau `--model`, la variable d'environnement `ANTHROPIC_MODEL`, le paramètre `model`, et le modèle restauré lors de la [reprise d'une session](#setting-your-model)130* **Modèle de session principale** : `/model`, le drapeau `--model`, la variable d'environnement `ANTHROPIC_MODEL`, le paramètre `model`, et le modèle restauré lors de la [reprise d'une session](#setting-your-model)

129* **Résolution d'alias** : {/* min-version: 2.1.176 */}les variables d'environnement `ANTHROPIC_DEFAULT_OPUS_MODEL`, `ANTHROPIC_DEFAULT_SONNET_MODEL`, `ANTHROPIC_DEFAULT_HAIKU_MODEL`, et `ANTHROPIC_DEFAULT_FABLE_MODEL` ne peuvent pas rediriger un alias autorisé vers un modèle en dehors de la liste131* **Résolution d'alias** : {/* min-version: 2.1.176 */}les variables d'environnement `ANTHROPIC_DEFAULT_OPUS_MODEL`, `ANTHROPIC_DEFAULT_SONNET_MODEL`, `ANTHROPIC_DEFAULT_HAIKU_MODEL`, et `ANTHROPIC_DEFAULT_FABLE_MODEL` ne peuvent pas rediriger un alias autorisé vers un modèle en dehors de la liste


234 Restrictions de modèle d'organisation236 Restrictions de modèle d'organisation

235</h3>237</h3>

236 238 

237Utilisez le bouton bascule de la Console au lieu de `availableModels` lorsque vos membres s'authentifient via l'API Anthropic et que vous voulez un commutateur à l'échelle de l'organisation sans déployer de fichiers de paramètres. Les administrateurs d'organisation restreignent les modèles que les membres peuvent exécuter en désactivant les modèles individuels dans la Console Claude. Cette restriction est livrée avec les droits du compte lorsque Claude Code s'authentifie, séparée de toute liste `availableModels` dans les paramètres, et le serveur applique la même restriction indépendamment lorsqu'une session est créée. Nécessite Claude Code v2.1.187 ou ultérieur.239Les administrateurs d'organisation restreignent les modèles que les membres peuvent exécuter en désactivant les modèles individuels dans la Console Claude. Utilisez ce bouton bascule de la Console au lieu de `availableModels` lorsque vos membres s'authentifient via l'API Anthropic et que vous voulez un commutateur à l'échelle de l'organisation sans déployer de fichiers de paramètres. Cette restriction est livrée avec les droits du compte lorsque Claude Code s'authentifie, séparée de toute liste `availableModels` dans les paramètres, et le serveur applique la même restriction indépendamment lorsqu'une session est créée. Nécessite Claude Code v2.1.187 ou ultérieur.

238 240 

239Un modèle restreint est masqué du sélecteur `/model`. Le sélectionner par nom avec `--model`, la variable d'environnement `ANTHROPIC_MODEL`, ou le paramètre `model` affiche l'avis `Model "<name>" is restricted by your organization's settings. Using <model> instead.` et la session démarre sur un modèle autorisé. Taper `/model <name>` pour un modèle restreint est rejeté avec `Model '<name>' is restricted by your organization's settings. Run /model to choose a different model.` et la session conserve son modèle actuel.241Un modèle restreint est masqué du sélecteur `/model`. Le sélectionner par nom avec `--model`, la variable d'environnement `ANTHROPIC_MODEL`, ou le paramètre `model` affiche l'avis `Model "<name>" is restricted by your organization's settings. Using <model> instead.` et la session démarre sur un modèle autorisé. Taper `/model <name>` pour un modèle restreint est rejeté avec `Model '<name>' is restricted by your organization's settings. Run /model to choose a different model.` et la session conserve son modèle actuel.

240 242 


252 254 

253* **Max, Team Premium, Enterprise pay-as-you-go, et API Anthropic** : par défaut Opus 4.8255* **Max, Team Premium, Enterprise pay-as-you-go, et API Anthropic** : par défaut Opus 4.8

254* **Claude Platform sur AWS** : par défaut Opus 4.7256* **Claude Platform sur AWS** : par défaut Opus 4.7

255* **Pro, Team Standard, et sièges d'abonnement Enterprise** : par défaut Sonnet 4.6257* **Pro, Team Standard, et sièges d'abonnement Enterprise** : par défaut Sonnet 5

256* **Bedrock, Vertex, et Foundry** : par défaut Sonnet 4.5258* **Bedrock, Vertex, et Foundry** : par défaut Sonnet 4.5

257 259 

258Enterprise pay-as-you-go signifie une organisation Enterprise facturée à l'utilisation plutôt que par siège d'abonnement.260Enterprise pay-as-you-go signifie une organisation Enterprise facturée à l'utilisation plutôt que par siège d'abonnement.


267 269 

268L'alias de modèle `opusplan` fournit une approche hybride automatisée :270L'alias de modèle `opusplan` fournit une approche hybride automatisée :

269 271 

270* **En mode plan** - Utilise `opus` pour le raisonnement complexe et les décisions architecturales272* **En mode plan** : utilise `opus` pour le raisonnement complexe et les décisions architecturales

271* **En mode exécution** - Bascule automatiquement vers `sonnet` pour la génération de code et l'implémentation273* **En mode exécution** : bascule automatiquement vers `sonnet` pour la génération de code et l'implémentation

272 274 

273Cela vous donne le meilleur des deux mondes : le raisonnement supérieur d'Opus pour la planification et l'efficacité de Sonnet pour l'exécution.275Cela associe le raisonnement d'Opus pour la planification avec l'efficacité de Sonnet pour l'exécution.

274 276 

275La phase Opus en mode plan utilise la même fenêtre de contexte que le paramètre de modèle `opus`. Sur les niveaux d'abonnement où Opus est [automatiquement mis à niveau vers un contexte 1M](#extended-context), `opusplan` reçoit la mise à niveau en mode plan également. Pour forcer un contexte 1M pour les deux phases lorsque vous n'êtes pas sur un niveau de mise à niveau automatique, définissez le modèle sur `opusplan[1m]`.277La phase Opus en mode plan utilise la même fenêtre de contexte que le paramètre de modèle `opus`. Sur les niveaux d'abonnement où Opus est [automatiquement mis à niveau vers un contexte 1M](#extended-context), `opusplan` reçoit la mise à niveau en mode plan également. Pour forcer un contexte 1M pour les deux phases lorsque vous n'êtes pas sur un niveau de mise à niveau automatique, définissez le modèle sur `opusplan[1m]`.

276 278 


296 298 

297```json theme={null}299```json theme={null}

298{300{

299 "fallbackModel": ["claude-sonnet-4-6", "claude-haiku-4-5"]301 "fallbackModel": ["claude-sonnet-5", "claude-haiku-4-5"]

300}302}

301```303```

302 304 


368Les niveaux d'effort disponibles dépendent du modèle. Les modèles non listés ici ne prennent pas en charge l'effort :370Les niveaux d'effort disponibles dépendent du modèle. Les modèles non listés ici ne prennent pas en charge l'effort :

369 371 

370| Modèle | Niveaux |372| Modèle | Niveaux |

371| :--------------------- | :-------------------------------------- |373| :----------------------------- | :-------------------------------------- |

372| Fable 5 | `low`, `medium`, `high`, `xhigh`, `max` |374| Fable 5 | `low`, `medium`, `high`, `xhigh`, `max` |

373| Opus 4.8 et Opus 4.7 | `low`, `medium`, `high`, `xhigh`, `max` |375| Sonnet 5, Opus 4.8 et Opus 4.7 | `low`, `medium`, `high`, `xhigh`, `max` |

374| Opus 4.6 et Sonnet 4.6 | `low`, `medium`, `high`, `max` |376| Opus 4.6 et Sonnet 4.6 | `low`, `medium`, `high`, `max` |

375 377 

376Si vous définissez un niveau que le modèle actif ne prend pas en charge, Claude Code revient au niveau le plus élevé pris en charge au niveau ou en dessous de celui que vous avez défini. Par exemple, `xhigh` s'exécute comme `high` sur Opus 4.6.378Si vous définissez un niveau que le modèle actif ne prend pas en charge, Claude Code revient au niveau le plus élevé pris en charge au niveau ou en dessous de celui que vous avez défini. Par exemple, `xhigh` s'exécute comme `high` sur Opus 4.6.

377 379 

378L'effort par défaut est `high` sur Fable 5, Opus 4.8, Opus 4.6 et Sonnet 4.6, et `xhigh` sur Opus 4.7.380L'effort par défaut est `high` sur Fable 5, Sonnet 5, Opus 4.8, Opus 4.6 et Sonnet 4.6, et `xhigh` sur Opus 4.7.

379 381 

380Lorsque vous exécutez Fable 5, Opus 4.8 ou Opus 4.7 pour la première fois, Claude Code applique l'effort par défaut de ce modèle même si vous aviez précédemment défini un niveau différent pour un autre modèle : `high` sur Fable 5 et Opus 4.8, et `xhigh` sur Opus 4.7. Exécutez `/effort` à nouveau pour choisir un niveau différent après le changement.382Lorsque vous exécutez Fable 5, Opus 4.8 ou Opus 4.7 pour la première fois, Claude Code applique l'effort par défaut de ce modèle même si vous aviez précédemment défini un niveau différent pour un autre modèle : `high` sur Fable 5 et Opus 4.8, et `xhigh` sur Opus 4.7. Exécutez `/effort` à nouveau pour choisir un niveau différent après le changement.

381 383 


393| :---------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |395| :---------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

394| `low` | Réservez aux tâches courtes, délimitées, sensibles à la latence qui ne sont pas sensibles à l'intelligence |396| `low` | Réservez aux tâches courtes, délimitées, sensibles à la latence qui ne sont pas sensibles à l'intelligence |

395| `medium` | Réduit l'utilisation des tokens pour le travail sensible aux coûts qui peut faire des compromis sur l'intelligence |397| `medium` | Réduit l'utilisation des tokens pour le travail sensible aux coûts qui peut faire des compromis sur l'intelligence |

396| `high` | Équilibre l'utilisation des tokens et l'intelligence. Par défaut sur Fable 5, Opus 4.8, Opus 4.6 et Sonnet 4.6 |398| `high` | Équilibre l'utilisation des tokens et l'intelligence. Par défaut sur Fable 5, Sonnet 5, Opus 4.8, Opus 4.6 et Sonnet 4.6 |

397| `xhigh` | Raisonnement plus profond avec dépenses en tokens plus élevées. Par défaut sur Opus 4.7 |399| `xhigh` | Raisonnement plus profond avec dépenses en tokens plus élevées. Par défaut sur Opus 4.7 |

398| `max` | Peut améliorer les performances sur les tâches exigeantes mais peut montrer des rendements décroissants et est sujet à la surréflexion. Testez avant d'adopter largement |400| `max` | Peut améliorer les performances sur les tâches exigeantes mais peut montrer des rendements décroissants et est sujet à la surréflexion. Testez avant d'adopter largement |

399| `ultracode` | Un paramètre de Claude Code qui planifie un [flux de travail dynamique](/fr/workflows) pour chaque tâche substantielle avec un raisonnement `xhigh` par message. Session uniquement |401| `ultracode` | Un paramètre de Claude Code qui planifie un [flux de travail dynamique](/fr/workflows) pour chaque tâche substantielle avec un raisonnement `xhigh` par message. Session uniquement |


429 431 

430Le raisonnement adaptatif rend la réflexion optionnelle à chaque étape, donc Claude peut répondre plus rapidement aux invites de routine et réserver une réflexion plus profonde pour les étapes qui en bénéficient. Si vous souhaitez que Claude réfléchisse plus ou moins souvent que le niveau actuel ne le produit, vous pouvez le dire directement dans votre invite ou dans `CLAUDE.md` ; le modèle répond à cette orientation dans son paramètre d'effort.432Le raisonnement adaptatif rend la réflexion optionnelle à chaque étape, donc Claude peut répondre plus rapidement aux invites de routine et réserver une réflexion plus profonde pour les étapes qui en bénéficient. Si vous souhaitez que Claude réfléchisse plus ou moins souvent que le niveau actuel ne le produit, vous pouvez le dire directement dans votre invite ou dans `CLAUDE.md` ; le modèle répond à cette orientation dans son paramètre d'effort.

431 433 

432Opus 4.7 et versions ultérieures utilisent toujours le raisonnement adaptatif, tout comme Fable 5. Le mode de budget de réflexion fixe et `CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING` ne s'appliquent pas à eux.434Fable 5, Sonnet 5, et Opus 4.7 et versions ultérieures utilisent toujours le raisonnement adaptatif. Le mode de budget de réflexion fixe et `CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING` ne s'appliquent pas à eux.

433 435 

434Sur Opus 4.6 et Sonnet 4.6, vous pouvez définir `CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING=1` pour revenir au budget de réflexion fixe précédent contrôlé par `MAX_THINKING_TOKENS`. Voir [variables d'environnement](/fr/env-vars).436Sur Opus 4.6 et Sonnet 4.6, vous pouvez définir `CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING=1` pour revenir au budget de réflexion fixe précédent contrôlé par `MAX_THINKING_TOKENS`. Voir [variables d'environnement](/fr/env-vars).

435 437 


453 Contexte étendu455 Contexte étendu

454</h3>456</h3>

455 457 

456Fable 5, Opus 4.6 et versions ultérieures, et Sonnet 4.6, prennent en charge une [fenêtre de contexte de 1 million de tokens](https://platform.claude.com/docs/en/build-with-claude/context-windows#1m-token-context-window) pour les sessions longues avec de grandes bases de code.458Fable 5, Sonnet 5, Opus 4.6 et versions ultérieures, et Sonnet 4.6, prennent en charge une [fenêtre de contexte de 1 million de tokens](https://platform.claude.com/docs/en/build-with-claude/context-windows#1m-token-context-window) pour les sessions longues avec de grandes bases de code.

457 459 

458La disponibilité varie selon le modèle et le plan. Sur les plans Max, Team et Enterprise, Opus est automatiquement mis à niveau vers un contexte 1M sans configuration supplémentaire. Cela s'applique aux sièges Team Standard et Team Premium. Sur l'API Anthropic, Fable 5, Opus 4.8 et Opus 4.7 s'exécutent toujours avec la fenêtre 1M. Sonnet avec contexte 1M ne fait pas partie de la mise à niveau automatique et nécessite des [crédits d'utilisation](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans) sur tous les plans d'abonnement, y compris Max.460La disponibilité varie selon le modèle et le plan. Sur l'API Anthropic, Fable 5, Sonnet 5, Opus 4.8 et Opus 4.7 s'exécutent toujours avec la fenêtre 1M. Sur les plans Max, Team et Enterprise, Opus est automatiquement mis à niveau vers un contexte 1M sans configuration supplémentaire. Cela s'applique aux sièges Team Standard et Team Premium. Sonnet 4.6 avec contexte 1M ne fait pas partie de la mise à niveau automatique et nécessite des [crédits d'utilisation](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans) sur tous les plans d'abonnement, y compris Max.

459 461 

460| Plan | Opus avec contexte 1M | Sonnet avec contexte 1M |462| Plan | Opus avec contexte 1M | Sonnet 4.6 avec contexte 1M |

461| ----------------------- | ------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------ |463| ----------------------- | ------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------ |

462| Max, Team et Enterprise | Inclus dans l'abonnement | Nécessite des [crédits d'utilisation](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans) |464| Max, Team et Enterprise | Inclus dans l'abonnement | Nécessite des [crédits d'utilisation](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans) |

463| Pro | Nécessite des [crédits d'utilisation](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans) | Nécessite des [crédits d'utilisation](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans) |465| Pro | Nécessite des [crédits d'utilisation](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans) | Nécessite des [crédits d'utilisation](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans) |


480/model claude-opus-4-8[1m]482/model claude-opus-4-8[1m]

481```483```

482 484 

485<h4 id="sonnet-5-context-window">

486 Fenêtre de contexte de Sonnet 5

487</h4>

488 

489Sur l'API Anthropic, Sonnet 5 s'exécute toujours avec la fenêtre de contexte 1M. Il n'existe pas de variante 200K, pas de suffixe `[1m]` à sélectionner, et aucun crédit d'utilisation n'est requis sur aucun plan. Les sessions se compactent automatiquement avant que la fenêtre ne se remplisse, à environ 967K tokens par défaut ; définissez [`CLAUDE_CODE_AUTO_COMPACT_WINDOW`](/fr/env-vars) pour choisir un seuil différent.

490 

491Deux configurations limitent la fenêtre à 200K à la place et compactent automatiquement à cette limite :

492 

493* **Passerelle LLM** : lorsque `ANTHROPIC_BASE_URL` pointe vers une [passerelle](/fr/llm-gateway), Claude Code ne peut pas vérifier la prise en charge du contexte 1M. Pour utiliser la fenêtre complète, sélectionnez Sonnet 5 (1M context) dans le sélecteur de modèle, qui correspond à `sonnet[1m]`.

494* **`CLAUDE_CODE_DISABLE_1M_CONTEXT=1`** : traite les sessions Sonnet 5 comme ayant une fenêtre de 200K, pour les déploiements qui doivent limiter le contexte.

495 

483<h2 id="checking-your-current-model">496<h2 id="checking-your-current-model">

484 Vérifier votre modèle actuel497 Vérifier votre modèle actuel

485</h2>498</h2>

486 499 

487Vous pouvez voir quel modèle vous utilisez actuellement de plusieurs façons :500Vous pouvez voir quel modèle vous utilisez actuellement de plusieurs façons :

488 501 

4891. Dans la [ligne d'état](/fr/statusline) (si configurée)502* Dans la [ligne d'état](/fr/statusline), si vous en avez une configurée

4902. Dans `/status`, qui affiche également vos informations de compte.503* Dans `/status`, qui affiche également vos informations de compte

491 504 

492<h2 id="add-a-custom-model-option">505<h2 id="add-a-custom-model-option">

493 Ajouter une option de modèle personnalisé506 Ajouter une option de modèle personnalisé


498Cet exemple définit les trois variables pour rendre un déploiement Opus acheminé par passerelle sélectionnable :511Cet exemple définit les trois variables pour rendre un déploiement Opus acheminé par passerelle sélectionnable :

499 512 

500```bash theme={null}513```bash theme={null}

501export ANTHROPIC_CUSTOM_MODEL_OPTION="my-gateway/claude-opus-4-7"514export ANTHROPIC_CUSTOM_MODEL_OPTION="my-gateway/claude-opus-4-8"

502export ANTHROPIC_CUSTOM_MODEL_OPTION_NAME="Opus via Gateway"515export ANTHROPIC_CUSTOM_MODEL_OPTION_NAME="Opus via Gateway"

503export ANTHROPIC_CUSTOM_MODEL_OPTION_DESCRIPTION="Custom deployment routed through the internal LLM gateway"516export ANTHROPIC_CUSTOM_MODEL_OPTION_DESCRIPTION="Custom deployment routed through the internal LLM gateway"

504```517```

505 518 

506L'entrée personnalisée apparaît au bas du sélecteur `/model`. `ANTHROPIC_CUSTOM_MODEL_OPTION_NAME` et `ANTHROPIC_CUSTOM_MODEL_OPTION_DESCRIPTION` sont optionnels. S'ils sont omis, l'ID du modèle est utilisé comme nom et la description par défaut est `Custom model (<model-id>)`.519L'entrée personnalisée apparaît au bas du sélecteur `/model`. `ANTHROPIC_CUSTOM_MODEL_OPTION_NAME` et `ANTHROPIC_CUSTOM_MODEL_OPTION_DESCRIPTION` sont optionnels. S'ils sont omis, l'ID du modèle est utilisé comme nom et la description par défaut est `Custom model (<model-id>)`.

507 520 

508Claude Code ignore la validation pour l'ID de modèle défini dans `ANTHROPIC_CUSTOM_MODEL_OPTION`, vous pouvez donc utiliser n'importe quelle chaîne que votre point de terminaison API accepte. Lorsque [`availableModels`](#restrict-model-selection) est défini, incluez également l'ID de modèle personnalisé dans la liste d'autorisation : l'entrée personnalisée est filtrée du sélecteur et une sélection `--model` de celui-ci est rejetée comme tout autre modèle exclu. Un ID personnalisé qui intègre un nom de famille, tel que `my-gateway/claude-opus-4-7`, compte comme une entrée spécifique pour cette famille et désactive son caractère générique, donc listez également les versions que vous avez l'intention de garder sélectionnables. Voir [Comportement de fusion](#merge-behavior).521Claude Code ignore la validation pour l'ID de modèle défini dans `ANTHROPIC_CUSTOM_MODEL_OPTION`, vous pouvez donc utiliser n'importe quelle chaîne que votre point de terminaison API accepte. Lorsque [`availableModels`](#restrict-model-selection) est défini, incluez également l'ID de modèle personnalisé dans la liste d'autorisation : l'entrée personnalisée est filtrée du sélecteur et une sélection `--model` de celui-ci est rejetée comme tout autre modèle exclu. Un ID personnalisé qui intègre un nom de famille, tel que `my-gateway/claude-opus-4-8`, compte comme une entrée spécifique pour cette famille et désactive son caractère générique, donc listez également les versions que vous avez l'intention de garder sélectionnables. Voir [Comportement de fusion](#merge-behavior).

509 522 

510<h2 id="environment-variables">523<h2 id="environment-variables">

511 Variables d'environnement524 Variables d'environnement

512</h2>525</h2>

513 526 

514Vous pouvez utiliser les variables d'environnement suivantes, qui doivent être des **noms de modèle** complets (ou équivalents pour votre fournisseur d'API), pour contrôler les noms de modèle auxquels les alias sont mappés.527Vous pouvez utiliser les variables d'environnement suivantes pour contrôler les noms de modèle auxquels les alias sont mappés. Chaque valeur doit être un nom de modèle complet, ou l'identifiant équivalent pour votre fournisseur d'API.

515 528 

516| Variable d'environnement | Description |529| Variable d'environnement | Description |

517| -------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |530| -------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

518| `ANTHROPIC_DEFAULT_FABLE_MODEL` | Le modèle à utiliser pour `fable`, et l'ID de modèle que Claude Code reconnaît comme Fable 5 pour le [basculement automatique du modèle](#automatic-model-fallback) sur les fournisseurs tiers |531| `ANTHROPIC_DEFAULT_FABLE_MODEL` | Le modèle à utiliser pour `fable`, et l'ID de modèle que Claude Code reconnaît comme Fable 5 pour le [basculement automatique du modèle](#automatic-model-fallback) sur les fournisseurs tiers |

519| `ANTHROPIC_DEFAULT_OPUS_MODEL` | Le modèle à utiliser pour `opus`, ou pour `opusplan` lorsque le mode Plan est actif. |532| `ANTHROPIC_DEFAULT_OPUS_MODEL` | Le modèle à utiliser pour `opus`, ou pour `opusplan` lorsque le mode Plan est actif. |

520| `ANTHROPIC_DEFAULT_SONNET_MODEL` | Le modèle à utiliser pour `sonnet`, ou pour `opusplan` lorsque le mode Plan n'est pas actif. |533| `ANTHROPIC_DEFAULT_SONNET_MODEL` | Le modèle à utiliser pour `sonnet`, ou pour `opusplan` lorsque le mode Plan n'est pas actif. |

521| `ANTHROPIC_DEFAULT_HAIKU_MODEL` | Le modèle à utiliser pour `haiku`, ou [fonctionnalité d'arrière-plan](/fr/costs#background-token-usage) |534| `ANTHROPIC_DEFAULT_HAIKU_MODEL` | Le modèle à utiliser pour `haiku`, ou [fonctionnalité d'arrière-plan](/fr/costs#background-token-usage) |

522| `CLAUDE_CODE_SUBAGENT_MODEL` | Le modèle à utiliser pour tous les [subagents](/fr/sub-agents#choose-a-model) et les [équipes d'agents](/fr/agent-teams). Remplace à la fois le paramètre `model` par invocation et le frontmatter `model` de la définition du subagent. Définissez sur `inherit` pour utiliser la résolution de modèle normale à la place |535| `CLAUDE_CODE_SUBAGENT_MODEL` | Le modèle à utiliser pour tous les [subagents](/fr/sub-agents#choose-a-model) et les [équipes d'agents](/fr/agent-teams). Remplace le paramètre `model` par invocation et le frontmatter `model` de la définition du subagent. Définissez sur `inherit` pour utiliser la résolution de modèle normale à la place |

523 536 

524Remarque : `ANTHROPIC_SMALL_FAST_MODEL` est déprécié au profit de `ANTHROPIC_DEFAULT_HAIKU_MODEL`.537Remarque : `ANTHROPIC_SMALL_FAST_MODEL` est déprécié au profit de `ANTHROPIC_DEFAULT_HAIKU_MODEL`.

525 538 


555 568 

556* Claude Code supprime le suffixe avant d'envoyer l'ID du modèle à votre fournisseur.569* Claude Code supprime le suffixe avant d'envoyer l'ID du modèle à votre fournisseur.

557* N'ajoutez `[1m]` que lorsque le modèle sous-jacent [prend en charge le contexte 1M](https://platform.claude.com/docs/en/build-with-claude/context-windows#1m-token-context-window).570* N'ajoutez `[1m]` que lorsque le modèle sous-jacent [prend en charge le contexte 1M](https://platform.claude.com/docs/en/build-with-claude/context-windows#1m-token-context-window).

558* Le suffixe est lu par variable, et non par modèle. Sur Bedrock, Vertex et Foundry, un ID de modèle sans `[1m]` dans une variable utilise le contexte 200K même si une autre variable définit le même modèle avec le suffixe.571* Le suffixe est lu par variable, et non par modèle. Sur Bedrock, Vertex et Foundry, un ID de modèle sans `[1m]` dans une variable utilise le contexte 200K même si une autre variable définit le même modèle avec le suffixe. Sonnet 5 s'exécute toujours avec la fenêtre 1M sur ces fournisseurs et n'a jamais besoin du suffixe.

559 572 

560<Note>573<Note>

561 Une liste d'autorisation `availableModels` livrée via [MDM ou un fichier de paramètres gérés](/fr/settings#settings-files) s'applique toujours lors de l'utilisation de fournisseurs tiers ; les [paramètres gérés par le serveur ne sont pas livrés là](/fr/server-managed-settings#platform-availability). Le filtrage correspond à un alias de modèle tel que `opus`, un préfixe de version tel que `claude-opus-4-8`, ou l'ID de modèle complet spécifique au fournisseur. Les préfixes spécifiques au fournisseur tels que `us.anthropic.` ne sont pas supprimés, donc pour autoriser un modèle spécifique, listez le même ID spécifique au fournisseur que le sélecteur affiche, ou mappez-le via [`modelOverrides`](#override-model-ids-per-version). Tout suffixe `[1m]` est supprimé de l'entrée de la liste d'autorisation et du modèle demandé avant la correspondance.574 Une liste d'autorisation `availableModels` livrée via [MDM ou un fichier de paramètres gérés](/fr/settings#settings-files) s'applique toujours lors de l'utilisation de fournisseurs tiers ; les [paramètres gérés par le serveur ne sont pas livrés là](/fr/server-managed-settings#platform-availability). Le filtrage correspond à un alias de modèle tel que `opus`, un préfixe de version tel que `claude-opus-4-8`, ou l'ID de modèle complet spécifique au fournisseur. Les préfixes spécifiques au fournisseur tels que `us.anthropic.` ne sont pas supprimés, donc pour autoriser un modèle spécifique, listez le même ID spécifique au fournisseur que le sélecteur affiche, ou mappez-le via [`modelOverrides`](#override-model-ids-per-version). Tout suffixe `[1m]` est supprimé de l'entrée de la liste d'autorisation et du modèle demandé avant la correspondance.

Details

93| `OTEL_METRIC_EXPORT_INTERVAL` | Intervalle d'export en millisecondes (par défaut : 60000) | `5000`, `60000` |93| `OTEL_METRIC_EXPORT_INTERVAL` | Intervalle d'export en millisecondes (par défaut : 60000) | `5000`, `60000` |

94| `OTEL_LOGS_EXPORT_INTERVAL` | Intervalle d'export des journaux en millisecondes (par défaut : 5000) | `1000`, `10000` |94| `OTEL_LOGS_EXPORT_INTERVAL` | Intervalle d'export des journaux en millisecondes (par défaut : 5000) | `1000`, `10000` |

95| `OTEL_LOG_USER_PROMPTS` | Activer la journalisation du contenu des invites utilisateur (par défaut : désactivé) | `1` pour activer |95| `OTEL_LOG_USER_PROMPTS` | Activer la journalisation du contenu des invites utilisateur (par défaut : désactivé) | `1` pour activer |

96| `OTEL_LOG_ASSISTANT_RESPONSES` | Activer la journalisation du texte de réponse de l'assistant sur les événements `assistant_response` (par défaut : désactivé). Lorsque non défini, revient à la valeur de `OTEL_LOG_USER_PROMPTS`. {/* min-version: 2.1.193 */}Nécessite Claude Code v2.1.193 ou version ultérieure | `1` pour activer, `0` pour garder masqué |

96| `OTEL_LOG_TOOL_DETAILS` | Activer la journalisation des paramètres d'outil et des arguments d'entrée dans les événements d'outil et les attributs d'intervalle de trace : commandes Bash, noms de serveur MCP et d'outil, noms de compétences et entrée d'outil. Active également les noms de commandes personnalisées, de plugin et MCP sur les événements `user_prompt` (par défaut : désactivé) | `1` pour activer |97| `OTEL_LOG_TOOL_DETAILS` | Activer la journalisation des paramètres d'outil et des arguments d'entrée dans les événements d'outil et les attributs d'intervalle de trace : commandes Bash, noms de serveur MCP et d'outil, noms de compétences et entrée d'outil. Active également les noms de commandes personnalisées, de plugin et MCP sur les événements `user_prompt` (par défaut : désactivé) | `1` pour activer |

97| `OTEL_LOG_TOOL_CONTENT` | Activer la journalisation du contenu d'entrée et de sortie d'outil dans les événements d'intervalle (par défaut : désactivé). Nécessite [traçage](#traces-beta). Le contenu est tronqué à 60 Ko | `1` pour activer |98| `OTEL_LOG_TOOL_CONTENT` | Activer la journalisation du contenu d'entrée et de sortie d'outil dans les événements d'intervalle (par défaut : désactivé). Nécessite [traçage](#traces-beta). Le contenu est tronqué à 60 Ko | `1` pour activer |

98| `OTEL_LOG_RAW_API_BODIES` | Émettre les corps JSON complets de la demande et de la réponse de l'API Messages d'Anthropic sous forme d'événements de journaux `api_request_body` / `api_response_body` (par défaut : désactivé). Les corps incluent l'historique complet de la conversation. L'activation de cette option implique le consentement à tout ce que `OTEL_LOG_USER_PROMPTS`, `OTEL_LOG_TOOL_DETAILS` et `OTEL_LOG_TOOL_CONTENT` révèleraient | `1` pour les corps en ligne tronqués à 60 Ko, ou `file:<dir>` pour les corps non tronqués sur disque avec un pointeur `body_ref` dans l'événement |99| `OTEL_LOG_RAW_API_BODIES` | Émettre les corps JSON complets de la demande et de la réponse de l'API Messages d'Anthropic sous forme d'événements de journaux `api_request_body` / `api_response_body` (par défaut : désactivé). Les corps incluent l'historique complet de la conversation. L'activation de cette option implique le consentement à tout ce que `OTEL_LOG_USER_PROMPTS`, `OTEL_LOG_TOOL_DETAILS` et `OTEL_LOG_TOOL_CONTENT` révèleraient | `1` pour les corps en ligne tronqués à 60 Ko, ou `file:<dir>` pour les corps non tronqués sur disque avec un pointeur `body_ref` dans l'événement |


341Chaque clé personnalisée devient une étiquette sur chaque série de métriques, donc les valeurs de haute cardinalité augmentent le coût de stockage dans votre backend de métriques. Pour envoyer des attributs personnalisés dans le bloc de ressources uniquement et les omettre des étiquettes de point de données, définissez `OTEL_METRICS_INCLUDE_RESOURCE_ATTRIBUTES=false`. Voir [Contrôle de la cardinalité des métriques](#metrics-cardinality-control).342Chaque clé personnalisée devient une étiquette sur chaque série de métriques, donc les valeurs de haute cardinalité augmentent le coût de stockage dans votre backend de métriques. Pour envoyer des attributs personnalisés dans le bloc de ressources uniquement et les omettre des étiquettes de point de données, définissez `OTEL_METRICS_INCLUDE_RESOURCE_ATTRIBUTES=false`. Voir [Contrôle de la cardinalité des métriques](#metrics-cardinality-control).

342 343 

343<Warning>344<Warning>

344 **Exigences importantes de formatage pour OTEL\_RESOURCE\_ATTRIBUTES :**

345 

346 La variable d'environnement `OTEL_RESOURCE_ATTRIBUTES` utilise des paires clé=valeur séparées par des virgules avec des exigences de formatage strictes :345 La variable d'environnement `OTEL_RESOURCE_ATTRIBUTES` utilise des paires clé=valeur séparées par des virgules avec des exigences de formatage strictes :

347 346 

348 * **Aucun espace autorisé** : Les valeurs ne peuvent pas contenir d'espaces. Par exemple, `user.organizationName=My Company` est invalide347 * **Aucun espace autorisé** : Les valeurs ne peuvent pas contenir d'espaces. Par exemple, `user.organizationName=My Company` est invalide


350 * **Caractères autorisés** : Uniquement les caractères US-ASCII à l'exclusion des caractères de contrôle, des espaces, des guillemets doubles, des virgules, des points-virgules et des barres obliques inverses349 * **Caractères autorisés** : Uniquement les caractères US-ASCII à l'exclusion des caractères de contrôle, des espaces, des guillemets doubles, des virgules, des points-virgules et des barres obliques inverses

351 * **Caractères spéciaux** : Les caractères en dehors de la plage autorisée doivent être codés en pourcentage350 * **Caractères spéciaux** : Les caractères en dehors de la plage autorisée doivent être codés en pourcentage

352 351 

353 **Exemples :**352 Pour une valeur qui aurait besoin d'un espace, utilisez des traits de soulignement ou camelCase à la place. Les exemples suivants définissent `org.name` avec chaque forme :

354 353 

355 ```bash theme={null}354 ```bash theme={null}

356 # ❌ Invalide - contient des espaces

357 export OTEL_RESOURCE_ATTRIBUTES="org.name=John's Organization"

358 

359 # ✅ Valide - utiliser des traits de soulignement ou camelCase à la place

360 export OTEL_RESOURCE_ATTRIBUTES="org.name=Johns_Organization"355 export OTEL_RESOURCE_ATTRIBUTES="org.name=Johns_Organization"

361 export OTEL_RESOURCE_ATTRIBUTES="org.name=JohnsOrganization"356 export OTEL_RESOURCE_ATTRIBUTES="org.name=JohnsOrganization"

357 ```

362 358 

363 # ✅ Valide - coder en pourcentage les caractères spéciaux si nécessaire359 Vous pouvez coder en pourcentage n'importe quel caractère, pas seulement les caractères exclus. Cet exemple code à la fois l'espace et l'apostrophe :

360 

361 ```bash theme={null}

364 export OTEL_RESOURCE_ATTRIBUTES="org.name=John%27s%20Organization"362 export OTEL_RESOURCE_ATTRIBUTES="org.name=John%27s%20Organization"

365 ```363 ```

366 364 

367 Remarque : entourer les valeurs de guillemets n'échappe pas aux espaces. Par exemple, `org.name="My Company"` donne la valeur littérale `"My Company"` (avec guillemets inclus), pas `My Company`.365 Entourer les valeurs de guillemets n'échappe pas aux espaces. Par exemple, `org.name="My Company"` donne la valeur littérale `"My Company"` avec les guillemets inclus, pas `My Company`.

368</Warning>366</Warning>

369 367 

370<h3 id="example-configurations">368<h3 id="example-configurations">


439| `terminal.type` | Type de terminal, tel que `iTerm.app`, `vscode`, `cursor`, ou `tmux` | Toujours inclus si détecté |437| `terminal.type` | Type de terminal, tel que `iTerm.app`, `vscode`, `cursor`, ou `tmux` | Toujours inclus si détecté |

440| Clés de `OTEL_RESOURCE_ATTRIBUTES` | Attributs personnalisés que vous définissez, tels que `department` ou `team.id`. Voir [Support des organisations multi-équipes](#multi-team-organization-support) | `OTEL_METRICS_INCLUDE_RESOURCE_ATTRIBUTES` (par défaut : true) |438| Clés de `OTEL_RESOURCE_ATTRIBUTES` | Attributs personnalisés que vous définissez, tels que `department` ou `team.id`. Voir [Support des organisations multi-équipes](#multi-team-organization-support) | `OTEL_METRICS_INCLUDE_RESOURCE_ATTRIBUTES` (par défaut : true) |

441 439 

440Lorsque Claude Code est connecté à une [passerelle d'applications Claude](/fr/claude-apps-gateway), la CLI marque les exportations avec l'identité authentifiée de la session de la passerelle : `user.id` est le sujet IdP plutôt qu'un identifiant d'installation anonyme, `user.email` est l'e-mail connecté, et `user.groups` porte l'appartenance au groupe IdP sous forme de chaîne séparée par des virgules. Chaque exportation porte également `identity.source: gateway-oidc`. L'identité de la passerelle est appliquée en dernier, donc les clés `user.*` et `identity.*` définies via `OTEL_RESOURCE_ATTRIBUTES` sont ignorées sur les sessions de passerelle.

441 

442Les événements incluent en outre les attributs suivants. Ceux-ci ne sont jamais attachés aux métriques car ils causeraient une cardinalité non bornée :442Les événements incluent en outre les attributs suivants. Ceux-ci ne sont jamais attachés aux métriques car ils causeraient une cardinalité non bornée :

443 443 

444* `prompt.id` : UUID corrélant une invite utilisateur avec tous les événements suivants jusqu'à l'invite suivante. Voir [Attributs de corrélation d'événements](#event-correlation-attributes).444* `prompt.id` : UUID corrélant une invite utilisateur avec tous les événements suivants jusqu'à l'invite suivante. Voir [Attributs de corrélation d'événements](#event-correlation-attributes).


488 488 

489* Tous les [attributs standard](#standard-attributes)489* Tous les [attributs standard](#standard-attributes)

490* `type` : (`"added"`, `"removed"`)490* `type` : (`"added"`, `"removed"`)

491* `model` : Identifiant du modèle pour le modèle qui a effectué la modification (par exemple, « claude-sonnet-4-6 »). {/* min-version: 2.1.172 */}Nécessite Claude Code v2.1.172 ou ultérieur491* `model` : Identifiant du modèle pour le modèle qui a effectué la modification (par exemple, « claude-sonnet-5 »)

492 492 

493<h4 id="pull-request-counter">493<h4 id="pull-request-counter">

494 Compteur de demandes de tirage494 Compteur de demandes de tirage


519**Attributs** :519**Attributs** :

520 520 

521* Tous les [attributs standard](#standard-attributes)521* Tous les [attributs standard](#standard-attributes)

522* `model` : Identifiant du modèle (par exemple, « claude-sonnet-4-6 »)522* `model` : Identifiant du modèle (par exemple, « claude-sonnet-5 »)

523* `query_source` : Catégorie du sous-système qui a émis la demande. L'un de `"main"`, `"subagent"`, ou `"auxiliary"`523* `query_source` : Catégorie du sous-système qui a émis la demande. L'un de `"main"`, `"subagent"`, ou `"auxiliary"`

524* `speed` : `"fast"` lorsque la demande a utilisé le mode rapide. Absent sinon524* `speed` : `"fast"` lorsque la demande a utilisé le mode rapide. Absent sinon

525* `effort` : [Niveau d'effort](/fr/model-config#adjust-effort-level) appliqué à la demande : `"low"`, `"medium"`, `"high"`, `"xhigh"`, ou `"max"`. Absent lorsque le modèle ne supporte pas l'effort.525* `effort` : [Niveau d'effort](/fr/model-config#adjust-effort-level) appliqué à la demande : `"low"`, `"medium"`, `"high"`, `"xhigh"`, ou `"max"`. Absent lorsque le modèle ne supporte pas l'effort.


540 540 

541* Tous les [attributs standard](#standard-attributes)541* Tous les [attributs standard](#standard-attributes)

542* `type` : (`"input"`, `"output"`, `"cacheRead"`, `"cacheCreation"`)542* `type` : (`"input"`, `"output"`, `"cacheRead"`, `"cacheCreation"`)

543* `model` : Identifiant du modèle (par exemple, « claude-sonnet-4-6 »)543* `model` : Identifiant du modèle (par exemple, « claude-sonnet-5 »)

544* `query_source` : Catégorie du sous-système qui a émis la demande. L'un de `"main"`, `"subagent"`, ou `"auxiliary"`544* `query_source` : Catégorie du sous-système qui a émis la demande. L'un de `"main"`, `"subagent"`, ou `"auxiliary"`

545* `speed` : `"fast"` lorsque la demande a utilisé le mode rapide. Absent sinon545* `speed` : `"fast"` lorsque la demande a utilisé le mode rapide. Absent sinon

546* `effort` : [Niveau d'effort](/fr/model-config#adjust-effort-level) appliqué à la demande. Voir [Compteur de coûts](#cost-counter) pour les détails.546* `effort` : [Niveau d'effort](/fr/model-config#adjust-effort-level) appliqué à la demande. Voir [Compteur de coûts](#cost-counter) pour les détails.


608* `event.timestamp` : Horodatage ISO 8601608* `event.timestamp` : Horodatage ISO 8601

609* `event.sequence` : Compteur monotone croissant pour ordonner les événements au sein d'une session609* `event.sequence` : Compteur monotone croissant pour ordonner les événements au sein d'une session

610* `prompt_length` : Longueur de l'invite610* `prompt_length` : Longueur de l'invite

611* `prompt` : Contenu de l'invite (masqué par défaut, activez avec `OTEL_LOG_USER_PROMPTS=1`)611* `prompt` : Contenu de l'invite. Masqué par défaut. Définissez `OTEL_LOG_USER_PROMPTS=1` pour l'inclure

612* `command_name` : Nom de la commande lorsque l'invite en invoque une. Les noms de commandes intégrées et groupées tels que `compact` ou `debug` sont émis tels quels ; les alias tels que `reset` émettent tels que tapés plutôt que le nom canonique. Les noms de commandes personnalisées, de plugin et MCP s'effondrent en `custom` ou `mcp` sauf si `OTEL_LOG_TOOL_DETAILS=1` est défini612* `command_name` : Nom de la commande lorsque l'invite en invoque une. Les noms de commandes intégrées et groupées tels que `compact` ou `debug` sont émis tels quels ; les alias tels que `reset` émettent tels que tapés plutôt que le nom canonique. Les noms de commandes personnalisées, de plugin et MCP s'effondrent en `custom` ou `mcp` sauf si `OTEL_LOG_TOOL_DETAILS=1` est défini

613* `command_source` : Origine de la commande lorsqu'elle est présente : `builtin`, `custom`, ou `mcp`. Les commandes fournies par les plugins signalent comme `custom`613* `command_source` : Origine de la commande lorsqu'elle est présente : `builtin`, `custom`, ou `mcp`. Les commandes fournies par les plugins signalent comme `custom`

614 614 

615<h4 id="assistant-response-event">

616 Événement de réponse d'assistant

617</h4>

618 

619Enregistré après chaque demande d'API qui retourne du contenu textuel du modèle. Seuls les blocs de texte de la réponse sont inclus ; les blocs de réflexion et les blocs d'utilisation d'outil sont exclus. {/* min-version: 2.1.193 */}Nécessite Claude Code v2.1.193 ou ultérieur.

620 

621**Nom de l'événement** : `claude_code.assistant_response`

622 

623**Attributs** :

624 

625* Tous les [attributs standard](#standard-attributes)

626* `event.name` : `"assistant_response"`

627* `event.timestamp` : Horodatage ISO 8601

628* `event.sequence` : Compteur monotone croissant pour ordonner les événements au sein d'une session

629* `response_length` : Longueur du texte de réponse en caractères

630* `response` : Texte de réponse, tronqué à 60 Ko. Masqué à `<REDACTED>` par défaut. Définissez `OTEL_LOG_ASSISTANT_RESPONSES=1` pour l'inclure. Lorsque `OTEL_LOG_ASSISTANT_RESPONSES` n'est pas défini, `OTEL_LOG_USER_PROMPTS` le contrôle à la place, donc définissez `OTEL_LOG_ASSISTANT_RESPONSES=0` pour garder les réponses masquées tandis que la journalisation des invites est activée

631* `model` : Identifiant du modèle (par exemple, « claude-sonnet-4-6 »)

632* `request_id` : ID de demande d'API Anthropic de l'en-tête `request-id` de la réponse. Présent uniquement lorsque l'API en retourne un

633* `query_source` : Sous-système qui a émis la demande, tel que `"repl_main_thread"`, `"compact"`, ou un nom de sous-agent

634 

615<h4 id="tool-result-event">635<h4 id="tool-result-event">

616 Événement de résultat d'outil636 Événement de résultat d'outil

617</h4>637</h4>


632* `duration_ms` : Temps d'exécution en millisecondes652* `duration_ms` : Temps d'exécution en millisecondes

633* `error_type` : Chaîne de catégorie d'erreur lorsque l'outil a échoué, telle que `"Error:ENOENT"` ou `"ShellError"`653* `error_type` : Chaîne de catégorie d'erreur lorsque l'outil a échoué, telle que `"Error:ENOENT"` ou `"ShellError"`

634* `error` (lorsque `OTEL_LOG_TOOL_DETAILS=1`) : Message d'erreur complet lorsque l'outil a échoué654* `error` (lorsque `OTEL_LOG_TOOL_DETAILS=1`) : Message d'erreur complet lorsque l'outil a échoué

635* `decision_type` : Toujours `"accept"`, puisque cet événement n'est émis qu'après l'exécution de l'outil (les appels rejetés ne produisent pas de résultat d'outil)655* `decision_type` : Toujours `"accept"`, puisque cet événement n'est émis qu'après l'exécution de l'outil. Les appels rejetés ne produisent pas de résultat d'outil

636* `decision_source` : Source de la décision de permission. L'un de `"config"`, `"hook"`, `"user_permanent"`, ou `"user_temporary"`. Voir l'[Événement de décision d'outil](#tool-decision-event) pour savoir ce que chaque valeur signifie. Les sources de rejet uniquement `"user_abort"` et `"user_reject"` n'apparaissent jamais sur cet événement.656* `decision_source` : Source de la décision de permission. L'un de `"config"`, `"hook"`, `"user_permanent"`, ou `"user_temporary"`. Voir l'[Événement de décision d'outil](#tool-decision-event) pour savoir ce que chaque valeur signifie. Les sources de rejet uniquement `"user_abort"` et `"user_reject"` n'apparaissent jamais sur cet événement.

637* `tool_input_size_bytes` : Taille de l'entrée d'outil sérialisée en JSON en octets657* `tool_input_size_bytes` : Taille de l'entrée d'outil sérialisée en JSON en octets

638* `tool_result_size_bytes` : Taille du résultat de l'outil en octets658* `tool_result_size_bytes` : Taille du résultat de l'outil en octets


659* `event.name` : `"api_request"`679* `event.name` : `"api_request"`

660* `event.timestamp` : Horodatage ISO 8601680* `event.timestamp` : Horodatage ISO 8601

661* `event.sequence` : Compteur monotone croissant pour ordonner les événements au sein d'une session681* `event.sequence` : Compteur monotone croissant pour ordonner les événements au sein d'une session

662* `model` : Modèle utilisé (par exemple, « claude-sonnet-4-6 »)682* `model` : Modèle utilisé (par exemple, « claude-sonnet-5 »)

663* `cost_usd` : Coût estimé en USD683* `cost_usd` : Coût estimé en USD

664* `duration_ms` : Durée de la demande en millisecondes684* `duration_ms` : Durée de la demande en millisecondes

665* `input_tokens` : Nombre de jetons d'entrée685* `input_tokens` : Nombre de jetons d'entrée


686* `event.name` : `"api_error"`706* `event.name` : `"api_error"`

687* `event.timestamp` : Horodatage ISO 8601707* `event.timestamp` : Horodatage ISO 8601

688* `event.sequence` : Compteur monotone croissant pour ordonner les événements au sein d'une session708* `event.sequence` : Compteur monotone croissant pour ordonner les événements au sein d'une session

689* `model` : Modèle utilisé (par exemple, « claude-sonnet-4-6 »)709* `model` : Modèle utilisé (par exemple, « claude-sonnet-5 »)

690* `error` : Message d'erreur710* `error` : Message d'erreur

691* `status_code` : Code de statut HTTP sous forme de nombre. Absent pour les erreurs non-HTTP telles que les défaillances de connexion.711* `status_code` : Code de statut HTTP sous forme de nombre. Absent pour les erreurs non-HTTP telles que les défaillances de connexion.

692* `duration_ms` : Durée de la demande en millisecondes712* `duration_ms` : Durée de la demande en millisecondes


1156* Consommation de jetons inhabituelle1176* Consommation de jetons inhabituelle

1157* Volume de session élevé d'utilisateurs spécifiques1177* Volume de session élevé d'utilisateurs spécifiques

1158 1178 

1159Toutes les métriques peuvent être segmentées par les [attributs standard](#standard-attributes). L'attribut `model` est disponible sur `claude_code.token.usage`, `claude_code.cost.usage`, et {/* min-version: 2.1.172 */}à partir de la v2.1.172, `claude_code.lines_of_code.count`. Les ventilations par modèle des commits ne peuvent être approximées que en joignant les métriques de jetons ou de coûts sur `session.id`, puisqu'une session peut s'étendre sur plusieurs modèles. Filtrez le côté jetons ou coûts pour les lignes où `query_source` est `"main"` afin que les demandes auxiliaires et de sous-agents n'attribuent pas les commits de la session à un modèle qui ne les a pas effectués.1179Toutes les métriques peuvent être segmentées par les [attributs standard](#standard-attributes). L'attribut `model` est disponible sur `claude_code.token.usage`, `claude_code.cost.usage`, et {/* min-version: 2.1.172 */}à partir de la v2.1.172, `claude_code.lines_of_code.count`.

1180 

1181Les ventilations par modèle des commits ne peuvent être approximées que en joignant les métriques de jetons ou de coûts sur `session.id`, puisqu'une session peut s'étendre sur plusieurs modèles. Filtrez le côté jetons ou coûts pour les lignes où `query_source` est `"main"` afin que les demandes auxiliaires et de sous-agents n'attribuent pas les commits de la session à un modèle qui ne les a pas effectués.

1160 1182 

1161<h3 id="detect-retry-exhaustion">1183<h3 id="detect-retry-exhaustion">

1162 Détecter l'épuisement des tentatives1184 Détecter l'épuisement des tentatives


1187 Audit des événements de sécurité1209 Audit des événements de sécurité

1188</h2>1210</h2>

1189 1211 

1190Les événements OpenTelemetry sont la source de données d'audit pour l'activité de Claude Code. Chaque événement porte des attributs d'identité qui lient les appels d'outils, l'activité MCP et les décisions de permission à l'utilisateur qui les a déclenchés, et l'exportateur de journaux OTLP peut livrer ces événements à n'importe quelle plateforme SIEM (Security Information and Event Management) avec un récepteur OTLP ou à un collecteur OpenTelemetry qui transfère vers votre SIEM.1212Les événements OpenTelemetry sont la source de données d'audit pour l'activité de Claude Code. Chaque événement porte des attributs d'identité qui lient les appels d'outils, l'activité MCP et les décisions de permission à l'utilisateur qui les a déclenchés. L'exportateur de journaux OTLP peut livrer ces événements à n'importe quelle plateforme SIEM (Security Information and Event Management) avec un récepteur OTLP, ou à un collecteur OpenTelemetry qui transfère vers votre SIEM.

1191 1213 

1192<h3 id="attribute-actions-to-users">1214<h3 id="attribute-actions-to-users">

1193 Attribuer les actions aux utilisateurs1215 Attribuer les actions aux utilisateurs

1194</h3>1216</h3>

1195 1217 

1196Les [attributs standard](#standard-attributes) sur chaque événement incluent l'identité de l'utilisateur authentifié : `user.email`, `user.account_uuid`, `user.account_id`, et `organization.id` lorsqu'il est connecté avec un compte Claude, plus l'installation-scoped `user.id` et le per-session `session.id`.1218Les [attributs standard](#standard-attributes) sur chaque événement incluent l'identité de l'utilisateur authentifié : `user.email`, `user.account_uuid`, `user.account_id`, et `organization.id` lorsqu'il est connecté avec un compte Claude, plus `user.id` et le per-session `session.id`. `user.id` est un identifiant limité à l'installation, sauf sur les sessions de [passerelle d'applications Claude](/fr/claude-apps-gateway), où il s'agit du sujet IdP du jeton émis par la passerelle.

1197 1219 

1198Les appels d'outils MCP, les commandes Bash et les éditions de fichiers sont donc attribués au développeur qui a démarré la session. Claude Code n'agit pas sous un compte de service distinct ; l'identité enregistrée sur chaque événement est le propre compte Claude du développeur.1220Les appels d'outils MCP, les commandes Bash et les éditions de fichiers sont donc attribués au développeur qui a démarré la session. Claude Code n'agit pas sous un compte de service distinct ; l'identité enregistrée sur chaque événement est le propre compte Claude du développeur, ou l'identité IdP du développeur sur une session de [passerelle d'applications Claude](/fr/claude-apps-gateway).

1199 1221 

1200Lorsque Claude Code s'authentifie avec une clé API directe, ou contre Bedrock, Vertex AI ou Microsoft Foundry, il n'y a pas de compte Claude dans la session et seuls `user.id` et `session.id` sont remplis. Dans ces déploiements, attachez l'identité utilisateur vous-même avec `OTEL_RESOURCE_ATTRIBUTES`, défini par utilisateur via le fichier [paramètres gérés](#administrator-configuration) ou un wrapper de lancement :1222Lorsque Claude Code s'authentifie avec une clé API directe, ou contre Bedrock, Vertex AI ou Microsoft Foundry, il n'y a pas de compte Claude dans la session et seuls `user.id` et `session.id` sont remplis. Dans ces déploiements, attachez l'identité utilisateur vous-même avec `OTEL_RESOURCE_ATTRIBUTES`, défini par utilisateur via le fichier [paramètres gérés](#administrator-configuration) ou un wrapper de lancement. Les sessions de passerelle d'applications Claude n'ont besoin d'aucune de ces opérations : le CLI horodate l'identité IdP automatiquement, comme décrit dans [Attributs standard](#standard-attributes).

1201 1223 

1202```bash theme={null}1224```bash theme={null}

1203export OTEL_RESOURCE_ATTRIBUTES="enduser.id=jdoe@example.com,enduser.directory_id=S-1-5-21-..."1225export OTEL_RESOURCE_ATTRIBUTES="enduser.id=jdoe@example.com,enduser.directory_id=S-1-5-21-..."


1319* Les contenus de fichiers bruts et les extraits de code ne sont pas inclus dans les métriques ou les événements. Les intervalles de trace constituent un chemin de données distinct : voir la puce `OTEL_LOG_TOOL_CONTENT` ci-dessous1341* Les contenus de fichiers bruts et les extraits de code ne sont pas inclus dans les métriques ou les événements. Les intervalles de trace constituent un chemin de données distinct : voir la puce `OTEL_LOG_TOOL_CONTENT` ci-dessous

1320* Lorsqu'authentifié via OAuth, `user.email` est inclus dans les attributs de télémétrie. Si cela pose un problème pour votre organisation, travaillez avec votre backend de télémétrie pour filtrer ou masquer ce champ1342* Lorsqu'authentifié via OAuth, `user.email` est inclus dans les attributs de télémétrie. Si cela pose un problème pour votre organisation, travaillez avec votre backend de télémétrie pour filtrer ou masquer ce champ

1321* Le contenu des invites utilisateur n'est pas collecté par défaut. Seule la longueur de l'invite est enregistrée. Pour inclure le contenu de l'invite, définissez `OTEL_LOG_USER_PROMPTS=1`1343* Le contenu des invites utilisateur n'est pas collecté par défaut. Seule la longueur de l'invite est enregistrée. Pour inclure le contenu de l'invite, définissez `OTEL_LOG_USER_PROMPTS=1`

1344* Le texte de réponse de l'assistant n'est pas collecté par défaut. Seule la longueur de la réponse est enregistrée. Pour inclure le texte de réponse, définissez `OTEL_LOG_ASSISTANT_RESPONSES=1`. Comme toutes les données OpenTelemetry de Claude Code, le texte de réponse est envoyé uniquement au point de terminaison OTel que vous configurez, jamais à Anthropic. Lorsque cette variable n'est pas définie, `OTEL_LOG_USER_PROMPTS` est utilisé comme solution de secours, donc définissez `OTEL_LOG_ASSISTANT_RESPONSES=0` si vous souhaitez le contenu de l'invite sans contenu de réponse

1322* Les arguments d'entrée d'outil et les paramètres ne sont pas enregistrés par défaut. Pour les inclure, définissez `OTEL_LOG_TOOL_DETAILS=1`. Ces données sont envoyées uniquement au point de terminaison OTEL que vous configurez, jamais à Anthropic. Les arguments peuvent toujours contenir des valeurs sensibles, donc configurez votre backend de télémétrie pour filtrer ou masquer ces attributs selon les besoins. Lorsqu'activé :1345* Les arguments d'entrée d'outil et les paramètres ne sont pas enregistrés par défaut. Pour les inclure, définissez `OTEL_LOG_TOOL_DETAILS=1`. Ces données sont envoyées uniquement au point de terminaison OTEL que vous configurez, jamais à Anthropic. Les arguments peuvent toujours contenir des valeurs sensibles, donc configurez votre backend de télémétrie pour filtrer ou masquer ces attributs selon les besoins. Lorsqu'activé :

1323 * Les événements `tool_result` et `tool_decision` incluent un attribut `tool_parameters` avec les commandes Bash, les noms de serveur MCP et d'outil, et les noms de compétences. Les champs tels que `full_command` sont émis sans troncature1346 * Les événements `tool_result` et `tool_decision` incluent un attribut `tool_parameters` avec les commandes Bash, les noms de serveur MCP et d'outil, et les noms de compétences. Les champs tels que `full_command` sont émis sans troncature

1324 * Les événements `tool_result` incluent également un attribut `tool_input` avec les chemins de fichiers, les URL, les modèles de recherche et d'autres arguments. Les valeurs individuelles dépassant 512 caractères sont tronquées et le total est limité à environ 4 K caractères1347 * Les événements `tool_result` incluent également un attribut `tool_input` avec les chemins de fichiers, les URL, les modèles de recherche et d'autres arguments. Les valeurs individuelles dépassant 512 caractères sont tronquées et le total est limité à environ 4 K caractères

Details

63 Magasin de certificats CA63 Magasin de certificats CA

64</h2>64</h2>

65 65 

66Par défaut, Claude Code fait confiance à la fois aux certificats CA Mozilla fournis avec le produit et au magasin de certificats de votre système d'exploitation. Les proxies d'inspection TLS d'entreprise tels que CrowdStrike Falcon et Zscaler fonctionnent sans configuration supplémentaire lorsque leur certificat racine est installé dans le magasin de confiance du système d'exploitation.66Par défaut, Claude Code fait confiance à la fois aux certificats CA Mozilla fournis avec le produit et au magasin de certificats de votre système d'exploitation. La lecture du magasin du système d'exploitation nécessite un runtime avec `tls.getCACertificates` : l'installateur natif l'a toujours, et les installations npm nécessitent Node 22.15 ou une version ultérieure. Sur les versions plus anciennes de Node, seul l'ensemble fourni et `NODE_EXTRA_CA_CERTS` s'appliquent. Les proxies d'inspection TLS d'entreprise tels que CrowdStrike Falcon et Zscaler fonctionnent sans configuration supplémentaire lorsque leur certificat racine est installé dans le magasin de confiance du système d'exploitation et que le runtime peut le lire.

67 67 

68`CLAUDE_CODE_CERT_STORE` accepte une liste séparée par des virgules de sources. Les valeurs reconnues sont `bundled` pour l'ensemble de certificats CA Mozilla fourni avec Claude Code et `system` pour le magasin de confiance du système d'exploitation. La valeur par défaut est `bundled,system`.68`CLAUDE_CODE_CERT_STORE` accepte une liste séparée par des virgules de sources. Les valeurs reconnues sont `bundled` pour l'ensemble de certificats CA Mozilla fourni avec Claude Code et `system` pour le magasin de confiance du système d'exploitation. La valeur par défaut est `bundled,system`.

69 69 


131 131 

132Claude Code envoie également une télémétrie opérationnelle facultative par défaut, que vous pouvez désactiver avec des variables d'environnement. Consultez [Services de télémétrie](/fr/data-usage#telemetry-services) pour savoir comment la désactiver avant de finaliser votre liste d'autorisation.132Claude Code envoie également une télémétrie opérationnelle facultative par défaut, que vous pouvez désactiver avec des variables d'environnement. Consultez [Services de télémétrie](/fr/data-usage#telemetry-services) pour savoir comment la désactiver avant de finaliser votre liste d'autorisation.

133 133 

134Lors de l'utilisation d'[Amazon Bedrock](/fr/amazon-bedrock), de [Google Vertex AI](/fr/google-vertex-ai), ou de [Microsoft Foundry](/fr/microsoft-foundry), le trafic du modèle et l'authentification vont vers votre fournisseur au lieu de `api.anthropic.com`, `claude.ai`, ou `platform.claude.com`. L'outil WebFetch appelle toujours `api.anthropic.com` pour sa [vérification de sécurité du domaine](/fr/data-usage#webfetch-domain-safety-check) sauf si vous définissez `skipWebFetchPreflight: true` dans les [paramètres](/fr/settings).134Lors de l'utilisation d'[Amazon Bedrock](/fr/amazon-bedrock), de [Google Vertex AI](/fr/google-vertex-ai), de [Microsoft Foundry](/fr/microsoft-foundry), ou d'une session de [passerelle d'applications Claude](/fr/claude-apps-gateway) connectée, le trafic du modèle et l'authentification vont vers votre fournisseur ou passerelle au lieu de `api.anthropic.com`, `claude.ai`, ou `platform.claude.com`. L'outil WebFetch appelle toujours `api.anthropic.com` pour sa [vérification de sécurité du domaine](/fr/data-usage#webfetch-domain-safety-check) sauf si vous définissez `skipWebFetchPreflight: true` dans les [paramètres](/fr/settings).

135 135 

136[Claude Code sur le web](/fr/claude-code-on-the-web) et [Code Review](/fr/code-review) se connectent à vos référentiels à partir de l'infrastructure gérée par Anthropic. Si votre organisation GitHub Enterprise Cloud restreint l'accès par adresse IP, activez [l'héritage de la liste d'autorisation IP pour les applications GitHub installées](https://docs.github.com/en/enterprise-cloud@latest/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/managing-allowed-ip-addresses-for-your-organization#allowing-access-by-github-apps). L'application GitHub Claude enregistre ses plages d'adresses IP, donc l'activation de ce paramètre permet l'accès sans configuration manuelle. Pour [ajouter les plages à votre liste d'autorisation manuellement](https://docs.github.com/en/enterprise-cloud@latest/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/managing-allowed-ip-addresses-for-your-organization#adding-an-allowed-ip-address) à la place, ou pour configurer d'autres pare-feu, consultez les [adresses IP de l'API Anthropic](https://platform.claude.com/docs/en/api/ip-addresses).136[Claude Code sur le web](/fr/claude-code-on-the-web) et [Code Review](/fr/code-review) se connectent à vos référentiels à partir de l'infrastructure gérée par Anthropic. Si votre organisation GitHub Enterprise Cloud restreint l'accès par adresse IP, activez [l'héritage de la liste d'autorisation IP pour les applications GitHub installées](https://docs.github.com/en/enterprise-cloud@latest/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/managing-allowed-ip-addresses-for-your-organization#allowing-access-by-github-apps). L'application GitHub Claude enregistre ses plages d'adresses IP, donc l'activation de ce paramètre permet l'accès sans configuration manuelle. Pour [ajouter les plages à votre liste d'autorisation manuellement](https://docs.github.com/en/enterprise-cloud@latest/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/managing-allowed-ip-addresses-for-your-organization#adding-an-allowed-ip-address) à la place, ou pour configurer d'autres pare-feu, consultez les [adresses IP de l'API Anthropic](https://platform.claude.com/docs/en/api/ip-addresses).

137 137 

Details

37 <Tab title="CLI">37 <Tab title="CLI">

38 **Pendant une session** : appuyez sur `Maj+Tab` pour parcourir `default` → `acceptEdits` → `plan`. Le mode actuel apparaît dans la barre d'état. Tous les modes ne sont pas dans le cycle par défaut :38 **Pendant une session** : appuyez sur `Maj+Tab` pour parcourir `default` → `acceptEdits` → `plan`. Le mode actuel apparaît dans la barre d'état. Tous les modes ne sont pas dans le cycle par défaut :

39 39 

40 * `auto` : apparaît quand votre compte répond aux [exigences du mode auto](#eliminate-prompts-with-auto-mode) ; le parcours vers auto affiche une invite d'acceptation jusqu'à ce que vous l'acceptiez, ou sélectionnez **Non, ne me le demandez plus** pour supprimer auto du cycle40 * `auto` : apparaît quand votre compte répond aux [exigences du mode auto](#eliminate-prompts-with-auto-mode) ; le parcours vers auto bascule les modes sans invite de confirmation

41 * `bypassPermissions` : apparaît après que vous ayez démarré avec `--permission-mode bypassPermissions`, `--dangerously-skip-permissions`, ou `--allow-dangerously-skip-permissions` ; la variante `--allow-` ajoute le mode au cycle sans l'activer41 * `bypassPermissions` : apparaît après que vous ayez démarré avec `--permission-mode bypassPermissions`, `--dangerously-skip-permissions`, ou `--allow-dangerously-skip-permissions` ; la variante `--allow-` ajoute le mode au cycle sans l'activer

42 * `dontAsk` : n'apparaît jamais dans le cycle ; définissez-le avec `--permission-mode dontAsk`42 * `dontAsk` : n'apparaît jamais dans le cycle ; définissez-le avec `--permission-mode dontAsk`

43 43 


188 188 

189* **Plan** : Tous les plans.189* **Plan** : Tous les plans.

190* **Propriétaire** : sur Team et Enterprise, un Propriétaire doit l'activer dans les [paramètres d'administration Claude Code](https://claude.ai/admin-settings/claude-code) avant que les utilisateurs puissent l'activer. Les administrateurs peuvent également le verrouiller en définissant `permissions.disableAutoMode` sur `"disable"` dans les [paramètres gérés](/fr/permissions#managed-settings).190* **Propriétaire** : sur Team et Enterprise, un Propriétaire doit l'activer dans les [paramètres d'administration Claude Code](https://claude.ai/admin-settings/claude-code) avant que les utilisateurs puissent l'activer. Les administrateurs peuvent également le verrouiller en définissant `permissions.disableAutoMode` sur `"disable"` dans les [paramètres gérés](/fr/permissions#managed-settings).

191* **Modèle** : sur l'API Anthropic, Claude Opus 4.6 ou ultérieur, ou Sonnet 4.6. Sur Amazon Bedrock, Google Cloud Vertex AI et Microsoft Foundry, uniquement Claude Opus 4.7 et Opus 4.8. Les modèles plus anciens, y compris Sonnet 4.5, Opus 4.5, Haiku et les modèles claude-3, ne sont pas supportés sur aucun fournisseur.191* **Modèle** : sur l'API Anthropic, Claude Opus 4.6 ou ultérieur, ou Sonnet 4.6 ou ultérieur. Sur Amazon Bedrock, Google Cloud Vertex AI, Microsoft Foundry et les sessions de [passerelle d'applications Claude](/fr/claude-apps-gateway) signées, uniquement Claude Sonnet 5, Opus 4.7 et Opus 4.8. Les modèles plus anciens, y compris Sonnet 4.5, Opus 4.5, Haiku et les modèles claude-3, ne sont pas supportés sur aucun fournisseur.

192* **Fournisseur** : disponible par défaut sur l'API Anthropic. Sur Amazon Bedrock, Google Cloud Vertex AI et Microsoft Foundry, le mode auto est désactivé jusqu'à ce que vous [définissiez `CLAUDE_CODE_ENABLE_AUTO_MODE`](#enable-auto-mode-on-bedrock-vertex-ai-or-foundry).192* **Fournisseur** : disponible par défaut sur l'API Anthropic. Sur Amazon Bedrock, Google Cloud Vertex AI, Microsoft Foundry et les sessions de passerelle d'applications Claude signées, le mode auto est désactivé jusqu'à ce que vous [définissiez `CLAUDE_CODE_ENABLE_AUTO_MODE`](#enable-auto-mode-on-bedrock-vertex-ai-or-foundry).

193 193 

194Si Claude Code signale le mode auto comme indisponible, l'une de ces exigences n'est pas remplie ; ce n'est pas une panne transitoire. Un message séparé qui nomme un modèle et dit que le mode auto « ne peut pas déterminer la sécurité » d'une action est une panne transitoire du classificateur ; consultez la [référence d'erreur](/fr/errors#auto-mode-cannot-determine-the-safety-of-an-action).194Si Claude Code signale le mode auto comme indisponible, l'une de ces exigences n'est pas remplie ; ce n'est pas une panne transitoire. Un message séparé qui nomme un modèle et dit que le mode auto « ne peut pas déterminer la sécurité » d'une action est une panne transitoire du classificateur ; consultez la [référence d'erreur](/fr/errors#auto-mode-cannot-determine-the-safety-of-an-action).

195 195 


199 Activer le mode auto sur Bedrock, Vertex AI ou Foundry199 Activer le mode auto sur Bedrock, Vertex AI ou Foundry

200</h3>200</h3>

201 201 

202Sur [Amazon Bedrock](/fr/amazon-bedrock), [Google Cloud Vertex AI](/fr/google-vertex-ai) et [Microsoft Foundry](/fr/microsoft-foundry), le mode auto n'apparaît pas dans le cycle `Shift+Tab` jusqu'à ce que `CLAUDE_CODE_ENABLE_AUTO_MODE` soit défini sur `1`. La variable fonctionne dans Claude Code v2.1.158 et ultérieur. Seuls Claude Opus 4.7 et Opus 4.8 sont supportés sur ces fournisseurs.202Sur [Amazon Bedrock](/fr/amazon-bedrock), [Google Cloud Vertex AI](/fr/google-vertex-ai), [Microsoft Foundry](/fr/microsoft-foundry) et les sessions de [passerelle d'applications Claude](/fr/claude-apps-gateway) signées, le mode auto n'apparaît pas dans le cycle `Shift+Tab` jusqu'à ce que `CLAUDE_CODE_ENABLE_AUTO_MODE` soit défini sur `1`. La variable fonctionne dans Claude Code v2.1.158 et ultérieur. Seuls Claude Sonnet 5, Opus 4.7 et Opus 4.8 sont supportés sur ces fournisseurs.

203 203 

204Pour l'activer pour un développeur, ajoutez la variable au bloc `env` dans `~/.claude/settings.json` :204Pour l'activer pour un développeur, ajoutez la variable au bloc `env` dans `~/.claude/settings.json` :

205 205 


217 217 

218Pour empêcher les développeurs d'activer le mode auto, définissez `disableAutoMode` sur `"disable"` dans les paramètres gérés. Cela remplace la variable d'activation.218Pour empêcher les développeurs d'activer le mode auto, définissez `disableAutoMode` sur `"disable"` dans les paramètres gérés. Cela remplace la variable d'activation.

219 219 

220Si vous vous connectez via une [passerelle LLM](/fr/llm-gateway) configurée avec `ANTHROPIC_BASE_URL`, le mode auto peut déjà être accessible sans la variable d'activation, car la passerelle achemine les demandes via l'API Anthropic. Le paramètre `disableAutoMode` s'applique de la même manière dans cette configuration.220Si vous vous connectez via une [passerelle LLM](/fr/llm-gateway) configurée avec `ANTHROPIC_BASE_URL`, le mode auto peut déjà être accessible sans la variable d'activation, car la passerelle achemine les demandes via l'API Anthropic. Cela ne s'applique pas à une session de [passerelle d'applications Claude](/fr/claude-apps-gateway) signée, qui est sa propre classe de fournisseur et nécessite la variable d'activation. Le paramètre `disableAutoMode` s'applique de la même manière dans l'une ou l'autre configuration.

221 221 

222<h3 id="what-the-classifier-blocks-by-default">222<h3 id="what-the-classifier-blocks-by-default">

223 Ce que le classificateur bloque par défaut223 Ce que le classificateur bloque par défaut


239* `git commit --amend` quand le commit à HEAD n'a pas été créé dans cette session239* `git commit --amend` quand le commit à HEAD n'a pas été créé dans cette session

240* `terraform destroy`, `pulumi destroy`, `cdk destroy`, ou `terragrunt destroy`, et l'application d'un plan qui détruit les ressources240* `terraform destroy`, `pulumi destroy`, `cdk destroy`, ou `terragrunt destroy`, et l'application d'un plan qui détruit les ressources

241 241 

242Claude Code v2.1.195 et ultérieur bloquent plus de catégories par défaut. Plusieurs dépendent des entrées d'[environnement](/fr/auto-mode-config#define-trusted-infrastructure), telles que les cibles distantes sensibles et les portées IaC protégées, que vous pouvez affiner à des noms concrets.

243 

244* Écriture dans un gestionnaire de secrets, ou modification des enregistrements DNS ou des certificats TLS

245* Fusion d'une demande de tirage qu'aucun humain n'a approuvée, approbation de la propre demande de tirage de Claude, ou désactivation des vérifications CI

246* Publication d'un commentaire qui est lui-même une commande pour l'automatisation, comme `atlantis apply` ou le `/deploy` ou `/merge` d'un bot

247* Basculement, augmentation progressive ou suppression d'un drapeau de fonctionnalité de production

248* Application de modifications d'infrastructure à une portée IaC protégée, ou vidage et suppression de nœuds de cluster

249* Écritures dans un cluster de calcul partagé qui vont au-delà de la ressource que vous avez nommée, comme un sélecteur d'étiquette ou `--all` qui capture les tâches d'autres utilisateurs

250* Création de ressources Kubernetes qui s'exécutent sur chaque nœud ou interceptent le trafic du cluster, comme les DaemonSets et les webhooks d'admission

251* Shells interactifs ou port-forwards vers une cible distante sensible

252* Ouverture d'un tunnel ou d'un shell inverse qui rend un service local accessible depuis l'internet public

253* Impression d'une identifiant ou d'un jeton en direct dans la transcription ou un fichier

254* Accès à un emplacement de données PII ou réglementées, ou copie de données hors de celui-ci

255* Routage d'une installation de paquet autour de votre registre de paquets interne vers un registre public

256* Exécution d'une commande avec un drapeau qui désarme une garde de sécurité, comme `--insecure`

257* Actions du navigateur [Claude in Chrome](/fr/chrome) qui pourraient envoyer le contenu de la page, les cookies ou les identifiants hors-origine

258 

242**Autorisé par défaut** :259**Autorisé par défaut** :

243 260 

244* Opérations de fichiers locaux dans votre répertoire de travail261* Opérations de fichiers locaux dans votre répertoire de travail


247* Demandes HTTP en lecture seule264* Demandes HTTP en lecture seule

248* Poussée vers la branche sur laquelle vous avez commencé ou celle créée par Claude265* Poussée vers la branche sur laquelle vous avez commencé ou celle créée par Claude

249 266 

267Claude Code v2.1.195 et ultérieur autorisent également ceci par défaut :

268 

269* Suppression des tâches exactes que Claude a créées plus tôt dans la même session

270* Lecture, examen ou écriture de code, de configurations et de modèles de menace liés à la sécurité dans le cadre de votre tâche

271* Messages entre les agents travaillant ensemble dans la même session multi-agents

272* Envoi de données aux domaines de confiance, aux compartiments et aux services que vous listez dans [`environment`](/fr/auto-mode-config#define-trusted-infrastructure). Cela couvre le flux de données uniquement, pas les opérations destructrices ou d'identifiants sur la même infrastructure

273* Navigation [Claude in Chrome](/fr/chrome) vers un domaine interne de confiance, localhost, ou une URL que vous avez nommée

274 

250Les demandes d'accès réseau sandbox sont acheminées via le classificateur plutôt que d'être autorisées par défaut. Exécutez `claude auto-mode defaults` pour voir les listes de règles complètes. Si les actions courantes sont bloquées, un administrateur peut ajouter des dépôts de confiance, des compartiments et des services via le paramètre `autoMode.environment` : consultez [Configurer le mode auto](/fr/auto-mode-config).275Les demandes d'accès réseau sandbox sont acheminées via le classificateur plutôt que d'être autorisées par défaut. Exécutez `claude auto-mode defaults` pour voir les listes de règles complètes. Si les actions courantes sont bloquées, un administrateur peut ajouter des dépôts de confiance, des compartiments et des services via le paramètre `autoMode.environment` : consultez [Configurer le mode auto](/fr/auto-mode-config).

251 276 

252<h3 id="boundaries-you-state-in-conversation">277<h3 id="boundaries-you-state-in-conversation">

permissions.md +33 −22

Details

24 Gérer les autorisations24 Gérer les autorisations

25</h2>25</h2>

26 26 

27Vous pouvez afficher et gérer les autorisations d'outils de Claude Code avec `/permissions`. Cette interface utilisateur répertorie toutes les règles d'autorisation et le fichier settings.json dont elles proviennent.27Vous pouvez afficher et gérer les autorisations d'outils de Claude Code avec `/permissions`. Cette interface utilisateur répertorie toutes les règles d'autorisation et le fichier `settings.json` dont elles proviennent.

28 28 

29* Les règles **Allow** permettent à Claude Code d'utiliser l'outil spécifié sans approbation manuelle.29* Les règles **Allow** permettent à Claude Code d'utiliser l'outil spécifié sans approbation manuelle.

30* Les règles **Ask** demandent une confirmation chaque fois que Claude Code essaie d'utiliser l'outil spécifié.30* Les règles **Ask** demandent une confirmation chaque fois que Claude Code essaie d'utiliser l'outil spécifié.

31* Les règles **Deny** empêchent Claude Code d'utiliser l'outil spécifié.31* Les règles **Deny** empêchent Claude Code d'utiliser l'outil spécifié.

32 32 

33Les règles sont évaluées dans l'ordre : deny, puis ask, puis allow. La première correspondance dans cet ordre détermine le résultat, et la spécificité de la règle ne change pas l'ordre. Une règle deny large comme `Bash(aws *)` bloque chaque appel correspondant, y compris les appels qui correspondent également à une règle allow plus étroite comme `Bash(aws s3 ls)`, donc une règle deny ne peut pas comporter d'exceptions de liste d'autorisation. La même priorité s'applique entre ask et allow : une règle ask correspondante demande une confirmation même lorsqu'une règle allow plus spécifique correspond également au même appel.33Les règles sont évaluées dans l'ordre : deny, puis ask, puis allow. La première correspondance dans cet ordre détermine le résultat, et la spécificité de la règle ne change pas l'ordre.

34 

35Une règle deny large comme `Bash(aws *)` bloque chaque appel correspondant, y compris les appels qui correspondent également à une règle allow plus étroite comme `Bash(aws s3 ls)`, donc une règle deny ne peut pas comporter d'exceptions de liste d'autorisation. La même priorité s'applique entre ask et allow : une règle ask correspondante demande une confirmation même lorsqu'une règle allow plus spécifique correspond également au même appel.

34 36 

35Les règles deny se comportent différemment selon qu'elles nomment un outil ou qu'elles délimitent un motif au sein de celui-ci. Un nom d'outil simple comme `Bash` supprime l'outil du contexte de Claude entièrement, donc Claude ne le voit jamais. Une règle délimitée comme `Bash(rm *)` laisse l'outil disponible et bloque les appels correspondants lorsque Claude essaie de les utiliser.37Les règles deny se comportent différemment selon qu'elles nomment un outil ou qu'elles délimitent un motif au sein de celui-ci. Un nom d'outil simple comme `Bash` supprime l'outil du contexte de Claude entièrement, donc Claude ne le voit jamais. Une règle délimitée comme `Bash(rm *)` laisse l'outil disponible et bloque les appels correspondants lorsque Claude essaie de les utiliser.

36 38 


42 Modes d'autorisation44 Modes d'autorisation

43</h2>45</h2>

44 46 

45Claude Code prend en charge plusieurs modes d'autorisation qui contrôlent la façon dont les outils sont approuvés. Consultez [Modes d'autorisation](/fr/permission-modes) pour savoir quand utiliser chacun. Définissez le `defaultMode` dans vos [fichiers de paramètres](/fr/settings#settings-files) :47Claude Code prend en charge plusieurs modes d'autorisation qui contrôlent la façon dont il approuve les appels d'outils. Consultez [Modes d'autorisation](/fr/permission-modes) pour savoir quand utiliser chacun. Définissez le `defaultMode` dans vos [fichiers de paramètres](/fr/settings#settings-files) :

46 48 

47| Mode | Description |49| Mode | Description |

48| :------------------ | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |50| :------------------ | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

49| `default` | Comportement standard : demande une autorisation à la première utilisation de chaque outil |51| `default` | Comportement standard : demande une autorisation à la première utilisation de chaque outil |

50| `acceptEdits` | Accepte automatiquement les éditions de fichiers et les commandes courantes du système de fichiers (`mkdir`, `touch`, `mv`, `cp`, etc.) pour les chemins du répertoire de travail ou `additionalDirectories` |52| `acceptEdits` | Accepte automatiquement les éditions de fichiers et les commandes courantes du système de fichiers telles que `mkdir`, `touch`, `mv` et `cp` pour les chemins du répertoire de travail ou `additionalDirectories` |

51| `plan` | Plan Mode : Claude lit les fichiers et exécute les commandes shell en lecture seule pour explorer mais n'édite pas vos fichiers source |53| `plan` | Plan Mode : Claude lit les fichiers et exécute les commandes shell en lecture seule pour explorer mais n'édite pas vos fichiers source |

52| `auto` | Approuve automatiquement les appels d'outils avec des vérifications de sécurité en arrière-plan qui vérifient que les actions s'alignent avec votre demande. Actuellement un aperçu de recherche |54| `auto` | Approuve automatiquement les appels d'outils avec des vérifications de sécurité en arrière-plan qui vérifient que les actions s'alignent avec votre demande. Actuellement un aperçu de recherche |

53| `dontAsk` | Refuse automatiquement les outils sauf s'ils sont pré-approuvés via `/permissions` ou les règles `permissions.allow` |55| `dontAsk` | Refuse automatiquement les outils sauf s'ils sont pré-approuvés via `/permissions` ou les règles `permissions.allow` |

54| `bypassPermissions` | Ignore les invites d'autorisation, sauf celles forcées par les règles `ask` explicites. Les suppressions ciblant la racine du système de fichiers ou le répertoire personnel, comme `rm -rf /` et `rm -rf ~`, demandent toujours comme disjoncteur de sécurité |56| `bypassPermissions` | Ignore les invites d'autorisation, sauf celles forcées par les règles `ask` explicites. Les suppressions ciblant la racine du système de fichiers ou le répertoire personnel, comme `rm -rf /` et `rm -rf ~`, demandent toujours comme disjoncteur de sécurité |

55 57 

56<Warning>58<Warning>

57 Le mode `bypassPermissions` ignore les invites d'autorisation, y compris les écritures dans `.git`, `.config/git`, `.claude`, `.vscode`, `.idea`, `.husky`, `.cargo`, `.devcontainer`, `.yarn` et `.mvn`. Les règles `ask` explicites forcent toujours une invite, et les suppressions ciblant la racine du système de fichiers ou le répertoire personnel, comme `rm -rf /` et `rm -rf ~`, demandent toujours comme disjoncteur de sécurité contre l'erreur du modèle. Utilisez ce mode uniquement dans des environnements isolés comme les conteneurs ou les machines virtuelles où Claude Code ne peut pas causer de dommages. Les administrateurs peuvent empêcher ce mode en définissant `permissions.disableBypassPermissionsMode` sur `"disable"` dans les [paramètres gérés](#managed-settings).59 Le mode `bypassPermissions` ignore les invites d'autorisation, y compris les écritures dans `.git`, `.config/git`, `.claude`, `.vscode`, `.idea`, `.husky`, `.cargo`, `.devcontainer`, `.yarn` et `.mvn`. Les règles `ask` explicites forcent toujours une invite, et les suppressions ciblant la racine du système de fichiers ou le répertoire personnel, comme `rm -rf /` et `rm -rf ~`, demandent toujours comme disjoncteur de sécurité contre l'erreur du modèle. Utilisez ce mode uniquement dans des environnements isolés comme les conteneurs ou les machines virtuelles où Claude Code ne peut pas causer de dommages.

58</Warning>60</Warning>

59 61 

60Pour empêcher le mode `bypassPermissions` ou `auto` d'être utilisé, définissez `permissions.disableBypassPermissionsMode` ou `permissions.disableAutoMode` sur `"disable"` dans n'importe quel [fichier de paramètres](/fr/settings#settings-files). Ces paramètres sont particulièrement utiles dans les [paramètres gérés](#managed-settings) où ils ne peuvent pas être remplacés.62Pour empêcher le mode `bypassPermissions` ou `auto` d'être utilisé, définissez `permissions.disableBypassPermissionsMode` ou `permissions.disableAutoMode` sur `"disable"` dans n'importe quel [fichier de paramètres](/fr/settings#settings-files). Ces paramètres sont particulièrement utiles dans les [paramètres gérés](#managed-settings) où ils ne peuvent pas être remplacés.


95 Correspondre par paramètre d'entrée97 Correspondre par paramètre d'entrée

96</h3>98</h3>

97 99 

98Les règles de refus et de demande peuvent correspondre à un paramètre d'entrée de haut niveau sur n'importe quel outil avec `Tool(param:value)`. La règle correspond lorsque Claude appelle l'outil avec ce paramètre défini sur cette valeur exacte. Cette syntaxe est destinée aux règles de refus et de demande ; une règle d'autorisation pour une valeur de paramètre n'établirait pas que l'appel est sûr dans l'ensemble, donc les règles d'autorisation continuent à utiliser la syntaxe de spécificateur propre à chaque outil. Cela fonctionne pour n'importe quel paramètre scalaire que l'outil accepte :100Les règles de refus et de demande peuvent correspondre à un paramètre d'entrée de haut niveau sur n'importe quel outil avec `Tool(param:value)`. La règle correspond lorsque Claude appelle l'outil avec ce paramètre défini sur cette valeur exacte. Une règle d'autorisation pour une valeur de paramètre n'établirait pas que l'appel est sûr dans l'ensemble, donc les règles d'autorisation continuent à utiliser la syntaxe de spécificateur propre à chaque outil. Cela fonctionne pour n'importe quel paramètre scalaire que l'outil accepte :

99 101 

100| Règle | Correspond |102| Règle | Correspond |

101| :----------------------------- | :------------------------------------------------------ |103| :----------------------------- | :------------------------------------------------------ |


220 222 

221 * Options avant l'URL : `curl -X GET http://github.com/...`223 * Options avant l'URL : `curl -X GET http://github.com/...`

222 * Protocole différent : `curl https://github.com/...`224 * Protocole différent : `curl https://github.com/...`

223 * Redirections : `curl -L http://bit.ly/xyz` (redirige vers github)225 * Redirections : `curl -L http://bit.ly/xyz`, qui redirige vers GitHub

224 * Variables : `URL=http://github.com && curl $URL`226 * Variables : `URL=http://github.com && curl $URL`

225 * Espaces supplémentaires : `curl http://github.com`227 * Espaces supplémentaires : `curl http://github.com`

226 228 


270Les règles Read et Edit suivent toutes deux la spécification [gitignore](https://git-scm.com/docs/gitignore) avec quatre types de modèles distincts :272Les règles Read et Edit suivent toutes deux la spécification [gitignore](https://git-scm.com/docs/gitignore) avec quatre types de modèles distincts :

271 273 

272| Modèle | Signification | Exemple | Correspond |274| Modèle | Signification | Exemple | Correspond |

273| ------------------ | -------------------------------------------------------------- | -------------------------------- | -------------------------------- |275| ------------------ | ---------------------------------------------------------- | -------------------------------- | -------------------------------- |

274| `//path` | Chemin **absolu** à partir de la racine du système de fichiers | `Read(//Users/alice/secrets/**)` | `/Users/alice/secrets/**` |276| `//path` | Chemin absolu à partir de la racine du système de fichiers | `Read(//Users/alice/secrets/**)` | `/Users/alice/secrets/**` |

275| `~/path` | Chemin à partir du répertoire **home** | `Read(~/Documents/*.pdf)` | `/Users/alice/Documents/*.pdf` |277| `~/path` | Chemin à partir du répertoire home | `Read(~/Documents/*.pdf)` | `/Users/alice/Documents/*.pdf` |

276| `/path` | Chemin **relatif à la racine du projet** | `Edit(/src/**/*.ts)` | `<racine du projet>/src/**/*.ts` |278| `/path` | Chemin relatif à la racine du projet | `Edit(/src/**/*.ts)` | `<racine du projet>/src/**/*.ts` |

277| `path` ou `./path` | Chemin **relatif au répertoire courant** | `Read(*.env)` | `<cwd>/*.env` |279| `path` ou `./path` | Chemin relatif au répertoire courant | `Read(*.env)` | `<cwd>/*.env` |

278 280 

279<Warning>281<Warning>

280 Un modèle comme `/Users/alice/file` n'est PAS un chemin absolu. Il est relatif à la racine du projet. Utilisez `//Users/alice/file` pour les chemins absolus.282 Un modèle comme `/Users/alice/file` n'est PAS un chemin absolu. Il est relatif à la racine du projet. Utilisez `//Users/alice/file` pour les chemins absolus.


284 286 

285Exemples :287Exemples :

286 288 

287* `Edit(/docs/**)` : édite dans `<projet>/docs/` (PAS `/docs/` et PAS `<projet>/.claude/docs/`)289* `Edit(/docs/**)` : édite dans `<projet>/docs/`, pas `/docs/` ou `<projet>/.claude/docs/`

288* `Read(~/.zshrc)` : lit le `.zshrc` de votre répertoire home290* `Read(~/.zshrc)` : lit le `.zshrc` de votre répertoire home

289* `Edit(//tmp/scratch.txt)` : édite le chemin absolu `/tmp/scratch.txt`291* `Edit(//tmp/scratch.txt)` : édite le chemin absolu `/tmp/scratch.txt`

290* `Read(src/**)` : lit à partir de `<répertoire courant>/src/`292* `Read(src/**)` : lit à partir de `<répertoire courant>/src/`


323 MCP325 MCP

324</h3>326</h3>

325 327 

326* `mcp__puppeteer` correspond à tout outil fourni par le serveur `puppeteer` (nom configuré dans Claude Code)328Les règles MCP utilisent le nom du serveur tel que configuré dans Claude Code, optionnellement suivi du nom d'un outil de ce serveur.

327* `mcp__puppeteer__*` syntaxe de caractère générique qui correspond également à tous les outils du serveur `puppeteer`329 

330* `mcp__puppeteer` correspond à tout outil fourni par le serveur `puppeteer`

331* `mcp__puppeteer__*` utilise la syntaxe de caractère générique et correspond également à tous les outils du serveur `puppeteer`

328* `mcp__puppeteer__puppeteer_navigate` correspond à l'outil `puppeteer_navigate` fourni par le serveur `puppeteer`332* `mcp__puppeteer__puppeteer_navigate` correspond à l'outil `puppeteer_navigate` fourni par le serveur `puppeteer`

329 333 

330<h3 id="agent-subagents">334<h3 id="agent-subagents">


418 422 

419Les autorisations et le [sandboxing](/fr/sandboxing) sont des couches de sécurité complémentaires :423Les autorisations et le [sandboxing](/fr/sandboxing) sont des couches de sécurité complémentaires :

420 424 

421* **Les autorisations** contrôlent quels outils Claude Code peut utiliser et quels fichiers ou domaines il peut accéder. Elles s'appliquent à tous les outils (Bash, Read, Edit, WebFetch, MCP et autres).425* **Les autorisations** contrôlent quels outils Claude Code peut utiliser et quels fichiers ou domaines il peut accéder. Elles s'appliquent à tous les outils, notamment Bash, Read, Edit, WebFetch et MCP.

422* **Le sandboxing** fournit une application au niveau du système d'exploitation qui restreint l'accès du système de fichiers et du réseau de l'outil Bash. Il s'applique uniquement aux commandes Bash et à leurs processus enfants.426* **Le sandboxing** fournit une application au niveau du système d'exploitation qui restreint l'accès du système de fichiers et du réseau de l'outil Bash. Il s'applique uniquement aux commandes Bash et à leurs processus enfants.

423 427 

424Utilisez les deux pour une défense en profondeur :428Utilisez les deux pour une défense en profondeur :


428* Les restrictions du système de fichiers dans le sandbox combinent les paramètres [`sandbox.filesystem`](/fr/sandboxing) avec les règles de refus Read et Edit ; les deux sont fusionnées dans la limite finale du sandbox432* Les restrictions du système de fichiers dans le sandbox combinent les paramètres [`sandbox.filesystem`](/fr/sandboxing) avec les règles de refus Read et Edit ; les deux sont fusionnées dans la limite finale du sandbox

429* Les restrictions réseau combinent les règles d'autorisation WebFetch avec les listes `allowedDomains` et `deniedDomains` du sandbox433* Les restrictions réseau combinent les règles d'autorisation WebFetch avec les listes `allowedDomains` et `deniedDomains` du sandbox

430 434 

431Lorsque le sandboxing est activé avec `autoAllowBashIfSandboxed: true`, qui est la valeur par défaut, les commandes Bash en sandbox s'exécutent sans invite même si vos autorisations incluent une règle ask `Bash` simple, ou la [forme équivalente `Bash(*)`](#match-all-uses-of-a-tool) : la limite du sandbox remplace cette invite pour l'outil entier. Les règles ask limitées au contenu comme `Bash(git push *)` forcent toujours une invite, les règles de refus explicites s'appliquent toujours, et les commandes `rm` ou `rmdir` qui ciblent `/`, votre répertoire personnel ou d'autres chemins système critiques déclenchent toujours une invite. Les commandes qui ne s'exécutent pas en sandbox, comme les commandes exclues, respectent la règle ask `Bash` simple comme d'habitude. Consultez [modes sandbox](/fr/sandboxing#sandbox-modes) pour modifier ce comportement.435Lorsque le sandboxing est activé avec `autoAllowBashIfSandboxed: true`, qui est la valeur par défaut, les commandes Bash en sandbox s'exécutent sans invite même si vos autorisations incluent une règle ask `Bash` simple, ou la [forme équivalente `Bash(*)`](#match-all-uses-of-a-tool) : la limite du sandbox remplace cette invite pour l'outil entier. Ces vérifications s'appliquent toujours :

436 

437* Les règles ask limitées au contenu comme `Bash(git push *)` forcent toujours une invite

438* Les règles de refus explicites s'appliquent toujours

439* Les commandes `rm` ou `rmdir` qui ciblent `/`, votre répertoire personnel ou d'autres chemins système critiques déclenchent toujours une invite

440 

441Les commandes qui ne s'exécutent pas en sandbox, comme les commandes exclues, respectent la règle ask `Bash` simple comme d'habitude. Consultez [modes sandbox](/fr/sandboxing#sandbox-modes) pour modifier ce comportement.

432 442 

433<h2 id="managed-settings">443<h2 id="managed-settings">

434 Paramètres gérés444 Paramètres gérés

435</h2>445</h2>

436 446 

437Pour les organisations qui ont besoin d'un contrôle centralisé sur la configuration de Claude Code, les administrateurs peuvent déployer des paramètres gérés qui ne peuvent pas être remplacés par les paramètres utilisateur ou projet. Ces paramètres de politique suivent le même format que les fichiers de paramètres réguliers et peuvent être livrés via des politiques MDM/au niveau du système d'exploitation, des fichiers de paramètres gérés ou des [paramètres gérés par le serveur](/fr/server-managed-settings). Consultez [fichiers de paramètres](/fr/settings#settings-files) pour les mécanismes de livraison et les emplacements de fichiers.447Pour les organisations qui ont besoin d'un contrôle centralisé sur la configuration de Claude Code, les administrateurs peuvent déployer des paramètres gérés qui ne peuvent pas être remplacés par les paramètres utilisateur ou projet. Ces paramètres de politique suivent le même format que les fichiers de paramètres réguliers et peuvent être livrés via des politiques MDM/au niveau du système d'exploitation, des fichiers de paramètres gérés, des [paramètres gérés par le serveur](/fr/server-managed-settings) ou une [passerelle Claude apps](/fr/claude-apps-gateway) auto-hébergée. Consultez [fichiers de paramètres](/fr/settings#settings-files) pour les mécanismes de livraison et les emplacements de fichiers.

438 448 

439<h3 id="managed-only-settings">449<h3 id="managed-only-settings">

440 Paramètres gérés uniquement450 Paramètres gérés uniquement


443Les paramètres suivants ne sont efficaces que dans les paramètres gérés. Les placer dans les fichiers de paramètres utilisateur ou projet n'a aucun effet.453Les paramètres suivants ne sont efficaces que dans les paramètres gérés. Les placer dans les fichiers de paramètres utilisateur ou projet n'a aucun effet.

444 454 

445| Paramètre | Description |455| Paramètre | Description |

446| :--------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |456| :--------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

447| `allowAllClaudeAiMcps` | Lorsque `true`, les connecteurs claude.ai se chargent aux côtés d'un `managed-mcp.json` déployé au lieu d'être supprimés par son contrôle exclusif. Consultez [Configuration MCP gérée](/fr/managed-mcp) |457| `allowAllClaudeAiMcps` | Lorsque `true`, les connecteurs claude.ai se chargent aux côtés d'un `managed-mcp.json` déployé au lieu d'être supprimés par son contrôle exclusif. Consultez [Configuration MCP gérée](/fr/managed-mcp) |

448| `allowedChannelPlugins` | Liste blanche des plugins de canal qui peuvent envoyer des messages. Remplace la liste blanche Anthropic par défaut lorsqu'elle est définie. Nécessite `channelsEnabled: true`. Consultez [Restreindre les plugins de canal qui peuvent s'exécuter](/fr/channels#restrict-which-channel-plugins-can-run) |458| `allowedChannelPlugins` | Liste blanche des plugins de canal qui peuvent envoyer des messages. Remplace la liste blanche Anthropic par défaut lorsqu'elle est définie. Nécessite `channelsEnabled: true`. Consultez [Restreindre les plugins de canal qui peuvent s'exécuter](/fr/channels#restrict-which-channel-plugins-can-run) |

449| `allowManagedHooksOnly` | Lorsque `true`, seuls les hooks gérés, les hooks SDK et les hooks des plugins activés de force dans les paramètres gérés `enabledPlugins` sont chargés. Les hooks utilisateur, projet et tous les autres hooks de plugin sont bloqués |459| `allowManagedHooksOnly` | Lorsque `true`, seuls les hooks gérés, les hooks SDK et les hooks des plugins activés de force dans les paramètres gérés `enabledPlugins` sont chargés. Les hooks utilisateur, projet et tous les autres hooks de plugin sont bloqués |


451| `allowManagedPermissionRulesOnly` | Lorsque `true`, empêche les paramètres utilisateur et projet de définir les règles d'autorisation `allow`, `ask` ou `deny`. Seules les règles dans les paramètres gérés s'appliquent. N'affecte pas la liste blanche du serveur MCP ; pour cela, définissez `allowManagedMcpServersOnly` |461| `allowManagedPermissionRulesOnly` | Lorsque `true`, empêche les paramètres utilisateur et projet de définir les règles d'autorisation `allow`, `ask` ou `deny`. Seules les règles dans les paramètres gérés s'appliquent. N'affecte pas la liste blanche du serveur MCP ; pour cela, définissez `allowManagedMcpServersOnly` |

452| `blockedMarketplaces` | Liste noire des sources de marketplace. Les sources bloquées sont vérifiées avant le téléchargement, elles ne touchent donc jamais le système de fichiers. Consultez [restrictions de marketplace gérées](/fr/plugin-marketplaces#managed-marketplace-restrictions) |462| `blockedMarketplaces` | Liste noire des sources de marketplace. Les sources bloquées sont vérifiées avant le téléchargement, elles ne touchent donc jamais le système de fichiers. Consultez [restrictions de marketplace gérées](/fr/plugin-marketplaces#managed-marketplace-restrictions) |

453| `channelsEnabled` | Autoriser les [canaux](/fr/channels) pour l'organisation. Consultez [contrôles d'entreprise](/fr/channels#enterprise-controls) pour la valeur par défaut sur chaque plan |463| `channelsEnabled` | Autoriser les [canaux](/fr/channels) pour l'organisation. Consultez [contrôles d'entreprise](/fr/channels#enterprise-controls) pour la valeur par défaut sur chaque plan |

464| `disableSideloadFlags` | {/* min-version: 2.1.193 */}Rejeter les drapeaux CLI `--plugin-dir`, `--plugin-url`, `--agents` et `--mcp-config` au démarrage. Sans cela, les utilisateurs peuvent contourner `strictKnownMarketplaces` pour une seule exécution en passant ces drapeaux. Consultez [`disableSideloadFlags`](/fr/settings#available-settings). Nécessite Claude Code v2.1.193 ou version ultérieure |

454| `forceRemoteSettingsRefresh` | Lorsque `true`, bloque le démarrage de la CLI jusqu'à ce que les paramètres gérés distants soient fraîchement récupérés et se termine si la récupération échoue. Consultez [application fail-closed](/fr/server-managed-settings#enforce-fail-closed-startup) |465| `forceRemoteSettingsRefresh` | Lorsque `true`, bloque le démarrage de la CLI jusqu'à ce que les paramètres gérés distants soient fraîchement récupérés et se termine si la récupération échoue. Consultez [application fail-closed](/fr/server-managed-settings#enforce-fail-closed-startup) |

455| `pluginTrustMessage` | Message personnalisé ajouté à l'avertissement de confiance du plugin affiché avant l'installation |466| `pluginTrustMessage` | Message personnalisé ajouté à l'avertissement de confiance du plugin affiché avant l'installation |

456| `sandbox.filesystem.allowManagedReadPathsOnly` | Lorsque `true`, seuls les chemins `filesystem.allowRead` des paramètres gérés sont respectés. `denyRead` fusionne toujours à partir de toutes les sources |467| `sandbox.filesystem.allowManagedReadPathsOnly` | Lorsque `true`, seuls les chemins `filesystem.allowRead` des paramètres gérés sont respectés. `denyRead` fusionne toujours à partir de toutes les sources |


462`disableBypassPermissionsMode` est généralement placé dans les paramètres gérés pour appliquer la politique organisationnelle, mais il fonctionne à partir de n'importe quelle portée. Un utilisateur peut le définir dans ses propres paramètres pour se verrouiller hors du mode de contournement.473`disableBypassPermissionsMode` est généralement placé dans les paramètres gérés pour appliquer la politique organisationnelle, mais il fonctionne à partir de n'importe quelle portée. Un utilisateur peut le définir dans ses propres paramètres pour se verrouiller hors du mode de contournement.

463 474 

464<Note>475<Note>

465 Sur les plans Team et Enterprise, un administrateur active ou désactive [Remote Control](/fr/remote-control) et les [sessions web](/fr/claude-code-on-the-web) à l'échelle de l'organisation dans les [paramètres d'administration Claude Code](https://claude.ai/admin-settings/claude-code). Remote Control peut également être désactivé par appareil avec le paramètre géré [`disableRemoteControl`](/fr/settings#available-settings). Les sessions web n'ont pas de clé de paramètres gérés par appareil.476 Sur les plans Team et Enterprise, un propriétaire active ou désactive [Remote Control](/fr/remote-control) et les [sessions web](/fr/claude-code-on-the-web) à l'échelle de l'organisation dans les [paramètres d'administration Claude Code](https://claude.ai/admin-settings/claude-code). Remote Control peut également être désactivé par appareil avec le paramètre [`disableRemoteControl`](/fr/settings#available-settings). Les sessions web n'ont pas de clé de paramètres gérés par appareil.

466</Note>477</Note>

467 478 

468<h2 id="settings-precedence">479<h2 id="settings-precedence">


479 490 

480Si un outil est refusé à n'importe quel niveau, aucun autre niveau ne peut l'autoriser. Par exemple, un refus de paramètres gérés ne peut pas être remplacé par `--allowedTools`, et `--disallowedTools` peut ajouter des restrictions au-delà de ce que les paramètres gérés définissent.491Si un outil est refusé à n'importe quel niveau, aucun autre niveau ne peut l'autoriser. Par exemple, un refus de paramètres gérés ne peut pas être remplacé par `--allowedTools`, et `--disallowedTools` peut ajouter des restrictions au-delà de ce que les paramètres gérés définissent.

481 492 

482Les hôtes d'intégration peuvent fournir une politique gérée supplémentaire via l'option SDK `managedSettings` lorsque [`parentSettingsBehavior`](/fr/settings#settings-precedence) est défini sur `"merge"` ; les valeurs de l'intégrateur peuvent renforcer la politique mais pas l'assouplir.493Les mêmes règles s'appliquent dans les différentes portées de paramètres : si les paramètres utilisateur autorisent une autorisation et que les paramètres de projet la refusent, la règle de refus la bloque. L'inverse est également vrai : un refus au niveau utilisateur bloque une autorisation au niveau du projet, car les règles de refus de n'importe quelle portée sont évaluées avant les règles d'autorisation.

483 494 

484Par exemple, si les paramètres utilisateur autorisent une autorisation et que les paramètres de projet la refusent, la règle de refus la bloque. L'inverse est également vrai : un refus au niveau utilisateur bloque une autorisation au niveau du projet, car les règles de refus de n'importe quelle portée sont évaluées avant les règles d'autorisation.495Les hôtes d'intégration peuvent fournir une politique gérée supplémentaire via l'option SDK `managedSettings` lorsque [`parentSettingsBehavior`](/fr/settings#settings-precedence) est défini sur `"merge"` ; les valeurs de l'intégrateur peuvent renforcer la politique mais pas l'assouplir.

485 496 

486<h2 id="example-configurations">497<h2 id="example-configurations">

487 Exemples de configurations498 Exemples de configurations

Details

102 102 

103Lorsque vous installez un plugin qui déclare `{ "name": "secrets-vault", "version": "~2.1.0" }`, Claude Code liste les balises du marketplace, filtre celles commençant par `secrets-vault--v`, et récupère la version la plus élevée satisfaisant `~2.1.0`. Si aucune balise correspondante n'existe, le plugin dépendant est désactivé avec une erreur listant les versions disponibles.103Lorsque vous installez un plugin qui déclare `{ "name": "secrets-vault", "version": "~2.1.0" }`, Claude Code liste les balises du marketplace, filtre celles commençant par `secrets-vault--v`, et récupère la version la plus élevée satisfaisant `~2.1.0`. Si aucune balise correspondante n'existe, le plugin dépendant est désactivé avec une erreur listant les versions disponibles.

104 104 

105Un marketplace ajouté comme chemin de dossier local résout les balises de la même manière lorsque le dossier est un référentiel git. Cela nécessite Claude Code v2.1.196 ou version ultérieure. Dans deux cas, Claude Code installe la dépendance à partir du contenu actuel du dossier à la place :

106 

107* Les versions antérieures ne lisent pas les balises à partir d'un marketplace de dossier local, donc une dépendance contrainte se charge uniquement si cette copie satisfait la plage.

108* Un dossier local qui n'est pas un référentiel git n'a pas de balises, quelle que soit la version.

109 

105Le semver de la balise résolue est enregistré séparément de la `version` du `plugin.json`, donc les vérifications de contrainte utilisent la balise qui a été réellement récupérée même si la `version` du `plugin.json` à ce commit a une valeur obsolète. Le nom du répertoire de cache pour une installation résolue par balise inclut un suffixe SHA de commit de 12 caractères, donc si un responsable force-déplace une balise vers un commit différent, l'installation suivante obtient un répertoire de cache frais au lieu de réutiliser du contenu obsolète.110Le semver de la balise résolue est enregistré séparément de la `version` du `plugin.json`, donc les vérifications de contrainte utilisent la balise qui a été réellement récupérée même si la `version` du `plugin.json` à ce commit a une valeur obsolète. Le nom du répertoire de cache pour une installation résolue par balise inclut un suffixe SHA de commit de 12 caractères, donc si un responsable force-déplace une balise vers un commit différent, l'installation suivante obtient un répertoire de cache frais au lieu de réutiliser du contenu obsolète.

106 111 

107<Note>112<Note>

Details

6 6 

7> Créez et hébergez des places de marché de plugins pour distribuer les extensions Claude Code dans vos équipes et communautés.7> Créez et hébergez des places de marché de plugins pour distribuer les extensions Claude Code dans vos équipes et communautés.

8 8 

9Une **place de marché de plugins** est un catalogue qui vous permet de distribuer des plugins à d'autres. Les places de marché offrent une découverte centralisée, un suivi des versions, des mises à jour automatiques et la prise en charge de plusieurs types de sources (dépôts git, chemins locaux, etc.). Ce guide vous montre comment créer votre propre place de marché pour partager des plugins avec votre équipe ou votre communauté.9Une **place de marché de plugins** est un catalogue qui vous permet de distribuer des plugins à d'autres. Les places de marché offrent une découverte centralisée, un suivi des versions, des mises à jour automatiques et la prise en charge de plusieurs types de sources, notamment les dépôts git et les chemins locaux. Ce guide vous montre comment créer votre propre place de marché pour partager des plugins avec votre équipe ou votre communauté.

10 10 

11Vous cherchez à installer des plugins à partir d'une place de marché existante ? Consultez [Découvrir et installer des plugins préconfigurés](/fr/discover-plugins).11Vous cherchez à installer des plugins à partir d'une place de marché existante ? Consultez [Découvrir et installer des plugins préconfigurés](/fr/discover-plugins).

12 12 


17La création et la distribution d'une place de marché impliquent :17La création et la distribution d'une place de marché impliquent :

18 18 

191. **Créer des plugins** : créez un ou plusieurs plugins avec des compétences, des agents, des hooks, des serveurs MCP ou des serveurs LSP. Ce guide suppose que vous avez déjà des plugins à distribuer ; consultez [Créer des plugins](/fr/plugins) pour plus de détails sur la création de plugins.191. **Créer des plugins** : créez un ou plusieurs plugins avec des compétences, des agents, des hooks, des serveurs MCP ou des serveurs LSP. Ce guide suppose que vous avez déjà des plugins à distribuer ; consultez [Créer des plugins](/fr/plugins) pour plus de détails sur la création de plugins.

202. **Créer un fichier de place de marché** : définissez un `marketplace.json` qui répertorie vos plugins et où les trouver (voir [Créer le fichier de place de marché](#create-the-marketplace-file)).202. **Créer le fichier de place de marché** : définissez un `marketplace.json` qui répertorie vos plugins et où les trouver. Voir [Créer le fichier de place de marché](#create-the-marketplace-file).

213. **Héberger la place de marché** : poussez vers GitHub, GitLab ou un autre hôte git (voir [Héberger et distribuer les places de marché](#host-and-distribute-marketplaces)).213. **Héberger la place de marché** : poussez vers GitHub, GitLab ou un autre hôte git. Voir [Héberger et distribuer les places de marché](#host-and-distribute-marketplaces).

224. **Partager avec les utilisateurs** : les utilisateurs ajoutent votre place de marché avec `/plugin marketplace add` et installent des plugins individuels (voir [Découvrir et installer des plugins](/fr/discover-plugins)).224. **Partager avec les utilisateurs** : les utilisateurs ajoutent votre place de marché avec `/plugin marketplace add` et installent des plugins individuels. Voir [Découvrir et installer des plugins](/fr/discover-plugins).

23 23 

24Une fois votre place de marché en ligne, vous pouvez la mettre à jour en poussant les modifications vers votre dépôt. Les utilisateurs actualisent leur copie locale avec `/plugin marketplace update`.24Une fois votre place de marché en ligne, vous pouvez la mettre à jour en poussant les modifications vers votre dépôt. Les utilisateurs actualisent leur copie locale avec `/plugin marketplace update`.

25 25 


44 ```markdown my-marketplace/plugins/quality-review-plugin/skills/quality-review/SKILL.md theme={null}44 ```markdown my-marketplace/plugins/quality-review-plugin/skills/quality-review/SKILL.md theme={null}

45 ---45 ---

46 description: Review code for bugs, security, and performance46 description: Review code for bugs, security, and performance

47 disable-model-invocation: true

48 ---47 ---

49 48 

50 Review the code I've selected or the recent changes for:49 Review the code I've selected or the recent changes for:


125 124 

126Créez `.claude-plugin/marketplace.json` à la racine de votre dépôt. Ce fichier définit le nom de votre place de marché, les informations du propriétaire et une liste de plugins avec leurs sources.125Créez `.claude-plugin/marketplace.json` à la racine de votre dépôt. Ce fichier définit le nom de votre place de marché, les informations du propriétaire et une liste de plugins avec leurs sources.

127 126 

128Chaque entrée de plugin a besoin au minimum d'un `name` et d'une `source` (où la récupérer). Consultez le [schéma complet](#marketplace-schema) ci-dessous pour tous les champs disponibles.127Chaque entrée de plugin a besoin au minimum d'un `name` et d'une `source` qui indique à Claude Code où la récupérer. Consultez le [schéma complet](#marketplace-schema) ci-dessous pour tous les champs disponibles.

129 128 

130```json theme={null}129```json theme={null}

131{130{


188</h3>187</h3>

189 188 

190| Champ | Type | Description |189| Champ | Type | Description |

191| :------------------------------------ | :----- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |190| :------------------------------------ | :----- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

192| `$schema` | string | URL du schéma JSON pour l'autocomplétion et la validation de l'éditeur. Claude Code ignore ce champ au moment du chargement. |191| `$schema` | string | URL du schéma JSON pour l'autocomplétion et la validation de l'éditeur. Claude Code ignore ce champ au moment du chargement. |

193| `description` | string | Brève description de la place de marché |192| `description` | string | Brève description de la place de marché |

194| `version` | string | Version du manifeste de la place de marché |193| `version` | string | Version du manifeste de la place de marché |

195| `metadata.pluginRoot` | string | Répertoire de base ajouté aux chemins de source de plugin relatifs (par exemple, `"./plugins"` vous permet d'écrire `"source": "formatter"` au lieu de `"source": "./plugins/formatter"`) |194| `metadata.pluginRoot` | string | Répertoire de base ajouté aux chemins de source de plugin relatifs (par exemple, `"./plugins"` vous permet d'écrire `"source": "formatter"` au lieu de `"source": "./plugins/formatter"`) |

196| `allowCrossMarketplaceDependenciesOn` | array | Autres places de marché sur lesquelles les plugins de cette place de marché peuvent dépendre. Les dépendances d'une place de marché non listée ici sont bloquées à l'installation. Voir [Dépendre d'un plugin d'une autre place de marché](/fr/plugin-dependencies#depend-on-a-plugin-from-another-marketplace). |195| `allowCrossMarketplaceDependenciesOn` | array | Autres places de marché sur lesquelles les plugins de cette place de marché peuvent dépendre. Les dépendances d'une place de marché non listée ici sont bloquées à l'installation. Voir [Dépendre d'un plugin d'une autre place de marché](/fr/plugin-dependencies#depend-on-a-plugin-from-another-marketplace). |

196| `renames` | object | {/* min-version: 2.1.193 */}Mappage d'un ancien nom de plugin `name` à son nom actuel, ou à `null` si le plugin a été supprimé. Permet aux utilisateurs existants de migrer automatiquement lorsque vous renommez ou supprimez une entrée dans `plugins`. Voir [Renommer ou supprimer un plugin](#rename-or-remove-a-plugin). Nécessite Claude Code v2.1.193 ou version ultérieure. |

197 197 

198`description` et `version` sont également acceptés sous `metadata` pour la compatibilité rétroactive.198`description` et `version` sont également acceptés sous `metadata` pour la compatibilité rétroactive.

199 199 


201 Entrées de plugin201 Entrées de plugin

202</h2>202</h2>

203 203 

204Chaque entrée de plugin dans le tableau `plugins` décrit un plugin et où le trouver. Vous pouvez inclure n'importe quel champ du [schéma du manifeste du plugin](/fr/plugins-reference#plugin-manifest-schema) (comme `description`, `version`, `author`, `commands`, `hooks`, etc.), plus ces champs spécifiques à la place de marché : `source`, `category`, `tags`, `strict` et `relevance`.204Chaque entrée de plugin dans le tableau `plugins` décrit un plugin et où le trouver. Vous pouvez inclure n'importe quel champ du [schéma du manifeste du plugin](/fr/plugins-reference#plugin-manifest-schema), tel que `description`, `version`, `author`, `commands` et `hooks`, plus ces champs spécifiques à la place de marché : `source`, `category`, `tags`, `strict` et `relevance`.

205 205 

206<h3 id="required-fields-1">206<h3 id="required-fields-1">

207 Champs obligatoires207 Champs obligatoires


251 251 

252Les sources de plugin indiquent à Claude Code où récupérer chaque plugin individuel répertorié dans votre place de marché. Elles sont définies dans le champ `source` de chaque entrée de plugin dans `marketplace.json`.252Les sources de plugin indiquent à Claude Code où récupérer chaque plugin individuel répertorié dans votre place de marché. Elles sont définies dans le champ `source` de chaque entrée de plugin dans `marketplace.json`.

253 253 

254Une fois qu'un plugin est cloné ou copié sur la machine locale, il est copié dans le cache de plugin local versionné à `~/.claude/plugins/cache`.254Une fois qu'un plugin est cloné ou téléchargé sur la machine locale, il est copié dans le cache de plugin local versionné à `~/.claude/plugins/cache`.

255 255 

256| Source | Type | Champs | Notes |256| Source | Type | Champs | Notes |

257| -------------- | -------------------------------------- | ---------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |257| -------------- | -------------------------------------- | ---------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |


264<Note>264<Note>

265 **Sources de place de marché vs sources de plugin** : Ce sont des concepts différents qui contrôlent des choses différentes.265 **Sources de place de marché vs sources de plugin** : Ce sont des concepts différents qui contrôlent des choses différentes.

266 266 

267 * **Source de place de marché** où récupérer le catalogue `marketplace.json` lui-même. Défini lorsque les utilisateurs exécutent `/plugin marketplace add` ou dans les paramètres `extraKnownMarketplaces`. Prend en charge `ref` (branche/tag) mais pas `sha`.267 * **Source de place de marché** : où récupérer le catalogue `marketplace.json` lui-même. Défini lorsque les utilisateurs exécutent `/plugin marketplace add` ou dans les paramètres `extraKnownMarketplaces`. Prend en charge `ref` (branche/tag) mais pas `sha`.

268 * **Source de plugin** où récupérer un plugin individuel répertorié dans la place de marché. Défini dans le champ `source` de chaque entrée de plugin dans `marketplace.json`. Prend en charge à la fois `ref` (branche/tag) et `sha` (commit exact).268 * **Source de plugin** : où récupérer un plugin individuel répertorié dans la place de marché. Défini dans le champ `source` de chaque entrée de plugin dans `marketplace.json`. Prend en charge à la fois `ref` (branche/tag) et `sha` (commit exact).

269 269 

270 Par exemple, une place de marché hébergée à `acme-corp/plugin-catalog` (source de place de marché) peut répertorier un plugin récupéré à partir de `acme-corp/code-formatter` (source de plugin). La source de place de marché et la source de plugin pointent vers des dépôts différents et sont épinglées indépendamment.270 Par exemple, une place de marché hébergée à `acme-corp/plugin-catalog` (source de place de marché) peut répertorier un plugin récupéré à partir de `acme-corp/code-formatter` (source de plugin). La source de place de marché et la source de plugin pointent vers des dépôts différents et sont épinglées indépendamment.

271</Note>271</Note>

272 272 

273Les types de source basés sur git ci-dessous sont `github`, `url` et `git-subdir`. Lorsque `ref` et `sha` sont tous deux définis sur l'un d'eux, le `sha` est l'épingle effective. Claude Code récupère et vérifie le commit épinglé directement. Sur la plupart des hôtes git, y compris GitHub, GitLab et Bitbucket, cela signifie que l'installation réussit même si la branche ou le tag nommé par `ref` a depuis été supprimé en amont, tant que le commit est toujours accessible à partir du dépôt. Certains serveurs, tels qu'AWS CodeCommit, ne prennent pas en charge la récupération des commits par SHA. Sur ces serveurs, le `ref` doit toujours exister et le commit épinglé doit être accessible à partir de celui-ci.273Les types de source basés sur git ci-dessous sont `github`, `url` et `git-subdir`. Lorsque `ref` et `sha` sont tous deux définis sur l'un d'eux, le `sha` est l'épingle effective. Claude Code récupère et vérifie le commit épinglé directement.

274 

275Sur la plupart des hôtes git, y compris GitHub, GitLab et Bitbucket, cela signifie que l'installation réussit même si la branche ou le tag nommé par `ref` a depuis été supprimé en amont, tant que le commit est toujours accessible à partir du dépôt. Certains serveurs, tels qu'AWS CodeCommit, ne prennent pas en charge la récupération des commits par SHA. Sur ces serveurs, le `ref` doit toujours exister et le commit épinglé doit être accessible à partir de celui-ci.

274 276 

275<h3 id="relative-paths">277<h3 id="relative-paths">

276 Chemins relatifs278 Chemins relatifs


288Les chemins se résolvent par rapport à la racine de la place de marché, qui est le répertoire contenant `.claude-plugin/`. Dans l'exemple ci-dessus, `./plugins/my-plugin` pointe vers `<repo>/plugins/my-plugin`, même si `marketplace.json` se trouve à `<repo>/.claude-plugin/marketplace.json`. N'utilisez pas `../` pour référencer des chemins en dehors de la racine de la place de marché.290Les chemins se résolvent par rapport à la racine de la place de marché, qui est le répertoire contenant `.claude-plugin/`. Dans l'exemple ci-dessus, `./plugins/my-plugin` pointe vers `<repo>/plugins/my-plugin`, même si `marketplace.json` se trouve à `<repo>/.claude-plugin/marketplace.json`. N'utilisez pas `../` pour référencer des chemins en dehors de la racine de la place de marché.

289 291 

290<Note>292<Note>

291 Les chemins relatifs ne fonctionnent que lorsque les utilisateurs ajoutent votre place de marché via Git (GitHub, GitLab ou URL git). Si les utilisateurs ajoutent votre place de marché via une URL directe vers le fichier `marketplace.json`, les chemins relatifs ne se résoudront pas correctement. Pour la distribution basée sur les URL, utilisez plutôt les sources GitHub, npm ou URL git. Consultez [Dépannage](#plugins-with-relative-paths-fail-in-url-based-marketplaces) pour plus de détails.293 Les chemins relatifs se résolvent par rapport à une copie locale de la place de marché, donc ils fonctionnent lorsque les utilisateurs ajoutent votre place de marché à partir d'une source git ou d'un répertoire local. Si les utilisateurs ajoutent votre place de marché via une URL directe vers le fichier `marketplace.json`, les chemins relatifs ne se résoudront pas, car seul ce fichier est téléchargé. Pour la distribution basée sur les URL, utilisez plutôt les sources GitHub, npm ou URL git. Consultez [Dépannage](#plugins-with-relative-paths-fail-in-url-based-marketplaces) pour plus de détails.

292</Note>294</Note>

293 295 

294<h3 id="github-repositories">296<h3 id="github-repositories">


504 506 

505Points clés à noter :507Points clés à noter :

506 508 

507* **`commands` et `agents`** : Vous pouvez spécifier plusieurs répertoires ou fichiers individuels. Les chemins sont relatifs à la racine du plugin.509* **`commands` et `agents`** : vous pouvez spécifier plusieurs répertoires ou fichiers individuels. Les chemins sont relatifs à la racine du plugin.

508* **`${CLAUDE_PLUGIN_ROOT}`** : Utilisez cette variable dans les hooks et les configurations du serveur MCP pour référencer les fichiers dans le répertoire d'installation du plugin. C'est nécessaire car les plugins sont copiés vers un emplacement de cache lors de l'installation. Pour les dépendances ou l'état qui doivent survivre aux mises à jour des plugins, utilisez [`${CLAUDE_PLUGIN_DATA}`](/fr/plugins-reference#persistent-data-directory) à la place.510* **`${CLAUDE_PLUGIN_ROOT}`** : Utilisez cette variable dans les hooks et les configurations du serveur MCP pour référencer les fichiers dans le répertoire d'installation du plugin. C'est nécessaire car les plugins sont copiés vers un emplacement de cache lors de l'installation. Pour les dépendances ou l'état qui doivent survivre aux mises à jour des plugins, utilisez [`${CLAUDE_PLUGIN_DATA}`](/fr/plugins-reference#persistent-data-directory) à la place.

509* **`strict: false`** : Puisque ceci est défini sur false, le plugin n'a pas besoin de son propre `plugin.json`. L'entrée de la place de marché définit tout. Voir [Mode strict](#strict-mode) ci-dessous.511* **`strict: false`** : puisque ceci est défini sur false, le plugin n'a pas besoin de son propre `plugin.json`. L'entrée de la place de marché définit tout. Voir [Mode strict](#strict-mode) ci-dessous.

510 512 

511Par défaut, les compétences d'un plugin se chargent à partir du répertoire `skills/` sous sa `source`. Les chemins répertoriés dans le champ `skills` s'ajoutent à cette analyse :513Par défaut, les compétences d'un plugin se chargent à partir du répertoire `skills/` sous sa `source`. Les chemins répertoriés dans le champ `skills` s'ajoutent à cette analyse :

512 514 


547 Héberger sur GitHub (recommandé)549 Héberger sur GitHub (recommandé)

548</h3>550</h3>

549 551 

550GitHub offre la méthode de distribution la plus facile :552GitHub est la méthode recommandée pour héberger et distribuer une place de marché :

551 553 

5521. **Créer un dépôt** : Configurez un nouveau dépôt pour votre place de marché5541. **Créer un dépôt** : Configurez un nouveau dépôt pour votre place de marché

5532. **Ajouter le fichier de place de marché** : Créez `.claude-plugin/marketplace.json` avec vos définitions de plugins5552. **Ajouter le fichier de place de marché** : Créez `.claude-plugin/marketplace.json` avec vos définitions de plugins


596Testez votre place de marché localement avant de la partager :598Testez votre place de marché localement avant de la partager :

597 599 

598```shell theme={null}600```shell theme={null}

599/plugin marketplace add ./my-local-marketplace601/plugin marketplace add ./my-marketplace

600/plugin install test-plugin@my-local-marketplace602/plugin install quality-review-plugin@my-plugins

601```603```

602 604 

603Pour la gamme complète de commandes add (GitHub, URL Git, chemins locaux, URL distantes), consultez [Ajouter des places de marché](/fr/discover-plugins#add-marketplaces).605Pour la gamme complète de commandes add (GitHub, URL Git, chemins locaux, URL distantes), consultez [Ajouter des places de marché](/fr/discover-plugins#add-marketplaces).


644 646 

645Pour les images de conteneur et les environnements CI, vous pouvez pré-remplir un répertoire de plugins au moment de la construction afin que Claude Code démarre avec des places de marché et des plugins déjà disponibles, sans rien cloner au moment de l'exécution. Définissez la variable d'environnement `CLAUDE_CODE_PLUGIN_SEED_DIR` pour pointer vers ce répertoire.647Pour les images de conteneur et les environnements CI, vous pouvez pré-remplir un répertoire de plugins au moment de la construction afin que Claude Code démarre avec des places de marché et des plugins déjà disponibles, sans rien cloner au moment de l'exécution. Définissez la variable d'environnement `CLAUDE_CODE_PLUGIN_SEED_DIR` pour pointer vers ce répertoire.

646 648 

647Pour superposer plusieurs répertoires de seed, séparez les chemins avec `:` sur Unix ou `;` sur Windows. Claude Code recherche chaque répertoire dans l'ordre, et le premier seed qui contient une place de marché ou un cache de plugin donné gagne.649Pour superposer plusieurs répertoires de seed, séparez les chemins avec `:` sur Unix ou `;` sur Windows. Claude Code recherche chaque répertoire dans l'ordre et utilise le premier seed qui contient une place de marché ou un cache de plugin donné.

648 650 

649Le répertoire de seed reflète la structure de `~/.claude/plugins` :651Le répertoire de seed reflète la structure de `~/.claude/plugins` :

650 652 


680 Restrictions des places de marché gérées682 Restrictions des places de marché gérées

681</h3>683</h3>

682 684 

683Pour les organisations nécessitant un contrôle strict sur les sources de plugins, les administrateurs peuvent restreindre les places de marché de plugins que les utilisateurs sont autorisés à ajouter en utilisant le paramètre [`strictKnownMarketplaces`](/fr/settings#strictknownmarketplaces) dans les paramètres gérés.685Pour les organisations nécessitant un contrôle strict sur les sources de plugins, les administrateurs peuvent restreindre les places de marché de plugins que les utilisateurs sont autorisés à ajouter en utilisant le paramètre [`strictKnownMarketplaces`](/fr/settings#strictknownmarketplaces) dans les paramètres gérés. Pour également rejeter les drapeaux CLI qui chargent les plugins, les agents et les serveurs MCP pour une seule exécution, associez-le à [`disableSideloadFlags`](/fr/settings#available-settings).

684 686 

685Lorsque `strictKnownMarketplaces` est configuré dans les paramètres gérés, le comportement de restriction dépend de la valeur :687Lorsque `strictKnownMarketplaces` est configuré dans les paramètres gérés, le comportement de restriction dépend de la valeur :

686 688 


881 883 

882Un plugin peut contraindre ses dépendances à une plage semver afin que les mises à jour d'une dépendance ne cassent pas le plugin dépendant. Consultez [Contraindre les versions des dépendances de plugins](/fr/plugin-dependencies) pour la convention de balise git `{plugin-name}--v{version}`, la syntaxe de plage et la façon dont plusieurs contraintes sur la même dépendance sont combinées.884Un plugin peut contraindre ses dépendances à une plage semver afin que les mises à jour d'une dépendance ne cassent pas le plugin dépendant. Consultez [Contraindre les versions des dépendances de plugins](/fr/plugin-dependencies) pour la convention de balise git `{plugin-name}--v{version}`, la syntaxe de plage et la façon dont plusieurs contraintes sur la même dépendance sont combinées.

883 885 

886<h3 id="rename-or-remove-a-plugin">

887 Renommer ou supprimer un plugin

888</h3>

889 

890Le `name` d'un plugin est son identifiant stable. Les utilisateurs le référencent dans `enabledPlugins`, `pluginConfigs` et les commandes `/plugin install`, donc le changer casse chaque installation existante. Pour changer l'étiquette affichée dans l'interface utilisateur sans casser les installations, définissez [`displayName`](#optional-plugin-fields) et gardez `name` inchangé.

891 

892Si vous devez changer le `name` d'un plugin, ou si vous supprimez un plugin du tableau `plugins`, ajoutez une entrée `renames` au niveau supérieur afin que les utilisateurs existants migrent au lieu de voir une erreur `plugin-not-found`. La migration automatique nécessite Claude Code v2.1.193 ou ultérieur. Mappez chaque ancien nom à son nouveau nom, ou à `null` si le plugin n'existe plus. L'exemple suivant renomme `formatter` en `code-formatter` et enregistre que `legacy-linter` a été supprimé :

893 

894```json theme={null}

895{

896 "name": "acme-tools",

897 "owner": { "name": "Acme" },

898 "plugins": [

899 { "name": "code-formatter", "source": "./plugins/code-formatter" }

900 ],

901 "renames": {

902 "formatter": "code-formatter",

903 "legacy-linter": null

904 }

905}

906```

907 

908Lorsqu'un utilisateur démarre Claude Code avec l'ancien nom toujours dans ses paramètres, Claude Code suit la carte `renames` :

909 

910* Si l'entrée pointe vers un nouveau nom, Claude Code charge le plugin sous son nouveau nom et affiche un avis d'une ligne tel que `Renamed to "code-formatter" in the "acme-tools" marketplace`. Il réécrit ensuite l'ancienne clé vers la nouvelle clé dans les portées de paramètres utilisateur, projet et local pour `enabledPlugins` et `pluginConfigs`, afin que l'avis n'apparaisse qu'une fois.

911* Pour une entrée `null`, Claude Code supprime l'ancienne clé et l'avis signale que le plugin a été supprimé de la place de marché.

912* Si le plugin renommé utilise une source distante telle que `github` ou `npm`, Claude Code signale `plugin-cache-miss` après le renommage et l'utilisateur doit exécuter `/plugin install` une fois pour le récupérer sous le nouveau nom.

913 

914Traitez `renames` comme un historique d'ajout uniquement : gardez les anciennes entrées en place même après vous attendre à ce que chaque utilisateur ait migré. Claude Code suit les chaînes, donc si vous renommez ultérieurement `code-formatter` en `formatter-pro`, ajoutez une deuxième entrée plutôt que de modifier la première. Un utilisateur qui a toujours le `formatter` original activé se résout ensuite à travers les deux entrées vers `formatter-pro`.

915 

916Exécutez `claude plugin validate .` après avoir modifié la carte ; il rejette toute entrée dont la chaîne forme un cycle ou ne se termine pas à `null` ou à un nom listé dans `plugins`.

917 

918<Note>

919 Les paramètres gérés et de politique sont en lecture seule pour Claude Code, donc les plugins activés là ne peuvent pas être réécrits automatiquement. Le plugin renommé se charge toujours à chaque session, mais l'avis de renommage se répète jusqu'à ce qu'un administrateur mette à jour `enabledPlugins` dans le fichier de paramètres gérés pour utiliser le nouveau nom. La même chose s'applique aux plugins activés via d'autres sources en lecture seule telles que `--add-dir`.

920</Note>

921 

922Les versions antérieures de Claude Code ignorent le champ `renames` et signalent `plugin-not-found` pour l'ancien nom.

923 

884<h2 id="validation-and-testing">924<h2 id="validation-and-testing">

885 Validation et test925 Validation et test

886</h2>926</h2>


933 973 

934* `<source>` : Raccourci GitHub `owner/repo`, URL git, URL distante vers un fichier `marketplace.json` ou chemin de répertoire local. Pour épingler à une branche ou un tag, ajoutez `@ref` au raccourci GitHub ou `#ref` à une URL git974* `<source>` : Raccourci GitHub `owner/repo`, URL git, URL distante vers un fichier `marketplace.json` ou chemin de répertoire local. Pour épingler à une branche ou un tag, ajoutez `@ref` au raccourci GitHub ou `#ref` à une URL git

935 975 

976Une URL doit inclure son schéma. À partir de Claude Code v2.1.196, un hôte saisi sans schéma, tel que `gitlab.example.com/team/plugins`, est rejeté comme un raccourci `owner/repo` invalide et l'erreur vous indique d'ajouter `https://` ou d'utiliser `./` pour un chemin local. Les versions antérieures l'interprétaient mal comme un chemin de dépôt GitHub et échouent au moment du clonage avec une erreur GitHub non trouvé.

977 

936**Options :**978**Options :**

937 979 

938| Option | Description | Par défaut |980| Option | Description | Par défaut |


1061 Erreurs de validation de la place de marché1103 Erreurs de validation de la place de marché

1062</h3>1104</h3>

1063 1105 

1064Exécutez `claude plugin validate .` ou `/plugin validate .` à partir de votre répertoire de place de marché pour vérifier les problèmes. Lorsqu'il est pointé sur un répertoire de place de marché, le validateur vérifie `marketplace.json` uniquement : schéma, noms de plugins en doublon, traversée de chemin source et incompatibilités de version par rapport à chaque `plugin.json` référencé.1106Exécutez `claude plugin validate .` ou `/plugin validate .` à partir de votre répertoire de place de marché pour vérifier les problèmes. Lorsqu'il est pointé sur un répertoire de place de marché, le validateur vérifie `marketplace.json` pour les erreurs de schéma, les noms de plugins en doublon et la traversée de chemin source. Pour chaque entrée dont la `source` est un chemin local, il valide également le `plugin.json` de ce plugin et avertit lorsque la `version` de l'entrée ne correspond pas à celle dans `plugin.json`. Les problèmes trouvés dans le `plugin.json` d'un plugin sont préfixés par l'index d'entrée, sous la forme `plugins[2] plugin.json →`.

1107 

1108À partir de Claude Code v2.1.196, la passe par entrée inclut également :

1109 

1110* les plugins dont la `source` est `.`

1111* s'exécute lorsque `marketplace.json` est en dehors d'un répertoire `.claude-plugin`, en résolvant les sources par rapport au répertoire du fichier lui-même

1112* signale les problèmes de chaque entrée même lorsqu'une autre partie du fichier a des erreurs de schéma

1113 

1114Les versions antérieures ignorent les plugins à la racine de la place de marché et ne descendent que depuis un `.claude-plugin/marketplace.json`.

1065 1115 

1066Pour valider le `plugin.json` d'un plugin individuel et ses fichiers de compétence, agent, commande et hook, exécutez la commande sur le répertoire du plugin lui-même, par exemple `claude plugin validate ./plugins/my-plugin`. Erreurs courantes :1116Pour valider le `plugin.json` d'un plugin individuel et ses fichiers de compétence, agent, commande et hook, exécutez la commande sur le répertoire du plugin lui-même, par exemple `claude plugin validate ./plugins/my-plugin`. Erreurs courantes :

1067 1117 

Details

477Si vous incluez un manifeste, `name` est le seul champ obligatoire.477Si vous incluez un manifeste, `name` est le seul champ obligatoire.

478 478 

479| Champ | Type | Description | Exemple |479| Champ | Type | Description | Exemple |

480| :----- | :----- | :--------------------------------------------- | :------------------- |480| :----- | :----- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------------------- |

481| `name` | string | Identifiant unique (kebab-case, pas d'espaces) | `"deployment-tools"` |481| `name` | string | Identifiant unique (kebab-case, pas d'espaces). Quand une [entrée de marketplace](/fr/plugin-marketplaces#plugin-entries) liste le plugin sous un nom différent, le nom de l'entrée de marketplace est ce que les clés `enabledPlugins` et `/plugin` utilisent | `"deployment-tools"` |

482 482 

483Ce nom est utilisé pour l'espace de noms des composants. Par exemple, dans l'interface utilisateur, l'agent `agent-creator` pour le plugin avec le nom `plugin-dev` apparaîtra comme `plugin-dev:agent-creator`.483Ce nom est utilisé pour l'espace de noms des composants. Par exemple, dans l'interface utilisateur, l'agent `agent-creator` pour le plugin avec le nom `plugin-dev` apparaîtra comme `plugin-dev:agent-creator`.

484 484 

quickstart.md +1 −0

Details

106* [Claude Pro, Max, Team ou Enterprise](https://claude.com/pricing?utm_source=claude_code\&utm_medium=docs\&utm_content=quickstart_login) (recommandé)106* [Claude Pro, Max, Team ou Enterprise](https://claude.com/pricing?utm_source=claude_code\&utm_medium=docs\&utm_content=quickstart_login) (recommandé)

107* [Claude Console](https://console.anthropic.com/) (accès API avec crédits prépayés). Lors de la première connexion, un espace de travail « Claude Code » est automatiquement créé dans la Console pour un suivi centralisé des coûts.107* [Claude Console](https://console.anthropic.com/) (accès API avec crédits prépayés). Lors de la première connexion, un espace de travail « Claude Code » est automatiquement créé dans la Console pour un suivi centralisé des coûts.

108* [Amazon Bedrock, Google Vertex AI ou Microsoft Foundry](/fr/third-party-integrations) (fournisseurs cloud d'entreprise)108* [Amazon Bedrock, Google Vertex AI ou Microsoft Foundry](/fr/third-party-integrations) (fournisseurs cloud d'entreprise)

109* Une passerelle [Claude apps gateway](/fr/claude-apps-gateway) auto-hébergée, si votre organisation en exécute une : votre administrateur préconfigure l'URL de la passerelle, et `/login` ouvre directement l'écran **Cloud gateway** pour que vous vous connectiez avec l'authentification unique d'entreprise

109 110 

110Une fois connecté, vos identifiants sont stockés et vous n'aurez pas besoin de vous reconnecter.111Une fois connecté, vos identifiants sont stockés et vous n'aurez pas besoin de vous reconnecter.

111 112 

Details

34 34 

35* **Abonnement** : disponible sur les plans Pro, Max, Team et Enterprise. Les clés API ne sont pas prises en charge. Sur Team et Enterprise, un propriétaire doit d'abord activer le bouton Remote Control dans les [paramètres d'administration Claude Code](https://claude.ai/admin-settings/claude-code).35* **Abonnement** : disponible sur les plans Pro, Max, Team et Enterprise. Les clés API ne sont pas prises en charge. Sur Team et Enterprise, un propriétaire doit d'abord activer le bouton Remote Control dans les [paramètres d'administration Claude Code](https://claude.ai/admin-settings/claude-code).

36* **Authentification** : exécutez `claude` et utilisez `/login` pour vous connecter via claude.ai si vous ne l'avez pas déjà fait.36* **Authentification** : exécutez `claude` et utilisez `/login` pour vous connecter via claude.ai si vous ne l'avez pas déjà fait.

37* **Point de terminaison API** : non disponible sur Amazon Bedrock, Google Vertex AI ou Microsoft Foundry. {/* min-version: 2.1.196 */}À partir de la v2.1.196, Remote Control est également désactivé lorsque [`ANTHROPIC_BASE_URL`](/fr/env-vars) pointe vers un hôte autre que `api.anthropic.com`, tel qu'une [passerelle LLM](/fr/llm-gateway) ou un proxy. Déconfigurez la variable pour utiliser Remote Control.

37* **Confiance de l'espace de travail** : exécutez `claude` dans votre répertoire de projet au moins une fois pour accepter la boîte de dialogue de confiance de l'espace de travail.38* **Confiance de l'espace de travail** : exécutez `claude` dans votre répertoire de projet au moins une fois pour accepter la boîte de dialogue de confiance de l'espace de travail.

38 39 

39<h2 id="start-a-remote-control-session">40<h2 id="start-a-remote-control-session">


148 Activer Remote Control pour toutes les sessions149 Activer Remote Control pour toutes les sessions

149</h3>150</h3>

150 151 

151Par défaut, Remote Control ne s'active que lorsque vous exécutez explicitement `claude remote-control`, `claude --remote-control`, ou `/remote-control`. Pour l'activer automatiquement pour chaque session interactive, exécutez `/config` dans Claude Code et définissez **Enable Remote Control for all sessions** sur `true`. Définissez-le sur `false` pour le désactiver. Dans l'application Desktop, vous pouvez également basculer ceci depuis **Settings → Claude Code → Enable remote control by default**.152Remote Control ne s'active que lorsque vous exécutez explicitement `claude remote-control`, `claude --remote-control`, ou `/remote-control`, sauf si l'auto-connexion est activée. Pour l'activer automatiquement pour chaque session interactive, exécutez `/config` dans Claude Code et définissez **Enable Remote Control for all sessions** sur `true`. Définissez-le sur `false` pour ne jamais l'auto-connecter, ou laissez-le non défini pour suivre la valeur par défaut de votre organisation. Dans l'application Desktop, vous pouvez également basculer ceci depuis **Settings → Claude Code → Enable remote control by default**.

152 153 

153Avec ce paramètre activé, chaque processus Claude Code interactif enregistre une session distante. Si vous exécutez plusieurs instances, chacune obtient son propre environnement et sa propre session. Pour exécuter plusieurs sessions concurrentes à partir d'un seul processus, utilisez plutôt le [mode serveur](#start-a-remote-control-session).154Avec ce paramètre activé, chaque processus Claude Code interactif enregistre une session distante. Si vous exécutez plusieurs instances, chacune obtient son propre environnement et sa propre session. Pour exécuter plusieurs sessions concurrentes à partir d'un seul processus, utilisez plutôt le [mode serveur](#start-a-remote-control-session).

154 155 


318 319 

319Claude Code n'a pas pu atteindre le service de drapeau de fonctionnalité pour vérifier si Remote Control est activé pour votre compte, généralement parce que vous êtes hors ligne ou qu'un proxy bloque la requête. Réessayez une fois que vous avez accès au réseau, ou exécutez `claude doctor` pour plus de détails. Le message associé « Couldn't verify your organization's Remote Control policy » a la même cause et le même correctif. Les deux messages ont été ajoutés dans la v2.1.178.320Claude Code n'a pas pu atteindre le service de drapeau de fonctionnalité pour vérifier si Remote Control est activé pour votre compte, généralement parce que vous êtes hors ligne ou qu'un proxy bloque la requête. Réessayez une fois que vous avez accès au réseau, ou exécutez `claude doctor` pour plus de détails. Le message associé « Couldn't verify your organization's Remote Control policy » a la même cause et le même correctif. Les deux messages ont été ajoutés dans la v2.1.178.

320 321 

322<h3 id="remote-control-is-only-available-when-using-claude-via-api-anthropic-com">

323 « Remote Control is only available when using Claude via api.anthropic.com »

324</h3>

325 

326La session ne communique pas directement avec l'API Anthropic, il n'y a donc pas de backend claude.ai pour l'associer. Cela se produit sur Amazon Bedrock, Google Vertex AI et Microsoft Foundry. {/* min-version: 2.1.196 */}À partir de la v2.1.196, cela se produit également lorsque [`ANTHROPIC_BASE_URL`](/fr/env-vars) pointe vers un hôte autre que `api.anthropic.com`, comme une [passerelle LLM](/fr/llm-gateway) ou un proxy, même si vous vous connectez avec claude.ai. Désactivez `ANTHROPIC_BASE_URL` et redémarrez la session pour utiliser Remote Control.

327 

321<h3 id="remote-control-is-disabled-by-your-organization’s-policy">328<h3 id="remote-control-is-disabled-by-your-organization’s-policy">

322 « Remote Control is disabled by your organization's policy »329 « Remote Control is disabled by your organization's policy »

323</h3>330</h3>

Details

48| Prompt uniquement | `/loop check the deploy` | Votre prompt s'exécute à un [intervalle choisi par Claude](#let-claude-choose-the-interval) à chaque itération |48| Prompt uniquement | `/loop check the deploy` | Votre prompt s'exécute à un [intervalle choisi par Claude](#let-claude-choose-the-interval) à chaque itération |

49| Intervalle uniquement, ou rien | `/loop` | Le [prompt de maintenance intégré](#run-the-built-in-maintenance-prompt) s'exécute, ou votre `loop.md` s'il en existe un |49| Intervalle uniquement, ou rien | `/loop` | Le [prompt de maintenance intégré](#run-the-built-in-maintenance-prompt) s'exécute, ou votre `loop.md` s'il en existe un |

50 50 

51Vous pouvez également passer une autre commande en tant que prompt, par exemple `/loop 20m /review-pr 1234`, pour réexécuter une compétence enregistrée ou une commande à chaque itération.51Vous pouvez également passer une compétence en tant que prompt, par exemple `/loop 20m /review-pr 1234`, pour réexécuter cette compétence à chaque itération. {/* min-version: 2.1.196 */}À partir de la v2.1.196, un déclenchement planifié n'exécute que les compétences que Claude est [autorisé à invoquer de lui-même](/fr/skills#control-who-invokes-a-skill). Les éléments suivants parviennent à Claude sous forme de texte brut au lieu de s'exécuter :

52 

53* les commandes intégrées telles que `/permissions`, `/model` ou `/clear`

54* les compétences marquées [`disable-model-invocation: true`](/fr/skills#frontmatter-reference)

55* les compétences retenues à Claude par un paramètre [`skillOverrides`](/fr/skills#override-skill-visibility-from-settings) ou une [règle de refus](/fr/skills#restrict-claude’s-skill-access) `Skill`

56* les [prompts MCP](/fr/mcp#use-mcp-prompts-as-commands) tels que `/mcp__github__list_prs` ; les compétences qu'un serveur MCP expose s'exécutent toujours

52 57 

53<h3 id="run-on-a-fixed-interval">58<h3 id="run-on-a-fixed-interval">

54 Exécuter selon un intervalle fixe59 Exécuter selon un intervalle fixe


238 243 

239La planification limitée à la session a des contraintes inhérentes :244La planification limitée à la session a des contraintes inhérentes :

240 245 

241* Les tâches ne s'exécutent que pendant que Claude Code s'exécute et est inactif. Fermer le terminal ou laisser la session se terminer arrête leur exécution.246* Les tâches ne s'exécutent que pendant que Claude Code s'exécute et est inactif. Fermer le terminal ou laisser la session se terminer arrête leur exécution. [Mettre la session en arrière-plan](/fr/agent-view#from-inside-a-session) transfère les tâches `/loop` vers une session en arrière-plan, qui continue de s'exécuter sans terminal.

242* Pas de rattrapage pour les exécutions manquées. Si l'heure planifiée d'une tâche passe pendant que Claude est occupé par une demande longue, elle s'exécute une fois quand Claude devient inactif, pas une fois par intervalle manqué.247* Pas de rattrapage pour les exécutions manquées. Si l'heure planifiée d'une tâche passe pendant que Claude est occupé par une demande longue, elle s'exécute une fois quand Claude devient inactif, pas une fois par intervalle manqué.

243* Démarrer une nouvelle conversation efface toutes les tâches limitées à la session. La reprise avec `claude --resume` ou `claude --continue` restaure les tâches qui n'ont pas expiré : les tâches récurrentes dans les sept jours suivant leur création, et les tâches ponctuelles dont l'heure planifiée n'a pas encore passé. Les tâches Bash en arrière-plan et les tâches de surveillance ne sont jamais restaurées à la reprise.248* Démarrer une nouvelle conversation efface toutes les tâches limitées à la session. La reprise avec `claude --resume` ou `claude --continue` restaure les tâches qui n'ont pas expiré : les tâches récurrentes dans les sept jours suivant leur création, et les tâches ponctuelles dont l'heure planifiée n'a pas encore passé. Les tâches Bash en arrière-plan et les tâches de surveillance ne sont jamais restaurées à la reprise.

244 249 

Details

153 153 

154Les paramètres gérés par le serveur et les [paramètres gérés par le point de terminaison](/fr/settings#settings-files) occupent tous deux le niveau le plus élevé dans la [hiérarchie des paramètres](/fr/settings#settings-precedence) de Claude Code. Aucun autre niveau de paramètres ne peut les remplacer, y compris les arguments de ligne de commande.154Les paramètres gérés par le serveur et les [paramètres gérés par le point de terminaison](/fr/settings#settings-files) occupent tous deux le niveau le plus élevé dans la [hiérarchie des paramètres](/fr/settings#settings-precedence) de Claude Code. Aucun autre niveau de paramètres ne peut les remplacer, y compris les arguments de ligne de commande.

155 155 

156Au sein du niveau géré, la première source qui livre une configuration non vide gagne. Les paramètres gérés par le serveur sont vérifiés en premier, puis les paramètres gérés par le point de terminaison. Les sources ne fusionnent pas : si les paramètres gérés par le serveur livrent des clés, les paramètres gérés par le point de terminaison sont complètement ignorés. Si les paramètres gérés par le serveur ne livrent rien, les paramètres gérés par le point de terminaison s'appliquent.156Au sein du niveau géré, un [`policyHelper`](/fr/settings#compute-managed-settings-with-a-policy-helper) configuré préempte toute autre source gérée, y compris les paramètres gérés par le serveur : sa sortie devient la seule configuration gérée pour l'exécution. Sinon, la première source qui livre une configuration non vide gagne. Les paramètres gérés par le serveur sont vérifiés en premier, puis les paramètres gérés par le point de terminaison. Les sources ne fusionnent pas : si les paramètres gérés par le serveur livrent des clés, les paramètres gérés par le point de terminaison sont complètement ignorés. Une exception s'applique : un petit ensemble de [clés de verrouillage entre sources](/fr/settings#settings-precedence), comme les verrous de liste d'autorisation du sandbox, est honoré lorsqu'une source gérée contrôlée par un administrateur les définit ; le niveau de registre HKCU inscriptible par l'utilisateur est exclu. Si les paramètres gérés par le serveur ne livrent rien, les paramètres gérés par le point de terminaison s'appliquent.

157 157 

158Si vous effacez votre configuration de paramètres gérés par le serveur dans la console d'administration avec l'intention de revenir à une stratégie plist ou registre gérée par le point de terminaison, sachez que les [paramètres en cache](#fetch-and-caching-behavior) persistent sur les machines clientes jusqu'à la prochaine récupération réussie. Exécutez `/status` pour voir quelle source gérée est active.158Si vous effacez votre configuration de paramètres gérés par le serveur dans la console d'administration avec l'intention de revenir à une stratégie plist ou registre gérée par le point de terminaison, sachez que les [paramètres en cache](#fetch-and-caching-behavior) persistent sur les machines clientes jusqu'à la prochaine récupération réussie. Exécutez `/status` pour voir quelle source gérée est active.

159 159 


222* **Paramètres de commande shell** : paramètres qui exécutent des commandes shell222* **Paramètres de commande shell** : paramètres qui exécutent des commandes shell

223* **Variables d'environnement personnalisées** : variables ne figurant pas dans la liste de sécurité connue223* **Variables d'environnement personnalisées** : variables ne figurant pas dans la liste de sécurité connue

224* **Configurations de hook** : toute définition de hook224* **Configurations de hook** : toute définition de hook

225* **Contenu CLAUDE.md géré** : une valeur `claudeMd` livrée via les paramètres gérés

225 226 

226Lorsque ces paramètres sont présents, les utilisateurs voient une boîte de dialogue de sécurité expliquant ce qui est configuré. Les utilisateurs doivent approuver pour continuer. Si un utilisateur rejette les paramètres, Claude Code se ferme.227Lorsque ces paramètres sont présents, les utilisateurs voient une boîte de dialogue de sécurité expliquant ce qui est configuré. Les utilisateurs doivent approuver pour continuer. Si un utilisateur rejette les paramètres, Claude Code se ferme.

227 228 


239* Google Vertex AI240* Google Vertex AI

240* Microsoft Foundry241* Microsoft Foundry

241* [Claude Platform on AWS](/fr/claude-platform-on-aws)242* [Claude Platform on AWS](/fr/claude-platform-on-aws)

242* Points de terminaison API personnalisés via `ANTHROPIC_BASE_URL` ou [passerelles LLM](/fr/llm-gateway)243* Points de terminaison API personnalisés via `ANTHROPIC_BASE_URL` ou [passerelles LLM](/fr/llm-gateway) tiers

244 

245Pour les déploiements Bedrock, Vertex AI et Foundry, une [passerelle d'applications Claude](/fr/claude-apps-gateway) auto-hébergée fournit la livraison équivalente des paramètres gérés à distance : les clients signés à la passerelle récupèrent les paramètres gérés auprès de la passerelle au lieu de `api.anthropic.com`. La sémantique des défaillances diffère au démarrage : un client de passerelle qui ne peut pas atteindre la passerelle se termine avec une erreur au lieu de revenir aux paramètres en cache, tandis que l'actualisation en arrière-plan horaire est fail-open sur les deux canaux.

243 246 

244<h2 id="audit-logging">247<h2 id="audit-logging">

245 Journalisation d'audit248 Journalisation d'audit


253 Considérations de sécurité256 Considérations de sécurité

254</h2>257</h2>

255 258 

256Les paramètres gérés par le serveur fournissent une application de stratégie centralisée, mais ils fonctionnent comme un contrôle côté client. Sur les appareils non gérés, les utilisateurs ayant un accès administrateur ou sudo peuvent modifier le binaire Claude Code, le système de fichiers ou la configuration réseau.259Les paramètres gérés par le serveur fournissent une application de stratégie centralisée, mais ils fonctionnent comme un contrôle côté client, pas comme une limite de sécurité. Sur les appareils non gérés, un utilisateur n'a pas besoin d'un accès administrateur ou sudo pour les contourner.

257 260 

258| Scénario | Comportement |261| Scénario | Comportement |

259| :------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |262| :------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

260| L'utilisateur modifie le fichier de paramètres en cache | Le fichier falsifié s'applique au démarrage, mais les paramètres corrects se restaurent lors de la prochaine récupération du serveur |263| L'utilisateur modifie le fichier de paramètres en cache | Le fichier falsifié s'applique au démarrage, mais les paramètres corrects se restaurent lors de la prochaine récupération du serveur |

261| L'utilisateur supprime le fichier de paramètres en cache | Le comportement du premier lancement se produit : les paramètres sont récupérés de manière asynchrone avec une brève fenêtre non appliquée |264| L'utilisateur supprime le fichier de paramètres en cache | Le comportement du premier lancement se produit : les paramètres sont récupérés de manière asynchrone avec une brève fenêtre non appliquée |

265| L'utilisateur exécute un binaire Claude Code modifié | Un utilisateur qui peut exécuter un client modifié peut contourner n'importe quel contrôle côté client |

266| L'utilisateur exécute une version antérieure de Claude Code | Les versions antérieures aux paramètres gérés par le serveur ne les récupèrent ni ne les appliquent |

262| L'API est indisponible | Les paramètres en cache s'appliquent s'ils sont disponibles, sinon les paramètres gérés ne sont pas appliqués jusqu'à la prochaine récupération réussie. Avec `forceRemoteSettingsRefresh: true`, l'interface de ligne de commande se ferme au lieu de continuer, sauf pour les [sous-commandes `claude auth`](#enforce-fail-closed-startup) |267| L'API est indisponible | Les paramètres en cache s'appliquent s'ils sont disponibles, sinon les paramètres gérés ne sont pas appliqués jusqu'à la prochaine récupération réussie. Avec `forceRemoteSettingsRefresh: true`, l'interface de ligne de commande se ferme au lieu de continuer, sauf pour les [sous-commandes `claude auth`](#enforce-fail-closed-startup) |

263| L'utilisateur s'authentifie avec une organisation différente | Les paramètres ne sont pas livrés pour les comptes en dehors de l'organisation gérée |268| L'utilisateur s'authentifie avec une organisation différente | Les paramètres ne sont pas livrés pour les comptes en dehors de l'organisation gérée |

264| L'utilisateur configure un [fournisseur de modèle tiers](#platform-availability) | Les paramètres gérés par le serveur sont contournés. Cela inclut la définition de `CLAUDE_CODE_USE_BEDROCK`, `CLAUDE_CODE_USE_MANTLE`, `CLAUDE_CODE_USE_VERTEX`, `CLAUDE_CODE_USE_FOUNDRY`, `CLAUDE_CODE_USE_ANTHROPIC_AWS`, ou un `ANTHROPIC_BASE_URL` non défini par défaut |269| L'utilisateur configure un [fournisseur de modèle tiers](#platform-availability) | Les paramètres gérés par le serveur sont contournés. Cela inclut la définition de `CLAUDE_CODE_USE_BEDROCK`, `CLAUDE_CODE_USE_MANTLE`, `CLAUDE_CODE_USE_VERTEX`, `CLAUDE_CODE_USE_FOUNDRY`, `CLAUDE_CODE_USE_ANTHROPIC_AWS`, ou un `ANTHROPIC_BASE_URL` non défini par défaut |

270| Le trafic réseau est intercepté ou redirigé | La validation TLS désactivée ou le trafic intercepté peut modifier les paramètres que le client reçoit |

265 271 

266Pour détecter les modifications de configuration au moment de l'exécution, utilisez les [hooks `ConfigChange`](/fr/hooks#configchange) pour enregistrer les modifications ou bloquer les modifications non autorisées avant qu'elles ne prennent effet.272Pour détecter les modifications de configuration au moment de l'exécution, utilisez les [hooks `ConfigChange`](/fr/hooks#configchange) pour enregistrer les modifications ou bloquer les modifications non autorisées avant qu'elles ne prennent effet.

267 273 

268Pour des garanties d'application plus fortes, utilisez les [paramètres gérés par le point de terminaison](/fr/settings#settings-files) sur les appareils inscrits dans une solution MDM.274Pour restreindre les organisations auxquelles vos utilisateurs peuvent accéder avec les identifiants que le client fournit, consultez [Appliquer le contrôle d'accès au niveau du réseau avec les restrictions de locataire](https://support.claude.com/en/articles/13198485-enforce-network-level-access-control-with-tenant-restrictions) dans le Centre d'aide Claude. Pour des garanties d'application plus fortes, utilisez les [paramètres gérés par le point de terminaison](/fr/settings#settings-files) sur les appareils inscrits dans une solution MDM.

269 275 

270<h2 id="see-also">276<h2 id="see-also">

271 Voir aussi277 Voir aussi

sessions.md +8 −2

Details

30 Où le sélecteur de sessions cherche30 Où le sélecteur de sessions cherche

31</h3>31</h3>

32 32 

33Les sessions sont stockées par répertoire de projet. Par défaut, le sélecteur de sessions affiche les sessions interactives du worktree courant, ainsi que les sessions démarrées ailleurs qui ont ajouté le répertoire courant avec `/add-dir`. À partir de la v2.1.169, le déplacement d'une session avec [`/cd`](/fr/commands) la réinstalle dans le stockage de projet du nouveau répertoire, ce qui la fait apparaître dans le sélecteur de ce répertoire par la suite. Utilisez `Ctrl+W` pour élargir à tous les worktrees du référentiel ou `Ctrl+A` pour élargir à chaque projet sur cette machine.33Les sessions sont stockées par répertoire de projet. Par défaut, le sélecteur de sessions affiche les sessions interactives du worktree courant, ainsi que les sessions démarrées ailleurs qui ont ajouté le répertoire courant avec `/add-dir`. Utilisez `Ctrl+W` pour élargir à tous les worktrees du référentiel ou `Ctrl+A` pour élargir à chaque projet sur cette machine.

34 

35À partir de la v2.1.169, le déplacement d'une session avec [`/cd`](/fr/commands) la réinstalle dans le stockage de projet du nouveau répertoire, ce qui la fait apparaître dans le sélecteur de ce répertoire par la suite. À partir de la v2.1.196, une session déplacée reste absente du sélecteur de l'ancien répertoire même après un plantage ou une fermeture forcée. Sur les versions antérieures, elle pouvait aussi réapparaître dans la liste de l'ancien répertoire après une fermeture qui n'était pas propre lorsque l'ancien chemin contenait des caractères spéciaux tels que des traits de soulignement.

34 36 

35La sélection d'une session d'un autre worktree du même référentiel la reprend sur place. La sélection d'une session d'un projet non lié copie une commande `cd` et de reprise dans votre presse-papiers à la place.37La sélection d'une session d'un autre worktree du même référentiel la reprend sur place. La sélection d'une session d'un projet non lié copie une commande `cd` et de reprise dans votre presse-papiers à la place.

36 38 


56 58 

57Une fois qu'une session est nommée, revenez-y avec `claude --resume <name>` ou `/resume <name>`. Voir [Reprendre une session](#resume-a-session) pour savoir comment la résolution des noms se comporte entre les worktrees.59Une fois qu'une session est nommée, revenez-y avec `claude --resume <name>` ou `/resume <name>`. Voir [Reprendre une session](#resume-a-session) pour savoir comment la résolution des noms se comporte entre les worktrees.

58 60 

61{/* min-version: 2.1.196 */}Les sessions interactives que vous ne nommez jamais reçoivent quand même un nom d'affichage par défaut au démarrage. Nécessite Claude Code v2.1.196 ou version ultérieure. Le nom par défaut combine le nom du répertoire de travail avec un suffixe de deux caractères, par exemple `my-app-3f`, et identifie la session dans les listes de sessions en cours d'exécution, telles que la [vue agent](/fr/agent-view) et la sortie `claude agents --json`.

62 

63Le nom par défaut n'est pas un handle de reprise : `claude --resume <name>`, `/resume <name>` et le sélecteur de sessions ne correspondent qu'aux noms que vous avez définis. Nommer la session remplace le nom par défaut.

64 

59<h2 id="use-the-session-picker">65<h2 id="use-the-session-picker">

60 Utiliser le sélecteur de sessions66 Utiliser le sélecteur de sessions

61</h2>67</h2>


117 Exporter et localiser les données de session123 Exporter et localiser les données de session

118</h2>124</h2>

119 125 

120Exécutez `/export` pour copier la conversation courante dans votre presse-papiers ou l'enregistrer en tant que fichier texte brut, avec les messages et les sorties d'outils rendus sous forme de texte lisible. Passez un nom de fichier pour écrire directement dans ce fichier.126Exécutez `/export` pour ouvrir un menu qui vous permet de copier la conversation courante dans votre presse-papiers ou de l'enregistrer en tant que fichier texte brut, avec les messages et les sorties d'outils rendus sous forme de texte lisible. Passez un nom de fichier pour ignorer le menu et écrire directement dans ce fichier.

121 127 

122<h3 id="access-conversations-from-scripts">128<h3 id="access-conversations-from-scripts">

123 Accéder aux conversations à partir de scripts129 Accéder aux conversations à partir de scripts

settings.md +93 −78

Details

12 Portées de configuration12 Portées de configuration

13</h2>13</h2>

14 14 

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

16 16 

17<h3 id="available-scopes">17<h3 id="available-scopes">

18 Portées disponibles18 Portées disponibles

19</h3>19</h3>

20 20 

21| Portée | Emplacement | Qui est affecté | Partagé avec l'équipe ? |21| Portée | Emplacement | Qui est affecté | Partagé avec l'équipe ? |

22| :---------- | :---------------------------------------------------------------------------------------------- | :---------------------------------------- | :--------------------------------------------------- |22| :---------- | :---------------------------------------------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :--------------------------------------------------- |

23| **Managed** | Paramètres gérés par le serveur, plist / registre, ou `managed-settings.json` au niveau système | Tous les utilisateurs de la machine | Oui (déployé par l'IT) |23| **Managed** | Paramètres gérés par le serveur, plist / registre, ou `managed-settings.json` au niveau système | Tous les membres de l'organisation pour la livraison gérée par le serveur ; tous les utilisateurs de la machine pour la livraison plist, registre HKLM et fichier ; l'utilisateur actuel pour la livraison registre HKCU | Oui (déployé par l'IT) |

24| **User** | Répertoire `~/.claude/` | Vous, dans tous les projets | Non |24| **User** | Répertoire `~/.claude/` | Vous, dans tous les projets | Non |

25| **Project** | `.claude/` dans le référentiel | Tous les collaborateurs de ce référentiel | Oui (commité dans git) |25| **Project** | `.claude/` dans le référentiel | Tous les collaborateurs de ce référentiel | Oui (commité dans git) |

26| **Local** | `.claude/settings.local.json` | Vous, dans ce référentiel uniquement | Non (ignoré par gitignore quand Claude Code le crée) |26| **Local** | `.claude/settings.local.json` | Vous, dans ce référentiel uniquement | Non (ignoré par gitignore quand Claude Code le crée) |


59 59 

60Quand le même paramètre est configuré dans plusieurs portées, Claude Code les applique dans l'ordre de priorité :60Quand le même paramètre est configuré dans plusieurs portées, Claude Code les applique dans l'ordre de priorité :

61 61 

621. **Managed** (la plus élevée) - ne peut pas être contournée par quoi que ce soit621. **Managed** (la plus élevée) : ne peut pas être contournée par quoi que ce soit

632. **Arguments de ligne de commande** - remplacements de session temporaires632. **Arguments de ligne de commande** : remplacements de session temporaires

643. **Local** - remplace les paramètres de projet et d'utilisateur643. **Local** : remplace les paramètres de projet et d'utilisateur

654. **Project** - remplace les paramètres d'utilisateur654. **Project** : remplace les paramètres d'utilisateur

665. **User** (la plus basse) - s'applique quand rien d'autre ne spécifie le paramètre665. **User** (la plus basse) : s'applique quand rien d'autre ne spécifie le paramètre

67 67 

68Par exemple, si vos paramètres utilisateur définissent `spinnerTipsEnabled` à `true` et les paramètres de projet le définissent à `false`, la valeur du projet s'applique. Les règles de permission se comportent différemment car elles fusionnent entre les portées plutôt que de se remplacer. Voir [Précédence des paramètres](#settings-precedence).68Par exemple, si vos paramètres utilisateur définissent `spinnerTipsEnabled` à `true` et les paramètres de projet le définissent à `false`, la valeur du projet s'applique. Les règles de permission se comportent différemment car elles fusionnent entre les portées plutôt que de se remplacer. Voir [Précédence des paramètres](#settings-precedence).

69 69 


97 * `.claude/settings.local.json` pour les paramètres qui ne sont pas vérifiés, utiles pour les préférences personnelles et l'expérimentation. Quand Claude Code crée `.claude/settings.local.json`, il configure git pour ignorer le fichier. Si vous créez le fichier vous-même, ajoutez-le à votre gitignore manuellement.97 * `.claude/settings.local.json` pour les paramètres qui ne sont pas vérifiés, utiles pour les préférences personnelles et l'expérimentation. Quand Claude Code crée `.claude/settings.local.json`, il configure git pour ignorer le fichier. Si vous créez le fichier vous-même, ajoutez-le à votre gitignore manuellement.

98* **Paramètres gérés** : Pour les organisations qui ont besoin d'un contrôle centralisé, Claude Code supporte plusieurs mécanismes de livraison pour les paramètres gérés. Tous utilisent le même format JSON et ne peuvent pas être contournés par les paramètres utilisateur ou de projet :98* **Paramètres gérés** : Pour les organisations qui ont besoin d'un contrôle centralisé, Claude Code supporte plusieurs mécanismes de livraison pour les paramètres gérés. Tous utilisent le même format JSON et ne peuvent pas être contournés par les paramètres utilisateur ou de projet :

99 99 

100 * **Paramètres gérés par le serveur** : livrés depuis les serveurs d'Anthropic via la console d'administration Claude.ai. Voir [paramètres gérés par le serveur](/fr/server-managed-settings).100 * **Paramètres gérés par le serveur** : livrés à distance au moment de la connexion, soit à partir des serveurs d'Anthropic via la console d'administration claude.ai, soit à partir d'une [passerelle d'applications Claude](/fr/claude-apps-gateway) auto-hébergée. Voir [paramètres gérés par le serveur](/fr/server-managed-settings).

101 * **Politiques MDM/au niveau du système d'exploitation** : livrées via la gestion native des appareils sur macOS et Windows :101 * **Politiques MDM/au niveau du système d'exploitation** : livrées via la gestion native des appareils sur macOS et Windows :

102 * macOS : domaine de préférences gérées `com.anthropic.claudecode`. Les clés de niveau supérieur du plist reflètent `managed-settings.json`, avec les paramètres imbriqués comme dictionnaires et les tableaux comme tableaux plist. Déployez via des profils de configuration dans Jamf, Iru (Kandji), ou d'autres outils MDM similaires.102 * macOS : domaine de préférences gérées `com.anthropic.claudecode`. Les clés de niveau supérieur du plist reflètent `managed-settings.json`, avec les paramètres imbriqués comme dictionnaires et les tableaux comme tableaux plist. Déployez via des profils de configuration dans Jamf, Iru (Kandji), ou d'autres outils MDM similaires.

103 * Windows : clé de registre `HKLM\SOFTWARE\Policies\ClaudeCode` avec une valeur `Settings` (REG\_SZ ou REG\_EXPAND\_SZ) contenant du JSON (déployé via Group Policy ou Intune)103 * Windows : clé de registre `HKLM\SOFTWARE\Policies\ClaudeCode` avec une valeur `Settings` (REG\_SZ ou REG\_EXPAND\_SZ) contenant du JSON (déployé via Group Policy ou Intune)


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

179</h3>179</h3>

180 180 

181Les paramètres gérés analysent avec tolérance. Quand une configuration gérée contient une entrée qui échoue la validation du schéma, Claude Code supprime cette entrée, enregistre un avertissement, et applique chaque politique valide restante. Une seule faute de frappe ne peut pas désactiver le reste de la politique de votre organisation. Ce comportement est cohérent dans les trois mécanismes de livraison : [paramètres gérés par le serveur](/fr/server-managed-settings), politiques plist et registre déployées via MDM, et fichiers `managed-settings.json`. Nécessite Claude Code v2.1.169 ou ultérieur.181Les paramètres gérés analysent avec tolérance. Quand une configuration gérée contient une entrée qui échoue la validation du schéma, Claude Code supprime cette entrée, enregistre un avertissement, et applique chaque politique valide restante. Une seule faute de frappe ne peut pas désactiver le reste de la politique de votre organisation.

182 

183Ce comportement est cohérent dans les trois mécanismes de livraison : [paramètres gérés par le serveur](/fr/server-managed-settings), politiques plist et registre déployées via MDM, et fichiers `managed-settings.json`. Nécessite Claude Code v2.1.169 ou ultérieur.

182 184 

183Les champs d'application de la sécurité sont traités par champ au lieu d'être supprimés en gros quand ils sont présents mais invalides :185Les champs d'application de la sécurité sont traités par champ au lieu d'être supprimés en gros quand ils sont présents mais invalides :

184 186 

185| Champ | Comportement quand présent mais invalide |187| Champ | Comportement quand présent mais invalide |

186| :--------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |188| :--------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

187| `allowedMcpServers` | Appliqué comme une liste blanche vide, donc aucun MCP server n'est admis jusqu'à ce que la valeur soit corrigée. Une entrée invalide individuelle est supprimée et le sous-ensemble valide est appliqué. |189| `allowedMcpServers` | Appliqué comme une liste blanche vide, donc aucun MCP server n'est admis jusqu'à ce que la valeur soit corrigée. Une entrée invalide individuelle est supprimée et le sous-ensemble valide est appliqué. |

188| `allowManagedMcpServersOnly` | Traité comme `true`. |190| `allowManagedMcpServersOnly` | Traité comme `true`. |

189| `availableModels` | {/* min-version: 2.1.175 */}Appliqué comme une liste blanche vide, donc seul le modèle Par défaut est disponible jusqu'à ce que la valeur soit corrigée. Une entrée non-chaîne individuelle est supprimée et le sous-ensemble valide est appliqué. S'applique dans v2.1.175 et ultérieur. |191| `availableModels` | {/* min-version: 2.1.175 */}Appliqué comme une liste blanche vide, donc seul le modèle Par défaut est disponible jusqu'à ce que la valeur soit corrigée. Une entrée non-chaîne individuelle est supprimée et le sous-ensemble valide est appliqué. S'applique dans v2.1.175 et ultérieur. |

190| `enforceAvailableModels` | {/* min-version: 2.1.175 */}Traité comme `true`. S'applique dans v2.1.175 et ultérieur. |192| `enforceAvailableModels` | {/* min-version: 2.1.175 */}Traité comme `true`. S'applique dans v2.1.175 et ultérieur. |

191| `forceLoginOrgUUID` | Aucune organisation n'est autorisée à se connecter jusqu'à ce que la valeur soit corrigée. |193| `forceLoginOrgUUID` | Aucune organisation n'est autorisée à se connecter jusqu'à ce que la valeur soit corrigée. |

192| `deniedMcpServers` | Une entrée invalide individuelle est supprimée et le sous-ensemble valide est appliqué. Une valeur entièrement invalide est supprimée avec un avertissement, car refuser chaque server bloquerait les servers que la politique n'a jamais nommés. |194| `deniedMcpServers` | Une entrée invalide individuelle est supprimée et le sous-ensemble valide est appliqué. Une valeur entièrement invalide est supprimée avec un avertissement, car refuser chaque server bloquerait les servers que la politique n'a jamais nommés. |

195| `sandbox.credentials` | {/* min-version: 2.1.191 */}Une entrée invalide individuelle dans `files` ou `envVars` est supprimée avec un avertissement et le sous-ensemble valide est appliqué. Une valeur `credentials` entièrement invalide est supprimée avec un avertissement tandis que le reste de `sandbox` s'applique toujours. S'applique dans v2.1.191 et ultérieur. |

193 196 

194`requiredMinimumVersion` et `requiredMaximumVersion` échouent ouvertement par conception : une valeur invalide est supprimée plutôt qu'appliquée, donc une mauvaise poussée de politique ne peut pas empêcher Claude Code de démarrer.197`requiredMinimumVersion` et `requiredMaximumVersion` échouent ouvertement par conception : une valeur invalide est supprimée plutôt qu'appliquée, donc une mauvaise poussée de politique ne peut pas empêcher Claude Code de démarrer.

195 198 


213| :-------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | :------------------------------------------------------------------------------------------------------------------------------ |216| :-------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | :------------------------------------------------------------------------------------------------------------------------------ |

214| `advisorModel` | {/* min-version: 2.1.98 */}Modèle pour l'[outil advisor](/fr/advisor) côté serveur. Accepte un alias de modèle tel que `"opus"`, `"sonnet"`, ou `"fable"` ({/* min-version: 2.1.170 */}v2.1.170+), ou un ID de modèle complet. Écrit automatiquement quand vous exécutez `/advisor`. Non défini pour désactiver l'advisor. Nécessite Claude Code v2.1.98 ou ultérieur | `"opus"` |217| `advisorModel` | {/* min-version: 2.1.98 */}Modèle pour l'[outil advisor](/fr/advisor) côté serveur. Accepte un alias de modèle tel que `"opus"`, `"sonnet"`, ou `"fable"` ({/* min-version: 2.1.170 */}v2.1.170+), ou un ID de modèle complet. Écrit automatiquement quand vous exécutez `/advisor`. Non défini pour désactiver l'advisor. Nécessite Claude Code v2.1.98 ou ultérieur | `"opus"` |

215| `agent` | Exécuter le thread principal en tant que subagent nommé, et définir l'agent par défaut pour les sessions envoyées à partir de `claude agents`. Applique l'invite système, les restrictions d'outils et le modèle de ce subagent. Voir [Invoquer les subagents explicitement](/fr/sub-agents#invoke-subagents-explicitly) | `"code-reviewer"` |218| `agent` | Exécuter le thread principal en tant que subagent nommé, et définir l'agent par défaut pour les sessions envoyées à partir de `claude agents`. Applique l'invite système, les restrictions d'outils et le modèle de ce subagent. Voir [Invoquer les subagents explicitement](/fr/sub-agents#invoke-subagents-explicitly) | `"code-reviewer"` |

216| `agentPushNotifEnabled` | {/* min-version: 2.1.119 */}Quand le [Contrôle à distance](/fr/remote-control) est connecté, autoriser Claude à envoyer des notifications push proactives à votre téléphone, par exemple quand une tâche longue se termine. Par défaut : `false`. Apparaît dans `/config` comme **Push when Claude decides**. Voir [Notifications push mobiles](/fr/remote-control#mobile-push-notifications). Nécessite Claude Code v2.1.119 ou ultérieur | `true` |219| `agentPushNotifEnabled` | {/* min-version: 2.1.119 */}**Par défaut** : `false`. Quand le [Contrôle à distance](/fr/remote-control) est connecté, autoriser Claude à envoyer des notifications push proactives à votre téléphone, par exemple quand une tâche longue se termine. Apparaît dans `/config` comme **Push when Claude decides**. Voir [Notifications push mobiles](/fr/remote-control#mobile-push-notifications). Nécessite Claude Code v2.1.119 ou ultérieur | `true` |

217| `allowAllClaudeAiMcps` | (Paramètres gérés uniquement) Charger les connecteurs claude.ai aux côtés d'un `managed-mcp.json` déployé, qui sinon prend le contrôle exclusif et les supprime. Voir [Configuration MCP gérée](/fr/managed-mcp) | `true` |220| `allowAllClaudeAiMcps` | (Paramètres gérés uniquement) Charger les connecteurs claude.ai aux côtés d'un `managed-mcp.json` déployé, qui sinon prend le contrôle exclusif et les supprime. Voir [Configuration MCP gérée](/fr/managed-mcp) | `true` |

218| `allowedChannelPlugins` | (Paramètres gérés uniquement) Liste blanche des plugins de channel qui peuvent envoyer des messages. Remplace la liste blanche Anthropic par défaut quand défini. Non défini = revenir à la valeur par défaut, tableau vide = bloquer tous les plugins de channel. Nécessite `channelsEnabled: true`. Voir [Restreindre quels plugins de channel peuvent s'exécuter](/fr/channels#restrict-which-channel-plugins-can-run) | `[{ "marketplace": "claude-plugins-official", "plugin": "telegram" }]` |221| `allowedChannelPlugins` | (Paramètres gérés uniquement) Liste blanche des plugins de channel qui peuvent envoyer des messages. Remplace la liste blanche Anthropic par défaut quand défini. Non défini = revenir à la valeur par défaut, tableau vide = bloquer tous les plugins de channel. Nécessite `channelsEnabled: true`. Voir [Restreindre quels plugins de channel peuvent s'exécuter](/fr/channels#restrict-which-channel-plugins-can-run) | `[{ "marketplace": "claude-plugins-official", "plugin": "telegram" }]` |

219| `allowedHttpHookUrls` | Liste blanche des modèles d'URL que les hooks HTTP peuvent cibler. Supporte `*` comme caractère générique. Quand défini, les hooks avec des URL non correspondantes sont bloqués. Non défini = pas de restriction, tableau vide = bloquer tous les hooks HTTP. Les tableaux fusionnent entre les sources de paramètres. Voir [Configuration des hooks](#hook-configuration) | `["https://hooks.example.com/*"]` |222| `allowedHttpHookUrls` | Liste blanche des modèles d'URL que les hooks HTTP peuvent cibler. Supporte `*` comme caractère générique. Quand défini, les hooks avec des URL non correspondantes sont bloqués. Non défini = pas de restriction, tableau vide = bloquer tous les hooks HTTP. Les tableaux fusionnent entre les sources de paramètres. Voir [Configuration des hooks](#hook-configuration) | `["https://hooks.example.com/*"]` |


222| `allowManagedMcpServersOnly` | (Paramètres gérés uniquement) Seul `allowedMcpServers` à partir des paramètres gérés est respecté. `deniedMcpServers` fusionne toujours à partir de toutes les sources. Les utilisateurs peuvent toujours ajouter des MCP servers, mais seule la liste blanche définie par l'administrateur s'applique. Voir [Configuration MCP gérée](/fr/managed-mcp) | `true` |225| `allowManagedMcpServersOnly` | (Paramètres gérés uniquement) Seul `allowedMcpServers` à partir des paramètres gérés est respecté. `deniedMcpServers` fusionne toujours à partir de toutes les sources. Les utilisateurs peuvent toujours ajouter des MCP servers, mais seule la liste blanche définie par l'administrateur s'applique. Voir [Configuration MCP gérée](/fr/managed-mcp) | `true` |

223| `allowManagedPermissionRulesOnly` | (Paramètres gérés uniquement) Empêcher les paramètres utilisateur et projet de définir les règles de permission `allow`, `ask`, ou `deny`. Seules les règles dans les paramètres gérés s'appliquent. Voir [Paramètres gérés uniquement](/fr/permissions#managed-only-settings) | `true` |226| `allowManagedPermissionRulesOnly` | (Paramètres gérés uniquement) Empêcher les paramètres utilisateur et projet de définir les règles de permission `allow`, `ask`, ou `deny`. Seules les règles dans les paramètres gérés s'appliquent. Voir [Paramètres gérés uniquement](/fr/permissions#managed-only-settings) | `true` |

224| `alwaysThinkingEnabled` | Activer la [réflexion étendue](/fr/model-config#extended-thinking) par défaut pour toutes les sessions. Généralement configuré via la commande `/config` plutôt que d'éditer directement. Pour forcer la réflexion désactivée indépendamment de ce paramètre, définissez [`MAX_THINKING_TOKENS=0`](/fr/env-vars) dans `env`, qui désactive la réflexion sur l'API Anthropic sauf sur Fable 5, qui ne peut pas avoir la réflexion désactivée. Sur les [fournisseurs tiers](/fr/third-party-integrations), cela omet le paramètre `thinking` à la place, et les modèles de raisonnement adaptatif peuvent toujours réfléchir | `true` |227| `alwaysThinkingEnabled` | Activer la [réflexion étendue](/fr/model-config#extended-thinking) par défaut pour toutes les sessions. Généralement configuré via la commande `/config` plutôt que d'éditer directement. Pour forcer la réflexion désactivée indépendamment de ce paramètre, définissez [`MAX_THINKING_TOKENS=0`](/fr/env-vars) dans `env`, qui désactive la réflexion sur l'API Anthropic sauf sur Fable 5, qui ne peut pas avoir la réflexion désactivée. Sur les [fournisseurs tiers](/fr/third-party-integrations), cela omet le paramètre `thinking` à la place, et les modèles de raisonnement adaptatif peuvent toujours réfléchir | `true` |

225| `apiKeyHelper` | Script personnalisé, à exécuter dans `/bin/sh`, pour générer une valeur d'authentification. Cette valeur sera envoyée comme en-têtes `X-Api-Key` et `Authorization: Bearer` pour les demandes de modèle. Définissez l'intervalle d'actualisation avec [`CLAUDE_CODE_API_KEY_HELPER_TTL_MS`](/fr/env-vars) | `/bin/generate_temp_api_key.sh` |228| `apiKeyHelper` | Commande personnalisée, à exécuter via le shell système (`/bin/sh` sur macOS et Linux, `cmd` sur Windows), pour générer une valeur d'authentification. Cette valeur sera envoyée comme en-têtes `X-Api-Key` et `Authorization: Bearer` pour les demandes de modèle. Définissez l'intervalle d'actualisation avec [`CLAUDE_CODE_API_KEY_HELPER_TTL_MS`](/fr/env-vars) | `/bin/generate_temp_api_key.sh` |

226| `attribution` | Personnalisez l'attribution pour les commits git et les pull requests. Voir [Paramètres d'attribution](#attribution-settings) | `{"commit": "🤖 Generated with Claude Code", "pr": ""}` |229| `attribution` | Personnalisez l'attribution pour les commits git et les pull requests. Voir [Paramètres d'attribution](#attribution-settings) | `{"commit": "🤖 Generated with Claude Code", "pr": ""}` |

227| `autoCompactEnabled` | {/* min-version: 2.1.119 */}Compacter automatiquement la conversation quand le contexte approche la limite. Par défaut : `true`. Apparaît dans `/config` comme **Auto-compact**. Pour désactiver via une variable d'environnement, définissez [`DISABLE_AUTO_COMPACT`](/fr/env-vars) dans `env` | `false` |230| `autoCompactEnabled` | {/* min-version: 2.1.119 */}**Par défaut** : `true`. Compacter automatiquement la conversation quand le contexte approche la limite. Apparaît dans `/config` comme **Auto-compact**. Pour désactiver via une variable d'environnement, définissez [`DISABLE_AUTO_COMPACT`](/fr/env-vars) dans `env` | `false` |

228| `autoMemoryDirectory` | Répertoire personnalisé pour le stockage de la [mémoire automatique](/fr/memory#storage-location). Accepte un chemin absolu ou un chemin préfixé par `~/`. À partir des paramètres de projet ou locaux, ceci n'est honoré qu'après que vous acceptiez la boîte de dialogue de confiance de l'espace de travail, car un référentiel cloné peut fournir ce fichier | `"~/my-memory-dir"` |231| `autoMemoryDirectory` | Répertoire personnalisé pour le stockage de la [mémoire automatique](/fr/memory#storage-location). Accepte un chemin absolu ou un chemin préfixé par `~/`. À partir des paramètres de projet ou locaux, ceci n'est honoré qu'après que vous acceptiez la boîte de dialogue de confiance de l'espace de travail, car un référentiel cloné peut fournir ce fichier | `"~/my-memory-dir"` |

229| `autoMemoryEnabled` | Activer la [mémoire automatique](/fr/memory#enable-or-disable-auto-memory). Quand `false`, Claude ne lit pas et n'écrit pas dans le répertoire de mémoire automatique. Par défaut : `true`. Vous pouvez également basculer ceci avec `/memory` pendant une session. Pour désactiver via une variable d'environnement, définissez [`CLAUDE_CODE_DISABLE_AUTO_MEMORY`](/fr/env-vars) dans `env` | `false` |232| `autoMemoryEnabled` | **Par défaut** : `true`. Activer la [mémoire automatique](/fr/memory#enable-or-disable-auto-memory). Quand `false`, Claude ne lit pas et n'écrit pas dans le répertoire de mémoire automatique. Vous pouvez également basculer ceci avec `/memory` pendant une session. Pour désactiver via une variable d'environnement, définissez [`CLAUDE_CODE_DISABLE_AUTO_MEMORY`](/fr/env-vars) dans `env` | `false` |

230| `autoMode` | Personnalisez ce que le classificateur du [mode auto](/fr/permission-modes#eliminate-prompts-with-auto-mode) bloque et autorise. Contient les tableaux `environment`, `allow`, `soft_deny`, et `hard_deny` de règles en prose. Incluez la chaîne littérale `"$defaults"` dans un tableau pour hériter des règles intégrées à cette position. Voir [Configurer le mode auto](/fr/auto-mode-config). Non lu à partir des paramètres de projet partagés | `{"soft_deny": ["$defaults", "Never run terraform apply"]}` |233| `autoMode` | Personnalisez ce que le classificateur du [mode auto](/fr/permission-modes#eliminate-prompts-with-auto-mode) bloque et autorise. Contient les tableaux `environment`, `allow`, `soft_deny`, et `hard_deny` de règles en prose. Incluez la chaîne littérale `"$defaults"` dans un tableau pour hériter des règles intégrées à cette position. Voir [Configurer le mode auto](/fr/auto-mode-config). Non lu à partir des paramètres de projet partagés | `{"soft_deny": ["$defaults", "Never run terraform apply"]}` |

231| `autoScrollEnabled` | Dans le [rendu fullscreen](/fr/fullscreen), suivre la nouvelle sortie vers le bas de la conversation. Par défaut : `true`. Apparaît dans `/config` comme **Auto-scroll**. Les invites de permission font toujours défiler dans la vue quand ceci est désactivé | `false` |234| `autoMode.classifyAllShell` | {/* min-version: 2.1.193 */}**Par défaut** : `false`. Quand `true`, suspend chaque règle allow Bash et PowerShell pendant que le mode auto est actif pour que toutes les commandes shell passent par le classificateur, pas seulement les règles qui correspondent aux modèles d'exécution de code arbitraire. Voir [Acheminer toutes les commandes shell via le classificateur](/fr/auto-mode-config#route-all-shell-commands-through-the-classifier). Nécessite Claude Code v2.1.193 ou ultérieur | `true` |

232| `autoUpdatesChannel` | Canal de version à suivre pour les mises à jour. Utilisez `"stable"` pour une version généralement une semaine ancienne et qui ignore les versions avec des régressions majeures, ou `"latest"` (par défaut) pour la version la plus récente. Pour désactiver complètement les auto-mises à jour, définissez [`DISABLE_AUTOUPDATER`](/fr/setup#disable-auto-updates) dans `env` | `"stable"` |235| `autoScrollEnabled` | **Par défaut** : `true`. Dans le [rendu fullscreen](/fr/fullscreen), suivre la nouvelle sortie vers le bas de la conversation. Apparaît dans `/config` comme **Auto-scroll**. Les invites de permission font toujours défiler dans la vue quand ceci est désactivé | `false` |

233| `availableModels` | Restreindre les modèles que les utilisateurs peuvent sélectionner pour la session principale, les [subagents](/fr/sub-agents), et l'[advisor](/fr/advisor). Voir [Restreindre la sélection de modèle](/fr/model-config#restrict-model-selection). Voir `enforceAvailableModels` pour également contraindre le modèle par défaut | `["sonnet", "haiku"]` |236| `autoUpdatesChannel` | **Par défaut** : `"latest"`. Canal de version à suivre pour les mises à jour. Utilisez `"stable"` pour une version généralement une semaine ancienne et qui ignore les versions avec des régressions majeures, ou `"latest"` pour la version la plus récente. Pour désactiver complètement les auto-mises à jour, définissez [`DISABLE_AUTOUPDATER`](/fr/setup#disable-auto-updates) dans `env` | `"stable"` |

237| `availableModels` | Restreindre les modèles que les utilisateurs peuvent sélectionner pour la session principale, les [subagents](/fr/sub-agents), les [skills](/fr/skills), et l'[advisor](/fr/advisor). Ne affecte pas l'option Par défaut sauf si `enforceAvailableModels` est également défini. Voir [Restreindre la sélection de modèle](/fr/model-config#restrict-model-selection) | `["sonnet", "haiku"]` |

234| `awaySummaryEnabled` | Afficher un récapitulatif de session d'une ligne quand vous revenez au terminal après quelques minutes d'absence. Définir à `false` ou désactiver le récapitulatif de session dans `/config` pour désactiver. Identique à [`CLAUDE_CODE_ENABLE_AWAY_SUMMARY`](/fr/env-vars) | `true` |238| `awaySummaryEnabled` | Afficher un récapitulatif de session d'une ligne quand vous revenez au terminal après quelques minutes d'absence. Définir à `false` ou désactiver le récapitulatif de session dans `/config` pour désactiver. Identique à [`CLAUDE_CODE_ENABLE_AWAY_SUMMARY`](/fr/env-vars) | `true` |

235| `awsAuthRefresh` | Script personnalisé qui modifie le répertoire `.aws` (voir [configuration avancée des identifiants](/fr/amazon-bedrock#advanced-credential-configuration)) | `aws sso login --profile myprofile` |239| `awsAuthRefresh` | Script personnalisé qui modifie le répertoire `.aws` (voir [configuration avancée des identifiants](/fr/amazon-bedrock#advanced-credential-configuration)) | `aws sso login --profile myprofile` |

236| `awsCredentialExport` | Script personnalisé qui génère du JSON avec les identifiants AWS (voir [configuration avancée des identifiants](/fr/amazon-bedrock#advanced-credential-configuration)) | `/bin/generate_aws_grant.sh` |240| `awsCredentialExport` | Script personnalisé qui génère du JSON avec les identifiants AWS (voir [configuration avancée des identifiants](/fr/amazon-bedrock#advanced-credential-configuration)) | `/bin/generate_aws_grant.sh` |


239| `channelsEnabled` | (Paramètres gérés uniquement) Autoriser les [channels](/fr/channels) pour l'organisation. Sur les plans Claude.ai Team et Enterprise, les channels sont bloqués quand ceci est non défini ou `false`. Pour les comptes [Anthropic Console](/fr/authentication#claude-console-authentication) utilisant l'authentification par clé API, les channels sont autorisés par défaut sauf si votre organisation déploie des paramètres gérés, auquel cas cette clé doit être définie à `true` | `true` |243| `channelsEnabled` | (Paramètres gérés uniquement) Autoriser les [channels](/fr/channels) pour l'organisation. Sur les plans Claude.ai Team et Enterprise, les channels sont bloqués quand ceci est non défini ou `false`. Pour les comptes [Anthropic Console](/fr/authentication#claude-console-authentication) utilisant l'authentification par clé API, les channels sont autorisés par défaut sauf si votre organisation déploie des paramètres gérés, auquel cas cette clé doit être définie à `true` | `true` |

240| `claudeMd` | (Paramètres gérés uniquement) Instructions de style CLAUDE.md injectées comme mémoire gérée par l'organisation. Honoré uniquement quand défini dans les paramètres gérés ou de politique et ignoré dans les paramètres utilisateur, projet et locaux. Voir [CLAUDE.md à l'échelle de l'organisation](/fr/memory#deploy-organization-wide-claude-md) | `"Always run make lint before committing."` |244| `claudeMd` | (Paramètres gérés uniquement) Instructions de style CLAUDE.md injectées comme mémoire gérée par l'organisation. Honoré uniquement quand défini dans les paramètres gérés ou de politique et ignoré dans les paramètres utilisateur, projet et locaux. Voir [CLAUDE.md à l'échelle de l'organisation](/fr/memory#deploy-organization-wide-claude-md) | `"Always run make lint before committing."` |

241| `claudeMdExcludes` | Modèles Glob ou chemins absolus des fichiers `CLAUDE.md` à ignorer lors du chargement de la [mémoire](/fr/memory). Les modèles correspondent aux chemins de fichier absolus. S'applique uniquement à la mémoire utilisateur, projet et locale ; les fichiers de politique gérée ne peuvent pas être exclus | `["**/vendor/**/CLAUDE.md"]` |245| `claudeMdExcludes` | Modèles Glob ou chemins absolus des fichiers `CLAUDE.md` à ignorer lors du chargement de la [mémoire](/fr/memory). Les modèles correspondent aux chemins de fichier absolus. S'applique uniquement à la mémoire utilisateur, projet et locale ; les fichiers de politique gérée ne peuvent pas être exclus | `["**/vendor/**/CLAUDE.md"]` |

242| `cleanupPeriodDays` | Les sessions inactives pendant plus longtemps que cette période sont supprimées au démarrage (par défaut : 30 jours, minimum 1). Définir à `0` est rejeté avec une erreur de validation. Contrôle également le seuil d'âge pour la suppression automatique des [worktrees de subagent orphelins](/fr/worktrees#clean-up-worktrees) au démarrage. Pour désactiver complètement les écritures de transcript, définissez la variable d'environnement [`CLAUDE_CODE_SKIP_PROMPT_HISTORY`](/fr/env-vars), ou en mode non interactif (`-p`) utilisez l'indicateur `--no-session-persistence` ou l'option SDK `persistSession: false`. | `20` |246| `cleanupPeriodDays` | **Par défaut** : `30` jours, minimum `1`. Les sessions inactives pendant plus longtemps que cette période sont supprimées au démarrage. Définir à `0` est rejeté avec une erreur de validation. Contrôle également le seuil d'âge pour la suppression automatique des [worktrees de subagent orphelins](/fr/worktrees#clean-up-worktrees) au démarrage. Pour désactiver complètement les écritures de transcript, définissez la variable d'environnement [`CLAUDE_CODE_SKIP_PROMPT_HISTORY`](/fr/env-vars), ou en mode non interactif (`-p`) utilisez l'indicateur `--no-session-persistence` ou l'option SDK `persistSession: false`. | `20` |

243| `companyAnnouncements` | Annonce à afficher aux utilisateurs au démarrage. Si plusieurs annonces sont fournies, elles seront affichées aléatoirement. | `["Welcome to Acme Corp! Review our code guidelines at docs.acme.com"]` |247| `companyAnnouncements` | Annonce à afficher aux utilisateurs au démarrage. Si plusieurs annonces sont fournies, elles seront affichées aléatoirement. | `["Welcome to Acme Corp! Review our code guidelines at docs.acme.com"]` |

244| `defaultShell` | Shell par défaut pour les commandes `!` de la boîte d'entrée. Accepte `"bash"` (par défaut) ou `"powershell"`. Définir à `"powershell"` achemine les commandes `!` interactives via PowerShell sur Windows. Nécessite `CLAUDE_CODE_USE_POWERSHELL_TOOL=1`. Voir [Outil PowerShell](/fr/tools-reference#powershell-tool) | `"powershell"` |248| `defaultShell` | **Par défaut** : `"bash"`, ou `"powershell"` sur Windows quand Bash n'est pas disponible. Shell par défaut pour les commandes `!` de la boîte d'entrée. Accepte `"bash"` ou `"powershell"`. Définir à `"powershell"` achemine les commandes `!` interactives via PowerShell sur Windows. Nécessite `CLAUDE_CODE_USE_POWERSHELL_TOOL=1`. Voir [Outil PowerShell](/fr/tools-reference#powershell-tool) | `"powershell"` |

245| `deniedMcpServers` | Quand défini dans managed-settings.json, liste noire des MCP servers qui sont explicitement bloqués. S'applique à toutes les portées y compris les servers gérés. La liste noire a la priorité sur la liste blanche. Voir [Configuration MCP gérée](/fr/managed-mcp) | `[{ "serverName": "filesystem" }]` |249| `deniedMcpServers` | Quand défini dans managed-settings.json, liste noire des MCP servers qui sont explicitement bloqués. S'applique à toutes les portées y compris les servers gérés. La liste noire a la priorité sur la liste blanche. Voir [Configuration MCP gérée](/fr/managed-mcp) | `[{ "serverName": "filesystem" }]` |

246| `disableAgentView` | Définir à `true` pour désactiver les [agents de fond et la vue d'agent](/fr/agent-view) : `claude agents`, `--bg`, `/background`, et le superviseur à la demande. Généralement défini dans les [paramètres gérés](/fr/permissions#managed-settings). Équivalent à définir `CLAUDE_CODE_DISABLE_AGENT_VIEW` à `1` | `true` |250| `disableAgentView` | Définir à `true` pour désactiver les [agents de fond et la vue d'agent](/fr/agent-view) : `claude agents`, `--bg`, `/background`, et le superviseur à la demande. Généralement défini dans les [paramètres gérés](/fr/permissions#managed-settings). Équivalent à définir `CLAUDE_CODE_DISABLE_AGENT_VIEW` à `1` | `true` |

247| `disableAllHooks` | Désactiver tous les [hooks](/fr/hooks) et toute [ligne d'état](/fr/statusline) personnalisée | `true` |251| `disableAllHooks` | Désactiver tous les [hooks](/fr/hooks) et toute [ligne d'état](/fr/statusline) personnalisée | `true` |


252| `disableDeepLinkRegistration` | Définir à `"disable"` pour empêcher Claude Code d'enregistrer le gestionnaire de protocole `claude-cli://` auprès du système d'exploitation au démarrage. Les [liens profonds](/fr/deep-links) permettent aux outils externes d'ouvrir une session Claude Code avec une invite pré-remplie. Utile dans les environnements où l'enregistrement du gestionnaire de protocole est restreint ou géré séparément | `"disable"` |256| `disableDeepLinkRegistration` | Définir à `"disable"` pour empêcher Claude Code d'enregistrer le gestionnaire de protocole `claude-cli://` auprès du système d'exploitation au démarrage. Les [liens profonds](/fr/deep-links) permettent aux outils externes d'ouvrir une session Claude Code avec une invite pré-remplie. Utile dans les environnements où l'enregistrement du gestionnaire de protocole est restreint ou géré séparément | `"disable"` |

253| `disabledMcpjsonServers` | Liste des MCP servers spécifiques à partir des fichiers `.mcp.json` à rejeter | `["filesystem"]` |257| `disabledMcpjsonServers` | Liste des MCP servers spécifiques à partir des fichiers `.mcp.json` à rejeter | `["filesystem"]` |

254| `disableRemoteControl` | {/* min-version: 2.1.128 */}Désactiver le [Contrôle à distance](/fr/remote-control) : bloque `claude remote-control`, l'indicateur `--remote-control`, le démarrage automatique, et le basculement en session. Généralement placé dans les [paramètres gérés](/fr/permissions#managed-settings) pour l'application par appareil MDM, mais fonctionne à partir de n'importe quelle portée. Nécessite Claude Code v2.1.128 ou ultérieur | `true` |258| `disableRemoteControl` | {/* min-version: 2.1.128 */}Désactiver le [Contrôle à distance](/fr/remote-control) : bloque `claude remote-control`, l'indicateur `--remote-control`, le démarrage automatique, et le basculement en session. Généralement placé dans les [paramètres gérés](/fr/permissions#managed-settings) pour l'application par appareil MDM, mais fonctionne à partir de n'importe quelle portée. Nécessite Claude Code v2.1.128 ou ultérieur | `true` |

259| `disableSideloadFlags` | {/* min-version: 2.1.193 */}(Paramètres gérés uniquement) Rejeter les indicateurs CLI `--plugin-dir`, `--plugin-url`, `--agents`, et `--mcp-config` au démarrage, que les utilisateurs pourraient autrement passer pour contourner [`strictKnownMarketplaces`](#strictknownmarketplaces) pour une seule exécution. Rejette également ces indicateurs à partir de n'importe quelle surface qui génère la CLI avec eux en interne, actuellement les sessions locales [Cowork](/fr/desktop) dans l'application de bureau. Un `--mcp-config` dont les servers sont tous des entrées `type: "sdk"` en processus est toujours accepté, donc l'Agent SDK et l'extension VS Code continuent de fonctionner. Ne bloque pas `claude mcp add`, `.mcp.json`, ou SDK `setMcpServers()` ; associez avec [`allowedMcpServers`](/fr/managed-mcp) pour le contrôle MCP par server. Nécessite Claude Code v2.1.193 ou ultérieur | `true` |

255| `disableSkillShellExecution` | Désactiver l'exécution de shell en ligne pour `` !`...` `` et ` ```! ` blocs dans les [skills](/fr/skills) et les commandes personnalisées à partir des sources utilisateur, projet, plugin ou répertoire supplémentaire. Les commandes sont remplacées par `[shell command execution disabled by policy]` au lieu d'être exécutées. Les skills bundlés et gérés ne sont pas affectés. Très utile dans les [paramètres gérés](/fr/permissions#managed-settings) où les utilisateurs ne peuvent pas le contourner | `true` |260| `disableSkillShellExecution` | Désactiver l'exécution de shell en ligne pour `` !`...` `` et ` ```! ` blocs dans les [skills](/fr/skills) et les commandes personnalisées à partir des sources utilisateur, projet, plugin ou répertoire supplémentaire. Les commandes sont remplacées par `[shell command execution disabled by policy]` au lieu d'être exécutées. Les skills bundlés et gérés ne sont pas affectés. Très utile dans les [paramètres gérés](/fr/permissions#managed-settings) où les utilisateurs ne peuvent pas le contourner | `true` |

256| `disableWorkflows` | Désactiver les [workflows dynamiques](/fr/workflows#turn-workflows-off) et les commandes de workflow bundlées. Par défaut : `false`. Équivalent à définir `CLAUDE_CODE_DISABLE_WORKFLOWS` à `1` | `true` |261| `disableWorkflows` | **Par défaut** : `false`. Désactiver les [workflows dynamiques](/fr/workflows#turn-workflows-off) et les commandes de workflow bundlées. Équivalent à définir `CLAUDE_CODE_DISABLE_WORKFLOWS` à `1` | `true` |

257| `editorMode` | Mode de liaison de touches pour l'invite d'entrée : `"normal"` ou `"vim"`. Par défaut : `"normal"`. Apparaît dans `/config` comme **Editor mode** | `"vim"` |262| `editorMode` | **Par défaut** : `"normal"`. Mode de liaison de touches pour l'invite d'entrée : `"normal"` ou `"vim"`. Apparaît dans `/config` comme **Editor mode** | `"vim"` |

258| `effortLevel` | Persister le [niveau d'effort](/fr/model-config#adjust-effort-level) entre les sessions. Accepte `"low"`, `"medium"`, `"high"`, ou `"xhigh"`. Écrit automatiquement quand vous exécutez `/effort` avec l'une de ces valeurs. `--effort` et [`CLAUDE_CODE_EFFORT_LEVEL`](/fr/env-vars) remplacent ceci pour une session. Voir [Ajuster le niveau d'effort](/fr/model-config#adjust-effort-level) pour les modèles supportés | `"xhigh"` |263| `effortLevel` | Persister le [niveau d'effort](/fr/model-config#adjust-effort-level) entre les sessions. Accepte `"low"`, `"medium"`, `"high"`, ou `"xhigh"`. Écrit automatiquement quand vous exécutez `/effort` avec l'une de ces valeurs. `--effort` et [`CLAUDE_CODE_EFFORT_LEVEL`](/fr/env-vars) remplacent ceci pour une session. Voir [Ajuster le niveau d'effort](/fr/model-config#adjust-effort-level) pour les modèles supportés | `"xhigh"` |

259| `enableAllProjectMcpServers` | Approuver automatiquement tous les MCP servers définis dans les fichiers `.mcp.json` du projet | `true` |264| `enableAllProjectMcpServers` | Approuver automatiquement tous les MCP servers définis dans les fichiers `.mcp.json` du projet. {/* min-version: 2.1.196 */}À partir de v2.1.196, `claude mcp list` et `claude mcp get` honorent cette clé dans un dossier non fiable uniquement à partir des [fichiers de paramètres qui ne sont pas vérifiés dans le référentiel](/fr/mcp#managing-your-servers) | `true` |

260| `enabledMcpjsonServers` | Liste des MCP servers spécifiques à partir des fichiers `.mcp.json` à approuver | `["memory", "github"]` |265| `enableArtifact` | {/* min-version: 2.1.196 */}Activer ou désactiver l'outil [Artifact](/fr/artifacts) pour cet utilisateur. Quand non défini, la valeur par défaut suit la [disponibilité](/fr/artifacts#availability) de la fonctionnalité pour votre compte. La ligne **Artifacts** dans `/config` écrit cette clé. Un `disableArtifact` géré et le [paramètre administrateur](/fr/artifacts#manage-artifacts-for-your-organization) de votre organisation ont la priorité, et la clé est ignorée dans les paramètres de projet et locaux (`.claude/settings.json`, `.claude/settings.local.json`), qu'un référentiel pourrait autrement valider. Nécessite Claude Code v2.1.196 ou ultérieur | `true` |

261| `enforceAvailableModels` | {/* min-version: 2.1.175 */}Quand `true` et `availableModels` est une liste non vide dans les paramètres gérés ou de politique, le modèle Par défaut est également contraint à la liste blanche. Voir [Restreindre la sélection de modèle](/fr/model-config#restrict-model-selection) pour les détails et le [comportement de fusion](/fr/model-config#merge-behavior) quand `availableModels` est défini à plusieurs niveaux. Nécessite Claude Code v2.1.175 ou ultérieur | `true` |266| `enabledMcpjsonServers` | Liste des MCP servers spécifiques à partir des fichiers `.mcp.json` à approuver. {/* min-version: 2.1.196 */}À partir de v2.1.196, `claude mcp list` et `claude mcp get` honorent cette clé dans un dossier non fiable uniquement à partir des [fichiers de paramètres qui ne sont pas vérifiés dans le référentiel](/fr/mcp#managing-your-servers) | `["memory", "github"]` |

262| `env` | Variables d'environnement appliquées à chaque session et aux sous-processus que Claude Code génère à partir de celle-ci. {/* min-version: 2.1.143 */}À partir de v2.1.143, `NO_COLOR` et `FORCE_COLOR` définis ici sont passés aux sous-processus mais ne changent pas les couleurs de l'interface de Claude Code elle-même. Définissez-les dans votre shell avant de lancer `claude` pour changer les couleurs de l'interface | `{"FOO": "bar"}` |267| `enforceAvailableModels` | {/* min-version: 2.1.175 */}Étendre la liste blanche `availableModels` au modèle Par défaut. Quand `true` dans les paramètres gérés et `availableModels` est un tableau non vide, l'option Par défaut revient à la première entrée autorisée qui est disponible, mais uniquement quand le modèle par défaut pour le type de compte de l'utilisateur n'est pas dans la liste blanche ; un défaut autorisé est conservé tel quel. N'a aucun effet quand `availableModels` est non défini ou vide. Voir [Appliquer la liste blanche au modèle Par défaut](/fr/model-config#enforce-the-allowlist-for-the-default-model). Nécessite Claude Code v2.1.175 ou ultérieur | `true` |

263| `fallbackModel` | Modèle(s) de secours à essayer dans l'ordre quand le modèle principal est surchargé ou indisponible. Claude Code bascule vers le prochain modèle disponible dans la chaîne pour le reste du tour et affiche un avis. `"default"` se développe vers le modèle par défaut. Les chaînes sont limitées à trois modèles ; les entrées supplémentaires sont ignorées. Contrairement à la plupart des paramètres de tableau, cette clé ne fusionne pas entre les fichiers de paramètres : le fichier de priorité la plus élevée qui la définit fournit la chaîne entière. L'indicateur [`--fallback-model`](/fr/cli-reference#cli-flags) remplace ceci pour une session. Voir [Chaînes de modèle de secours](/fr/model-config#fallback-model-chains) | `["claude-sonnet-4-6", "claude-haiku-4-5"]` |268| `env` | Variables d'environnement appliquées à chaque session et aux sous-processus que Claude Code génère à partir de celle-ci. {/* min-version: 2.1.143 */}À partir de v2.1.143, `NO_COLOR` et `FORCE_COLOR` définis ici sont passés aux sous-processus mais ne changent pas les couleurs de l'interface de Claude Code elle-même. Définissez-les dans votre shell avant de lancer `claude` pour changer les couleurs de l'interface. {/* min-version: 2.1.195 */}À partir de v2.1.195, les variables d'identité que les environnements d'hébergement de Claude Code définissent, par exemple `CLAUDE_CODE_REMOTE` et `CLAUDE_CODE_ACCOUNT_UUID`, sont ignorées quand elles sont définies ici | `{"FOO": "bar"}` |

269| `fallbackModel` | Modèle(s) de secours à essayer dans l'ordre quand le modèle principal est surchargé ou indisponible. Claude Code bascule vers le prochain modèle disponible dans la chaîne pour le reste du tour et affiche un avis. `"default"` se développe vers le modèle par défaut. Les chaînes sont limitées à trois modèles ; les entrées supplémentaires sont ignorées. Contrairement à la plupart des paramètres de tableau, cette clé ne fusionne pas entre les fichiers de paramètres : le fichier de priorité la plus élevée qui la définit fournit la chaîne entière. L'indicateur [`--fallback-model`](/fr/cli-reference#cli-flags) remplace ceci pour une session. Voir [Chaînes de modèle de secours](/fr/model-config#fallback-model-chains) | `["claude-sonnet-5", "claude-haiku-4-5"]` |

264| `fastModePerSessionOptIn` | Quand `true`, le mode rapide ne persiste pas entre les sessions. Chaque session commence avec le mode rapide désactivé, nécessitant que les utilisateurs l'activent avec `/fast`. La préférence de mode rapide de l'utilisateur est toujours enregistrée. Voir [Exiger l'opt-in par session](/fr/fast-mode#require-per-session-opt-in) | `true` |270| `fastModePerSessionOptIn` | Quand `true`, le mode rapide ne persiste pas entre les sessions. Chaque session commence avec le mode rapide désactivé, nécessitant que les utilisateurs l'activent avec `/fast`. La préférence de mode rapide de l'utilisateur est toujours enregistrée. Voir [Exiger l'opt-in par session](/fr/fast-mode#require-per-session-opt-in) | `true` |

265| `feedbackSurveyRate` | Probabilité (0–1) que l'[enquête de qualité de session](/fr/data-usage#session-quality-surveys) apparaisse quand elle est admissible. Définir à `0` pour supprimer complètement, ou définissez [`CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY`](/fr/env-vars) dans `env`. Utile lors de l'utilisation de Bedrock, Vertex, ou Foundry où le taux d'échantillonnage par défaut ne s'applique pas | `0.05` |271| `feedbackSurveyRate` | Probabilité (0–1) que l'[enquête de qualité de session](/fr/data-usage#session-quality-surveys) apparaisse quand elle est admissible. Définir à `0` pour supprimer complètement, ou définissez [`CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY`](/fr/env-vars) dans `env`. Utile lors de l'utilisation de Bedrock, Vertex, ou Foundry où le taux d'échantillonnage par défaut ne s'applique pas | `0.05` |

266| `fileCheckpointingEnabled` | {/* min-version: 2.1.119 */}Créer des instantanés des fichiers avant chaque modification pour que [`/rewind`](/fr/checkpointing) puisse les restaurer. Par défaut : `true`. Apparaît dans `/config` comme **Rewind code (checkpoints)**. Pour désactiver via une variable d'environnement, définissez [`CLAUDE_CODE_DISABLE_FILE_CHECKPOINTING`](/fr/env-vars) dans `env` | `false` |272| `fileCheckpointingEnabled` | {/* min-version: 2.1.119 */}**Par défaut** : `true`. Créer des instantanés des fichiers avant chaque modification pour que [`/rewind`](/fr/checkpointing) puisse les restaurer. Apparaît dans `/config` comme **Rewind code (checkpoints)**. Pour désactiver via une variable d'environnement, définissez [`CLAUDE_CODE_DISABLE_FILE_CHECKPOINTING`](/fr/env-vars) dans `env` | `false` |

267| `fileSuggestion` | Configurez un script personnalisé pour l'autocomplétion de fichier `@`. Voir [Paramètres de suggestion de fichier](#file-suggestion-settings) | `{"type": "command", "command": "~/.claude/file-suggestion.sh"}` |273| `fileSuggestion` | Configurez un script personnalisé pour l'autocomplétion de fichier `@`. Voir [Paramètres de suggestion de fichier](#file-suggestion-settings) | `{"type": "command", "command": "~/.claude/file-suggestion.sh"}` |

268| `footerLinksRegexes` | {/* min-version: 2.1.176 */}Rendre des badges cliquables supplémentaires dans le pied de page quand une regex correspond à la sortie du tour. Chaque entrée a un `pattern`, un modèle d'URL `url` avec des espaces réservés `{name}` remplis à partir de groupes de capture nommés, et une `label` optionnelle. Lus à partir des paramètres utilisateur, du drapeau `--settings`, et des paramètres gérés uniquement. Voir [Badges de lien de pied de page](#footer-link-badges) pour les contraintes d'URL, la liste blanche de schéma, et les limites. Nécessite Claude Code v2.1.176 ou ultérieur | `[{"type": "regex", "pattern": "\\b(?<key>PROJ-\\d+)\\b", "url": "https://issues.example.com/browse/{key}", "label": "{key}"}]` |274| `footerLinksRegexes` | {/* min-version: 2.1.176 */}Rendre des badges cliquables supplémentaires dans le pied de page quand une regex correspond à la sortie du tour. Chaque entrée a un `pattern`, un modèle d'URL `url` avec des espaces réservés `{name}` remplis à partir de groupes de capture nommés, et une `label` optionnelle. Lus à partir des paramètres utilisateur, du drapeau `--settings`, et des paramètres gérés uniquement. Voir [Badges de lien de pied de page](#footer-link-badges) pour les contraintes d'URL, la liste blanche de schéma, et les limites. Nécessite Claude Code v2.1.176 ou ultérieur | `[{"type": "regex", "pattern": "\\b(?<key>PROJ-\\d+)\\b", "url": "https://issues.example.com/browse/{key}", "label": "{key}"}]` |

269| `forceLoginMethod` | Utilisez `claudeai` pour restreindre la connexion aux comptes Claude.ai, `console` pour restreindre la connexion aux comptes Claude Console. Quand défini dans les paramètres gérés, les sessions authentifiées par `ANTHROPIC_API_KEY`, `ANTHROPIC_AUTH_TOKEN`, ou `apiKeyHelper` sont bloquées au démarrage, car aucune valeur ne peut être satisfaite sans authentification OAuth de première partie. Les sessions de fournisseur tiers telles que Bedrock, Vertex, et Foundry ne sont pas bloquées : elles s'authentifient auprès de votre fournisseur cloud plutôt qu'Anthropic | `claudeai` |275| `forceLoginMethod` | Utilisez `claudeai` pour restreindre la connexion aux comptes Claude.ai, `console` pour restreindre la connexion aux comptes Claude Console, ou `gateway` pour restreindre la connexion à une passerelle cloud ; voir [Passerelle d'applications Claude](/fr/claude-apps-gateway). Quand défini dans les paramètres gérés, les sessions authentifiées par `ANTHROPIC_API_KEY`, `ANTHROPIC_AUTH_TOKEN`, ou `apiKeyHelper` sont bloquées au démarrage, car une identifiant d'environnement ne peut pas satisfaire la méthode de connexion requise. Les sessions de fournisseur tiers telles que Bedrock, Vertex, et Foundry ne sont pas bloquées : elles s'authentifient auprès de votre fournisseur cloud plutôt qu'Anthropic | `claudeai` |

276| `forceLoginGatewayUrl` | Pré-remplit et verrouille l'URL de la passerelle sur l'écran `/login` de la passerelle cloud. Soit cette clé, soit `forceLoginMethod: "gateway"` affiche cet écran ; définissez les deux pour que l'URL soit remplie. Honoré uniquement au niveau de la politique gérée ; ignoré dans les paramètres utilisateur et projet. Voir [Passerelle d'applications Claude](/fr/claude-apps-gateway#set-the-gateway-url) | `"https://claude-gateway.example.com"` |

270| `forceLoginOrgUUID` | Exiger que la connexion appartienne à une organisation Anthropic spécifique. Accepte une seule chaîne UUID, qui pré-sélectionne également cette organisation lors de la connexion, ou un tableau d'UUID où n'importe quelle organisation listée est acceptée sans pré-sélection. Quand défini dans les paramètres gérés, la connexion échoue si le compte authentifié n'appartient pas à une organisation listée, et les sessions authentifiées par `ANTHROPIC_API_KEY`, `ANTHROPIC_AUTH_TOKEN`, ou `apiKeyHelper` sont bloquées au démarrage car l'appartenance à l'organisation ne peut pas être vérifiée pour elles. Les sessions de fournisseur tiers telles que Bedrock, Vertex, et Foundry ne sont pas bloquées : utilisez votre IAM cloud pour restreindre les comptes cloud qui peuvent être utilisés. Un tableau vide échoue fermé et bloque la connexion avec un message de mauvaise configuration | `"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"` ou `["xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", "yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy"]` |277| `forceLoginOrgUUID` | Exiger que la connexion appartienne à une organisation Anthropic spécifique. Accepte une seule chaîne UUID, qui pré-sélectionne également cette organisation lors de la connexion, ou un tableau d'UUID où n'importe quelle organisation listée est acceptée sans pré-sélection. Quand défini dans les paramètres gérés, la connexion échoue si le compte authentifié n'appartient pas à une organisation listée, et les sessions authentifiées par `ANTHROPIC_API_KEY`, `ANTHROPIC_AUTH_TOKEN`, ou `apiKeyHelper` sont bloquées au démarrage car l'appartenance à l'organisation ne peut pas être vérifiée pour elles. Les sessions de fournisseur tiers telles que Bedrock, Vertex, et Foundry ne sont pas bloquées : utilisez votre IAM cloud pour restreindre les comptes cloud qui peuvent être utilisés. Un tableau vide échoue fermé et bloque la connexion avec un message de mauvaise configuration | `"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"` ou `["xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", "yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy"]` |

271| `forceRemoteSettingsRefresh` | (Paramètres gérés uniquement) Bloquer le démarrage de la CLI jusqu'à ce que les paramètres gérés distants soient fraîchement récupérés du serveur. Si la récupération échoue, la CLI se termine plutôt que de continuer avec les paramètres en cache ou aucun paramètre. Quand non défini, le démarrage continue sans attendre les paramètres distants. Voir [application fail-closed](/fr/server-managed-settings#enforce-fail-closed-startup) | `true` |278| `forceRemoteSettingsRefresh` | (Paramètres gérés uniquement) Bloquer le démarrage de la CLI jusqu'à ce que les paramètres gérés distants soient fraîchement récupérés du serveur. Si la récupération échoue, la CLI se termine plutôt que de continuer avec les paramètres en cache ou aucun paramètre. Quand non défini, le démarrage continue sans attendre les paramètres distants. Voir [application fail-closed](/fr/server-managed-settings#enforce-fail-closed-startup) | `true` |

272| `gcpAuthRefresh` | Script personnalisé qui actualise les identifiants GCP Application Default quand ils expirent ou ne peuvent pas être chargés. Voir [configuration avancée des identifiants](/fr/google-vertex-ai#advanced-credential-configuration) | `gcloud auth application-default login` |279| `gcpAuthRefresh` | Script personnalisé qui actualise les identifiants GCP Application Default quand ils expirent ou ne peuvent pas être chargés. Voir [configuration avancée des identifiants](/fr/google-vertex-ai#advanced-credential-configuration) | `gcloud auth application-default login` |

273| `hooks` | Configurez des commandes personnalisées à exécuter lors d'événements du cycle de vie. Voir [documentation des hooks](/fr/hooks) pour le format | Voir [hooks](/fr/hooks) |280| `hooks` | Configurez des commandes personnalisées à exécuter lors d'événements du cycle de vie. Voir [documentation des hooks](/fr/hooks) pour le format | Voir [hooks](/fr/hooks) |

274| `httpHookAllowedEnvVars` | Liste blanche des noms de variables d'environnement que les hooks HTTP peuvent interpoler dans les en-têtes. Quand défini, le `allowedEnvVars` effectif de chaque hook est l'intersection avec cette liste. Non défini = pas de restriction. Les tableaux fusionnent entre les sources de paramètres. Voir [Configuration des hooks](#hook-configuration) | `["MY_TOKEN", "HOOK_SECRET"]` |281| `httpHookAllowedEnvVars` | Liste blanche des noms de variables d'environnement que les hooks HTTP peuvent interpoler dans les en-têtes. Quand défini, le `allowedEnvVars` effectif de chaque hook est l'intersection avec cette liste. Non défini = pas de restriction. Les tableaux fusionnent entre les sources de paramètres. Voir [Configuration des hooks](#hook-configuration) | `["MY_TOKEN", "HOOK_SECRET"]` |

275| `includeCoAuthoredBy` | **Déprécié** : Utilisez `attribution` à la place. S'il faut inclure la ligne `co-authored-by Claude` dans les commits git et les pull requests (par défaut : `true`) | `false` |282| `includeGitInstructions` | **Par défaut** : `true`. Inclure les instructions de workflow de commit et PR intégrées et l'instantané du statut git dans l'invite système de Claude. Définir à `false` pour supprimer les deux, par exemple lors de l'utilisation de vos propres skills de workflow git. La variable d'environnement `CLAUDE_CODE_DISABLE_GIT_INSTRUCTIONS` a la priorité sur ce paramètre quand elle est définie | `false` |

276| `includeGitInstructions` | Inclure les instructions de workflow de commit et PR intégrées et l'instantané du statut git dans l'invite système de Claude (par défaut : `true`). Définir à `false` pour supprimer les deux, par exemple lors de l'utilisation de vos propres skills de workflow git. La variable d'environnement `CLAUDE_CODE_DISABLE_GIT_INSTRUCTIONS` a la priorité sur ce paramètre quand elle est définie | `false` |283| `inputNeededNotifEnabled` | {/* min-version: 2.1.119 */}**Par défaut** : `false`. Quand le [Contrôle à distance](/fr/remote-control) est connecté, envoyer une notification push à votre téléphone quand une invite de permission ou une question attend votre entrée. Apparaît dans `/config` comme **Push when actions required**. Voir [Notifications push mobiles](/fr/remote-control#mobile-push-notifications). Nécessite Claude Code v2.1.119 ou ultérieur | `true` |

277| `inputNeededNotifEnabled` | {/* min-version: 2.1.119 */}Quand le [Contrôle à distance](/fr/remote-control) est connecté, envoyer une notification push à votre téléphone quand une invite de permission ou une question attend votre entrée. Par défaut : `false`. Apparaît dans `/config` comme **Push when actions required**. Voir [Notifications push mobiles](/fr/remote-control#mobile-push-notifications). Nécessite Claude Code v2.1.119 ou ultérieur | `true` |

278| `language` | Configurez la langue de réponse préférée de Claude (par exemple, `"japanese"`, `"spanish"`, `"french"`). Claude répondra dans cette langue par défaut. Définit également la langue de la [dictée vocale](/fr/voice-dictation#change-the-dictation-language) et des titres de session générés automatiquement. {/* min-version: 2.1.176 */}À partir de v2.1.176, quand non défini, les titres de session correspondent à la langue de votre conversation | `"japanese"` |284| `language` | Configurez la langue de réponse préférée de Claude (par exemple, `"japanese"`, `"spanish"`, `"french"`). Claude répondra dans cette langue par défaut. Définit également la langue de la [dictée vocale](/fr/voice-dictation#change-the-dictation-language) et des titres de session générés automatiquement. {/* min-version: 2.1.176 */}À partir de v2.1.176, quand non défini, les titres de session correspondent à la langue de votre conversation | `"japanese"` |

279| `maxSkillDescriptionChars` | {/* min-version: 2.1.105 */}Limite de caractères par skill sur le texte combiné `description` et `when_to_use` dans l'[énumération des skills](/fr/skills#skill-descriptions-are-cut-short) que Claude voit à chaque tour (par défaut : `1536`). Le texte plus long que ceci est tronqué. Augmentez pour garder les longues descriptions intactes au prix de plus de contexte par tour ; diminuez pour adapter plus de skills sous [`skillListingBudgetFraction`](#available-settings). Nécessite Claude Code v2.1.105 ou ultérieur | `2048` |

280| `minimumVersion` | Plancher qui empêche les auto-mises à jour de fond et `claude update` d'installer une version inférieure à celle-ci. Passer du canal `"latest"` à `"stable"` via `/config` vous invite à rester sur la version actuelle ou à autoriser la rétrogradation. Choisir de rester définit cette valeur. Également utile dans les [paramètres gérés](/fr/permissions#managed-settings) pour épingler une version minimale à l'échelle de l'organisation. Pour un plancher dur qui bloque le démarrage entièrement, voir `requiredMinimumVersion` | `"2.1.100"` |285| `minimumVersion` | Plancher qui empêche les auto-mises à jour de fond et `claude update` d'installer une version inférieure à celle-ci. Passer du canal `"latest"` à `"stable"` via `/config` vous invite à rester sur la version actuelle ou à autoriser la rétrogradation. Choisir de rester définit cette valeur. Également utile dans les [paramètres gérés](/fr/permissions#managed-settings) pour épingler une version minimale à l'échelle de l'organisation. Pour un plancher dur qui bloque le démarrage entièrement, voir `requiredMinimumVersion` | `"2.1.100"` |

281| `model` | Remplacer le modèle par défaut à utiliser pour Claude Code. `--model` et [`ANTHROPIC_MODEL`](/fr/model-config#environment-variables) remplacent ceci pour une session | `"claude-sonnet-4-6"` |286| `model` | Remplacer le modèle par défaut à utiliser pour Claude Code. `--model` et [`ANTHROPIC_MODEL`](/fr/model-config#environment-variables) remplacent ceci pour une session | `"claude-sonnet-5"` |

282| `modelOverrides` | Mapper les ID de modèle Anthropic aux ID de modèle spécifiques au fournisseur tels que les ARN de profil d'inférence Bedrock. Chaque entrée du sélecteur de modèle utilise sa valeur mappée lors de l'appel de l'API du fournisseur. Voir [Remplacer les ID de modèle par version](/fr/model-config#override-model-ids-per-version) | `{"claude-opus-4-6": "arn:aws:bedrock:..."}` |287| `modelOverrides` | Mapper les ID de modèle Anthropic aux ID de modèle spécifiques au fournisseur tels que les ARN de profil d'inférence Bedrock. Chaque entrée du sélecteur de modèle utilise sa valeur mappée lors de l'appel de l'API du fournisseur. Voir [Remplacer les ID de modèle par version](/fr/model-config#override-model-ids-per-version) | `{"claude-opus-4-6": "arn:aws:bedrock:..."}` |

283| `otelHeadersHelper` | Script pour générer des en-têtes OpenTelemetry dynamiques. S'exécute au démarrage et périodiquement. Définissez l'intervalle d'actualisation avec [`CLAUDE_CODE_OTEL_HEADERS_HELPER_DEBOUNCE_MS`](/fr/env-vars). Voir [En-têtes dynamiques](/fr/monitoring-usage#dynamic-headers) | `/bin/generate_otel_headers.sh` |288| `otelHeadersHelper` | Script pour générer des en-têtes OpenTelemetry dynamiques. S'exécute au démarrage et périodiquement. Définissez l'intervalle d'actualisation avec [`CLAUDE_CODE_OTEL_HEADERS_HELPER_DEBOUNCE_MS`](/fr/env-vars). Voir [En-têtes dynamiques](/fr/monitoring-usage#dynamic-headers) | `/bin/generate_otel_headers.sh` |

284| `outputStyle` | Configurez un style de sortie pour ajuster l'invite système. Voir [documentation des styles de sortie](/fr/output-styles) | `"Explanatory"` |289| `outputStyle` | Configurez un style de sortie pour ajuster l'invite système. Voir [documentation des styles de sortie](/fr/output-styles) | `"Explanatory"` |

285| `parentSettingsBehavior` | {/* min-version: 2.1.133 */}(Paramètres gérés uniquement) Contrôle si les paramètres gérés fournis programmatiquement par un processus hôte d'intégration, tel que l'Agent SDK ou une extension IDE, s'appliquent quand un niveau géré déployé par l'administrateur est également présent. `"first-wins"` : les paramètres fournis par le parent sont supprimés et seul le niveau administrateur s'applique. `"merge"` : les paramètres fournis par le parent s'appliquent sous le niveau administrateur, filtrés pour qu'ils puissent resserrer la politique mais pas l'assouplir. N'a aucun effet quand aucun niveau administrateur n'est déployé. Par défaut : `"first-wins"`. Nécessite Claude Code v2.1.133 ou ultérieur | `"merge"` |290| `parentSettingsBehavior` | {/* min-version: 2.1.133 */}(Paramètres gérés uniquement) **Par défaut** : `"first-wins"`. Contrôle si les paramètres gérés fournis programmatiquement par un processus hôte d'intégration, tel que l'Agent SDK ou une extension IDE, s'appliquent quand un niveau géré déployé par l'administrateur est également présent. `"first-wins"` : les paramètres fournis par le parent sont supprimés et seul le niveau administrateur s'applique. `"merge"` : les paramètres fournis par le parent s'appliquent sous le niveau administrateur, filtrés pour qu'ils puissent resserrer la politique mais pas l'assouplir. N'a aucun effet quand aucun niveau administrateur n'est déployé. Nécessite Claude Code v2.1.133 ou ultérieur | `"merge"` |

286| `permissions` | Voir le tableau ci-dessous pour la structure des permissions. | |291| `permissions` | Voir le tableau ci-dessous pour la structure des permissions. | |

287| `plansDirectory` | Personnalisez où les fichiers de plan sont stockés. Le chemin est relatif à la racine du projet. Par défaut : `~/.claude/plans` | `"./plans"` |292| `plansDirectory` | **Par défaut** : `~/.claude/plans`. Personnalisez où les fichiers de plan sont stockés. Le chemin est relatif à la racine du projet. | `"./plans"` |

288| `pluginSuggestionMarketplaces` | (Paramètres gérés uniquement) Noms de marketplace dont les plugins peuvent apparaître comme suggestions d'installation contextuelle. Aucune suggestion déclarée par marketplace ne s'affiche sans cette liste blanche ; le conseil intégré de conception frontend de première partie n'est pas affecté. Les suggestions proviennent de la déclaration `relevance` de chaque plugin dans son entrée de marketplace. Un nom ne prend effet que quand la marketplace est enregistrée sur la machine et sa source enregistrée est également déclarée dans les paramètres gérés, soit comme entrée `extraKnownMarketplaces` pour ce nom, soit comme entrée de `strictKnownMarketplaces`. Une marketplace enregistrée à partir d'une source différente sous un nom autorisé est ignorée. La marketplace officielle est exempte de l'exigence de source : autoriser son nom seul suffit, car ce nom ne peut s'enregistrer que depuis la source Anthropic officielle. | `["acme-corp-plugins"]` |293| `pluginSuggestionMarketplaces` | (Paramètres gérés uniquement) Noms de marketplace dont les plugins peuvent apparaître comme suggestions d'installation contextuelle. Aucune suggestion déclarée par marketplace ne s'affiche sans cette liste blanche ; le conseil intégré de conception frontend de première partie n'est pas affecté. Les suggestions proviennent de la déclaration `relevance` de chaque plugin dans son entrée de marketplace. Un nom ne prend effet que quand la marketplace est enregistrée sur la machine et sa source enregistrée est également déclarée dans les paramètres gérés, soit comme entrée `extraKnownMarketplaces` pour ce nom, soit comme entrée de `strictKnownMarketplaces`. Une marketplace enregistrée à partir d'une source différente sous un nom autorisé est ignorée. La marketplace officielle est exempte de l'exigence de source : autoriser son nom seul suffit, car ce nom ne peut s'enregistrer que depuis la source Anthropic officielle. | `["acme-corp-plugins"]` |

289| `pluginTrustMessage` | (Paramètres gérés uniquement) Message personnalisé ajouté à l'avertissement de confiance du plugin affiché avant l'installation. Utilisez ceci pour ajouter du contexte spécifique à l'organisation, par exemple pour confirmer que les plugins de votre marketplace interne sont vérifiés. | `"All plugins from our marketplace are approved by IT"` |294| `pluginTrustMessage` | (Paramètres gérés uniquement) Message personnalisé ajouté à l'avertissement de confiance du plugin affiché avant l'installation. Utilisez ceci pour ajouter du contexte spécifique à l'organisation, par exemple pour confirmer que les plugins de votre marketplace interne sont vérifiés. | `"All plugins from our marketplace are approved by IT"` |

290| `policyHelper` | {/* min-version: 2.1.136 */}Exécutable déployé par l'administrateur qui calcule les paramètres gérés dynamiquement au démarrage. Honoré uniquement à partir de MDM ou d'un fichier `managed-settings.json` système. Voir [Calculer les paramètres gérés avec un assistant de politique](#compute-managed-settings-with-a-policy-helper). Nécessite Claude Code v2.1.136 ou ultérieur | `{"path": "/usr/local/bin/claude-policy"}` |295| `policyHelper` | {/* min-version: 2.1.136 */}Exécutable déployé par l'administrateur qui calcule les paramètres gérés dynamiquement au démarrage. Honoré uniquement à partir de MDM ou d'un fichier `managed-settings.json` système. Voir [Calculer les paramètres gérés avec un assistant de politique](#compute-managed-settings-with-a-policy-helper). Nécessite Claude Code v2.1.136 ou ultérieur | `{"path": "/usr/local/bin/claude-policy"}` |

291| `preferredNotifChannel` | Méthode pour les notifications de tâche terminée et d'invite de permission : `"auto"`, `"terminal_bell"`, `"iterm2"`, `"iterm2_with_bell"`, `"kitty"`, `"ghostty"`, ou `"notifications_disabled"`. Par défaut : `"auto"`, qui envoie une notification de bureau dans iTerm2, Ghostty, et Kitty et ne fait rien dans les autres terminaux. Définir à `"terminal_bell"` pour sonner le caractère de cloche dans n'importe quel terminal. Apparaît dans `/config` comme **Notifications**. Voir [Obtenir une cloche de terminal ou une notification](/fr/terminal-config#get-a-terminal-bell-or-notification) | `"terminal_bell"` |296| `preferredNotifChannel` | **Par défaut** : `"auto"`. Méthode pour les notifications de tâche terminée et d'invite de permission : `"auto"`, `"terminal_bell"`, `"iterm2"`, `"iterm2_with_bell"`, `"kitty"`, `"ghostty"`, ou `"notifications_disabled"`. `"auto"` envoie une notification de bureau dans iTerm2, Ghostty, et Kitty et ne fait rien dans les autres terminaux. Définir à `"terminal_bell"` pour sonner le caractère de cloche dans n'importe quel terminal. Apparaît dans `/config` comme **Notifications**. Voir [Obtenir une cloche de terminal ou une notification](/fr/terminal-config#get-a-terminal-bell-or-notification) | `"terminal_bell"` |

292| `prefersReducedMotion` | Réduire ou désactiver les animations de l'interface utilisateur (spinners, shimmer, effets flash) pour l'accessibilité | `true` |297| `prefersReducedMotion` | Réduire ou désactiver les animations de l'interface utilisateur (spinners, shimmer, effets flash) pour l'accessibilité | `true` |

293| `prUrlTemplate` | Modèle d'URL pour le badge PR affiché dans le pied de page et dans les résumés de résultats d'outils. Substitue `{host}`, `{owner}`, `{repo}`, `{number}`, et `{url}` à partir de l'URL PR rapportée par `gh`. Utilisez pour pointer les liens PR vers un outil d'examen de code interne au lieu de `github.com`. N'affecte pas les autolinks `#123` dans la prose de Claude | `"https://reviews.example.com/{owner}/{repo}/pull/{number}"` |298| `prUrlTemplate` | Modèle d'URL pour le badge PR affiché dans le pied de page et dans les résumés de résultats d'outils. Substitue `{host}`, `{owner}`, `{repo}`, `{number}`, et `{url}` à partir de l'URL PR rapportée par `gh`. Utilisez pour pointer les liens PR vers un outil d'examen de code interne au lieu de `github.com`. N'affecte pas les autolinks `#123` dans la prose de Claude | `"https://reviews.example.com/{owner}/{repo}/pull/{number}"` |

294| `remoteControlAtStartup` | {/* min-version: 2.1.119 */}Connecter le [Contrôle à distance](/fr/remote-control) automatiquement quand chaque session interactive démarre, au lieu d'attendre `/remote-control`. Définir à `true` pour toujours auto-connecter, `false` pour ne jamais auto-connecter, ou laisser non défini pour suivre la valeur par défaut de votre organisation. Apparaît dans `/config` comme **Enable Remote Control for all sessions**. Voir [Activer le Contrôle à distance pour toutes les sessions](/fr/remote-control#enable-remote-control-for-all-sessions) | `false` |299| `remoteControlAtStartup` | {/* min-version: 2.1.119 */}Connecter le [Contrôle à distance](/fr/remote-control) automatiquement quand chaque session interactive démarre, au lieu d'attendre `/remote-control`. Définir à `true` pour toujours auto-connecter, `false` pour ne jamais auto-connecter, ou laisser non défini pour suivre la valeur par défaut de votre organisation. Apparaît dans `/config` comme **Enable Remote Control for all sessions**. Voir [Activer le Contrôle à distance pour toutes les sessions](/fr/remote-control#enable-remote-control-for-all-sessions) | `false` |

295| `requiredMaximumVersion` | Paramètres gérés uniquement. Version maximale de Claude Code autorisée à démarrer. Si la version en cours d'exécution est plus récente, Claude Code se termine au démarrage et demande à l'utilisateur d'installer une version approuvée via la méthode approuvée de l'organisation ; `claude install <version>` peut également fonctionner. Les auto-mises à jour de fond et `claude update` ignorent les versions au-dessus du plafond, donc une installation dans la plage reste dans la plage. `claude update`, `claude install`, et `claude doctor` continuent de fonctionner au-dessus du plafond pour que les utilisateurs puissent récupérer. Les versions antérieures à ce paramètre l'ignorent | `"2.1.150"` |300| `requiredMaximumVersion` | Paramètres gérés uniquement. Version maximale de Claude Code autorisée à démarrer. Si la version en cours d'exécution est plus récente, Claude Code se termine au démarrage et demande à l'utilisateur d'installer une version approuvée via la méthode approuvée de l'organisation ; `claude install <version>` peut également fonctionner. Les auto-mises à jour de fond et `claude update` ignorent les versions au-dessus du plafond, donc une installation dans la plage reste dans la plage. `claude update`, `claude install`, et `claude doctor` continuent de fonctionner au-dessus du plafond pour que les utilisateurs puissent récupérer. Les versions antérieures à ce paramètre l'ignorent | `"2.1.150"` |

296| `requiredMinimumVersion` | Paramètres gérés uniquement. Version minimale de Claude Code requise pour démarrer. Si la version en cours d'exécution est plus ancienne, Claude Code se termine au démarrage et demande à l'utilisateur de mettre à jour via la méthode approuvée de l'organisation. `claude update`, `claude install`, et `claude doctor` continuent de fonctionner en dessous du plancher pour que les utilisateurs puissent récupérer. Diffère de `minimumVersion`, qui empêche les rétrograds mais ne bloque jamais le démarrage. Les versions antérieures à ce paramètre l'ignorent | `"2.1.150"` |301| `requiredMinimumVersion` | Paramètres gérés uniquement. Version minimale de Claude Code requise pour démarrer. Si la version en cours d'exécution est plus ancienne, Claude Code se termine au démarrage et demande à l'utilisateur de mettre à jour via la méthode approuvée de l'organisation. `claude update`, `claude install`, et `claude doctor` continuent de fonctionner en dessous du plancher pour que les utilisateurs puissent récupérer. Diffère de `minimumVersion`, qui empêche les rétrograds mais ne bloque jamais le démarrage. Les versions antérieures à ce paramètre l'ignorent | `"2.1.150"` |

297| `respectGitignore` | Contrôler si le sélecteur de fichier `@` respecte les modèles `.gitignore`. Quand `true` (par défaut), les fichiers correspondant aux modèles `.gitignore` sont exclus des suggestions | `false` |302| `respectGitignore` | **Par défaut** : `true`. Contrôler si le sélecteur de fichier `@` respecte les modèles `.gitignore`. Quand `true`, les fichiers correspondant aux modèles `.gitignore` sont exclus des suggestions | `false` |

298| `respondToBashCommands` | {/* min-version: 2.1.186 */}Si Claude répond après qu'une commande shell `!` de la boîte d'entrée s'exécute. Définir à `false` pour ajouter la sortie de la commande au contexte sans réponse. Par défaut : `true`. Voir [Mode shell avec préfixe `!`](/fr/interactive-mode#shell-mode-with-prefix). Nécessite Claude Code v2.1.186 ou ultérieur | `false` |303| `respondToBashCommands` | {/* min-version: 2.1.186 */}**Par défaut** : `true`. Si Claude répond après qu'une commande shell `!` de la boîte d'entrée s'exécute. Définir à `false` pour ajouter la sortie de la commande au contexte sans réponse. Voir [Mode shell avec préfixe `!`](/fr/interactive-mode#shell-mode-with-prefix). Nécessite Claude Code v2.1.186 ou ultérieur | `false` |

299| `showClearContextOnPlanAccept` | Afficher l'option « effacer le contexte » sur l'écran d'acceptation du plan. Par défaut : `false`. Définir à `true` pour restaurer l'option | `true` |304| `showClearContextOnPlanAccept` | **Par défaut** : `false`. Afficher l'option « effacer le contexte » sur l'écran d'acceptation du plan. Définir à `true` pour restaurer l'option | `true` |

300| `showThinkingSummaries` | Afficher les résumés de [réflexion étendue](/fr/model-config#extended-thinking) dans les sessions interactives. Quand non défini ou `false` (par défaut en mode interactif), les blocs de réflexion sont redactés par l'API et affichés comme un stub réduit. La redaction change uniquement ce que vous voyez, pas ce que le modèle génère : pour réduire les dépenses de réflexion, [réduisez le budget ou désactivez la réflexion](/fr/model-config#extended-thinking) à la place. Ce paramètre n'a aucun effet en mode non interactif (`-p`), l'Agent SDK, ou les extensions IDE telles que VS Code | `true` |305| `showThinkingSummaries` | **Par défaut** : `false`. Afficher les résumés de [réflexion étendue](/fr/model-config#extended-thinking) dans les sessions interactives. Quand non défini ou `false`, les blocs de réflexion sont redactés par l'API et affichés comme un stub réduit. La redaction change uniquement ce que vous voyez, pas ce que le modèle génère : pour réduire les dépenses de réflexion, [réduisez le budget ou désactivez la réflexion](/fr/model-config#extended-thinking) à la place. Ce paramètre n'a aucun effet en mode non interactif (`-p`), l'Agent SDK, ou les extensions IDE telles que VS Code | `true` |

301| `showTurnDuration` | Afficher les messages de durée de tour après les réponses, par exemple « Cooked for 1m 6s ». Par défaut : `true`. Apparaît dans `/config` comme **Show turn duration** | `false` |306| `showTurnDuration` | **Par défaut** : `true`. Afficher les messages de durée de tour après les réponses, par exemple « Cooked for 1m 6s ». Apparaît dans `/config` comme **Show turn duration** | `false` |

302| `skillListingBudgetFraction` | {/* min-version: 2.1.105 */}Fraction de la fenêtre de contexte du modèle réservée à l'[énumération des skills](/fr/skills#skill-descriptions-are-cut-short) que Claude voit à chaque tour (par défaut : `0.01` = 1 %). Quand l'énumération dépasse le budget, les descriptions pour les skills les moins utilisés sont réduites à des noms seuls pour que Claude puisse toujours les invoquer mais ne verra pas pourquoi. Augmentez pour garder plus de descriptions visibles au prix de plus de contexte par tour. `/doctor` affiche le nombre de troncatures actuel et quels skills sont affectés. Nécessite Claude Code v2.1.105 ou ultérieur | `0.02` |307| `skillListingBudgetFraction` | {/* min-version: 2.1.105 */}**Par défaut** : `0.01` (1 %). Fraction de la fenêtre de contexte du modèle réservée à l'[énumération des skills](/fr/skills#skill-descriptions-are-cut-short) que Claude voit à chaque tour. Quand l'énumération dépasse le budget, les descriptions pour les skills les moins utilisés sont réduites à des noms seuls pour que Claude puisse toujours les invoquer mais ne verra pas pourquoi. Augmentez pour garder plus de descriptions visibles au prix de plus de contexte par tour. `/doctor` affiche le nombre de troncatures actuel et quels skills sont affectés. Nécessite Claude Code v2.1.105 ou ultérieur | `0.02` |

308| `skillListingMaxDescChars` | {/* min-version: 2.1.105 */}**Par défaut** : `1536`. Limite de caractères par skill sur le texte combiné `description` et `when_to_use` dans l'[énumération des skills](/fr/skills#skill-descriptions-are-cut-short) que Claude voit à chaque tour. Le texte plus long que ceci est tronqué. Augmentez pour garder les longues descriptions intactes au prix de plus de contexte par tour ; diminuez pour adapter plus de skills sous [`skillListingBudgetFraction`](#available-settings). Nécessite Claude Code v2.1.105 ou ultérieur | `2048` |

303| `skillOverrides` | {/* min-version: 2.1.129 */}Remplacements de visibilité par skill indexés par nom de skill. La valeur est `"on"`, `"name-only"`, `"user-invocable-only"`, ou `"off"`. Vous permet de masquer ou de réduire un skill sans éditer son SKILL.md. Ne s'applique pas aux skills de plugin, qui sont gérés via `/plugin`. Le menu `/skills` écrit ceux-ci dans `.claude/settings.local.json`. Voir [Remplacer la visibilité du skill à partir des paramètres](/fr/skills#override-skill-visibility-from-settings). Nécessite Claude Code v2.1.129 ou ultérieur | `{"legacy-context": "name-only", "deploy": "off"}` |309| `skillOverrides` | {/* min-version: 2.1.129 */}Remplacements de visibilité par skill indexés par nom de skill. La valeur est `"on"`, `"name-only"`, `"user-invocable-only"`, ou `"off"`. Vous permet de masquer ou de réduire un skill sans éditer son SKILL.md. Ne s'applique pas aux skills de plugin, qui sont gérés via `/plugin`. Le menu `/skills` écrit ceux-ci dans `.claude/settings.local.json`. Voir [Remplacer la visibilité du skill à partir des paramètres](/fr/skills#override-skill-visibility-from-settings). Nécessite Claude Code v2.1.129 ou ultérieur | `{"legacy-context": "name-only", "deploy": "off"}` |

304| `skipWebFetchPreflight` | Ignorer la [vérification de sécurité du domaine WebFetch](/fr/data-usage#webfetch-domain-safety-check) qui envoie chaque nom d'hôte demandé à `api.anthropic.com` avant la récupération. Définir à `true` dans les environnements qui bloquent le trafic vers Anthropic, tels que les déploiements Bedrock, Vertex AI, ou Foundry avec une sortie restrictive. Quand ignorée, WebFetch tente n'importe quelle URL sans consulter la liste de blocage | `true` |310| `skipWebFetchPreflight` | Ignorer la [vérification de sécurité du domaine WebFetch](/fr/data-usage#webfetch-domain-safety-check) qui envoie chaque nom d'hôte demandé à `api.anthropic.com` avant la récupération. Définir à `true` dans les environnements qui bloquent le trafic vers Anthropic, tels que les déploiements Bedrock, Vertex AI, ou Foundry avec une sortie restrictive. Quand ignorée, WebFetch tente n'importe quelle URL sans consulter la liste de blocage | `true` |

305| `spinnerTipsEnabled` | Afficher les conseils dans le spinner pendant que Claude travaille. Définir à `false` pour désactiver les conseils (par défaut : `true`) | `false` |311| `spinnerTipsEnabled` | **Par défaut** : `true`. Afficher les conseils dans le spinner pendant que Claude travaille. Définir à `false` pour désactiver les conseils | `false` |

306| `spinnerTipsOverride` | Remplacer les conseils du spinner par des chaînes personnalisées. `tips` : tableau de chaînes de conseil. `excludeDefault` : si `true`, afficher uniquement les conseils personnalisés ; si `false` ou absent, les conseils personnalisés sont fusionnés avec les conseils intégrés | `{ "excludeDefault": true, "tips": ["Use our internal tool X"] }` |312| `spinnerTipsOverride` | Remplacer les conseils du spinner par des chaînes personnalisées. `tips` : tableau de chaînes de conseil. `excludeDefault` : si `true`, afficher uniquement les conseils personnalisés ; si `false` ou absent, les conseils personnalisés sont fusionnés avec les conseils intégrés | `{ "excludeDefault": true, "tips": ["Use our internal tool X"] }` |

307| `spinnerVerbs` | Personnalisez les verbes d'action affichés pendant qu'un tour est en cours. Définir `mode` à `"replace"` pour utiliser uniquement vos verbes, ou `"append"` pour les ajouter aux valeurs par défaut | `{"mode": "append", "verbs": ["Pondering", "Crafting"]}` |313| `spinnerVerbs` | Personnalisez les verbes d'action affichés pendant qu'un tour est en cours. Définir `mode` à `"replace"` pour utiliser uniquement vos verbes, ou `"append"` pour les ajouter aux valeurs par défaut | `{"mode": "append", "verbs": ["Pondering", "Crafting"]}` |

308| `sshConfigs` | Connexions SSH à afficher dans la liste déroulante de l'environnement [Desktop](/fr/desktop#pre-configure-ssh-connections-for-your-team). Chaque entrée nécessite `id`, `name`, et `sshHost` ; `sshPort`, `sshIdentityFile`, et `startDirectory` sont optionnels. Quand défini dans les paramètres gérés, les connexions sont en lecture seule pour les utilisateurs. Lus à partir des paramètres gérés et utilisateur uniquement | `[{"id": "dev-vm", "name": "Dev VM", "sshHost": "user@dev.example.com"}]` |314| `sshConfigs` | Connexions SSH à afficher dans la liste déroulante de l'environnement [Desktop](/fr/desktop#pre-configure-ssh-connections-for-your-team). Chaque entrée nécessite `id`, `name`, et `sshHost` ; `sshPort`, `sshIdentityFile`, et `startDirectory` sont optionnels. Quand défini dans les paramètres gérés, les connexions sont en lecture seule pour les utilisateurs. Lus à partir des paramètres gérés et utilisateur uniquement | `[{"id": "dev-vm", "name": "Dev VM", "sshHost": "user@dev.example.com"}]` |

309| `statusLine` | Configurez une ligne d'état personnalisée pour afficher le contexte. Voir [documentation `statusLine`](/fr/statusline) | `{"type": "command", "command": "~/.claude/statusline.sh"}` |315| `statusLine` | Configurez une ligne d'état personnalisée pour afficher le contexte. L'objet optionnel `padding`, `refreshInterval`, et `hideVimModeIndicator` contrôlent l'espacement, les réexécutions périodiques, et si l'indicateur de mode vim intégré sous l'invite est masqué. Voir [documentation `statusLine`](/fr/statusline#manually-configure-a-status-line) | `{"type": "command", "command": "~/.claude/statusline.sh"}` |

310| `strictKnownMarketplaces` | (Paramètres gérés uniquement) Liste blanche des sources de marketplace de plugins. Non défini = pas de restrictions, tableau vide = verrouillage. Appliquée 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 ajoutée avant que la politique soit définie ne peut pas être utilisée pour récupérer les plugins. Voir [Restrictions de marketplace gérées](/fr/plugin-marketplaces#managed-marketplace-restrictions) | `[{ "source": "github", "repo": "acme-corp/plugins" }]` |316| `strictKnownMarketplaces` | (Paramètres gérés uniquement) Liste blanche des sources de marketplace de plugins. Non défini = pas de restrictions, tableau vide = verrouillage. Appliquée 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 ajoutée avant que la politique soit définie ne peut pas être utilisée pour récupérer les plugins. Voir [Restrictions de marketplace gérées](/fr/plugin-marketplaces#managed-marketplace-restrictions) | `[{ "source": "github", "repo": "acme-corp/plugins" }]` |

311| `strictPluginOnlyCustomization` | (Paramètres gérés uniquement) Bloquer les skills, agents, hooks, et MCP servers à partir des sources utilisateur et projet, pour qu'ils ne puissent provenir que des plugins ou des paramètres gérés. `true` verrouille les quatre surfaces ; un tableau verrouille uniquement les nommés. Voir [`strictPluginOnlyCustomization`](#strictpluginonlycustomization) | `["skills", "hooks"]` |317| `strictPluginOnlyCustomization` | (Paramètres gérés uniquement) Bloquer les skills, agents, hooks, et MCP servers à partir des sources utilisateur et projet, pour qu'ils ne puissent provenir que des plugins ou des paramètres gérés. `true` verrouille les quatre surfaces ; un tableau verrouille uniquement les nommés. Voir [`strictPluginOnlyCustomization`](#strictpluginonlycustomization) | `["skills", "hooks"]` |

312| `syntaxHighlightingDisabled` | Désactiver la coloration syntaxique dans les diffs, les blocs de code, et les aperçus de fichiers | `true` |318| `syntaxHighlightingDisabled` | Désactiver la coloration syntaxique dans les diffs, les blocs de code, et les aperçus de fichiers | `true` |

313| `teammateMode` | Comment les coéquipiers de l'[équipe d'agents](/fr/agent-teams) s'affichent : `in-process` (par défaut), `auto` (choisit les volets divisés dans tmux ou iTerm2, en processus sinon), `tmux` (volets divisés utilisant tmux ou iTerm2, détectés à partir de votre terminal), ou {/* min-version: 2.1.186 */}`iterm2` (volets divisés natifs iTerm2 via la CLI `it2`, ajouté dans v2.1.186). La valeur par défaut a changé de `auto` dans v2.1.179. `--teammate-mode` remplace ceci pour une session. Voir [choisir un mode d'affichage](/fr/agent-teams#choose-a-display-mode) | `"auto"` |319| `teammateMode` | **Par défaut** : `in-process`. Comment les coéquipiers de l'[équipe d'agents](/fr/agent-teams) s'affichent : `in-process`, `auto` (choisit les volets divisés dans tmux ou iTerm2, en processus sinon), `tmux` (volets divisés utilisant tmux ou iTerm2, détectés à partir de votre terminal), ou {/* min-version: 2.1.186 */}`iterm2` (volets divisés natifs iTerm2 via la CLI `it2`, ajouté dans v2.1.186). La valeur par défaut a changé de `auto` dans v2.1.179. `--teammate-mode` remplace ceci pour une session. Voir [choisir un mode d'affichage](/fr/agent-teams#choose-a-display-mode) | `"auto"` |

314| `terminalProgressBarEnabled` | Afficher la barre de progression du terminal dans les terminaux supportés : ConEmu, Ghostty 1.2.0+, et iTerm2 3.6.6+. Par défaut : `true`. Apparaît dans `/config` comme **Terminal progress bar** | `false` |320| `terminalProgressBarEnabled` | **Par défaut** : `true`. Afficher la barre de progression du terminal dans les terminaux supportés : ConEmu, Ghostty 1.2.0+, et iTerm2 3.6.6+. Apparaît dans `/config` comme **Terminal progress bar** | `false` |

315| `theme` | {/* min-version: 2.1.119 */}Thème de couleur pour l'interface : `"auto"`, `"dark"`, `"light"`, `"dark-daltonized"`, `"light-daltonized"`, `"dark-ansi"`, `"light-ansi"`, ou une référence de thème personnalisé tel que `"custom:<slug>"` ou `"custom:<plugin-name>:<slug>"`. Par défaut : `"dark"`. Voir [Créer un thème personnalisé](/fr/terminal-config#create-a-custom-theme). Apparaît dans `/config` comme **Theme** | `"dark"` |321| `theme` | {/* min-version: 2.1.119 */}**Par défaut** : `"dark"`. Thème de couleur pour l'interface : `"auto"`, `"dark"`, `"light"`, `"dark-daltonized"`, `"light-daltonized"`, `"dark-ansi"`, `"light-ansi"`, ou une référence de thème personnalisé tel que `"custom:<slug>"` ou `"custom:<plugin-name>:<slug>"`. Voir [Créer un thème personnalisé](/fr/terminal-config#create-a-custom-theme). Apparaît dans `/config` comme **Theme** | `"dark"` |

316| `tui` | Moteur de rendu de l'interface utilisateur du terminal. Utilisez `"fullscreen"` pour le moteur de rendu [alt-screen](/fr/fullscreen) sans scintillement avec défilement virtualisé. Utilisez `"default"` pour le moteur de rendu classique d'écran principal. Définir via `/tui`. Vous pouvez également définir la variable d'environnement [`CLAUDE_CODE_NO_FLICKER`](/fr/env-vars). Les sessions de fond ouvertes à partir de la [vue d'agent](/fr/agent-view) utilisent toujours le moteur de rendu fullscreen indépendamment de ce paramètre | `"fullscreen"` |322| `tui` | Moteur de rendu de l'interface utilisateur du terminal. Utilisez `"fullscreen"` pour le moteur de rendu [alt-screen](/fr/fullscreen) sans scintillement avec défilement virtualisé. Utilisez `"default"` pour le moteur de rendu classique d'écran principal. Définir via `/tui`. Vous pouvez également définir la variable d'environnement [`CLAUDE_CODE_NO_FLICKER`](/fr/env-vars). Les sessions de fond ouvertes à partir de la [vue d'agent](/fr/agent-view) utilisent toujours le moteur de rendu fullscreen indépendamment de ce paramètre | `"fullscreen"` |

317| `ultracode` | Activer [ultracode](/fr/workflows#let-claude-decide-with-ultracode) pour la session. Session uniquement et non lu à partir de `settings.json`. Définir via `/effort ultracode`, `--settings`, ou une demande de contrôle Agent SDK | `true` |323| `ultracode` | Activer [ultracode](/fr/workflows#let-claude-decide-with-ultracode) pour la session. Session uniquement et non lu à partir de `settings.json`. Définir via `/effort ultracode`, `--settings`, ou une demande de contrôle Agent SDK | `true` |

318| `useAutoModeDuringPlan` | Si le mode plan utilise la sémantique du mode auto quand le mode auto est disponible. Par défaut : `true`. Non lu à partir des paramètres de projet partagés. Apparaît dans `/config` comme « Utiliser le mode auto pendant le plan » | `false` |324| `useAutoModeDuringPlan` | **Par défaut** : `true`. Si le mode plan utilise la sémantique du mode auto quand le mode auto est disponible. Non lu à partir des paramètres de projet partagés. Apparaît dans `/config` comme « Utiliser le mode auto pendant le plan » | `false` |

319| `verbose` | {/* min-version: 2.1.119 */}Afficher la sortie complète de l'outil au lieu des résumés tronqués. Par défaut : `false`. Apparaît dans `/config` comme **Verbose output**. L'indicateur `--verbose` remplace ceci pour une session | `true` |325| `verbose` | {/* min-version: 2.1.119 */}**Par défaut** : `false`. Afficher la sortie complète de l'outil au lieu des résumés tronqués. Apparaît dans `/config` comme **Verbose output**. L'indicateur `--verbose` remplace ceci pour une session | `true` |

320| `viewMode` | Mode d'affichage de transcript par défaut au démarrage : `"default"`, `"verbose"`, ou `"focus"`. Remplace la sélection sticky `/focus` quand défini. L'indicateur `--verbose` remplace ceci pour une session | `"verbose"` |326| `viewMode` | Mode d'affichage de transcript par défaut au démarrage : `"default"`, `"verbose"`, ou `"focus"`. Remplace la sélection sticky `/focus` quand défini. L'indicateur `--verbose` remplace ceci pour une session | `"verbose"` |

321| `voice` | Paramètres de [dictée vocale](/fr/voice-dictation) : `enabled` active la dictée, `mode` sélectionne `"hold"` ou `"tap"`, et `autoSubmit` envoie l'invite à la libération de la touche en mode hold. Écrit automatiquement quand vous exécutez `/voice`. Nécessite un compte Claude.ai | `{ "enabled": true, "mode": "tap" }` |327| `voice` | Paramètres de [dictée vocale](/fr/voice-dictation) : `enabled` active la dictée, `mode` sélectionne `"hold"` ou `"tap"`, et `autoSubmit` envoie l'invite à la libération de la touche en mode hold. Écrit automatiquement quand vous exécutez `/voice`. Nécessite un compte Claude.ai | `{ "enabled": true, "mode": "tap" }` |

322| `voiceEnabled` | Alias hérité pour `voice.enabled`. Préférez l'objet `voice` | `true` |328| `voiceEnabled` | Alias hérité pour `voice.enabled`. Préférez l'objet `voice` | `true` |

323| `wheelScrollAccelerationEnabled` | {/* min-version: 2.1.174 */}Dans le [rendu fullscreen](/fr/fullscreen#mouse-wheel-scrolling), accélérer la vitesse de défilement à la molette pendant les défilements rapides. Par défaut : `true`. Définir à `false` pour un taux de défilement constant par cran de molette. Nécessite Claude Code v2.1.174 ou ultérieur | `false` |329| `wheelScrollAccelerationEnabled` | {/* min-version: 2.1.174 */}**Par défaut** : `true`. Dans le [rendu fullscreen](/fr/fullscreen#mouse-wheel-scrolling), accélérer la vitesse de défilement à la molette pendant les défilements rapides. Définir à `false` pour un taux de défilement constant par cran de molette. Nécessite Claude Code v2.1.174 ou ultérieur | `false` |

324| `workflowKeywordTriggerEnabled` | {/* min-version: 2.1.157 */}Si le mot-clé `ultracode` dans une invite déclenche un [workflow dynamique](/fr/workflows#ask-for-a-workflow-in-your-prompt). Définir à `false` pour taper le mot sans en déclencher un. Le paramètre d'effort ultracode, `/workflows`, et les commandes de workflow enregistrées ne sont pas affectés. Par défaut : `true`. Apparaît dans `/config` comme **Ultracode keyword trigger**. Ajouté dans v2.1.157 ; avant v2.1.160 le mot-clé de déclenchement était `workflow` | `false` |330| `workflowKeywordTriggerEnabled` | {/* min-version: 2.1.157 */}**Par défaut** : `true`. Si le mot-clé `ultracode` dans une invite déclenche un [workflow dynamique](/fr/workflows#ask-for-a-workflow-in-your-prompt). Définir à `false` pour taper le mot sans en déclencher un. Le paramètre d'effort ultracode, `/workflows`, et les commandes de workflow enregistrées ne sont pas affectés. Apparaît dans `/config` comme **Ultracode keyword trigger**. Ajouté dans v2.1.157 ; avant v2.1.160 le mot-clé de déclenchement était `workflow` | `false` |

325| `wslInheritsWindowsSettings` | (Paramètres gérés Windows uniquement) Quand `true`, Claude Code sur WSL lit les paramètres gérés à partir de la chaîne de politique Windows en plus de `/etc/claude-code`, avec les sources Windows ayant la priorité. Honoré uniquement quand défini dans la clé de registre HKLM ou `C:\Program Files\ClaudeCode\managed-settings.json`, qui nécessitent tous deux l'administrateur Windows pour écrire. Pour que la politique HKCU s'applique également sur WSL, l'indicateur doit également être défini dans HKCU lui-même. N'a aucun effet sur Windows natif | `true` |331| `wslInheritsWindowsSettings` | (Paramètres gérés Windows uniquement) Quand `true`, Claude Code sur WSL lit les paramètres gérés à partir de la chaîne de politique Windows en plus de `/etc/claude-code`, avec les sources Windows ayant la priorité. Honoré uniquement quand défini dans la clé de registre HKLM ou `C:\Program Files\ClaudeCode\managed-settings.json`, qui nécessitent tous deux l'administrateur Windows pour écrire. Pour que la politique HKCU s'applique également sur WSL, l'indicateur doit également être défini dans HKCU lui-même. N'a aucun effet sur Windows natif | `true` |

326 332 

327<h3 id="global-config-settings">333<h3 id="global-config-settings">


335</Note>341</Note>

336 342 

337| Clé | Description | Exemple |343| Clé | Description | Exemple |

338| :------------------------ | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :--------- |344| :------------------------ | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :--------- |

339| `autoConnectIde` | Se connecter automatiquement à un IDE en cours d'exécution quand Claude Code démarre à partir d'un terminal externe. Par défaut : `false`. Apparaît dans `/config` comme **Auto-connect to IDE (external terminal)** lors de l'exécution en dehors d'un terminal VS Code ou JetBrains. La variable d'environnement [`CLAUDE_CODE_AUTO_CONNECT_IDE`](/fr/env-vars) remplace ceci quand elle est définie | `true` |345| `autoConnectIde` | **Par défaut** : `false`. Se connecter automatiquement à un IDE en cours d'exécution quand Claude Code démarre à partir d'un terminal externe. Apparaît dans `/config` comme **Auto-connect to IDE (external terminal)** lors de l'exécution en dehors d'un terminal VS Code ou JetBrains. La variable d'environnement [`CLAUDE_CODE_AUTO_CONNECT_IDE`](/fr/env-vars) remplace ceci quand elle est définie | `true` |

340| `autoInstallIdeExtension` | Installer automatiquement l'extension Claude Code IDE lors de l'exécution à partir d'un terminal VS Code. Par défaut : `true`. Apparaît dans `/config` comme **Auto-install IDE extension** lors de l'exécution dans un terminal VS Code ou JetBrains. Vous pouvez également définir la variable d'environnement [`CLAUDE_CODE_IDE_SKIP_AUTO_INSTALL`](/fr/env-vars) | `false` |346| `autoInstallIdeExtension` | **Par défaut** : `true`. Installer automatiquement l'extension Claude Code IDE lors de l'exécution à partir d'un terminal VS Code. Apparaît dans `/config` comme **Auto-install IDE extension** lors de l'exécution dans un terminal VS Code ou JetBrains. Vous pouvez également définir la variable d'environnement [`CLAUDE_CODE_IDE_SKIP_AUTO_INSTALL`](/fr/env-vars) | `false` |

341| `externalEditorContext` | Ajouter la réponse précédente de Claude comme contexte commenté avec `#` quand vous ouvrez l'éditeur externe avec `Ctrl+G`. Par défaut : `false`. Apparaît dans `/config` comme **Show last response in external editor** | `true` |347| `externalEditorContext` | **Par défaut** : `false`. Ajouter la réponse précédente de Claude comme contexte commenté avec `#` quand vous ouvrez l'éditeur externe avec `Ctrl+G`. Apparaît dans `/config` comme **Show last response in external editor** | `true` |

342| `teammateDefaultModel` | Modèle par défaut pour les coéquipiers de l'[équipe d'agents](/fr/agent-teams) quand l'invite de génération ne spécifie pas un. Définir à un alias de modèle tel que `"sonnet"`, ou `null` pour hériter de la sélection `/model` actuelle du leader. Apparaît dans `/config` comme **Default teammate model** | `"sonnet"` |348| `teammateDefaultModel` | Modèle par défaut pour les coéquipiers de l'[équipe d'agents](/fr/agent-teams) quand l'invite de génération ne spécifie pas un. Définir à un alias de modèle tel que `"sonnet"`, ou `null` pour hériter de la sélection `/model` actuelle du leader. Apparaît dans `/config` comme **Default teammate model** | `"sonnet"` |

343 349 

344<h3 id="worktree-settings">350<h3 id="worktree-settings">


394Configurez le comportement avancé du sandboxing. Le sandboxing isole les commandes bash de votre système de fichiers et réseau. Voir [Sandboxing](/fr/sandboxing) pour plus de détails.400Configurez le comportement avancé du sandboxing. Le sandboxing isole les commandes bash de votre système de fichiers et réseau. Voir [Sandboxing](/fr/sandboxing) pour plus de détails.

395 401 

396| Clés | Description | Exemple |402| Clés | Description | Exemple |

397| :------------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :-------------------------------- |403| :------------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :--------------------------------------------------- |

398| `enabled` | Activer le sandboxing bash (macOS, Linux, et WSL2). Par défaut : false | `true` |404| `enabled` | Activer le sandboxing bash (macOS, Linux, et WSL2). Par défaut : false | `true` |

399| `failIfUnavailable` | Quitter avec une erreur au démarrage si `sandbox.enabled` est true mais que le sandbox ne peut pas démarrer (dépendances manquantes ou plateforme non supportée). Quand false (par défaut), un avertissement est affiché et les commandes s'exécutent sans sandbox. Destiné aux déploiements de paramètres gérés qui nécessitent le sandboxing comme une porte dure | `true` |405| `failIfUnavailable` | Quitter avec une erreur au démarrage si `sandbox.enabled` est true mais que le sandbox ne peut pas démarrer (dépendances manquantes ou plateforme non supportée). Quand false (par défaut), un avertissement est affiché et les commandes s'exécutent sans sandbox. Destiné aux déploiements de paramètres gérés qui nécessitent le sandboxing comme une porte dure | `true` |

400| `autoAllowBashIfSandboxed` | Approuver automatiquement les commandes bash quand sandboxées. Par défaut : true | `true` |406| `autoAllowBashIfSandboxed` | Approuver automatiquement les commandes bash quand sandboxées. Par défaut : true | `true` |


405| `filesystem.denyRead` | Chemins où les commandes sandboxées ne peuvent pas lire. Les tableaux sont fusionnés dans toutes les portées de paramètres. Également fusionnés avec les chemins des règles de permission `Read(...)` deny. | `["~/.aws/credentials"]` |411| `filesystem.denyRead` | Chemins où les commandes sandboxées ne peuvent pas lire. Les tableaux sont fusionnés dans toutes les portées de paramètres. Également fusionnés avec les chemins des règles de permission `Read(...)` deny. | `["~/.aws/credentials"]` |

406| `filesystem.allowRead` | Chemins à réautoriser pour la lecture dans les régions `denyRead`. A la priorité sur `denyRead`. Les tableaux sont fusionnés dans toutes les portées de paramètres. Utilisez ceci pour créer des modèles d'accès en lecture spécifiques à l'espace de travail. | `["."]` |412| `filesystem.allowRead` | Chemins à réautoriser pour la lecture dans les régions `denyRead`. A la priorité sur `denyRead`. Les tableaux sont fusionnés dans toutes les portées de paramètres. Utilisez ceci pour créer des modèles d'accès en lecture spécifiques à l'espace de travail. | `["."]` |

407| `filesystem.allowManagedReadPathsOnly` | (Paramètres gérés uniquement) Seuls les chemins `allowRead` à partir des paramètres gérés sont respectés. `denyRead` fusionne toujours à partir de toutes les sources. Par défaut : false | `true` |413| `filesystem.allowManagedReadPathsOnly` | (Paramètres gérés uniquement) Seuls les chemins `allowRead` à partir des paramètres gérés sont respectés. `denyRead` fusionne toujours à partir de toutes les sources. Par défaut : false | `true` |

414| `credentials.files` | Fichiers ou répertoires d'identifiants que les commandes sandboxées ne peuvent pas lire. Applique le même bloc de lecture que `filesystem.denyRead` ; la clé séparée garde les chemins d'identifiants groupés avec `credentials.envVars` et à l'écart des règles générales du système de fichiers. Chaque entrée est `{ "path": "...", "mode": "deny" }`. Les chemins utilisent les mêmes [préfixes](#sandbox-path-prefixes) que les paramètres `filesystem.*`. Les tableaux sont fusionnés dans toutes les portées de paramètres. Seul `deny` est supporté. Nécessite Claude Code v2.1.187 ou ultérieur. | `[{ "path": "~/.aws/credentials", "mode": "deny" }]` |

415| `credentials.envVars` | Variables d'environnement à désactiver avant d'exécuter les commandes sandboxées. Chaque entrée est `{ "name": "...", "mode": "deny" }`. Les tableaux sont fusionnés dans toutes les portées de paramètres. Seul `deny` est supporté. Nécessite Claude Code v2.1.187 ou ultérieur. | `[{ "name": "GITHUB_TOKEN", "mode": "deny" }]` |

408| `network.allowUnixSockets` | (macOS uniquement) Chemins de socket Unix accessibles dans le sandbox. Ignoré sur Linux et WSL2, où le filtre seccomp ne peut pas inspecter les chemins de socket ; utilisez `allowAllUnixSockets` à la place. | `["~/.ssh/agent-socket"]` |416| `network.allowUnixSockets` | (macOS uniquement) Chemins de socket Unix accessibles dans le sandbox. Ignoré sur Linux et WSL2, où le filtre seccomp ne peut pas inspecter les chemins de socket ; utilisez `allowAllUnixSockets` à la place. | `["~/.ssh/agent-socket"]` |

409| `network.allowAllUnixSockets` | Autoriser toutes les connexions de socket Unix dans le sandbox. Sur Linux et WSL2, c'est le seul moyen de permettre les sockets Unix, car il ignore le filtre seccomp qui bloque autrement les appels `socket(AF_UNIX, ...)`. Par défaut : false | `true` |417| `network.allowAllUnixSockets` | Autoriser toutes les connexions de socket Unix dans le sandbox. Sur Linux et WSL2, c'est le seul moyen de permettre les sockets Unix, car il ignore le filtre seccomp qui bloque autrement les appels `socket(AF_UNIX, ...)`. Par défaut : false | `true` |

410| `network.allowLocalBinding` | Autoriser la liaison aux ports localhost (macOS uniquement). Par défaut : false | `true` |418| `network.allowLocalBinding` | Autoriser la liaison aux ports localhost (macOS uniquement). Par défaut : false | `true` |


424 Préfixes de chemin sandbox432 Préfixes de chemin sandbox

425</h4>433</h4>

426 434 

427Les chemins dans `filesystem.allowWrite`, `filesystem.denyWrite`, `filesystem.denyRead`, et `filesystem.allowRead` supportent ces préfixes :435Les chemins dans `filesystem.allowWrite`, `filesystem.denyWrite`, `filesystem.denyRead`, `filesystem.allowRead`, et `credentials.files` supportent ces préfixes :

428 436 

429| Préfixe | Signification | Exemple |437| Préfixe | Signification | Exemple |

430| :--------------------- | :------------------------------------------------------------------------------------------------------------ | :--------------------------------------------------------------------------- |438| :--------------------- | :------------------------------------------------------------------------------------------------------------ | :--------------------------------------------------------------------------- |


481**Attribution de commit par défaut :**489**Attribution de commit par défaut :**

482 490 

483```text theme={null}491```text theme={null}

484Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>492Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>

485```493```

486 494 

487Le nom du modèle dans le trailer reflète le modèle actif pour la session.495Le nom du modèle dans le trailer reflète le modèle actif pour la session.


6541. **Paramètres gérés** ([gérés par le serveur](/fr/server-managed-settings), [politiques MDM/au niveau du système d'exploitation](#configuration-scopes), ou [paramètres gérés](/fr/settings#settings-files))6621. **Paramètres gérés** ([gérés par le serveur](/fr/server-managed-settings), [politiques MDM/au niveau du système d'exploitation](#configuration-scopes), ou [paramètres gérés](/fr/settings#settings-files))

655 * Politiques déployées par l'IT via la livraison par serveur, les profils de configuration MDM, les politiques de registre, ou les fichiers de paramètres gérés663 * Politiques déployées par l'IT via la livraison par serveur, les profils de configuration MDM, les politiques de registre, ou les fichiers de paramètres gérés

656 * Ne peuvent pas être contournés par aucun autre niveau, y compris les arguments de ligne de commande664 * Ne peuvent pas être contournés par aucun autre niveau, y compris les arguments de ligne de commande

657 * Au sein du niveau géré, la précédence est : gérés par le serveur > politiques MDM/au niveau du système d'exploitation > fichiers (`managed-settings.d/*.json` + `managed-settings.json`) > registre HKCU (Windows uniquement). Une seule source gérée est utilisée ; les sources ne fusionnent pas entre les niveaux. Au sein du niveau basé sur fichier, les fichiers drop-in et le fichier de base sont fusionnés ensemble.665 * Au sein du niveau géré, la précédence est : [`policyHelper`](#compute-managed-settings-with-a-policy-helper) output, qui quand configuré est la seule source gérée utilisée > distant (paramètres gérés par le serveur [claude.ai](/fr/server-managed-settings) ou [passerelle d'applications Claude](/fr/claude-apps-gateway)-livrés) > politiques MDM/au niveau du système d'exploitation > fichiers (`managed-settings.d/*.json` + `managed-settings.json`) > registre HKCU (Windows uniquement). Une seule source gérée est utilisée ; les sources ne fusionnent pas entre les niveaux, avec une exception : les clés de verrouillage sandbox `sandbox.network.allowManagedDomainsOnly` et `sandbox.filesystem.allowManagedReadPathsOnly`, avec leurs listes blanches associées, `allowAllClaudeAiMcps`, et les chemins binaires sandbox `sandbox.bwrapPath` et `sandbox.socatPath` sont honorés quand n'importe quelle source gérée contrôlée par l'administrateur les définit ; le niveau HKCU inscriptible par l'utilisateur est exclu. Au sein du niveau basé sur fichier, les fichiers drop-in et le fichier de base sont fusionnés ensemble.

658 * Les hôtes d'intégration tels que Claude Desktop peuvent fournir une politique via l'option SDK `managedSettings`. Par défaut, ceci est ignoré quand n'importe quel niveau géré est présent. Les administrateurs peuvent opter en définissant [`parentSettingsBehavior`](#available-settings) à `"merge"`. Les valeurs de l'intégrateur sont filtrées pour qu'elles puissent resserrer la politique gérée mais pas l'assouplir.666 * Les hôtes d'intégration tels que Claude Desktop peuvent fournir une politique via l'option SDK `managedSettings`. Par défaut, ceci est ignoré quand une source gérée déployée par l'administrateur est présente : paramètres gérés par le serveur, une politique MDM ou au niveau du système d'exploitation, ou un fichier de paramètres gérés. Le fallback de registre HKCU inscriptible par l'utilisateur ne compte pas comme une source déployée par l'administrateur. Les administrateurs peuvent opter en définissant [`parentSettingsBehavior`](#available-settings) à `"merge"`. Les valeurs de l'intégrateur sont filtrées pour qu'elles puissent resserrer la politique gérée mais pas l'assouplir.

659 667 

6602. **Arguments de ligne de commande**6682. **Arguments de ligne de commande**

661 * Remplacements temporaires pour une session spécifique. JSON passé via `--settings <file-or-json>` fusionne avec les paramètres basés sur fichier en utilisant les mêmes règles que les autres couches : une clé définie ici remplace la même clé dans les paramètres locaux, de projet ou utilisateur, et omettre une clé laisse la valeur de couche inférieure en place669 * Remplacements temporaires pour une session spécifique. JSON passé via `--settings <file-or-json>` fusionne avec les paramètres basés sur fichier en utilisant les mêmes règles que les autres couches : une clé définie ici remplace la même clé dans les paramètres locaux, de projet ou utilisateur, et omettre une clé laisse la valeur de couche inférieure en place


674Par exemple, si vos paramètres utilisateur définissent `permissions.defaultMode` à `acceptEdits` et que les paramètres partagés d'un projet le définissent à `default`, la valeur du projet s'applique. L'exemple ci-dessous couvre comment les paramètres avec valeur de tableau tels que les règles de permission se combinent à la place.682Par exemple, si vos paramètres utilisateur définissent `permissions.defaultMode` à `acceptEdits` et que les paramètres partagés d'un projet le définissent à `default`, la valeur du projet s'applique. L'exemple ci-dessous couvre comment les paramètres avec valeur de tableau tels que les règles de permission se combinent à la place.

675 683 

676<Note>684<Note>

677 **Les paramètres de tableau fusionnent entre les portées.** Quand le même paramètre avec valeur de tableau (tel que `sandbox.filesystem.allowWrite` ou `permissions.allow`) apparaît dans plusieurs portées, les tableaux sont **concaténés et dédupliqués**, non remplacés. Cela signifie que les portées de priorité inférieure peuvent ajouter des entrées sans remplacer celles définies par les portées de priorité supérieure, et vice versa. Par exemple, si les paramètres gérés définissent `allowWrite` à `["/opt/company-tools"]` et qu'un utilisateur ajoute `["~/.kube"]`, les deux chemins sont inclus dans la configuration finale. Deux exceptions : [`fallbackModel`](#available-settings), une chaîne ordonnée où la position porte du sens : le fichier de priorité la plus élevée qui la définit fournit la valeur entière, et {/* min-version: 2.1.175 */}à partir de v2.1.175, [`availableModels`](#available-settings), où une valeur gérée ou de politique remplace les entrées de priorité inférieure entièrement. Voir [Comportement de fusion](/fr/model-config#merge-behavior).685 **Les paramètres de tableau fusionnent entre les portées.** Quand le même paramètre avec valeur de tableau (tel que `sandbox.filesystem.allowWrite` ou `permissions.allow`) apparaît dans plusieurs portées, les tableaux sont **concaténés et dédupliqués**, non remplacés. Cela signifie que les portées de priorité inférieure peuvent ajouter des entrées sans remplacer celles définies par les portées de priorité supérieure, et vice versa. Par exemple, si les paramètres gérés définissent `allowWrite` à `["/opt/company-tools"]` et qu'un utilisateur ajoute `["~/.kube"]`, les deux chemins sont inclus dans la configuration finale.

686 

687 Deux paramètres de tableau ne fusionnent pas de cette façon :

688 

689 * [`fallbackModel`](#available-settings) est une chaîne ordonnée où la position porte du sens : le fichier de priorité la plus élevée qui la définit fournit la valeur entière.

690 * [`availableModels`](#available-settings) : {/* min-version: 2.1.175 */}quand la [source gérée de priorité la plus élevée](/fr/server-managed-settings#settings-precedence) la définit, cette liste s'applique telle quelle et les entrées utilisateur, projet et locales ne peuvent pas l'étendre. Entre les portées non gérées, les tableaux fusionnent comme d'habitude. Voir [Comportement de fusion](/fr/model-config#merge-behavior).

678</Note>691</Note>

679 692 

680<h3 id="verify-active-settings">693<h3 id="verify-active-settings">

681 Vérifier les paramètres actifs694 Vérifier les paramètres actifs

682</h3>695</h3>

683 696 

684Exécutez `/status` à l'intérieur de Claude Code pour voir quelles sources de paramètres sont actives. À l'intérieur du menu, l'onglet **Status** inclut une ligne `Setting sources` qui énumère chaque couche Claude Code a chargée pour la session actuelle, telle que `User settings` ou `Project local settings`. Quand les [paramètres gérés](/fr/admin-setup#decide-how-settings-reach-devices) sont en vigueur, l'entrée affiche le canal de livraison entre parenthèses, par exemple `Enterprise managed settings (remote)`, `(plist)`, `(HKLM)`, `(HKCU)`, ou `(file)`. Une couche apparaît dans la liste uniquement quand cette source est chargée avec au moins une clé, donc une liste vide signifie qu'aucune source de paramètres n'a été trouvée.697Exécutez `/status` à l'intérieur de Claude Code pour voir quelles sources de paramètres sont actives. À l'intérieur du menu, l'onglet **Status** inclut une ligne `Setting sources` qui énumère chaque couche Claude Code a chargée pour la session actuelle, telle que `User settings` ou `Project local settings`. Quand les [paramètres gérés](/fr/admin-setup#decide-how-settings-reach-devices) sont en vigueur, l'entrée affiche le canal de livraison entre parenthèses, par exemple `Enterprise managed settings (remote)`, `(plist)`, `(HKLM)`, `(HKCU)`, ou `(file)`. Le canal `remote` couvre à la fois les paramètres gérés par le serveur claude.ai et les politiques [passerelle d'applications Claude](/fr/claude-apps-gateway)-livrées. Une couche apparaît dans la liste uniquement quand cette source est chargée avec au moins une clé, donc une liste vide signifie qu'aucune source de paramètres n'a été trouvée.

685 698 

686La ligne `Setting sources` confirme quels fichiers sont en cours de lecture. Elle n'affiche pas quelle couche a fourni chaque clé individuelle. L'onglet **Config** dans le même dialogue est un éditeur pour un ensemble fixe de bascules telles que le thème et la sortie détaillée, pas une vue de vos contenus `settings.json`.699La ligne `Setting sources` confirme quels fichiers sont en cours de lecture. Elle n'affiche pas quelle couche a fourni chaque clé individuelle. L'onglet **Config** dans le même dialogue est un éditeur pour un ensemble fixe de bascules telles que le thème et la sortie détaillée, pas une vue de vos contenus `settings.json`.

687 700 


696* **Skills** : Invites personnalisées qui peuvent être invoquées avec `/skill-name` ou chargées automatiquement par Claude709* **Skills** : Invites personnalisées qui peuvent être invoquées avec `/skill-name` ou chargées automatiquement par Claude

697* **MCP servers** : Étendez Claude Code avec des outils et des intégrations supplémentaires710* **MCP servers** : Étendez Claude Code avec des outils et des intégrations supplémentaires

698* **Précédence** : Les configurations de niveau supérieur (Managed) remplacent celles de niveau inférieur (User/Project)711* **Précédence** : Les configurations de niveau supérieur (Managed) remplacent celles de niveau inférieur (User/Project)

699* **Héritage** : Les paramètres fusionnent entre les portées ; les valeurs scalaires des portées de priorité supérieure remplacent, et les tableaux se concatènent. Exceptions : `fallbackModel` est une chaîne ordonnée où la portée de priorité la plus élevée fournit la chaîne entière, et à partir de v2.1.175, `availableModels` une valeur gérée ou de politique remplace les entrées de priorité inférieure712* **Héritage** : Les paramètres fusionnent entre les portées ; les valeurs scalaires des portées de priorité supérieure remplacent, et les tableaux se concatènent, avec deux exceptions décrites dans la [Note de fusion de tableau](#settings-precedence)

700 713 

701<h3 id="system-prompt">714<h3 id="system-prompt">

702 Invite système715 Invite système


704 717 

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

706 719 

707<h3 id="excluding-sensitive-files">720<h3 id="exclude-sensitive-files">

708 Exclure les fichiers sensibles721 Exclure les fichiers sensibles

709</h3>722</h3>

710 723 


732 745 

733Claude Code supporte les subagents IA personnalisés qui peuvent être configurés aux niveaux utilisateur et projet. Ces subagents sont stockés en tant que fichiers Markdown avec du frontmatter YAML :746Claude Code supporte les subagents IA personnalisés qui peuvent être configurés aux niveaux utilisateur et projet. Ces subagents sont stockés en tant que fichiers Markdown avec du frontmatter YAML :

734 747 

735* **Subagents utilisateur** : `~/.claude/agents/` - Disponibles dans tous vos projets748* **Subagents utilisateur** : `~/.claude/agents/`, disponibles dans tous vos projets

736* **Subagents de projet** : `.claude/agents/` - Spécifiques à votre projet et peuvent être partagés avec votre équipe749* **Subagents de projet** : `.claude/agents/`, spécifiques à votre projet et partageables avec votre équipe

737 750 

738Les fichiers de subagent définissent des assistants IA spécialisés avec des invites personnalisées et des permissions d'outils. En savoir plus sur la création et l'utilisation des subagents dans la [documentation des subagents](/fr/sub-agents).751Les fichiers de subagent définissent des assistants IA spécialisés avec des invites personnalisées et des permissions d'outils. En savoir plus sur la création et l'utilisation des subagents dans la [documentation des subagents](/fr/sub-agents).

739 752 


784 Les paramètres de projet ont la priorité sur les paramètres utilisateur, donc définir un plugin à `false` dans `~/.claude/settings.json` ne désactive pas un plugin que le `.claude/settings.json` du projet active. Pour refuser un plugin activé par le projet sur votre machine, définissez-le à `false` dans `.claude/settings.local.json` à la place.797 Les paramètres de projet ont la priorité sur les paramètres utilisateur, donc définir un plugin à `false` dans `~/.claude/settings.json` ne désactive pas un plugin que le `.claude/settings.json` du projet active. Pour refuser un plugin activé par le projet sur votre machine, définissez-le à `false` dans `.claude/settings.local.json` à la place.

785 798 

786 Les plugins forcément activés par les paramètres gérés ne peuvent pas être désactivés de cette manière, car les paramètres gérés remplacent les paramètres locaux.799 Les plugins forcément activés par les paramètres gérés ne peuvent pas être désactivés de cette manière, car les paramètres gérés remplacent les paramètres locaux.

800 

801 L'activation d'un plugin à partir d'une source externe telle qu'un référentiel GitHub ou un package npm dans le `.claude/settings.json` d'un projet ne l'installe pas pour d'autres personnes. À partir de Claude Code v2.1.195, chaque chemin qui charge les plugins demande à chaque utilisateur d'[installer et faire confiance au plugin](/fr/discover-plugins#configure-team-marketplaces) avant qu'il s'exécute.

787</Note>802</Note>

788 803 

789**Exemple** :804**Exemple** :


886 901 

887* Disponible uniquement dans les paramètres gérés (`managed-settings.json`)902* Disponible uniquement dans les paramètres gérés (`managed-settings.json`)

888* Ne peut pas être contourné par les paramètres utilisateur ou projet (précédence la plus élevée)903* Ne peut pas être contourné par les paramètres utilisateur ou projet (précédence la plus élevée)

889* Appliqué AVANT les opérations de réseau/système de fichiers (les sources bloquées ne s'exécutent jamais)904* Appliqué avant les opérations de réseau et système de fichiers, donc les sources bloquées ne s'exécutent jamais

890* Utilise la correspondance exacte pour les spécifications de source (y compris `ref`, `path` pour les sources git), sauf `hostPattern` et `pathPattern`, qui utilisent la correspondance regex905* Utilise la correspondance exacte pour les spécifications de source (y compris `ref`, `path` pour les sources git), sauf `hostPattern` et `pathPattern`, qui utilisent la correspondance regex

891 906 

892**Comportement de la liste blanche** :907**Comportement de la liste blanche** :

893 908 

894* `undefined` (par défaut) : Pas de restrictions - les utilisateurs peuvent ajouter n'importe quelle marketplace909* `undefined` (par défaut) : pas de restrictions, donc les utilisateurs peuvent ajouter n'importe quelle marketplace

895* Tableau vide `[]` : Verrouillage complet - les utilisateurs ne peuvent pas ajouter de nouvelles marketplaces910* Tableau vide `[]` : verrouillage complet, donc les utilisateurs ne peuvent pas ajouter de nouvelles marketplaces

896* Liste de sources : Les utilisateurs ne peuvent ajouter que les marketplaces qui correspondent exactement911* Liste de sources : les utilisateurs ne peuvent ajouter que les marketplaces qui correspondent exactement

897 912 

898**Tous les types de source supportés** :913**Tous les types de source supportés** :

899 914 


907{ "source": "github", "repo": "acme-corp/plugins", "ref": "main", "path": "marketplace" }922{ "source": "github", "repo": "acme-corp/plugins", "ref": "main", "path": "marketplace" }

908```923```

909 924 

910Champs : `repo` (requis), `ref` (optionnel : branche/tag/SHA), `path` (optionnel : sous-répertoire)925Champs : `repo` (requis), `ref` (optionnel : branche ou tag), `path` (optionnel : sous-répertoire)

911 926 

9122. **Référentiels Git** :9272. **Référentiels Git** :

913 928 


917{ "source": "git", "url": "ssh://git@git.example.com/plugins.git", "ref": "v3.1", "path": "approved" }932{ "source": "git", "url": "ssh://git@git.example.com/plugins.git", "ref": "v3.1", "path": "approved" }

918```933```

919 934 

920Champs : `url` (requis), `ref` (optionnel : branche/tag/SHA), `path` (optionnel : sous-répertoire)935Champs : `url` (requis), `ref` (optionnel : branche ou tag), `path` (optionnel : sous-répertoire)

921 936 

9223. **Marketplaces basées sur URL** :9373. **Marketplaces basées sur URL** :

923 938 


1016}1031}

1017```1032```

1018 1033 

1019Exemple - Désactiver tous les ajouts de marketplace :1034Exemple : désactiver tous les ajouts de marketplace :

1020 1035 

1021```json theme={null}1036```json theme={null}

1022{1037{


1039 1054 

1040**Exigences de correspondance exacte** :1055**Exigences de correspondance exacte** :

1041 1056 

1042Les sources de marketplace doivent correspondre **exactement** pour qu'un ajout d'utilisateur soit autorisé. Pour les sources basées sur git (`github` et `git`), cela inclut tous les champs optionnels :1057Les sources de marketplace doivent correspondre exactement pour qu'un ajout d'utilisateur soit autorisé. Pour les sources basées sur git (`github` et `git`), cela inclut tous les champs optionnels :

1043 1058 

1044* Le `repo` ou `url` doit correspondre exactement1059* Le `repo` ou `url` doit correspondre exactement

1045* Le champ `ref` doit correspondre exactement (ou les deux être non définis)1060* Le champ `ref` doit correspondre exactement (ou les deux être non définis)

1046* Le champ `path` doit correspondre exactement (ou les deux être non définis)1061* Le champ `path` doit correspondre exactement (ou les deux être non définis)

1047 1062 

1048Exemples de sources qui **NE correspondent PAS** :1063Exemples de sources qui ne correspondent pas :

1049 1064 

1050```json theme={null}1065```json theme={null}

1051// Ce sont des sources DIFFÉRENTES :1066// Ce sont des sources DIFFÉRENTES :


1114 1129 

1115**Notes importantes** :1130**Notes importantes** :

1116 1131 

1117* Les restrictions sont vérifiées AVANT toute demande réseau ou opération de système de fichiers1132* Les restrictions sont vérifiées avant toute demande réseau ou opération de système de fichiers

1118* Quand bloquée, les utilisateurs voient des messages d'erreur clairs indiquant que la source est bloquée par la politique gérée1133* Quand bloquée, les utilisateurs voient des messages d'erreur clairs indiquant que la source est bloquée par la politique gérée

1119* La restriction s'applique à l'ajout de marketplace et à l'installation, la mise à jour, l'actualisation et la mise à jour automatique de plugins. Une marketplace ajoutée avant que la politique soit définie ne peut pas être utilisée pour installer ou mettre à jour des plugins une fois que sa source ne correspond plus à la liste blanche1134* La restriction s'applique à l'ajout de marketplace et à l'installation, la mise à jour, l'actualisation et la mise à jour automatique de plugins. Une marketplace ajoutée avant que la politique soit définie ne peut pas être utilisée pour installer ou mettre à jour des plugins une fois que sa source ne correspond plus à la liste blanche

1120* Les paramètres gérés ont la précédence la plus élevée et ne peuvent pas être contournés1135* Les paramètres gérés ont la précédence la plus élevée et ne peuvent pas être contournés


1150 1165 

1151Les noms de surface qu'une version de Claude Code ne reconnaît pas sont ignorés plutôt que de faire échouer le fichier de paramètres, afin que vous puissiez ajouter de nouveaux noms de surface avant que tous les clients se mettent à jour.1166Les noms de surface qu'une version de Claude Code ne reconnaît pas sont ignorés plutôt que de faire échouer le fichier de paramètres, afin que vous puissiez ajouter de nouveaux noms de surface avant que tous les clients se mettent à jour.

1152 1167 

1153<h3 id="managing-plugins">1168<h3 id="manage-plugins">

1154 Gérer les plugins1169 Gérer les plugins

1155</h3>1170</h3>

1156 1171 

setup.md +1 −1

Details

36</h2>36</h2>

37 37 

38<Tip>38<Tip>

39 Préférez une interface graphique ? L'[application de bureau](/fr/desktop-quickstart) vous permet d'utiliser Claude Code sans le terminal. Téléchargez-la pour [macOS](https://claude.ai/api/desktop/darwin/universal/dmg/latest/redirect?utm_source=claude_code\&utm_medium=docs) ou [Windows](https://claude.com/download?utm_source=claude_code\&utm_medium=docs).39 Préférez une interface graphique ? L'[application de bureau](/fr/desktop-quickstart) vous permet d'utiliser Claude Code sans le terminal. Téléchargez-la pour [macOS](https://claude.ai/api/desktop/darwin/universal/dmg/latest/redirect?utm_source=claude_code\&utm_medium=docs), [Windows](https://claude.com/download?utm_source=claude_code\&utm_medium=docs) ou [Linux](https://claude.com/download?utm_source=claude_code\&utm_medium=docs).

40 40 

41 Nouveau sur le terminal ? Consultez le [guide du terminal](/fr/terminal-guide) pour des instructions étape par étape.41 Nouveau sur le terminal ? Consultez le [guide du terminal](/fr/terminal-guide) pour des instructions étape par étape.

42</Tip>42</Tip>

skills.md +8 −3

Details

251| `when_to_use` | Non | Contexte supplémentaire pour quand Claude devrait invoquer la skill, comme les phrases déclencheurs ou les demandes d'exemple. Ajouté à `description` dans la liste des skills et compte vers le plafond de 1 536 caractères. |251| `when_to_use` | Non | Contexte supplémentaire pour quand Claude devrait invoquer la skill, comme les phrases déclencheurs ou les demandes d'exemple. Ajouté à `description` dans la liste des skills et compte vers le plafond de 1 536 caractères. |

252| `argument-hint` | Non | Indice affiché lors de l'autocomplétion pour indiquer les arguments attendus. Exemple : `[issue-number]` ou `[filename] [format]`. |252| `argument-hint` | Non | Indice affiché lors de l'autocomplétion pour indiquer les arguments attendus. Exemple : `[issue-number]` ou `[filename] [format]`. |

253| `arguments` | Non | Arguments positionnels nommés pour la [substitution `$name`](#available-string-substitutions) dans le contenu de la skill. Accepte une chaîne séparée par des espaces ou une liste YAML. Les noms correspondent aux positions d'argument dans l'ordre. |253| `arguments` | Non | Arguments positionnels nommés pour la [substitution `$name`](#available-string-substitutions) dans le contenu de la skill. Accepte une chaîne séparée par des espaces ou une liste YAML. Les noms correspondent aux positions d'argument dans l'ordre. |

254| `disable-model-invocation` | Non | Définissez à `true` pour empêcher Claude de charger automatiquement cette skill. Utilisez pour les workflows que vous voulez déclencher manuellement avec `/name`. Empêche également la skill d'être [préchargée dans les subagents](/fr/sub-agents#preload-skills-into-subagents). Par défaut : `false`. |254| `disable-model-invocation` | Non | Définissez à `true` pour empêcher Claude de charger automatiquement cette skill. Utilisez pour les workflows que vous voulez déclencher manuellement avec `/name`. Empêche également la skill d'être [préchargée dans les subagents](/fr/sub-agents#preload-skills-into-subagents). À partir de v2.1.196, empêche également la skill de s'exécuter quand une [tâche planifiée](/fr/scheduled-tasks) se déclenche avec la skill comme prompt. Par défaut : `false`. |

255| `user-invocable` | Non | Définissez à `false` pour masquer du menu `/`. Utilisez pour les connaissances de base que les utilisateurs ne devraient pas invoquer directement. Par défaut : `true`. |255| `user-invocable` | Non | Définissez à `false` pour masquer du menu `/`. Utilisez pour les connaissances de base que les utilisateurs ne devraient pas invoquer directement. Par défaut : `true`. |

256| `allowed-tools` | Non | Outils que Claude peut utiliser sans demander la permission quand cette skill est active. Accepte une chaîne séparée par des espaces ou une liste YAML. |256| `allowed-tools` | Non | Outils que Claude peut utiliser sans demander la permission quand cette skill est active. Accepte une chaîne séparée par des espaces ou une liste YAML. |

257| `disallowed-tools` | Non | Outils supprimés du pool d'outils disponibles de Claude tandis que cette skill est active. Utilisez pour les skills autonomes qui ne devraient jamais appeler certains outils, comme `AskUserQuestion` pour une boucle de fond. Accepte une chaîne séparée par des espaces ou une liste YAML. La restriction s'efface quand vous envoyez votre prochain message. |257| `disallowed-tools` | Non | Outils supprimés du pool d'outils disponibles de Claude tandis que cette skill est active. Utilisez pour les skills autonomes qui ne devraient jamais appeler certains outils, comme `AskUserQuestion` pour une boucle de fond. Accepte une chaîne séparée par des espaces ou une liste YAML. La restriction s'efface quand vous envoyez votre prochain message. |


288Les skills supportent la substitution de chaîne pour les valeurs dynamiques dans le contenu de la skill :288Les skills supportent la substitution de chaîne pour les valeurs dynamiques dans le contenu de la skill :

289 289 

290| Variable | Description |290| Variable | Description |

291| :--------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |291| :---------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |

292| `$ARGUMENTS` | Tous les arguments passés lors de l'invocation de la skill. Si `$ARGUMENTS` n'est pas présent dans le contenu, les arguments sont ajoutés comme `ARGUMENTS: <value>`. |292| `$ARGUMENTS` | Tous les arguments passés lors de l'invocation de la skill. Si `$ARGUMENTS` n'est pas présent dans le contenu, les arguments sont ajoutés comme `ARGUMENTS: <value>`. |

293| `$ARGUMENTS[N]` | Accédez à un argument spécifique par index basé sur 0, comme `$ARGUMENTS[0]` pour le premier argument. |293| `$ARGUMENTS[N]` | Accédez à un argument spécifique par index basé sur 0, comme `$ARGUMENTS[0]` pour le premier argument. |

294| `$N` | Raccourci pour `$ARGUMENTS[N]`, comme `$0` pour le premier argument ou `$1` pour le deuxième. |294| `$N` | Raccourci pour `$ARGUMENTS[N]`, comme `$0` pour le premier argument ou `$1` pour le deuxième. |


296| `${CLAUDE_SESSION_ID}` | L'ID de session actuel. Utile pour la journalisation, la création de fichiers spécifiques à la session, ou la corrélation de la sortie de la skill avec les sessions. |296| `${CLAUDE_SESSION_ID}` | L'ID de session actuel. Utile pour la journalisation, la création de fichiers spécifiques à la session, ou la corrélation de la sortie de la skill avec les sessions. |

297| `${CLAUDE_EFFORT}` | Le niveau d'effort actuel : `low`, `medium`, `high`, `xhigh`, ou `max`. Ultracode n'est pas un niveau distinct et est signalé comme `xhigh`. Utilisez ceci pour adapter les instructions de la skill au paramètre d'effort actif. |297| `${CLAUDE_EFFORT}` | Le niveau d'effort actuel : `low`, `medium`, `high`, `xhigh`, ou `max`. Ultracode n'est pas un niveau distinct et est signalé comme `xhigh`. Utilisez ceci pour adapter les instructions de la skill au paramètre d'effort actif. |

298| `${CLAUDE_SKILL_DIR}` | Le répertoire contenant le fichier `SKILL.md` de la skill. Pour les skills de plugin, c'est le sous-répertoire de la skill dans le plugin, pas la racine du plugin. Utilisez ceci dans les commandes d'injection bash pour référencer les scripts ou les fichiers groupés avec la skill, indépendamment du répertoire de travail actuel. |298| `${CLAUDE_SKILL_DIR}` | Le répertoire contenant le fichier `SKILL.md` de la skill. Pour les skills de plugin, c'est le sous-répertoire de la skill dans le plugin, pas la racine du plugin. Utilisez ceci dans les commandes d'injection bash pour référencer les scripts ou les fichiers groupés avec la skill, indépendamment du répertoire de travail actuel. |

299| `${CLAUDE_PROJECT_DIR}` | Le répertoire racine du projet. C'est le même chemin que les [hooks](/fr/hooks#reference-scripts-by-path) et les serveurs MCP reçoivent comme `CLAUDE_PROJECT_DIR`. Utilisez ceci pour référencer les scripts ou les fichiers locaux du projet, comme `${CLAUDE_PROJECT_DIR}/.claude/hooks/helper.sh`, indépendamment de l'endroit où la skill est installée. |

300 

301La substitution `${CLAUDE_PROJECT_DIR}` nécessite Claude Code v2.1.196 ou ultérieur. Elle s'applique à la fois au corps de la skill et au frontmatter [`allowed-tools`](#frontmatter-reference), donc une règle de permission comme `Bash(${CLAUDE_PROJECT_DIR}/scripts/lint.sh *)` se résout au même chemin que le corps de la skill utilise.

299 302 

300Les arguments indexés utilisent le guillemettage de style shell, donc enveloppez les valeurs multi-mots entre guillemets pour les passer comme un seul argument. Par exemple, `/my-skill "hello world" second` fait que `$0` se développe en `hello world` et `$1` en `second`. L'espace réservé `$ARGUMENTS` se développe toujours en la chaîne d'argument complète telle que tapée.303Les arguments indexés utilisent le guillemettage de style shell, donc enveloppez les valeurs multi-mots entre guillemets pour les passer comme un seul argument. Par exemple, `/my-skill "hello world" second` fait que `$0` se développe en `hello world` et `$1` en `second`. L'espace réservé `$ARGUMENTS` se développe toujours en la chaîne d'argument complète telle que tapée.

301 304 


899 902 

900Les descriptions de skills sont chargées dans le contexte pour que Claude sache ce qui est disponible. Tous les noms de skills sont toujours inclus, mais si vous avez beaucoup de skills, les descriptions sont raccourcies pour tenir dans le budget de caractères, ce qui peut supprimer les mots-clés dont Claude a besoin pour correspondre à votre demande. Le budget s'adapte à 1 % de la fenêtre de contexte du modèle. Quand il déborde, les descriptions des skills que vous invoquez le moins sont supprimées en premier, de sorte que les skills que vous utilisez réellement conservent leur texte complet. Exécutez `/doctor` pour voir combien de descriptions de skills sont raccourcies ou supprimées et quelles skills sont affectées.903Les descriptions de skills sont chargées dans le contexte pour que Claude sache ce qui est disponible. Tous les noms de skills sont toujours inclus, mais si vous avez beaucoup de skills, les descriptions sont raccourcies pour tenir dans le budget de caractères, ce qui peut supprimer les mots-clés dont Claude a besoin pour correspondre à votre demande. Le budget s'adapte à 1 % de la fenêtre de contexte du modèle. Quand il déborde, les descriptions des skills que vous invoquez le moins sont supprimées en premier, de sorte que les skills que vous utilisez réellement conservent leur texte complet. Exécutez `/doctor` pour voir combien de descriptions de skills sont raccourcies ou supprimées et quelles skills sont affectées.

901 904 

902Pour augmenter le budget, définissez le paramètre [`skillListingBudgetFraction`](/fr/settings#available-settings) (par exemple `0.02` = 2 %) ou la variable d'environnement `SLASH_COMMAND_TOOL_CHAR_BUDGET` à un nombre de caractères fixe. Pour libérer du budget pour d'autres skills, définissez les entrées de faible priorité sur `"name-only"` dans [`skillOverrides`](#override-skill-visibility-from-settings) afin qu'elles s'affichent sans description. Vous pouvez également réduire le texte `description` et `when_to_use` à la source : mettez en avant le cas d'utilisation clé, puisque le texte combiné de chaque entrée est limité à 1 536 caractères indépendamment du budget. Le plafond est configurable avec [`maxSkillDescriptionChars`](/fr/settings#available-settings).905À partir de la v2.1.196, la ligne Skills dans `/context` rapporte la taille de la liste après l'application du budget, de sorte qu'elle correspond à ce que le modèle reçoit. Les versions antérieures comptaient le texte complet de chaque description, de sorte que la ligne pouvait afficher une valeur plusieurs fois plus grande que le budget que `/doctor` rapporte.

906 

907Pour augmenter le budget, définissez le paramètre [`skillListingBudgetFraction`](/fr/settings#available-settings) (par exemple `0.02` = 2 %) ou la variable d'environnement `SLASH_COMMAND_TOOL_CHAR_BUDGET` à un nombre de caractères fixe. Pour libérer du budget pour d'autres skills, définissez les entrées de faible priorité sur `"name-only"` dans [`skillOverrides`](#override-skill-visibility-from-settings) afin qu'elles s'affichent sans description. Vous pouvez également réduire le texte `description` et `when_to_use` à la source : mettez en avant le cas d'utilisation clé, puisque le texte combiné de chaque entrée est limité à 1 536 caractères indépendamment du budget. Le plafond est configurable avec [`skillListingMaxDescChars`](/fr/settings#available-settings).

903 908 

904<h2 id="related-resources">909<h2 id="related-resources">

905 Ressources connexes910 Ressources connexes

statusline.md +3 −0

Details

194| `rate_limits.five_hour.resets_at`, `rate_limits.seven_day.resets_at` | Secondes d'époque Unix quand la fenêtre de limite de débit de 5 heures ou 7 jours se réinitialise |194| `rate_limits.five_hour.resets_at`, `rate_limits.seven_day.resets_at` | Secondes d'époque Unix quand la fenêtre de limite de débit de 5 heures ou 7 jours se réinitialise |

195| `session_id` | Identifiant de session unique |195| `session_id` | Identifiant de session unique |

196| `session_name` | Nom de session personnalisé défini avec l'indicateur `--name` ou `/rename`. Absent si aucun nom personnalisé n'a été défini |196| `session_name` | Nom de session personnalisé défini avec l'indicateur `--name` ou `/rename`. Absent si aucun nom personnalisé n'a été défini |

197| `prompt_id` | UUID identifiant l'invite utilisateur actuellement traitée. Correspond à l'attribut [`prompt.id` sur les événements OpenTelemetry](/fr/monitoring-usage#event-correlation-attributes). Absent jusqu'à la première entrée utilisateur. Nécessite Claude Code v2.1.196 ou ultérieur |

197| `transcript_path` | Chemin vers le fichier de transcription de conversation |198| `transcript_path` | Chemin vers le fichier de transcription de conversation |

198| `version` | Version de Claude Code |199| `version` | Version de Claude Code |

199| `output_style.name` | Nom du style de sortie actuel |200| `output_style.name` | Nom du style de sortie actuel |


215 "cwd": "/current/working/directory",216 "cwd": "/current/working/directory",

216 "session_id": "abc123...",217 "session_id": "abc123...",

217 "session_name": "my-session",218 "session_name": "my-session",

219 "prompt_id": "550e8400-e29b-41d4-a716-446655440000",

218 "transcript_path": "/path/to/transcript.jsonl",220 "transcript_path": "/path/to/transcript.jsonl",

219 "model": {221 "model": {

220 "id": "claude-opus-4-8",222 "id": "claude-opus-4-8",


296 **Champs qui peuvent être absents** (non présents dans JSON) :298 **Champs qui peuvent être absents** (non présents dans JSON) :

297 299 

298 * `session_name` : apparaît uniquement quand un nom personnalisé a été défini avec `--name` ou `/rename`300 * `session_name` : apparaît uniquement quand un nom personnalisé a été défini avec `--name` ou `/rename`

301 * `prompt_id` : apparaît uniquement après la première entrée utilisateur

299 * `workspace.git_worktree` : apparaît uniquement quand le répertoire actuel se trouve à l'intérieur d'un git worktree lié302 * `workspace.git_worktree` : apparaît uniquement quand le répertoire actuel se trouve à l'intérieur d'un git worktree lié

300 * `workspace.repo` : apparaît uniquement à l'intérieur d'un référentiel git avec une télécommande `origin` configurée303 * `workspace.repo` : apparaît uniquement à l'intérieur d'un référentiel git avec une télécommande `origin` configurée

301 * `effort` : apparaît uniquement quand le modèle actuel supporte le paramètre d'effort de raisonnement304 * `effort` : apparaît uniquement quand le modèle actuel supporte le paramètre d'effort de raisonnement

sub-agents.md +37 −25

Details

77 </Tab>77 </Tab>

78</Tabs>78</Tabs>

79 79 

80Les sous-agents intégrés sont toujours enregistrés dans les sessions interactives. Pour bloquer un type intégré spécifique, ajoutez-le à `permissions.deny` comme indiqué dans [Désactiver des sous-agents spécifiques](#disable-specific-subagents). Pour empêcher Claude de déléguer à un sous-agent, refusez l'outil `Agent` lui-même avec [`permissions.deny`](/fr/permissions#tool-specific-permission-rules). En [mode non-interactif](/fr/headless) et le [SDK Agent](/fr/agent-sdk/overview), définissez [`CLAUDE_AGENT_SDK_DISABLE_BUILTIN_AGENTS=1`](/fr/env-vars) pour supprimer tous les types intégrés et fournir uniquement les vôtres.80Les sous-agents intégrés sont toujours enregistrés dans les sessions interactives. Pour blocker un type intégré spécifique, ajoutez-le à `permissions.deny` comme indiqué dans [Désactiver des sous-agents spécifiques](#disable-specific-subagents). Pour empêcher Claude de déléguer à un sous-agent, refusez l'outil `Agent` lui-même avec [`permissions.deny`](/fr/permissions#tool-specific-permission-rules). En [mode non-interactif](/fr/headless) et le [SDK Agent](/fr/agent-sdk/overview), définissez [`CLAUDE_AGENT_SDK_DISABLE_BUILTIN_AGENTS=1`](/fr/env-vars) pour supprimer tous les types intégrés et fournir uniquement les vôtres.

81 81 

82Au-delà de ces sous-agents intégrés, vous pouvez créer les vôtres avec des invites personnalisées, des restrictions d'outils, des modes de permission, des hooks et des skills. Les sections suivantes montrent comment commencer et personnaliser les sous-agents.82Au-delà de ces sous-agents intégrés, vous pouvez créer les vôtres avec des invites personnalisées, des restrictions d'outils, des modes de permission, des hooks et des skills. Les sections suivantes montrent comment commencer et personnaliser les sous-agents.

83 83 


93 <Step title="Ouvrir l'interface des sous-agents">93 <Step title="Ouvrir l'interface des sous-agents">

94 Dans Claude Code, exécutez :94 Dans Claude Code, exécutez :

95 95 

96 ```text theme={null}96 ```text wrap theme={null}

97 /agents97 /agents

98 ```98 ```

99 </Step>99 </Step>


105 <Step title="Générer avec Claude">105 <Step title="Générer avec Claude">

106 Sélectionnez **Generate with Claude**. Lorsque vous y êtes invité, décrivez le sous-agent :106 Sélectionnez **Generate with Claude**. Lorsque vous y êtes invité, décrivez le sous-agent :

107 107 

108 ```text theme={null}108 ```text wrap theme={null}

109 A code improvement agent that scans files and suggests improvements109 A code improvement agent that scans files and suggests improvements

110 for readability, performance, and best practices. It should explain110 for readability, performance, and best practices. It should explain

111 each issue, show the current code, and provide an improved version.111 each issue, show the current code, and provide an improved version.


133 <Step title="Enregistrer et essayer">133 <Step title="Enregistrer et essayer">

134 Examinez le résumé de la configuration. Appuyez sur `s` ou `Entrée` pour enregistrer, ou appuyez sur `e` pour enregistrer et modifier le fichier dans votre éditeur. Le sous-agent est disponible immédiatement. Essayez-le :134 Examinez le résumé de la configuration. Appuyez sur `s` ou `Entrée` pour enregistrer, ou appuyez sur `e` pour enregistrer et modifier le fichier dans votre éditeur. Le sous-agent est disponible immédiatement. Essayez-le :

135 135 

136 ```text theme={null}136 ```text wrap theme={null}

137 Use the code-improver agent to suggest improvements in this project137 Use the code-improver agent to suggest improvements in this project

138 ```138 ```

139 139 


167 Choisir la portée du sous-agent167 Choisir la portée du sous-agent

168</h3>168</h3>

169 169 

170Les sous-agents sont des fichiers Markdown avec du frontmatter YAML. Stockez-les dans différents emplacements selon la portée. Lorsque plusieurs sous-agents partagent le même nom, l'emplacement de priorité plus élevée gagne.170Les sous-agents sont des fichiers Markdown avec du frontmatter YAML. Stockez-les dans différents emplacements selon la portée. Lorsque plusieurs sous-agents partagent le même nom, Claude Code utilise celui de l'emplacement de priorité plus élevée.

171 171 

172| Emplacement | Portée | Priorité | Comment créer |172| Emplacement | Portée | Priorité | Comment créer |

173| :----------------------------- | :---------------------------- | :----------------- | :------------------------------------------- |173| :----------------------------- | :---------------------------- | :----------------- | :------------------------------------------- |


185 185 

186**Les sous-agents utilisateur** (`~/.claude/agents/`) sont des sous-agents personnels disponibles dans tous vos projets.186**Les sous-agents utilisateur** (`~/.claude/agents/`) sont des sous-agents personnels disponibles dans tous vos projets.

187 187 

188Claude Code analyse `.claude/agents/` et `~/.claude/agents/` de manière récursive, vous pouvez donc organiser les définitions dans des sous-dossiers tels que `agents/review/` ou `agents/research/`. Le chemin du sous-répertoire n'affecte pas la façon dont un sous-agent est identifié ou invoqué, car l'identité provient uniquement du champ frontmatter `name`. Gardez les valeurs `name` uniques dans tout l'arborescence : si deux fichiers dans une même portée déclarent le même nom, Claude Code en conserve un et rejette l'autre sans avertissement.188Claude Code analyse `.claude/agents/` et `~/.claude/agents/` de manière récursive, vous pouvez donc organiser les définitions dans des sous-dossiers tels que `agents/review/` ou `agents/research/`. Le chemin du sous-répertoire n'affecte pas la façon dont un sous-agent est identifié ou invoqué, car l'identité provient uniquement du champ frontmatter `name`. Gardez les valeurs `name` uniques dans tout l'arborescence : si deux fichiers dans une même portée déclarent le même nom, Claude Code en charge un seul. {/* min-version: 2.1.196 */}À partir de la v2.1.196, l'exécution de `/doctor` signale les noms d'agents en doublon dans la même portée et affiche quelle définition est active.

189 189 

190Les répertoires `agents/` des plugins sont également analysés de manière récursive. Contrairement aux portées de projet et utilisateur, un sous-dossier à l'intérieur du répertoire `agents/` d'un plugin devient partie de l'[identifiant limité](#invoke-subagents-explicitly) : un fichier à `agents/review/security.md` dans le plugin `my-plugin` s'enregistre comme `my-plugin:review:security`.190Les répertoires `agents/` des plugins sont également analysés de manière récursive. Contrairement aux portées de projet et utilisateur, un sous-dossier à l'intérieur du répertoire `agents/` d'un plugin devient partie de l'[identifiant limité](#invoke-subagents-explicitly) : un fichier à `agents/review/security.md` dans le plugin `my-plugin` s'enregistre comme `my-plugin:review:security`.

191 191 


299Le champ `model` contrôle quel [modèle IA](/fr/model-config) le sous-agent utilise :299Le champ `model` contrôle quel [modèle IA](/fr/model-config) le sous-agent utilise :

300 300 

301* **Alias de modèle** : Utilisez l'un des alias disponibles : `sonnet`, `opus`, `haiku` ou `fable`301* **Alias de modèle** : Utilisez l'un des alias disponibles : `sonnet`, `opus`, `haiku` ou `fable`

302* **ID de modèle complet** : Utilisez un ID de modèle complet tel que `claude-opus-4-8` ou `claude-sonnet-4-6`. Accepte les mêmes valeurs que le drapeau `--model`302* **ID de modèle complet** : Utilisez un ID de modèle complet tel que `claude-opus-4-8` ou `claude-sonnet-5`. Accepte les mêmes valeurs que le drapeau `--model`

303* **inherit** : Utilisez le même modèle que la conversation principale303* **inherit** : Utilisez le même modèle que la conversation principale

304* **Omis** : S'il n'est pas spécifié, par défaut `inherit` (utilise le même modèle que la conversation principale)304* **Omis** : S'il n'est pas spécifié, par défaut `inherit` (utilise le même modèle que la conversation principale)

305 305 

306Lorsque Claude invoque un sous-agent, il peut également passer un paramètre `model` pour cette invocation spécifique. Claude Code résout le modèle du sous-agent dans cet ordre :306Lorsque Claude invoque un sous-agent, il peut également passer un paramètre `model` pour cette invocation spécifique. Claude Code résout le modèle du sous-agent dans cet ordre :

307 307 

3081. La variable d'environnement [`CLAUDE_CODE_SUBAGENT_MODEL`](/fr/model-config#environment-variables), si elle est définie3081. La variable d'environnement [`CLAUDE_CODE_SUBAGENT_MODEL`](/fr/model-config#environment-variables), si elle est définie sur un alias de modèle ou un ID de modèle

3092. Le paramètre `model` par invocation3092. Le paramètre `model` par invocation

3103. Le frontmatter `model` de la définition du sous-agent3103. Le frontmatter `model` de la définition du sous-agent

3114. Le modèle de la conversation principale3114. Le modèle de la conversation principale

312 312 

313Les valeurs de la variable d'environnement, du paramètre par invocation et du frontmatter sont vérifiées par rapport à la liste blanche [`availableModels`](/fr/model-config#restrict-model-selection) de votre organisation. Une valeur qui se résout en un modèle exclu n'est pas utilisée et le sous-agent s'exécute sur le modèle hérité à la place.313{/* min-version: 2.1.196 */}À partir de la v2.1.196, définir `CLAUDE_CODE_SUBAGENT_MODEL` sur `inherit` est identique à le laisser non défini : la résolution continue avec le paramètre `model` par invocation, puis le frontmatter. Dans les versions antérieures, `inherit` forçait les sous-agents sur le modèle de la conversation principale et ignorait ces deux sources.

314 

315La variable d'environnement, le paramètre par invocation et les valeurs du frontmatter sont vérifiés par rapport à la liste blanche [`availableModels`](/fr/model-config#restrict-model-selection) de votre organisation. Une valeur qui se résout en un modèle exclu n'est pas utilisée et le sous-agent s'exécute sur le modèle hérité à la place.

314 316 

315<h3 id="control-subagent-capabilities">317<h3 id="control-subagent-capabilities">

316 Contrôler les capacités des sous-agents318 Contrôler les capacités des sous-agents


602 604 

603Les sous-agents peuvent définir des [hooks](/fr/hooks) qui s'exécutent pendant le cycle de vie du sous-agent. Il y a deux façons de configurer les hooks :605Les sous-agents peuvent définir des [hooks](/fr/hooks) qui s'exécutent pendant le cycle de vie du sous-agent. Il y a deux façons de configurer les hooks :

604 606 

6051. **Dans le frontmatter du sous-agent** : Définir les hooks qui s'exécutent uniquement pendant que ce sous-agent spécifique est actif607* **Dans le frontmatter du sous-agent** : Définir les hooks qui s'exécutent uniquement pendant que ce sous-agent spécifique est actif

6062. **Dans `settings.json`** : Définir les hooks qui s'exécutent dans la session principale lorsque les sous-agents démarrent ou s'arrêtent608* **Dans `settings.json`** : Définir les hooks qui s'exécutent dans la session principale lorsque les sous-agents démarrent ou s'arrêtent

607 609 

608<h4 id="hooks-in-subagent-frontmatter">610<h4 id="hooks-in-subagent-frontmatter">

609 Hooks dans le frontmatter du sous-agent611 Hooks dans le frontmatter du sous-agent


656| `SubagentStart` | Nom du type d'agent | Quand un sous-agent commence l'exécution |658| `SubagentStart` | Nom du type d'agent | Quand un sous-agent commence l'exécution |

657| `SubagentStop` | Nom du type d'agent | Quand un sous-agent se termine |659| `SubagentStop` | Nom du type d'agent | Quand un sous-agent se termine |

658 660 

659Les deux événements prennent en charge les matchers pour cibler des types d'agents spécifiques par nom. Cet exemple exécute un script de configuration uniquement lorsque le sous-agent `db-agent` démarre, et un script de nettoyage lorsque n'importe quel sous-agent s'arrête :661Les deux événements prennent en charge les matchers pour cibler des types d'agents spécifiques par nom. La valeur du matcher est le `name` du frontmatter de l'agent pour les sous-agents au niveau du projet et utilisateur, ou l'identifiant limité au plugin tel que `my-plugin:db-agent` pour les [sous-agents de plugin](/fr/plugins). Un nom limité contient un deux-points, il est donc évalué comme une [expression régulière non ancrée](/fr/hooks#matcher-patterns) ; ancrez-le avec `^` et `$`, comme dans `^my-plugin:db-agent$`, pour correspondre uniquement à cet agent.

662 

663Cet exemple exécute un script de configuration uniquement lorsque le sous-agent `db-agent` démarre, et un script de nettoyage lorsque n'importe quel sous-agent s'arrête :

660 664 

661```json theme={null}665```json theme={null}

662{666{


680}684}

681```685```

682 686 

687Un matcher avec tirets comme `db-agent` correspond exactement sur Claude Code v2.1.195 ou ultérieur. Sur les versions antérieures, il est évalué comme une expression régulière non ancrée et se déclenche également pour tout type d'agent qui le contient, comme `prod-db-agent` ; ancrez-le comme `^db-agent$` sur ces versions.

688 

683Consultez [Hooks](/fr/hooks) pour le format de configuration complet des hooks.689Consultez [Hooks](/fr/hooks) pour le format de configuration complet des hooks.

684 690 

685<h2 id="work-with-subagents">691<h2 id="work-with-subagents">


704 710 

705Pour le langage naturel, il n'y a pas de syntaxe spéciale. Nommez le sous-agent et Claude délègue généralement :711Pour le langage naturel, il n'y a pas de syntaxe spéciale. Nommez le sous-agent et Claude délègue généralement :

706 712 

707```text theme={null}713```text wrap theme={null}

708Use the test-runner subagent to fix failing tests714Use the test-runner subagent to fix failing tests

709Have the code-reviewer subagent look at my recent changes715Have the code-reviewer subagent look at my recent changes

710```716```

711 717 

712**@-mentionnez le sous-agent.** Tapez `@` et choisissez le sous-agent dans la saisie semi-automatique, de la même manière que vous @-mentionnez les fichiers. Cela garantit que ce sous-agent spécifique s'exécute plutôt que de laisser le choix à Claude :718**@-mentionnez le sous-agent.** Tapez `@` et choisissez le sous-agent dans la saisie semi-automatique, de la même manière que vous @-mentionnez les fichiers. Cela garantit que ce sous-agent spécifique s'exécute plutôt que de laisser le choix à Claude :

713 719 

714```text theme={null}720```text wrap theme={null}

715@"code-reviewer (agent)" look at the auth changes721@"code-reviewer (agent)" look at the auth changes

716```722```

717 723 

718Votre message complet va toujours à Claude, qui écrit l'invite de tâche du sous-agent en fonction de ce que vous avez demandé. La @-mention contrôle quel sous-agent Claude invoque, pas quelle invite il reçoit.724Votre message complet va toujours à Claude, qui écrit l'invite de tâche du sous-agent en fonction de ce que vous avez demandé. La @-mention contrôle quel sous-agent Claude invoque, pas quelle invite il reçoit.

719 725 

720Les sous-agents fournis par un [plugin](/fr/plugins) activé apparaissent dans la saisie semi-automatique sous leur nom délimité, comme `my-plugin:code-reviewer` ou `my-plugin:review:security` lorsque le plugin [organise les agents dans des sous-dossiers](#choose-the-subagent-scope). Les sous-agents d'arrière-plan nommés actuellement en cours d'exécution dans la session apparaissent également dans la saisie semi-automatique, affichant leur statut à côté du nom. Vous pouvez également taper la mention manuellement sans utiliser le sélecteur : `@agent-<name>` pour les sous-agents locaux, ou `@agent-` suivi du nom délimité pour les sous-agents de plugin, par exemple `@agent-my-plugin:code-reviewer`.726Les sous-agents fournis par un [plugin](/fr/plugins) activé apparaissent dans la saisie semi-automatique sous leur nom délimité, comme `my-plugin:code-reviewer` ou `my-plugin:review:security` lorsque le plugin [organise les agents dans des sous-dossiers](#choose-the-subagent-scope). Les sous-agents d'arrière-plan nommés actuellement en cours d'exécution dans la session apparaissent également dans la saisie semi-automatique, affichant leur statut à côté du nom.

727 

728Vous pouvez également taper la mention manuellement sans utiliser le sélecteur : `@agent-<name>` pour les sous-agents locaux, ou `@agent-` suivi du nom délimité pour les sous-agents de plugin, par exemple `@agent-my-plugin:code-reviewer`.

721 729 

722**Exécutez la session entière en tant que sous-agent.** Passez [`--agent <name>`](/fr/cli-reference) pour démarrer une session où le thread principal lui-même prend l'invite système, les restrictions d'outils et le modèle de ce sous-agent :730**Exécutez la session entière en tant que sous-agent.** Passez [`--agent <name>`](/fr/cli-reference) pour démarrer une session où le thread principal lui-même prend l'invite système, les restrictions d'outils et le modèle de ce sous-agent :

723 731 


757 Exécuter les sous-agents au premier plan ou en arrière-plan765 Exécuter les sous-agents au premier plan ou en arrière-plan

758</h3>766</h3>

759 767 

760Les sous-agents peuvent s'exécuter au premier plan (bloquant) ou en arrière-plan (concurrent) :768Les sous-agents peuvent s'exécuter au premier plan ou en arrière-plan :

761 769 

762* **Les sous-agents au premier plan** bloquent la conversation principale jusqu'à la fin. Les invites de permission vous sont transmises au fur et à mesure qu'elles se produisent.770* **Les sous-agents au premier plan** bloquent la conversation principale jusqu'à la fin. Les invites de permission vous sont transmises au fur et à mesure qu'elles se produisent.

763* **Les sous-agents en arrière-plan** s'exécutent simultanément pendant que vous continuez à travailler. {/* min-version: 2.1.186 */}À partir de la v2.1.186, lorsqu'un sous-agent en arrière-plan atteint un appel d'outil qui nécessite une permission, l'invite s'affiche dans votre session principale et nomme le sous-agent qui demande. Approuvez pour laisser le sous-agent continuer, ou appuyez sur Échap pour refuser cet appel d'outil sans arrêter le sous-agent. Avant la v2.1.186, les sous-agents en arrière-plan refusaient automatiquement tout appel d'outil qui aurait demandé une permission.771* **Les sous-agents en arrière-plan** s'exécutent simultanément pendant que vous continuez à travailler. {/* min-version: 2.1.186 */}À partir de la v2.1.186, lorsqu'un sous-agent en arrière-plan atteint un appel d'outil qui nécessite une permission, l'invite s'affiche dans votre session principale et nomme le sous-agent qui demande. Approuvez pour laisser le sous-agent continuer, ou appuyez sur Échap pour refuser cet appel d'outil sans arrêter le sous-agent. Avant la v2.1.186, les sous-agents en arrière-plan refusaient automatiquement tout appel d'outil qui aurait demandé une permission.


781 789 

782L'une des utilisations les plus efficaces des sous-agents est l'isolation des opérations qui produisent de grandes quantités de résultats. L'exécution de tests, la récupération de documentation ou le traitement de fichiers journaux peuvent consommer un contexte important. En déléguant ces tâches à un sous-agent, la sortie détaillée reste dans le contexte du sous-agent tandis que seul le résumé pertinent revient à votre conversation principale.790L'une des utilisations les plus efficaces des sous-agents est l'isolation des opérations qui produisent de grandes quantités de résultats. L'exécution de tests, la récupération de documentation ou le traitement de fichiers journaux peuvent consommer un contexte important. En déléguant ces tâches à un sous-agent, la sortie détaillée reste dans le contexte du sous-agent tandis que seul le résumé pertinent revient à votre conversation principale.

783 791 

784```text theme={null}792```text wrap theme={null}

785Use a subagent to run the test suite and report only the failing tests with their error messages793Use a subagent to run the test suite and report only the failing tests with their error messages

786```794```

787 795 


791 799 

792Pour les investigations indépendantes, générez plusieurs sous-agents pour travailler simultanément :800Pour les investigations indépendantes, générez plusieurs sous-agents pour travailler simultanément :

793 801 

794```text theme={null}802```text wrap theme={null}

795Research the authentication, database, and API modules in parallel using separate subagents803Research the authentication, database, and API modules in parallel using separate subagents

796```804```

797 805 


809 817 

810Pour les workflows multi-étapes, demandez à Claude d'utiliser les sous-agents en séquence. Chaque sous-agent termine sa tâche et retourne les résultats à Claude, qui transmet ensuite le contexte pertinent au sous-agent suivant.818Pour les workflows multi-étapes, demandez à Claude d'utiliser les sous-agents en séquence. Chaque sous-agent termine sa tâche et retourne les résultats à Claude, qui transmet ensuite le contexte pertinent au sous-agent suivant.

811 819 

812```text theme={null}820```text wrap theme={null}

813Use the code-reviewer subagent to find performance issues, then use the optimizer subagent to fix them821Use the code-reviewer subagent to find performance issues, then use the optimizer subagent to fix them

814```822```

815 823 


820Utilisez la **conversation principale** quand :828Utilisez la **conversation principale** quand :

821 829 

822* La tâche nécessite des allers-retours fréquents ou un raffinement itératif830* La tâche nécessite des allers-retours fréquents ou un raffinement itératif

823* Plusieurs phases partagent un contexte important (planification implémentation test)831* Plusieurs phases partagent un contexte important, comme la planification, l'implémentation et les tests

824* Vous apportez une modification rapide et ciblée832* Vous apportez une modification rapide et ciblée

825* La latence est importante. Les sous-agents commencent à zéro et peuvent avoir besoin de temps pour rassembler le contexte833* La latence est importante. Les sous-agents commencent à zéro et peuvent avoir besoin de temps pour rassembler le contexte

826 834 


840 848 

841{/* min-version: 2.1.172 */}À partir de Claude Code v2.1.172, un sous-agent peut générer ses propres sous-agents. Utilisez ceci lorsqu'une tâche déléguée se divise elle-même en sous-tâches parallèles, comme un sous-agent examinateur qui envoie un vérificateur par résultat, de sorte que la sortie intermédiaire n'atteint jamais votre conversation principale. Seul le résumé du sous-agent de niveau supérieur vous revient.849{/* min-version: 2.1.172 */}À partir de Claude Code v2.1.172, un sous-agent peut générer ses propres sous-agents. Utilisez ceci lorsqu'une tâche déléguée se divise elle-même en sous-tâches parallèles, comme un sous-agent examinateur qui envoie un vérificateur par résultat, de sorte que la sortie intermédiaire n'atteint jamais votre conversation principale. Seul le résumé du sous-agent de niveau supérieur vous revient.

842 850 

843Un sous-agent imbriqué est configuré de la même manière qu'un sous-agent de niveau supérieur et se résout à partir des mêmes [portées](#choose-the-subagent-scope). Le panneau de sous-agent sous l'entrée d'invite affiche l'arborescence complète : chaque ligne affiche un nombre `(+N)` de descendants, et l'ouverture d'une ligne affiche les enfants directs de ce sous-agent avec un chemin de retour à `main`. L'onglet En cours d'exécution dans [`/agents`](#use-the-%2Fagents-command) répertorie les sous-agents en cours d'exécution sous forme de liste plate.851Un sous-agent imbriqué est configuré de la même manière qu'un sous-agent de niveau supérieur et se résout à partir des mêmes [portées](#choose-the-subagent-scope).

852 

853Le panneau de sous-agent sous l'entrée d'invite affiche l'arborescence complète : chaque ligne affiche un nombre `(+N)` de descendants, et {/* min-version: 2.1.193 */}à partir de la v2.1.193, l'ouverture d'une ligne affiche les frères et sœurs de ce sous-agent et les enfants directs avec un chemin de retour à `main`. L'onglet En cours d'exécution dans [`/agents`](#use-the-%2Fagents-command) répertorie les sous-agents en cours d'exécution sous forme de liste plate.

844 854 

845La profondeur est comptée comme le nombre de niveaux de sous-agent en dessous de la conversation principale, indépendamment du fait que chaque niveau s'exécute en [premier plan ou en arrière-plan](#run-subagents-in-foreground-or-background). Un sous-agent à la profondeur cinq ne reçoit pas l'outil Agent et ne peut pas générer d'autres. La limite est fixe et non configurable.855La profondeur est comptée comme le nombre de niveaux de sous-agent en dessous de la conversation principale, indépendamment du fait que chaque niveau s'exécute en [premier plan ou en arrière-plan](#run-subagents-in-foreground-or-background). Un sous-agent à la profondeur cinq ne reçoit pas l'outil Agent et ne peut pas générer d'autres. La limite est fixe et non configurable.

846 856 


880 890 

881Les sous-agents repris conservent leur historique de conversation complet, y compris tous les appels d'outils précédents, les résultats et le raisonnement. Le sous-agent reprend exactement où il s'était arrêté plutôt que de recommencer à zéro.891Les sous-agents repris conservent leur historique de conversation complet, y compris tous les appels d'outils précédents, les résultats et le raisonnement. Le sous-agent reprend exactement où il s'était arrêté plutôt que de recommencer à zéro.

882 892 

883Lorsqu'un sous-agent se termine, Claude reçoit son ID d'agent. Les agents Explore et Plan intégrés sont ponctuels et ne retournent pas d'ID d'agent, donc ils ne peuvent pas être repris ; utilisez `general-purpose` ou un sous-agent personnalisé lorsque vous avez besoin de continuer le travail. Claude utilise l'outil `SendMessage` avec l'ID de l'agent comme champ `to` pour le reprendre. L'outil `SendMessage` est toujours disponible pour reprendre les sous-agents par ID d'agent ou par nom. Les messages de protocole d'équipe structurés tels que `shutdown_request` et `plan_approval_response` nécessitent que les [équipes d'agents](/fr/agent-teams) soient activées.893Lorsqu'un sous-agent se termine, Claude reçoit son ID d'agent. Les agents Explore et Plan intégrés sont ponctuels et ne retournent pas d'ID d'agent, donc ils ne peuvent pas être repris ; utilisez `general-purpose` ou un sous-agent personnalisé lorsque vous avez besoin de continuer le travail.

894 

895Claude utilise l'outil `SendMessage` avec l'ID de l'agent comme champ `to` pour le reprendre. L'outil `SendMessage` est toujours disponible pour reprendre les sous-agents par ID d'agent ou par nom. Les messages de protocole d'équipe structurés tels que `shutdown_request` et `plan_approval_response` nécessitent que les [équipes d'agents](/fr/agent-teams) soient activées.

884 896 

885Pour reprendre un sous-agent, demandez à Claude de continuer le travail précédent :897Pour reprendre un sous-agent, demandez à Claude de continuer le travail précédent :

886 898 

887```text theme={null}899```text wrap theme={null}

888Use the code-reviewer subagent to review the authentication module900Use the code-reviewer subagent to review the authentication module

889[Agent completes]901[Agent completes]

890 902 


900 912 

901* **Compaction de la conversation principale** : Lorsque la conversation principale se compacte, les transcriptions de sous-agent ne sont pas affectées. Elles sont stockées dans des fichiers séparés.913* **Compaction de la conversation principale** : Lorsque la conversation principale se compacte, les transcriptions de sous-agent ne sont pas affectées. Elles sont stockées dans des fichiers séparés.

902* **Persistance de session** : Les transcriptions de sous-agent persistent au sein de leur session. Vous pouvez [reprendre un sous-agent](#resume-subagents) après le redémarrage de Claude Code en reprenant la même session.914* **Persistance de session** : Les transcriptions de sous-agent persistent au sein de leur session. Vous pouvez [reprendre un sous-agent](#resume-subagents) après le redémarrage de Claude Code en reprenant la même session.

903* **Nettoyage automatique** : Les transcriptions sont nettoyées en fonction du paramètre `cleanupPeriodDays` (par défaut : 30 jours).915* **Nettoyage automatique** : Les transcriptions sont nettoyées en fonction du paramètre `cleanupPeriodDays`, qui est par défaut de 30 jours.

904 916 

905<h4 id="auto-compaction">917<h4 id="auto-compaction">

906 Auto-compaction918 Auto-compaction


942 954 

943Vous pouvez démarrer un fork vous-même avec `/fork` suivi d'une directive, avec ou sans la variable définie. Claude Code nomme le fork à partir des premiers mots de la directive. L'exemple suivant duplique la conversation pour rédiger des cas de test pendant que vous continuez avec l'implémentation dans la session principale :955Vous pouvez démarrer un fork vous-même avec `/fork` suivi d'une directive, avec ou sans la variable définie. Claude Code nomme le fork à partir des premiers mots de la directive. L'exemple suivant duplique la conversation pour rédiger des cas de test pendant que vous continuez avec l'implémentation dans la session principale :

944 956 

945```text theme={null}957```text wrap theme={null}

946/fork draft unit tests for the parser changes so far958/fork draft unit tests for the parser changes so far

947```959```

948 960 

Details

196 196 

197* [Claude for Teams ou Enterprise](/fr/authentication#claude-for-teams-or-enterprise)197* [Claude for Teams ou Enterprise](/fr/authentication#claude-for-teams-or-enterprise)

198* [Anthropic Console](/fr/authentication#claude-console-authentication)198* [Anthropic Console](/fr/authentication#claude-console-authentication)

199* [Passerelle d'applications Claude](/fr/claude-apps-gateway), une passerelle auto-hébergée qui ajoute la connexion IdP devant Amazon Bedrock, Google Vertex AI, Microsoft Foundry ou l'API Anthropic

199* [Amazon Bedrock](/fr/amazon-bedrock)200* [Amazon Bedrock](/fr/amazon-bedrock)

200* [Claude Platform on AWS](/fr/claude-platform-on-aws)201* [Claude Platform on AWS](/fr/claude-platform-on-aws)

201* [Google Vertex AI](/fr/google-vertex-ai)202* [Google Vertex AI](/fr/google-vertex-ai)

Details

11Pour ajouter des outils personnalisés, connectez un [serveur MCP](/fr/mcp). Pour étendre Claude avec des flux de travail réutilisables basés sur des invites, écrivez une [skill](/fr/skills), qui s'exécute via l'outil `Skill` existant plutôt que d'ajouter une nouvelle entrée d'outil.11Pour ajouter des outils personnalisés, connectez un [serveur MCP](/fr/mcp). Pour étendre Claude avec des flux de travail réutilisables basés sur des invites, écrivez une [skill](/fr/skills), qui s'exécute via l'outil `Skill` existant plutôt que d'ajouter une nouvelle entrée d'outil.

12 12 

13| Outil | Description | Permission requise |13| Outil | Description | Permission requise |

14| :--------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :----------------- |14| :--------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :----------------- |

15| `Agent` | Crée un [subagent](/fr/sub-agents) avec sa propre fenêtre de contexte pour gérer une tâche. Voir [comportement de l'outil Agent](#agent-tool-behavior) | Non |15| `Agent` | Crée un [subagent](/fr/sub-agents) avec sa propre fenêtre de contexte pour gérer une tâche. Voir [comportement de l'outil Agent](#agent-tool-behavior) | Non |

16| `Artifact` | Publie un fichier HTML ou Markdown en tant qu'[artifact](/fr/artifacts) : une page interactive privée sur claude.ai que vous pouvez partager au sein de votre organisation. {/* plan-availability: feature=artifacts plans=team,enterprise providers=anthropic */}Nécessite un plan Team ou Enterprise et une authentification `/login` ; voir [Disponibilité](/fr/artifacts#availability) | Oui |16| `Artifact` | Publie un fichier HTML ou Markdown en tant qu'[artifact](/fr/artifacts) : une page interactive privée sur claude.ai que vous pouvez partager au sein de votre organisation. {/* plan-availability: feature=artifacts plans=team,enterprise providers=anthropic */}Nécessite un plan Team ou Enterprise et une authentification `/login` ; voir [Disponibilité](/fr/artifacts#availability) | Oui |

17| `AskUserQuestion` | Pose des questions à choix multiples pour recueillir les exigences ou clarifier l'ambiguïté | Non |17| `AskUserQuestion` | Pose des questions à choix multiples pour recueillir les exigences ou clarifier l'ambiguïté | Non |


28| `Grep` | Recherche des motifs dans le contenu des fichiers. Voir [comportement de l'outil Grep](#grep-tool-behavior) | Non |28| `Grep` | Recherche des motifs dans le contenu des fichiers. Voir [comportement de l'outil Grep](#grep-tool-behavior) | Non |

29| `ListMcpResourcesTool` | Liste les ressources exposées par les [serveurs MCP](/fr/mcp) connectés | Non |29| `ListMcpResourcesTool` | Liste les ressources exposées par les [serveurs MCP](/fr/mcp) connectés | Non |

30| `LSP` | Intelligence du code via les serveurs de langage : accéder aux définitions, trouver les références, signaler les erreurs de type et les avertissements. Voir [comportement de l'outil LSP](#lsp-tool-behavior) | Non |30| `LSP` | Intelligence du code via les serveurs de langage : accéder aux définitions, trouver les références, signaler les erreurs de type et les avertissements. Voir [comportement de l'outil LSP](#lsp-tool-behavior) | Non |

31| `Monitor` | Exécute une commande en arrière-plan et renvoie chaque ligne de sortie à Claude, afin qu'il puisse réagir aux entrées de journal, aux modifications de fichiers, ou au statut interrogé en milieu de conversation. Voir [outil Monitor](#monitor-tool) | Oui |31| `Monitor` | Exécute une commande en arrière-plan et renvoie chaque ligne de sortie à Claude, afin qu'il puisse réagir aux entrées de journal, aux modifications de fichiers, ou au statut interrogé en milieu de conversation. Peut également ouvrir une WebSocket et traiter chaque message entrant comme un événement. Voir [outil Monitor](#monitor-tool) | Oui |

32| `NotebookEdit` | Modifie les cellules de notebook Jupyter. Voir [comportement de l'outil NotebookEdit](#notebookedit-tool-behavior) | Oui |32| `NotebookEdit` | Modifie les cellules de notebook Jupyter. Voir [comportement de l'outil NotebookEdit](#notebookedit-tool-behavior) | Oui |

33| `PowerShell` | Exécute des commandes PowerShell nativement. Voir [outil PowerShell](#powershell-tool) pour la disponibilité | Oui |33| `PowerShell` | Exécute des commandes PowerShell nativement. Voir [outil PowerShell](#powershell-tool) pour la disponibilité | Oui |

34| `PushNotification` | Envoie une notification de bureau, et une notification push sur téléphone quand [Remote Control](/fr/remote-control) est connecté, afin qu'une tâche de longue durée ou une [tâche planifiée](/fr/scheduled-tasks) puisse vous atteindre quand vous vous éloignez. {/* plan-availability: feature=push-notifications providers=anthropic */}La livraison push s'effectue via l'infrastructure hébergée par Anthropic, qui n'est pas accessible depuis Amazon Bedrock, Google Vertex AI, ou Microsoft Foundry | Non |34| `PushNotification` | Envoie une notification de bureau, et une notification push sur téléphone quand [Remote Control](/fr/remote-control) est connecté, afin qu'une tâche de longue durée ou une [tâche planifiée](/fr/scheduled-tasks) puisse vous atteindre quand vous vous éloignez. {/* plan-availability: feature=push-notifications providers=anthropic */}La livraison push s'effectue via l'infrastructure hébergée par Anthropic, qui n'est pas accessible depuis Amazon Bedrock, Google Vertex AI, ou Microsoft Foundry | Non |

35| `Read` | Lit le contenu des fichiers. Voir [comportement de l'outil Read](#read-tool-behavior) | Non |35| `Read` | Lit le contenu des fichiers. Voir [comportement de l'outil Read](#read-tool-behavior) | Non |

36| `ReadMcpResourceTool` | Lit une ressource MCP spécifique par URI | Non |36| `ReadMcpResourceTool` | Lit une ressource MCP spécifique par URI | Non |

37| `RemoteTrigger` | Crée, met à jour, exécute et liste les [Routines](/fr/routines) sur claude.ai. Soutient la commande `/schedule`. {/* plan-availability: feature=routines plans=pro,max,team,enterprise providers=anthropic */}Les Routines vivent sur claude.ai et nécessitent un plan Pro, Max, Team ou Enterprise, donc cet outil n'est pas accessible depuis Amazon Bedrock, Google Vertex AI, ou Microsoft Foundry | Non |37| `RemoteTrigger` | Crée, met à jour, exécute et liste les [Routines](/fr/routines) sur claude.ai. Soutient la commande `/schedule`. {/* plan-availability: feature=routines plans=pro,max,team,enterprise providers=anthropic */}Les Routines vivent sur claude.ai et nécessitent un plan Pro, Max, Team ou Enterprise, donc cet outil n'est pas accessible depuis Amazon Bedrock, Google Vertex AI, ou Microsoft Foundry | Non |

38| `ReportFindings` | Signale les résultats de l'examen du code sous forme de liste structurée, avec un fichier, un résumé et un scénario d'échec par résultat, afin que Claude Code puisse les afficher au lieu de les imprimer sous forme de texte. Claude l'appelle quand les instructions actives d'examen du code le lui demandent. {/* min-version: 2.1.196 */}Nécessite Claude Code v2.1.196 ou ultérieur | Non |

38| `ScheduleWakeup` | Reprogramme la prochaine itération d'une [`/loop` auto-rythmée](/fr/scheduled-tasks#let-claude-choose-the-interval). Claude l'appelle à la fin de chaque itération pour choisir quand la prochaine s'exécute, entre une minute et une heure ; vous ne l'appelez pas directement. Le réveil en attente apparaît dans `session_crons` dans [entrée du hook Stop](/fr/hooks#stop-input). {/* plan-availability: feature=loop-dynamic providers=anthropic */}Non disponible sur Amazon Bedrock, Google Vertex AI, ou Microsoft Foundry, où une invite `/loop` sans intervalle s'exécute selon un calendrier fixe à la place | Non |39| `ScheduleWakeup` | Reprogramme la prochaine itération d'une [`/loop` auto-rythmée](/fr/scheduled-tasks#let-claude-choose-the-interval). Claude l'appelle à la fin de chaque itération pour choisir quand la prochaine s'exécute, entre une minute et une heure ; vous ne l'appelez pas directement. Le réveil en attente apparaît dans `session_crons` dans [entrée du hook Stop](/fr/hooks#stop-input). {/* plan-availability: feature=loop-dynamic providers=anthropic */}Non disponible sur Amazon Bedrock, Google Vertex AI, ou Microsoft Foundry, où une invite `/loop` sans intervalle s'exécute selon un calendrier fixe à la place | Non |

39| `SendMessage` | Envoie un message à un coéquipier de l'[équipe d'agents](/fr/agent-teams), ou [reprend un subagent](/fr/sub-agents#resume-subagents) par son ID d'agent. Les subagents arrêtés se reprennent automatiquement en arrière-plan. Les messages de protocole d'équipe structurés nécessitent des équipes d'agents | Non |40| `SendMessage` | Envoie un message à un coéquipier de l'[équipe d'agents](/fr/agent-teams), ou [reprend un subagent](/fr/sub-agents#resume-subagents) par son ID d'agent. Les subagents arrêtés se reprennent automatiquement en arrière-plan. Les messages de protocole d'équipe structurés nécessitent des équipes d'agents | Non |

41| `SendUserFile` | Envoie des fichiers de la session vers vous avec une légende optionnelle, afin qu'un rapport généré, un diagramme, une capture d'écran, ou un artefact construit atteigne votre appareil au lieu de seulement être mentionné dans la transcription. {/* min-version: 2.1.196 */}À partir de v2.1.196, l'entrée optionnelle `display` contrôle la présentation : `render` ouvre le fichier en ligne dans le client, `attach` affiche une carte de téléchargement uniquement, et quand elle n'est pas définie, le client décide selon le type de fichier. Disponible quand un client [Remote Control](/fr/remote-control) est connecté ou la session s'exécute dans un environnement cloud géré tel que [Claude Code sur le web](/fr/claude-code-on-the-web). La livraison s'effectue via l'infrastructure hébergée par Anthropic, donc l'outil n'est pas disponible sur Amazon Bedrock, Google Vertex AI, ou Microsoft Foundry | Non |

40| `ShareOnboardingGuide` | {/* plan-availability: feature=onboarding-guide-share plans=pro,max,team,enterprise providers=anthropic */}Télécharge `ONBOARDING.md` et retourne un lien de partage que les coéquipiers peuvent ouvrir dans Claude Code. Appelé depuis `/team-onboarding` après que le guide soit écrit. Disponible pour les abonnés claude.ai sur les plans Pro, Max, Team et Enterprise | Oui |42| `ShareOnboardingGuide` | {/* plan-availability: feature=onboarding-guide-share plans=pro,max,team,enterprise providers=anthropic */}Télécharge `ONBOARDING.md` et retourne un lien de partage que les coéquipiers peuvent ouvrir dans Claude Code. Appelé depuis `/team-onboarding` après que le guide soit écrit. Disponible pour les abonnés claude.ai sur les plans Pro, Max, Team et Enterprise | Oui |

41| `Skill` | Exécute une [skill](/fr/skills#control-who-invokes-a-skill) dans la conversation principale | Oui |43| `Skill` | Exécute une [skill](/fr/skills#control-who-invokes-a-skill) dans la conversation principale | Oui |

42| `TaskCreate` | Crée une nouvelle tâche dans la liste des tâches | Non |44| `TaskCreate` | Crée une nouvelle tâche dans la liste des tâches | Non |


206* Interroger une PR ou un travail CI et signaler quand son statut change208* Interroger une PR ou un travail CI et signaler quand son statut change

207* Surveiller un répertoire pour les modifications de fichiers209* Surveiller un répertoire pour les modifications de fichiers

208* Suivre la sortie de tout script de longue durée que vous lui pointez210* Suivre la sortie de tout script de longue durée que vous lui pointez

211* Se connecter à un flux WebSocket et signaler chaque message à son arrivée

209 212 

210Claude écrit un petit script pour la surveillance, l'exécute en arrière-plan, et reçoit chaque ligne de sortie à son arrivée. Vous continuez à travailler dans la même session et Claude intervient quand un événement arrive. Arrêtez une surveillance en demandant à Claude de l'annuler ou en terminant la session.213Pour la plupart des surveillances, Claude écrit un petit script, l'exécute en arrière-plan, et reçoit chaque ligne de sortie à son arrivée. Pour un serveur qui pousse déjà des événements, Claude peut ouvrir une [connexion WebSocket](#websocket-source) au lieu d'exécuter un script.

211 214 

212Monitor utilise les mêmes [règles de permission que Bash](/fr/permissions#tool-specific-permission-rules), donc les motifs `allow` et `deny` que vous avez définis pour Bash s'appliquent ici aussi. Il n'est pas disponible sur Amazon Bedrock, Google Vertex AI, ou Microsoft Foundry. Il n'est également pas disponible quand `DISABLE_TELEMETRY` ou `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` est défini.215Vous continuez à travailler dans la même session et Claude intervient quand un événement arrive. Arrêtez une surveillance en demandant à Claude de l'annuler ou en terminant la session.

216 

217Quand Monitor exécute une commande, il utilise les mêmes [règles de permission que Bash](/fr/permissions#tool-specific-permission-rules), donc les motifs `allow` et `deny` que vous avez définis pour Bash s'appliquent ici aussi. La [source WebSocket](#websocket-source) a sa propre invite d'approbation.

218 

219L'outil n'est pas disponible sur Amazon Bedrock, Google Vertex AI, ou Microsoft Foundry. Il n'est également pas disponible quand `DISABLE_TELEMETRY` ou `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` est défini.

213 220 

214Les plugins peuvent déclarer des moniteurs qui démarrent automatiquement quand le plugin est actif, au lieu de demander à Claude de les démarrer. Voir [moniteurs de plugin](/fr/plugins-reference#monitors).221Les plugins peuvent déclarer des moniteurs qui démarrent automatiquement quand le plugin est actif, au lieu de demander à Claude de les démarrer. Voir [moniteurs de plugin](/fr/plugins-reference#monitors).

215 222 

223<h3 id="websocket-source">

224 Source WebSocket

225</h3>

226 

227<Note>

228 La source WebSocket nécessite Claude Code v2.1.195 ou version ultérieure.

229</Note>

230 

231Quand un serveur pousse déjà des événements sur un WebSocket, Claude peut s'y connecter directement au lieu d'écrire un script d'interrogation. Chaque type d'activité de socket devient soit un événement, soit termine la surveillance :

232 

233* **Messages texte** : chacun devient un événement, même quand le message s'étend sur plusieurs lignes.

234* **Messages binaires** : non transmis. Claude reçoit une ligne d'espace réservé telle que `[binary frame, 512 bytes]` à la place.

235* **Messages plus grands que 1 MiB** : la surveillance se termine, donc abonnez-vous à un flux filtré où il en existe un.

236* **Fermeture de socket** : la surveillance se termine et Claude reçoit le code de fermeture.

237 

238Une surveillance WebSocket prend une entrée `ws` à la place de `command`, et un seul appel Monitor ne peut pas combiner les deux. L'entrée `ws` a deux champs :

239 

240| Champ | Requis | Description |

241| :---------- | :----- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |

242| `url` | Oui | Le point de terminaison auquel se connecter. Doit être une URL `ws://` ou `wss://` sans identifiants ou espaces intégrés, utilisant uniquement des caractères ASCII |

243| `protocols` | Non | Noms de sous-protocole WebSocket à proposer lors de la poignée de main. Chaque entrée doit être un jeton de sous-protocole valide, et la liste ne peut pas contenir de doublons |

244 

245Les entrées `timeout_ms` et `persistent` se comportent de la même manière que pour une commande : la surveillance se termine à l'échéance sauf si `persistent` est défini, et `TaskStop` l'annule plus tôt.

246 

247L'ouverture d'un WebSocket demande une approbation, et l'invite n'offre pas d'option pour ignorer les futures invites pour le même hôte.

248 

249Claude Code refuse les URL qui pointent vers une adresse privée, link-local, ou de métadonnées cloud, y compris les noms d'hôte qui se résolvent en une. Il refuse également les hôtes dans `sandbox.network.deniedDomains`, et quand [`allowManagedDomainsOnly`](/fr/settings#sandbox-settings) est défini dans les paramètres gérés, tout hôte en dehors de la liste d'autorisation gérée.

250 

216<h2 id="notebookedit-tool-behavior">251<h2 id="notebookedit-tool-behavior">

217 Comportement de l'outil NotebookEdit252 Comportement de l'outil NotebookEdit

218</h2>253</h2>


265 300 

266Le même comportement de réinitialisation du répertoire de travail de la session principale décrit dans la section de l'outil Bash s'applique aux commandes PowerShell, y compris la variable d'environnement `CLAUDE_BASH_MAINTAIN_PROJECT_WORKING_DIR`.301Le même comportement de réinitialisation du répertoire de travail de la session principale décrit dans la section de l'outil Bash s'applique aux commandes PowerShell, y compris la variable d'environnement `CLAUDE_BASH_MAINTAIN_PROJECT_WORKING_DIR`.

267 302 

303{/* min-version: 2.1.196 */}À partir de la v2.1.196, l'outil PowerShell correspond à la gestion des codes de sortie de recherche et de diff de l'outil Bash. Le code de sortie 1 de `grep`, `egrep`, `fgrep` et `git grep` signifie aucune correspondance, et le code de sortie 1 de `git diff` signifie que des différences existent, de sorte que ces résultats ne sont pas signalés à Claude comme des échecs de commande.

304 

268<h3 id="preview-limitations">305<h3 id="preview-limitations">

269 Limitations de l'aperçu306 Limitations de l'aperçu

270</h3>307</h3>


284 321 

285Read gère plusieurs types de fichiers au-delà du texte simple :322Read gère plusieurs types de fichiers au-delà du texte simple :

286 323 

287* **Images** : PNG, JPG et autres formats d'image sont retournés en tant que contenu visuel que Claude peut voir, pas en tant que bytes bruts. Claude Code redimensionne et récompresse les grandes images pour s'adapter aux limites de taille d'image du modèle avant de les envoyer, donc Claude peut voir une version réduite d'une grande capture d'écran. Si Claude manque les détails au niveau des pixels fins dans une grande image, demandez-lui de recadrer d'abord la région d'intérêt, par exemple avec ImageMagick via Bash.324* **Images** : PNG, JPG et autres formats d'image sont retournés en tant que contenu visuel que Claude peut voir, pas en tant que bytes bruts. Claude Code redimensionne et récompresse les grandes images pour s'adapter aux limites de taille d'image du modèle avant de les envoyer, donc Claude peut voir une version réduite d'une grande capture d'écran. {/* min-version: 2.1.196 */}À partir de la v2.1.196, une image qui est toujours plus grande que 500 KB après ce redimensionnement est réencodée en JPEG à qualité réduite avec ses dimensions de pixels inchangées. Si Claude manque les détails au niveau des pixels fins dans une grande image, demandez-lui de recadrer d'abord la région d'intérêt, par exemple avec ImageMagick via Bash.

288* **PDFs** : Claude lit les fichiers `.pdf` courts en entier. Pour les PDFs plus longs que 10 pages, il lit par plages avec un paramètre `pages`, tel que `"1-5"`, jusqu'à 20 pages à la fois.325* **PDFs** : Claude lit les fichiers `.pdf` courts en entier. Pour les PDFs plus longs que 10 pages, il lit par plages avec un paramètre `pages`, tel que `"1-5"`, jusqu'à 20 pages à la fois.

289* **Notebooks Jupyter** : les fichiers `.ipynb` retournent toutes les cellules avec leurs sorties, y compris le code, le markdown et les visualisations.326* **Notebooks Jupyter** : les fichiers `.ipynb` retournent toutes les cellules avec leurs sorties, y compris le code, le markdown et les visualisations.

290 327 

Details

45Si votre problème n'est pas listé, travaillez à travers les vérifications de diagnostic ci-dessous pour affiner la cause.45Si votre problème n'est pas listé, travaillez à travers les vérifications de diagnostic ci-dessous pour affiner la cause.

46 46 

47<Tip>47<Tip>

48 Si vous préférez ignorer complètement le terminal, l'[application Claude Code Desktop](/fr/desktop-quickstart) vous permet d'installer et d'utiliser Claude Code via une interface graphique. Téléchargez-la pour [macOS](https://claude.ai/api/desktop/darwin/universal/dmg/latest/redirect?utm_source=claude_code\&utm_medium=docs) ou [Windows](https://claude.com/download?utm_source=claude_code\&utm_medium=docs) et commencez à coder sans aucune configuration en ligne de commande.48 Si vous préférez ignorer complètement le terminal, l'[application Claude Code Desktop](/fr/desktop-quickstart) vous permet d'installer et d'utiliser Claude Code via une interface graphique. Téléchargez-la pour [macOS](https://claude.ai/api/desktop/darwin/universal/dmg/latest/redirect?utm_source=claude_code\&utm_medium=docs), [Windows](https://claude.com/download?utm_source=claude_code\&utm_medium=docs), ou [Linux](https://claude.com/download?utm_source=claude_code\&utm_medium=docs) et commencez à coder sans aucune configuration en ligne de commande.

49</Tip>49</Tip>

50 50 

51<h2 id="run-diagnostic-checks">51<h2 id="run-diagnostic-checks">

Details

18 Conditions requises18 Conditions requises

19</h2>19</h2>

20 20 

21La dictée vocale envoie votre audio enregistré aux serveurs d'Anthropic pour la transcription. L'audio n'est pas traité localement. Le service de reconnaissance vocale n'est disponible que lorsque vous vous authentifiez avec un compte Claude.ai, et n'est pas disponible lorsque Claude Code est configuré pour utiliser directement une clé API Anthropic, Amazon Bedrock, Google Vertex AI ou Microsoft Foundry. La dictée vocale n'est également pas disponible lorsque votre organisation a la conformité HIPAA activée. La transcription ne consomme pas de messages Claude ni de jetons et ne compte pas vers les limites affichées dans `/usage`. Consultez [utilisation des données](/fr/data-usage) pour savoir comment Anthropic traite vos données.21La dictée vocale envoie votre audio enregistré aux serveurs d'Anthropic pour la transcription. L'audio n'est pas traité localement. Elle nécessite tous les éléments suivants :

22 22 

23La dictée vocale nécessite également un accès local au microphone, elle ne fonctionne donc pas dans les environnements distants tels que [Claude Code sur le web](/fr/claude-code-on-the-web) ou les sessions SSH. Dans WSL, la dictée vocale nécessite WSLg pour l'accès audio. WSLg est inclus avec WSL2 lorsqu'il est installé à partir du Microsoft Store sur Windows 10 ou 11. Si WSLg n'est pas disponible, par exemple sur WSL1, exécutez Claude Code en Windows natif à la place.23* **Un compte Claude.ai** : le service de reconnaissance vocale n'est disponible que lorsque vous vous authentifiez avec un compte, et n'est pas disponible lorsque Claude Code est configuré pour utiliser directement une clé API Anthropic, Amazon Bedrock, Google Vertex AI ou Microsoft Foundry.

24* **Une organisation sans conformité HIPAA activée** : `/voice` affiche `Voice mode is disabled by your organization's policy` lorsque cette restriction s'applique.

25* **Un microphone local** : la dictée vocale ne fonctionne pas dans les environnements distants tels que [Claude Code sur le web](/fr/claude-code-on-the-web) ou les sessions SSH.

26* **WSLg, si vous exécutez Claude Code dans WSL** : WSLg est inclus avec WSL2 lorsqu'il est installé à partir du Microsoft Store sur Windows 10 ou 11. Si WSLg n'est pas disponible, par exemple sur WSL1, exécutez Claude Code en Windows natif à la place.

27 

28La transcription ne consomme pas de messages Claude ni de jetons et ne compte pas vers les limites affichées dans `/usage`. Consultez [utilisation des données](/fr/data-usage) pour savoir comment Anthropic traite vos données.

24 29 

25L'enregistrement audio utilise un module natif intégré sur macOS, Linux et Windows. Sur Linux, si le module natif ne peut pas se charger, Claude Code revient à `arecord` d'ALSA utils ou `rec` de SoX. Si aucun n'est disponible, `/voice` affiche une commande d'installation pour votre gestionnaire de paquets.30L'enregistrement audio utilise un module natif intégré sur macOS, Linux et Windows. Sur Linux, si le module natif ne peut pas se charger, Claude Code revient à `arecord` d'ALSA utils ou `rec` de SoX. Si aucun n'est disponible, `/voice` affiche une commande d'installation pour votre gestionnaire de paquets.

26 31 


91 96 

92Le mode appui bascule l'enregistrement avec un seul appui sur une touche : appuyez une fois pour commencer, parlez, puis appuyez à nouveau pour envoyer l'invite. Il n'y a pas de préchauffage, et vous n'avez pas besoin de maintenir la touche enfoncée.97Le mode appui bascule l'enregistrement avec un seul appui sur une touche : appuyez une fois pour commencer, parlez, puis appuyez à nouveau pour envoyer l'invite. Il n'y a pas de préchauffage, et vous n'avez pas besoin de maintenir la touche enfoncée.

93 98 

94Activez le mode appui avec `/voice tap`. Avec l'entrée d'invite vide, appuyez sur `Space` pour commencer l'enregistrement. Le pied de page affiche une forme d'onde en direct pendant l'enregistrement. Appuyez à nouveau sur `Space` pour arrêter. Claude Code insère la transcription et soumet l'invite automatiquement lorsque la transcription contient au moins trois mots. Les transcriptions plus courtes sont insérées mais non soumises, donc un appui accidentel n'envoie pas un mot isolé.99Activez le mode appui avec `/voice tap`. Avec l'entrée d'invite vide, appuyez sur `Space` pour commencer l'enregistrement. Le pied de page affiche une forme d'onde en direct pendant l'enregistrement. Appuyez à nouveau sur `Space` pour arrêter.

100 

101Claude Code insère la transcription et soumet l'invite automatiquement lorsque la transcription contient au moins trois mots. Les transcriptions plus courtes sont insérées mais non soumises, donc un appui accidentel n'envoie pas un mot isolé.

102 

103Le seuil de trois mots compte les mots pour les langues écrites sans espaces. À partir de la v2.1.195, les transcriptions en japonais, chinois et thaï comptent les mots individuels, ils se soumettent donc automatiquement en mode appui et en mode maintien avec `autoSubmit`. Les versions antérieures comptaient une transcription sans espaces comme un seul mot et ne la soumettaient jamais automatiquement.

95 104 

96Le premier appui ne commence l'enregistrement que lorsque l'entrée d'invite est vide, vous pouvez donc toujours taper des espaces normalement en composant un message. Le deuxième appui arrête l'enregistrement quel que soit le contenu de l'entrée. L'enregistrement s'arrête également automatiquement après 15 secondes de silence ou deux minutes au total.105Le premier appui ne commence l'enregistrement que lorsque l'entrée d'invite est vide, vous pouvez donc toujours taper des espaces normalement en composant un message. Le deuxième appui arrête l'enregistrement quel que soit le contenu de l'entrée. L'enregistrement s'arrête également automatiquement après 15 secondes de silence ou deux minutes au total.

97 106 


169Problèmes courants lorsque la dictée vocale ne s'active pas ou n'enregistre pas :178Problèmes courants lorsque la dictée vocale ne s'active pas ou n'enregistre pas :

170 179 

171* **`Voice mode requires a Claude.ai account`** : vous êtes authentifié avec une clé API ou un fournisseur tiers. Exécutez `/login` pour vous connecter avec un compte Claude.ai.180* **`Voice mode requires a Claude.ai account`** : vous êtes authentifié avec une clé API ou un fournisseur tiers. Exécutez `/login` pour vous connecter avec un compte Claude.ai.

181* **`Voice mode is disabled by your organization's policy`** : la configuration de conformité de votre organisation désactive la dictée vocale, comme décrit dans [Exigences](#requirements). Contactez l'administrateur de votre organisation pour confirmer si la dictée vocale est disponible pour votre organisation.

172* **`Microphone access is denied`** : accordez la permission du microphone à votre terminal dans les paramètres système. Sur macOS, allez à Paramètres système → Confidentialité et sécurité → Microphone et activez votre application terminal, puis exécutez `/voice` à nouveau. Sur Windows, allez à Paramètres → Confidentialité et sécurité → Microphone et activez l'accès au microphone pour les applications de bureau, puis exécutez `/voice` à nouveau. Si votre terminal n'est pas répertorié dans les paramètres macOS, consultez [Terminal non répertorié dans les paramètres du microphone macOS](#terminal-not-listed-in-macos-microphone-settings).182* **`Microphone access is denied`** : accordez la permission du microphone à votre terminal dans les paramètres système. Sur macOS, allez à Paramètres système → Confidentialité et sécurité → Microphone et activez votre application terminal, puis exécutez `/voice` à nouveau. Sur Windows, allez à Paramètres → Confidentialité et sécurité → Microphone et activez l'accès au microphone pour les applications de bureau, puis exécutez `/voice` à nouveau. Si votre terminal n'est pas répertorié dans les paramètres macOS, consultez [Terminal non répertorié dans les paramètres du microphone macOS](#terminal-not-listed-in-macos-microphone-settings).

173* **`No audio recording tool found` sur Linux** : le module audio natif n'a pas pu se charger et aucun retour n'est installé. Installez SoX avec la commande affichée dans le message d'erreur, par exemple `sudo apt-get install sox`.183* **`No audio recording tool found` sur Linux** : le module audio natif n'a pas pu se charger et aucun retour n'est installé. Installez SoX avec la commande affichée dans le message d'erreur, par exemple `sudo apt-get install sox`.

184* **`Voice mode requires a microphone, but SoX could not open an audio capture device`** : SoX est installé, mais l'hôte n'a pas de périphérique de capture audio, par exemple un serveur sans interface graphique ou un conteneur. Exécutez Claude Code sur une machine avec un microphone. {/* min-version: 2.1.195 */}À partir de la v2.1.195, Claude Code sur Linux signale ce message dans cette situation ; les versions antérieures vous demandaient d'installer SoX même s'il était déjà installé.

174* **`Voice mode could not find a working audio recorder in WSL`** : WSLg achemine l'audio via PulseAudio plutôt qu'un périphérique ALSA, donc SoX a besoin que son backend PulseAudio soit installé explicitement. Exécutez `sudo apt install sox libsox-fmt-pulse`. L'installation de `sox` seul installe le backend ALSA, qui ne peut pas enregistrer sur WSL car il n'y a pas de périphérique `/dev/snd`.185* **`Voice mode could not find a working audio recorder in WSL`** : WSLg achemine l'audio via PulseAudio plutôt qu'un périphérique ALSA, donc SoX a besoin que son backend PulseAudio soit installé explicitement. Exécutez `sudo apt install sox libsox-fmt-pulse`. L'installation de `sox` seul installe le backend ALSA, qui ne peut pas enregistrer sur WSL car il n'y a pas de périphérique `/dev/snd`.

175* **`Voice input is failing repeatedly and has been paused`** : la dictée vocale a rencontré plusieurs échecs de démarrage d'affilée et a cessé de tenter de nouvelles sessions jusqu'à ce qu'une réussisse. Cela signifie généralement que le microphone ou la pile audio sur cet hôte ne peut pas capturer l'audio, par exemple un serveur sans interface graphique, un shell distant sans passage audio, ou une permission de microphone refusée. Confirmez un périphérique d'entrée fonctionnant, corrigez la cause sous-jacente à partir des entrées ci-dessus, puis déclenchez à nouveau la voix.186* **`Voice input is failing repeatedly and has been paused`** : la dictée vocale a rencontré plusieurs échecs de démarrage d'affilée et a cessé de tenter de nouvelles sessions jusqu'à ce qu'une réussisse. Cela signifie généralement que le microphone ou la pile audio sur cet hôte ne peut pas capturer l'audio, par exemple un serveur sans interface graphique, un shell distant sans passage audio, ou une permission de microphone refusée. Confirmez un périphérique d'entrée fonctionnant, corrigez la cause sous-jacente à partir des entrées ci-dessus, puis déclenchez à nouveau la voix.

176* **Rien ne se passe en maintenant `Space` en mode maintien** : regardez l'entrée d'invite pendant que vous maintenez. Si les espaces continuent à s'accumuler, la dictée vocale est probablement désactivée ; exécutez `/voice hold` pour l'activer. Si un ou deux espaces seulement apparaissent puis rien, la dictée vocale est activée mais la détection de maintien ne se déclenche pas. La détection de maintien nécessite que votre terminal envoie des événements de répétition des touches, elle ne peut donc pas détecter une touche maintenue si la répétition des touches est désactivée au niveau du système d'exploitation. Basculez vers le mode appui avec `/voice tap` pour éviter l'exigence de répétition des touches.187* **Rien ne se passe en maintenant `Space` en mode maintien** : regardez l'entrée d'invite pendant que vous maintenez. Si les espaces continuent à s'accumuler, la dictée vocale est probablement désactivée ; exécutez `/voice hold` pour l'activer. Si un ou deux espaces seulement apparaissent puis rien, la dictée vocale est activée mais la détection de maintien ne se déclenche pas. La détection de maintien nécessite que votre terminal envoie des événements de répétition des touches, elle ne peut donc pas détecter une touche maintenue si la répétition des touches est désactivée au niveau du système d'exploitation. Basculez vers le mode appui avec `/voice tap` pour éviter l'exigence de répétition des touches.

whats-new.md +16 −0

Details

8 8 

9Le digest hebdomadaire pour développeurs met en évidence les fonctionnalités les plus susceptibles de changer votre façon de travailler. Chaque entrée inclut du code exécutable, une courte démo et un lien vers la documentation complète. Pour chaque correction de bug et amélioration mineure, consultez le [changelog](/fr/changelog).9Le digest hebdomadaire pour développeurs met en évidence les fonctionnalités les plus susceptibles de changer votre façon de travailler. Chaque entrée inclut du code exécutable, une courte démo et un lien vers la documentation complète. Pour chaque correction de bug et amélioration mineure, consultez le [changelog](/fr/changelog).

10 10 

11<Update label="Week 26" description="22–26 juin 2026" tags={["v2.1.185–v2.1.193"]}>

12 **`claude mcp login`** : authentifiez un serveur MCP configuré depuis votre shell au lieu du menu interactif `/mcp`, et effacez ses identifiants stockés plus tard avec `claude mcp logout`.

13 

14 Également cette semaine : **shell mode répond à la sortie de commande** (`! npm test` obtient une explication sans une deuxième invite) ; **`/rewind`** peut reprendre une conversation d'avant que `/clear` ne soit exécuté ; et les **sous-agents d'arrière-plan** font maintenant surface les invites de permission dans la session principale au lieu de les refuser automatiquement.

15 

16 [Lire le digest de la Week 26 →](/fr/whats-new/2026-w26)

17</Update>

18 

19<Update label="Week 25" description="15–19 juin 2026" tags={["v2.1.178–v2.1.183"]}>

20 **Artifacts** : transformez la sortie d'une session en une page en direct et partageable sur claude.ai qui se met à jour sur place au fur et à mesure que la session progresse, maintenant en bêta sur les plans Team et Enterprise.

21 

22 Également cette semaine : **les règles de refus et de demande correspondent aux paramètres d'outil** avec `Tool(param:value)`, par exemple `Agent(model:opus)` ; **`/config key=value`** définit n'importe quel paramètre depuis l'invite, en mode `-p`, et depuis Remote Control ; et **auto mode bloque les commandes git destructrices** quand vous n'avez pas demandé à abandonner le travail local.

23 

24 [Lire le digest de la Week 25 →](/fr/whats-new/2026-w25)

25</Update>

26 

11<Update label="Week 24" description="8–12 juin 2026" tags={["v2.1.166–v2.1.176"]}>27<Update label="Week 24" description="8–12 juin 2026" tags={["v2.1.166–v2.1.176"]}>

12 **`/cd`** : déplacez la session actuelle vers un nouveau répertoire de travail en milieu de conversation sans reconstruire le cache de prompt.28 **`/cd`** : déplacez la session actuelle vers un nouveau répertoire de travail en milieu de conversation sans reconstruire le cache de prompt.

13 29 

Details

73 <p className="digest-feature-try">Ajoutez un plancher à vos paramètres gérés pour que les anciens clients refusent de démarrer :</p>73 <p className="digest-feature-try">Ajoutez un plancher à vos paramètres gérés pour que les anciens clients refusent de démarrer :</p>

74 74 

75 ```json managed-settings.json theme={null}75 ```json managed-settings.json theme={null}

76 {

76 "requiredMinimumVersion": "2.1.163"77 "requiredMinimumVersion": "2.1.163"

78 }

77 ```79 ```

78 80 

79 <a className="digest-feature-link" href="/fr/admin-setup#decide-what-to-enforce">Décidez ce qu'il faut appliquer</a>81 <a className="digest-feature-link" href="/fr/admin-setup#decide-what-to-enforce">Décidez ce qu'il faut appliquer</a>

whats-new/2026-w25.md +90 −0 created

Details

1> ## Documentation Index

2> Fetch the complete documentation index at: https://code.claude.com/docs/llms.txt

3> Use this file to discover all available pages before exploring further.

4 

5# Semaine 25 · 15–19 juin 2026

6 

7> Publiez une page en direct et partageable à partir de votre session avec Artifacts, faites correspondre les paramètres d'outils dans les règles de refus et de demande, et définissez n'importe quel paramètre à partir de l'invite avec /config.

8 

9<div className="digest-meta">

10 <span>Versions <a href="/fr/changelog#2-1-178">v2.1.178 → v2.1.183</a></span>

11 <span>3 fonctionnalités · 15–19 juin</span>

12</div>

13 

14<div className="digest-feature">

15 <div className="digest-feature-header">

16 <span className="digest-feature-title">Artifacts</span>

17 </div>

18 

19 <p className="digest-feature-lede">Un artifact est une page en direct et interactive que Claude Code publie à partir de votre session vers une URL privée sur claude.ai, et il se met à jour sur place au fur et à mesure que la session continue de fonctionner. Demandez-en un lorsque le texte du terminal n'est pas le bon médium, par exemple une présentation de PR avec le diff annoté en ligne ou un tableau de bord construit à partir des données de la session. Les Artifacts sont en bêta sur les plans Team et Enterprise.</p>

20 

21 <Frame>

22 <video autoPlay muted loop playsInline className="w-full" src="https://mintcdn.com/claude-code/1ylKDoQynT1UgfEK/images/whats-new/artifacts.mp4?fit=max&auto=format&n=1ylKDoQynT1UgfEK&q=85&s=7f5391559d2bc69989621b36322fcff1" data-path="images/whats-new/artifacts.mp4" />

23 </Frame>

24 

25 <p className="digest-feature-try">Demandez à Claude une page, puis approuvez l'invite de publication :</p>

26 

27 ```text Claude Code theme={null}

28 > Make an artifact that walks through this PR with the diff annotated inline.

29 ```

30 

31 <a className="digest-feature-link" href="/fr/artifacts#create-an-artifact">Créer un artifact</a>

32</div>

33 

34<div className="digest-feature">

35 <div className="digest-feature-header">

36 <span className="digest-feature-title">Correspondance par paramètre d'entrée</span>

37 <span className="digest-feature-pill">v2.1.178</span>

38 </div>

39 

40 <p className="digest-feature-lede">Les règles de refus et de demande de permission peuvent désormais faire correspondre les paramètres d'entrée d'un outil avec la syntaxe <code>Tool(param:value)</code>. Par exemple, <code>Agent(model:opus)</code> correspond aux générations de sous-agents qui demandent le niveau de modèle Opus. La valeur accepte `*` comme caractère générique, donc `Agent(isolation:*)` correspond à toute valeur d'isolation explicite.</p>

41 

42 <p className="digest-feature-try">Ajoutez une règle de paramètre à la liste de refus dans <code>settings.json</code> :</p>

43 

44 ```json .claude/settings.json {3} theme={null}

45 {

46 "permissions": {

47 "deny": ["Agent(model:opus)"]

48 }

49 }

50 ```

51 

52 <a className="digest-feature-link" href="/fr/permissions#match-by-input-parameter">Correspondance par paramètre d'entrée</a>

53</div>

54 

55<div className="digest-feature">

56 <div className="digest-feature-header">

57 <span className="digest-feature-title">Définir n'importe quel paramètre à partir de l'invite</span>

58 <span className="digest-feature-pill">v2.1.181</span>

59 </div>

60 

61 <p className="digest-feature-lede">Passez <code>key=value</code> à <code>/config</code> pour modifier un paramètre directement sans ouvrir l'interface Paramètres. La syntaxe fonctionne également en mode non interactif avec l'indicateur <code>-p</code> et à partir de Remote Control.</p>

62 

63 <p className="digest-feature-try">Définissez le paramètre <code>thinking</code> à partir de l'invite :</p>

64 

65 ```text Claude Code theme={null}

66 > /config thinking=false

67 ```

68 

69 <a className="digest-feature-link" href="/fr/commands#all-commands">Référence des commandes</a>

70</div>

71 

72<div className="digest-wins">

73 <p className="digest-wins-title">Autres améliorations</p>

74 

75 <div className="digest-wins-grid">

76 <div>Le mode Auto bloque désormais les commandes git destructrices (`git reset --hard`, `git clean -fd`, `git stash drop`) lorsque vous n'avez pas demandé à abandonner le travail local, et bloque <code>terraform destroy</code> sauf si vous avez demandé la pile spécifique</div>

77 <div>Définissez le nouveau paramètre <code>attribution.sessionUrl</code> sur <code>false</code> pour omettre le lien de session claude.ai des commits et des PR dans les sessions web et Remote Control</div>

78 <div>Dans l'interface <code>/config</code>, Entrée et Espace changent tous deux le paramètre sélectionné, et Échap enregistre et ferme maintenant au lieu de revenir en arrière</div>

79 <div>Le nouveau paramètre d'opt-in <code>sandbox.allowAppleEvents</code> permet aux commandes en sandbox d'envoyer des Apple Events sur macOS</div>

80 <div>Pointez <code>CLAUDE\_CLIENT\_PRESENCE\_FILE</code> vers un fichier marqueur pour supprimer les notifications push mobiles pendant que vous êtes à la machine</div>

81 <div>Les longs paragraphes se diffusent maintenant ligne par ligne au lieu d'attendre le premier saut de ligne</div>

82 <div>Les déconnexions de connexion API au milieu de la réflexion se réessaient automatiquement au lieu d'afficher « Connexion fermée pendant la réflexion »</div>

83 <div>Avec <code>CLAUDE\_CODE\_EXPERIMENTAL\_AGENT\_TEAMS=1</code> défini, chaque session a une équipe implicite, vous pouvez donc générer des coéquipiers directement avec le paramètre <code>name</code> de l'outil Agent</div>

84 <div>Les Skills dans les répertoires <code>.claude/skills</code> imbriqués se chargent lors du travail sur les fichiers là-bas ; en cas de conflit de nom, la skill imbriquée apparaît comme `<dir>:<name>` pour que les deux restent disponibles</div>

85 <div>Correction du cache de prompt ne lisant pas sur une <code>ANTHROPIC\_BASE\_URL</code> personnalisée et sur Foundry</div>

86 <div>Correction de Write et Edit produisant des fichiers de zéro octet ou tronqués sur les lecteurs réseau et les dossiers synchronisés dans le cloud</div>

87 </div>

88</div>

89 

90[Journal des modifications complet pour v2.1.178–v2.1.183 →](/fr/changelog#2-1-178)

whats-new/2026-w26.md +66 −0 created

Details

1> ## Documentation Index

2> Fetch the complete documentation index at: https://code.claude.com/docs/llms.txt

3> Use this file to discover all available pages before exploring further.

4 

5# Semaine 26 · 22–26 juin 2026

6 

7> Authentifiez les serveurs MCP depuis votre shell avec claude mcp login, obtenez une réponse à la sortie des commandes du mode shell avec le préfixe !, et reprenez une conversation antérieure à /clear avec /rewind.

8 

9<div className="digest-meta">

10 <span>Versions <a href="/fr/docs/changelog#2-1-185">v2.1.185 → v2.1.193</a></span>

11 <span>2 fonctionnalités · 22–26 juin</span>

12</div>

13 

14<div className="digest-feature">

15 <div className="digest-feature-header">

16 <span className="digest-feature-title">Authentifiez les serveurs MCP depuis la CLI</span>

17 <span className="digest-feature-pill">v2.1.186</span>

18 </div>

19 

20 <p className="digest-feature-lede">Les nouvelles commandes `claude mcp login <name>` et `claude mcp logout <name>` authentifient un serveur MCP configuré depuis votre shell au lieu du menu interactif <code>/mcp</code>. `claude mcp login` exécute le flux OAuth du serveur directement, et `claude mcp logout` efface les identifiants stockés.</p>

21 

22 <p className="digest-feature-try">Exécutez le flux OAuth pour un serveur configuré sans ouvrir de session :</p>

23 

24 ```bash terminal theme={null}

25 claude mcp login sentry

26 ```

27 

28 <a className="digest-feature-link" href="/fr/docs/mcp#authenticate-from-the-command-line">S'authentifier depuis la ligne de commande</a>

29</div>

30 

31<div className="digest-feature">

32 <div className="digest-feature-header">

33 <span className="digest-feature-title">Le mode shell répond à la sortie des commandes</span>

34 <span className="digest-feature-pill">v2.1.186</span>

35 </div>

36 

37 <p className="digest-feature-lede">Les commandes que vous exécutez avec le préfixe <code>!</code> reçoivent maintenant une réponse de Claude une fois que la sortie arrive dans la transcription, vous pouvez donc exécuter <code>! npm test</code> et obtenir une explication des échecs sans une deuxième invite. La réponse coûte la même chose que l'envoi d'une invite normale. Pour conserver le comportement antérieur, où la sortie est ajoutée au contexte sans réponse, définissez <code>respondToBashCommands</code> sur <code>false</code> dans <code>settings.json</code>.</p>

38 

39 <p className="digest-feature-try">Exécutez une commande et obtenez une réponse à sa sortie :</p>

40 

41 ```text Claude Code theme={null}

42 > ! npm test

43 ```

44 

45 <a className="digest-feature-link" href="/fr/docs/interactive-mode#shell-mode-with-prefix">Mode shell avec le préfixe !</a>

46</div>

47 

48<div className="digest-wins">

49 <p className="digest-wins-title">Autres améliorations</p>

50 

51 <div className="digest-wins-grid">

52 <div><code>/rewind</code> peut maintenant reprendre une conversation antérieure à l'exécution de <code>/clear</code></div>

53 <div>Nouveau paramètre <code>sandbox.credentials</code> qui empêche les commandes en sandbox de lire les fichiers d'identifiants et les variables d'environnement secrètes</div>

54 <div>Les restrictions de modèle configurées par l'organisation s'appliquent maintenant au sélecteur de modèle, `--model`, <code>/model</code>, et <code>ANTHROPIC\_MODEL</code>, avec un message « restreint par les paramètres de votre organisation » lorsqu'un modèle restreint est sélectionné</div>

55 <div>Nouveau paramètre <code>autoMode.classifyAllShell</code> qui achemine toutes les commandes Bash et PowerShell via le classificateur du mode automatique, et les raisons de refus s'affichent maintenant dans la transcription, le toast de refus, et <code>/permissions</code></div>

56 <div>Nouvel événement de journal OpenTelemetry <code>claude\_code.assistant\_response</code> qui porte le texte de réponse du modèle ; les déploiements qui enregistrent déjà le contenu des invites commencent à le recevoir lors de la mise à niveau, définissez donc <code>OTEL\_LOG\_ASSISTANT\_RESPONSES=0</code> pour conserver uniquement les invites</div>

57 <div>Les sous-agents en arrière-plan affichent maintenant les invites de permission dans la session principale au lieu de les refuser automatiquement ; la boîte de dialogue indique quel agent demande, et Échap refuse uniquement cet outil</div>

58 <div><code>/install-github-app</code> peut maintenant installer uniquement l'application GitHub et ignorer les étapes du flux de travail Actions et des secrets</div>

59 <div>Les hôtes que vous autorisez dans la boîte de dialogue de permission réseau du sandbox sont mémorisés pour le reste de la session au lieu de vous redemander à chaque connexion</div>

60 <div>Les réponses en streaming utilisent environ 37 % moins de CPU, et la croissance de la mémoire des sessions longues à partir du cache de sortie du terminal est réduite</div>

61 <div>`/review <pr>` utilise maintenant le même moteur d'examen que <code>/code-review medium</code></div>

62 <div>Les commandes <code>!</code> du mode Bash obtiennent l'autocomplétion du chemin de fichier en direct</div>

63 </div>

64</div>

65 

66[Journal des modifications complet pour v2.1.185–v2.1.193 →](/fr/changelog#2-1-185)

workflows.md +2 −0

Details

68 68 

69 <Step title="Lire le rapport">69 <Step title="Lire le rapport">

70 Quand l'exécution se termine, le rapport atterrit dans votre session. Il cite les sources dont provient chaque affirmation, les affirmations qui n'ont pas survécu à la vérification croisée étant déjà filtrées.70 Quand l'exécution se termine, le rapport atterrit dans votre session. Il cite les sources dont provient chaque affirmation, les affirmations qui n'ont pas survécu à la vérification croisée étant déjà filtrées.

71 

72 {/* min-version: 2.1.196 */}À partir de la v2.1.196, quand les agents vérificateurs ne peuvent pas vérifier une affirmation, par exemple après une limite de débit ou une erreur API, le rapport liste cette affirmation comme non vérifiée au lieu de la compter comme réfutée.

71 </Step>73 </Step>

72</Steps>74</Steps>

73 75