SpyBara
Go Premium

Documentation 2026-09-13 21:00 UTC to 2026-09-14 22:58 UTC

50 files changed +576 −488. View all changes and history on the product overview
2026
Fri 25 23:58 Thu 24 22:57 Wed 23 23:57 Tue 22 23:59 Mon 21 22:59 Sun 20 23:59 Sat 19 23:57 Fri 18 23:58 Tue 15 23:58 Mon 14 22:58 Sun 13 21:00 Sat 12 03:02 Thu 10 23:00 Wed 9 22:58 Tue 8 20:00 Tue 1 21:02

admin-setup.md +1 −3

Details

83Une fois que les sessions WSL sont activées, étendez vos paramètres gérés à celles-ci :83Une fois que les sessions WSL sont activées, étendez vos paramètres gérés à celles-ci :

84 84 

85* Déployez `wslInheritsWindowsSettings: true` via le registre HKLM ou le fichier `C:\Program Files\ClaudeCode` afin que les sessions WSL héritent de la même politique que les sessions hôte.85* Déployez `wslInheritsWindowsSettings: true` via le registre HKLM ou le fichier `C:\Program Files\ClaudeCode` afin que les sessions WSL héritent de la même politique que les sessions hôte.

86* Vérifiez en exécutant `/status` à l'intérieur d'une session WSL et en lisant la ligne `Setting sources`. Claude Code nomme uniquement la [source gérée qu'il a sélectionnée](/docs/fr/server-managed-settings#settings-precedence), donc ce que la ligne vous indique dépend de la session :86* Vérifiez en exécutant `/status` à l'intérieur d'une session WSL et en lisant la ligne `Setting sources`. Pour interpréter ce qu'elle indique, consultez [Lire la source dans /status](/docs/fr/managed-settings#read-the-source-in-/status).

87 * **Dans une session qui [récupère les paramètres gérés par le serveur](/docs/fr/server-managed-settings#platform-availability) et reçoit des clés** : `Enterprise managed settings (remote)`, car Claude Code les sélectionne avant les sources Windows, donc la ligne n'indique pas si l'indicateur est arrivé.

88 * **Dans toute autre session** : `Enterprise managed settings (HKLM)` confirme un déploiement de registre. `(file)` nomme le fichier Windows ou le propre `/etc/claude-code/managed-settings.json` de la distribution, donc il confirme un déploiement de fichier Windows uniquement lorsque la distribution n'a pas son propre fichier géré.

89 87 

90Les processus à l'intérieur de la machine virtuelle utilitaire WSL 2 ne sont pas visibles pour les capteurs de détection de point de terminaison côté Windows. Pour observer l'activité des processus et fichiers dans la distribution, consultez les conseils WSL de votre fournisseur de détection de point de terminaison pour un capteur Linux que vous pouvez exécuter à l'intérieur de la distribution et les exclusions dont il a besoin. La [télémétrie d'exécution d'outils OpenTelemetry](/docs/fr/monitoring-usage) de Claude Code est émise de manière identique pour les sessions WSL et natives.88Les processus à l'intérieur de la machine virtuelle utilitaire WSL 2 ne sont pas visibles pour les capteurs de détection de point de terminaison côté Windows. Pour observer l'activité des processus et fichiers dans la distribution, consultez les conseils WSL de votre fournisseur de détection de point de terminaison pour un capteur Linux que vous pouvez exécuter à l'intérieur de la distribution et les exclusions dont il a besoin. La [télémétrie d'exécution d'outils OpenTelemetry](/docs/fr/monitoring-usage) de Claude Code est émise de manière identique pour les sessions WSL et natives.

91 89 

advisor.md +10 −7

Details

98L'advisor doit être au moins aussi capable que le modèle principal. Les advisors acceptés pour chaque modèle principal sont :98L'advisor doit être au moins aussi capable que le modèle principal. Les advisors acceptés pour chaque modèle principal sont :

99 99 

100| Modèle principal | Advisors acceptés | Notes |100| Modèle principal | Advisors acceptés | Notes |

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

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

103| Sonnet 4.6 | Fable, Opus, Sonnet | |103| Sonnet 4.6 | Fable, Opus, Sonnet | |

104| Sonnet 5 | Fable, Opus, Sonnet 5 | Un advisor Sonnet 4.6 est rejeté |104| Sonnet 5 | Fable, Opus 4.7 ou ultérieur, Sonnet 5 | Un advisor Sonnet 4.6 est rejeté, et les requêtes avec un advisor Opus 4.6 échouent avec une erreur API |

105| Opus 4.6 | Fable, Opus, Sonnet 5 | Sonnet 5 et Opus 4.6 sont classés comme également capables, donc un Opus 4.6 principal accepte un advisor Sonnet 5 |105| Opus 4.6 | Fable, Opus, Sonnet 5 | Un advisor Sonnet 4.6 est rejeté |

106| Opus 4.7 ou ultérieur | Fable, et Opus 4.7 ou ultérieur | Opus 4.7 et les modèles Opus ultérieurs sont classés comme également capables, donc l'un accepte l'autre comme advisor. Un Opus 4.7 principal avec un advisor Opus 4.6 ou Sonnet 5 est rejeté |106| Opus 4.7 ou Opus 4.8 | Fable, et Opus 4.7 ou ultérieur | Un advisor Opus 4.6 ou Sonnet est rejeté |

107| Fable 5.1 ou Fable 5 | Fable 5.1 ou Fable 5 | Un advisor Opus ou Sonnet est rejeté |107| Opus 5 | Fable, Opus 5 | Un advisor Opus 4.6 ou Sonnet est rejeté, et les requêtes avec un advisor Opus 4.7 ou Opus 4.8 échouent avec une erreur API |

108| Fable 5 | Fable 5.1 ou Fable 5 | Un advisor Opus ou Sonnet est rejeté |

109| Fable 5.1 | Fable 5.1 | Un advisor Opus ou Sonnet est rejeté, et les requêtes avec un advisor Fable 5 échouent avec une erreur API |

108 110 

109Fable 5.1 nécessite Claude Code v2.1.257 ou ultérieur. Les deux modèles Fable nécessitent [l'accès à Fable](/docs/fr/model-config#work-with-fable).111Fable 5.1 nécessite Claude Code v2.1.257 ou ultérieur. Les deux modèles Fable nécessitent [l'accès à Fable](/docs/fr/model-config#work-with-fable).

110 112 


112 114 

113Les sous-agents héritent de l'advisor configuré et appliquent la même vérification d'appairage par rapport à leur propre modèle.115Les sous-agents héritent de l'advisor configuré et appliquent la même vérification d'appairage par rapport à leur propre modèle.

114 116 

115Claude Code valide l'appairage avant d'envoyer une requête :117Claude Code valide l'appairage avant d'envoyer une requête, et l'API le valide à nouveau :

116 118 

117* Si l'advisor est moins capable que le modèle principal, l'advisor n'est pas attaché aux requêtes du modèle principal. La sortie de la commande `/advisor` et une notification le montrent. Les sous-agents dont le modèle propre satisfait l'appairage peuvent toujours utiliser l'advisor.119* Pour un advisor que le tableau liste comme rejeté, Claude Code ne l'attache pas aux requêtes du modèle principal. La sortie de la commande `/advisor` et une notification le montrent. Les sous-agents dont le modèle propre satisfait l'appairage peuvent toujours utiliser l'advisor.

120* Pour un advisor que le tableau liste comme échouant avec une erreur API, Claude Code l'attache et l'API le refuse. Chaque requête échoue avec `'<modèle advisor>' ne peut pas être utilisé comme advisor lorsque le modèle de requête est '<modèle principal>'` jusqu'à ce que vous changiez l'advisor avec `/advisor` ou le désactiviez.

118* Si le modèle principal ou l'advisor est un modèle que Claude Code ne reconnaît pas, l'advisor n'est pas attaché.121* Si le modèle principal ou l'advisor est un modèle que Claude Code ne reconnaît pas, l'advisor n'est pas attaché.

119 122 

120<h3 id="fable-advisor-and-usage-credits">123<h3 id="fable-advisor-and-usage-credits">

Details

62 * `"init"` : métadonnées de session pour l'exécution. Lorsqu'un hook `SessionStart` ou `Setup` s'exécute au démarrage de la session, ses [messages du cycle de vie du hook](/docs/fr/agent-sdk/typescript#sdkhookstartedmessage) arrivent avant le message `init`62 * `"init"` : métadonnées de session pour l'exécution. Lorsqu'un hook `SessionStart` ou `Setup` s'exécute au démarrage de la session, ses [messages du cycle de vie du hook](/docs/fr/agent-sdk/typescript#sdkhookstartedmessage) arrivent avant le message `init`

63 * `"compact_boundary"` : se déclenche après [compaction](#automatic-compaction)63 * `"compact_boundary"` : se déclenche après [compaction](#automatic-compaction)

64 * `"informational"` : bannières de statut en texte brut de la boucle64 * `"informational"` : bannières de statut en texte brut de la boucle

65 * `"worker_shutting_down"` : la boucle se terminera après le tour actuel car l'hôte se ferme ou Remote Control s'est déconnecté65 * `"worker_shutting_down"` : l'hôte se ferme ou Remote Control s'est déconnecté

66 66 

67 En TypeScript, chaque sous-type autre que `"init"` est son propre type dans l'union [`SDKMessage`](/docs/fr/agent-sdk/typescript#sdkmessage) plutôt qu'un sous-type de `SDKSystemMessage`.67 En TypeScript, chaque sous-type autre que `"init"` est son propre type dans l'union [`SDKMessage`](/docs/fr/agent-sdk/typescript#sdkmessage) plutôt qu'un sous-type de `SDKSystemMessage`.

68* **`AssistantMessage` :** émis pour chaque bloc de contenu dans les réponses de Claude, y compris le bloc textuel final uniquement. Chacun porte un seul bloc de contenu, tel que du texte ou un appel d'outil, et les messages d'une réponse partagent un ID de message.68* **`AssistantMessage` :** émis pour chaque bloc de contenu dans les réponses de Claude, y compris le bloc textuel final uniquement. Chacun porte un seul bloc de contenu, tel que du texte ou un appel d'outil, et les messages d'une réponse partagent un ID de message.


238| `"xhigh"` | Profondeur de raisonnement étendue | Tâches de codage et d'agent sur les [modèles qui le supportent](/docs/fr/model-config#adjust-effort-level) |238| `"xhigh"` | Profondeur de raisonnement étendue | Tâches de codage et d'agent sur les [modèles qui le supportent](/docs/fr/model-config#adjust-effort-level) |

239| `"max"` | Profondeur de raisonnement maximale | Problèmes multi-étapes nécessitant une analyse approfondie |239| `"max"` | Profondeur de raisonnement maximale | Problèmes multi-étapes nécessitant une analyse approfondie |

240 240 

241Si vous ne définissez pas `effort`, les deux SDK laissent le paramètre non défini et s'en remettent au comportement par défaut du modèle.241Si vous ne définissez pas `effort`, Claude Code résout le niveau d'effort lui-même, dans l'ordre que [Ajuster le niveau d'effort](/docs/fr/model-config#adjust-effort-level) décrit.

242 242 

243<Note>243<Note>

244 `effort` échange la latence et le coût des tokens pour la profondeur du raisonnement dans chaque réponse. [Extended thinking](https://platform.claude.com/docs/en/build-with-claude/extended-thinking) est une fonctionnalité distincte qui produit des blocs `thinking` dans la sortie, et le champ `display` sur `ThinkingConfig` pour [Python](/docs/fr/agent-sdk/python#thinkingconfig) ou [TypeScript](/docs/fr/agent-sdk/typescript#thinkingconfig) contrôle si vous recevez leur texte. Ils sont indépendants : vous pouvez définir `effort: "low"` avec extended thinking activé, ou `effort: "max"` sans lui.244 `effort` échange la latence et le coût des tokens pour la profondeur du raisonnement dans chaque réponse. [Extended thinking](https://platform.claude.com/docs/en/build-with-claude/extended-thinking) est une fonctionnalité distincte qui produit des blocs `thinking` dans la sortie, et le champ `display` sur `ThinkingConfig` pour [Python](/docs/fr/agent-sdk/python#thinkingconfig) ou [TypeScript](/docs/fr/agent-sdk/typescript#thinkingconfig) contrôle si vous recevez leur texte. Ils sont indépendants : vous pouvez définir `effort: "low"` avec extended thinking activé, ou `effort: "max"` sans lui.


357| `success` | Claude a terminé la tâche normalement | Oui |357| `success` | Claude a terminé la tâche normalement | Oui |

358| `error_max_turns` | Limite de `maxTurns` atteinte avant la fin | Non |358| `error_max_turns` | Limite de `maxTurns` atteinte avant la fin | Non |

359| `error_max_budget_usd` | Limite de `maxBudgetUsd` atteinte avant la fin | Non |359| `error_max_budget_usd` | Limite de `maxBudgetUsd` atteinte avant la fin | Non |

360| `error_during_execution` | Une erreur a interrompu la boucle (par exemple, une défaillance API ou une requête annulée) | Non |360| `error_during_execution` | Une erreur a interrompu la boucle (par exemple, une requête annulée) | Non |

361| `error_max_structured_output_retries` | Aucune sortie structurée valide n'a été produite dans la limite de tentatives configurée : chaque tentative a échoué la validation, ou un modèle de secours a rétracté la sortie complétée sans nouvelle tentative réussie | Non |361| `error_max_structured_output_retries` | Aucune sortie structurée valide n'a été produite dans la limite de tentatives configurée : chaque tentative a échoué la validation, ou un modèle de secours a rétracté la sortie complétée sans nouvelle tentative réussie | Non |

362 362 

363Le champ `result` contient la sortie textuelle finale et n'est présent que sur la variante `success`, donc vérifiez toujours le sous-type avant de le lire.363Le champ `result` contient la sortie textuelle finale et n'est présent que sur la variante `success`, donc vérifiez toujours le sous-type avant de le lire.

Details

196* **Hooks du système de fichiers :** commandes shell définies dans `settings.json`, chargées quand `settingSources` inclut la source pertinente. Ce sont les mêmes hooks que vous configureriez pour les [sessions Claude Code interactives](/docs/fr/hooks-guide).196* **Hooks du système de fichiers :** commandes shell définies dans `settings.json`, chargées quand `settingSources` inclut la source pertinente. Ce sont les mêmes hooks que vous configureriez pour les [sessions Claude Code interactives](/docs/fr/hooks-guide).

197* **Hooks programmatiques :** fonctions de rappel passées directement à `query()`. Celles-ci s'exécutent dans votre processus d'application et peuvent retourner des décisions structurées. Voir [Contrôler l'exécution avec les hooks](/docs/fr/agent-sdk/hooks).197* **Hooks programmatiques :** fonctions de rappel passées directement à `query()`. Celles-ci s'exécutent dans votre processus d'application et peuvent retourner des décisions structurées. Voir [Contrôler l'exécution avec les hooks](/docs/fr/agent-sdk/hooks).

198 198 

199Les deux types s'exécutent pendant le même cycle de vie des hooks. Si vous avez déjà des hooks dans le `.claude/settings.json` de votre projet et que vous définissez `settingSources: ["project"]`, ces hooks s'exécutent automatiquement dans le SDK sans configuration supplémentaire.

200 

201Les rappels de hook reçoivent l'entrée de l'outil et retournent un dictionnaire de décision. Retourner `{}` signifie permettre à l'outil de procéder. Pour bloquer l'exécution, retournez un objet `hookSpecificOutput` avec `permissionDecision: "deny"` et une `permissionDecisionReason`. La raison est envoyée à Claude comme résultat de l'outil. Voir le [guide des hooks](/docs/fr/agent-sdk/hooks) pour la signature de rappel complète et les types de retour.199Les rappels de hook reçoivent l'entrée de l'outil et retournent un dictionnaire de décision. Retourner `{}` signifie permettre à l'outil de procéder. Pour bloquer l'exécution, retournez un objet `hookSpecificOutput` avec `permissionDecision: "deny"` et une `permissionDecisionReason`. La raison est envoyée à Claude comme résultat de l'outil. Voir le [guide des hooks](/docs/fr/agent-sdk/hooks) pour la signature de rappel complète et les types de retour.

202 200 

203<CodeGroup>201<CodeGroup>

Details

589 Effectuer des requêtes HTTP à partir des hooks589 Effectuer des requêtes HTTP à partir des hooks

590</h3>590</h3>

591 591 

592Les hooks peuvent effectuer des opérations asynchrones comme les requêtes HTTP. Capturez les erreurs à l'intérieur de votre hook au lieu de les laisser se propager, car une exception non gérée peut interrompre l'agent.592Les hooks peuvent effectuer des opérations asynchrones comme les requêtes HTTP. Capturez les erreurs à l'intérieur de votre hook au lieu de les laisser se propager.

593 593 

594Cet exemple envoie un webhook après chaque exécution d'outil, enregistrant quel outil a été exécuté et quand. Le hook capture les erreurs afin qu'un webhook échoué n'interrompe pas l'agent :594Cet exemple envoie un webhook après chaque exécution d'outil, enregistrant quel outil a été exécuté et quand. Le hook capture les erreurs afin qu'un webhook échoué n'interrompe pas l'agent :

595 595 


627 # Run the blocking HTTP call in a thread to avoid blocking the event loop627 # Run the blocking HTTP call in a thread to avoid blocking the event loop

628 await asyncio.to_thread(_send_webhook, input_data["tool_name"])628 await asyncio.to_thread(_send_webhook, input_data["tool_name"])

629 except Exception as e:629 except Exception as e:

630 # Log the error but don't raise. A failed webhook shouldn't stop the agent630 # Log the error but don't raise

631 print(f"Webhook request failed: {e}")631 print(f"Webhook request failed: {e}")

632 632 

633 return {}633 return {}


656 if (error instanceof Error && error.name === "AbortError") {656 if (error instanceof Error && error.name === "AbortError") {

657 console.log("Webhook request cancelled");657 console.log("Webhook request cancelled");

658 }658 }

659 // Don't re-throw. A failed webhook shouldn't stop the agent659 // Don't re-throw

660 }660 }

661 661 

662 return {};662 return {};


901 901 

902Un hook `UserPromptSubmit` qui lance des sous-agents peut créer des boucles infinies si ces sous-agents déclenchent le même hook. Pour éviter cela :902Un hook `UserPromptSubmit` qui lance des sous-agents peut créer des boucles infinies si ces sous-agents déclenchent le même hook. Pour éviter cela :

903 903 

904* Vérifiez un indicateur de sous-agent dans l'entrée du hook avant de lancer

905* Utilisez une variable partagée ou un état de session pour suivre si vous êtes déjà à l'intérieur d'un sous-agent904* Utilisez une variable partagée ou un état de session pour suivre si vous êtes déjà à l'intérieur d'un sous-agent

906* Limitez les hooks pour qu'ils s'exécutent uniquement pour la session d'agent de niveau supérieur905* Limitez les hooks pour qu'ils s'exécutent uniquement pour la session d'agent de niveau supérieur

907 906 

Details

162| :---------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------- | :-------------------------------------------------------------------------------------------------------------- |162| :---------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------- | :-------------------------------------------------------------------------------------------------------------- |

163| Serveur stdio, ou serveur HTTP/SSE sans liste d'outils en cache | Oui, jusqu'à ce qu'il se connecte | [`MCP_TIMEOUT`](/docs/fr/env-vars), 30 secondes par défaut ; la connexion échoue à cette limite |163| Serveur stdio, ou serveur HTTP/SSE sans liste d'outils en cache | Oui, jusqu'à ce qu'il se connecte | [`MCP_TIMEOUT`](/docs/fr/env-vars), 30 secondes par défaut ; la connexion échoue à cette limite |

164| Serveur distant avec une liste d'outils en cache, enregistrée par Claude Code à partir d'une connexion précédente | Non ; les outils en cache sont disponibles dès le premier tour | Aucun ; se connecte lors de son premier appel d'outil, et cette connexion différée a son propre délai d'attente |164| Serveur distant avec une liste d'outils en cache, enregistrée par Claude Code à partir d'une connexion précédente | Non ; les outils en cache sont disponibles dès le premier tour | Aucun ; se connecte lors de son premier appel d'outil, et cette connexion différée a son propre délai d'attente |

165| Serveur [SDK](#sdk-mcp-servers) en processus | Non ; ne retarde jamais le premier tour | Aucun |165| Serveur [SDK](#sdk-mcp-servers) en processus | Oui, jusqu'à ce qu'il se connecte et énumère ses outils | Aucun ; les demandes de connexion et d'énumération d'outils ont chacune leur propre délai d'attente |

166 166 

167Pour bloquer le démarrage lui-même à une phase distincte et antérieure à l'attente du premier tour, avant que le message init soit envoyé :167Pour bloquer le démarrage lui-même à une phase distincte et antérieure à l'attente du premier tour, avant que le message init soit envoyé :

168 168 

Details

160 const options = { settings: { outputStyle: "Explanatory" } };160 const options = { settings: { outputStyle: "Explanatory" } };

161 ```161 ```

162 162 

163Le SDK Python n'a pas d'option pour sélectionner un style de sortie par programmation. Pour les déploiements basés sur le code où vous ne pouvez pas écrire dans `.claude/settings.local.json`, utilisez `append` ou une chaîne de prompt personnalisée à la place.163Dans le SDK Python, définissez `outputStyle` via l'option `settings`, qui prend une chaîne JSON telle que `'{"outputStyle": "Explanatory"}'` ou un chemin vers un fichier de paramètres qui le définit.

164 164 

165**Remarque pour les utilisateurs du SDK :** Les styles de sortie sont chargés quand vous incluez `settingSources: ['user']` ou `settingSources: ['project']` (TypeScript) / `setting_sources=["user"]` ou `setting_sources=["project"]` (Python) dans vos options.165**Remarque pour les utilisateurs du SDK :** Les styles de sortie sont chargés quand vous incluez `settingSources: ['user']` ou `settingSources: ['project']` (TypeScript) / `setting_sources=["user"]` ou `setting_sources=["project"]` (Python) dans vos options.

166 166 

Details

16 16 

17| Si vous... | Utilisez | Pourquoi |17| Si vous... | Utilisez | Pourquoi |

18| ------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------ |18| ------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------ |

19| Construisez un agent sans implémenter vous-même la boucle d'outils | **SDK Agent** | Une bibliothèque qui exécute la boucle d'agent dans votre propre processus, en Python ou TypeScript. |19| Construisez un agent sans implémenter vous-même la boucle d'outils | **SDK Agent** | Une bibliothèque Python ou TypeScript qui exécute la boucle d'agent pour vous. |

20| Faites du développement interactif ou exécutez des tâches ponctuelles depuis un terminal | [**Claude Code CLI**](/docs/fr/overview) | L'interface de terminal, conçue pour une utilisation interactive quotidienne. |20| Faites du développement interactif ou exécutez des tâches ponctuelles depuis un terminal | [**Claude Code CLI**](/docs/fr/overview) | L'interface de terminal, conçue pour une utilisation interactive quotidienne. |

21| Appelez l'API directement et implémentez vous-même la boucle d'outils | [**SDK Client**](https://platform.claude.com/docs/en/api/client-sdks) | Accès direct à l'API Anthropic plutôt qu'à Claude Code. Vous implémentez vous-même la boucle d'outils. |21| Appelez l'API directement et implémentez vous-même la boucle d'outils | [**SDK Client**](https://platform.claude.com/docs/en/api/client-sdks) | Accès direct à l'API Anthropic plutôt qu'à Claude Code. Vous implémentez vous-même la boucle d'outils. |

22| Exécutez des agents de longue durée ou asynchrones sans gérer votre propre infrastructure de sandbox ou de session | [**Agents Gérés**](https://platform.claude.com/docs/en/managed-agents/overview) | API REST hébergée, un produit distinct du SDK Agent. Anthropic exécute l'agent et le sandbox. |22| Exécutez des agents de longue durée ou asynchrones sans gérer votre propre infrastructure de sandbox ou de session | [**Agents Gérés**](https://platform.claude.com/docs/en/managed-agents/overview) | API REST hébergée, un produit distinct du SDK Agent. Anthropic exécute l'agent et le sandbox. |

Details

4 4 

5# Configurer les permissions5# Configurer les permissions

6 6 

7> Contrôlez comment votre agent utilise les outils avec les modes de permission, les hooks et les règles de permission/refus déclaratives.7> Contrôlez comment votre agent utilise les outils avec les modes de permission, les hooks et les règles déclaratives d'autorisation/refus.

8 8 

9Le Claude Agent SDK fournit des contrôles de permission pour gérer la façon dont Claude utilise les outils. Utilisez les modes de permission et les règles pour définir ce qui est autorisé automatiquement, et le callback [`canUseTool`](/docs/fr/agent-sdk/user-input) pour gérer tout le reste à l'exécution.9Le Claude Agent SDK fournit des contrôles de permission pour gérer la façon dont Claude utilise les outils. Utilisez les modes de permission et les règles pour définir ce qui est autorisé automatiquement, et le callback [`canUseTool`](/docs/fr/agent-sdk/user-input) pour gérer tout le reste à l'exécution.

10 10 


16 16 

17<Steps>17<Steps>

18 <Step title="Hooks">18 <Step title="Hooks">

19 Exécutez d'abord les [hooks](/docs/fr/agent-sdk/hooks). Un hook peut refuser l'appel directement ou le transmettre. Un hook qui retourne `allow` ne saute pas les règles de refus et de demande ci-dessous ; celles-ci sont évaluées indépendamment du résultat du hook. Un hook `PreToolUse` allow ne peut pas non plus approuver une suppression `rm` ou `rmdir` ciblant un [chemin critique](/docs/fr/permission-modes#critical-paths).19 Exécutez d'abord les [hooks](/docs/fr/agent-sdk/hooks). Un hook peut refuser l'appel catégoriquement ou le transmettre. Un hook qui retourne `allow` ne contourne pas les règles de refus et de demande ci-dessous ; celles-ci sont évaluées indépendamment du résultat du hook. Un hook `PreToolUse` allow ne peut pas non plus approuver une suppression `rm` ou `rmdir` ciblant un [chemin critique](/docs/fr/permission-modes#critical-paths).

20 </Step>20 </Step>

21 21 

22 <Step title="Règles de refus">22 <Step title="Règles de refus">

23 Vérifiez les règles `deny` (à partir de `disallowed_tools` et [settings.json](/docs/fr/settings-reference#permission-settings)). Si une règle de refus correspond, l'outil est bloqué, même en mode `bypassPermissions`. Les règles de nom simple comme `Bash` suppriment l'outil du contexte de Claude avant que cette évaluation ne commence, donc seules les règles délimitées comme `Bash(rm *)` sont vérifiées à cette étape.23 Vérifiez les règles `deny` (à partir de `disallowed_tools` et [settings.json](/docs/fr/settings-reference#permission-settings)). Si une règle de refus correspond, l'outil est bloqué, même en mode `bypassPermissions`. Les règles de refus sans nom comme `Bash` suppriment l'outil du contexte de Claude avant que cette évaluation ne commence, donc seules les règles délimitées comme `Bash(rm *)` sont vérifiées à cette étape.

24 </Step>24 </Step>

25 25 

26 <Step title="Règles de demande">26 <Step title="Règles de demande">

27 Vérifiez les règles `ask` à partir de [settings.json](/docs/fr/settings-reference#permission-settings). Si une règle de demande correspond, l'appel passe à votre callback [`canUseTool`](/docs/fr/agent-sdk/user-input) pour confirmation, même en mode `bypassPermissions`.27 Vérifiez les règles `ask` à partir de [settings.json](/docs/fr/settings-reference#permission-settings). Si une règle de demande correspond, l'appel passe à votre callback [`canUseTool`](/docs/fr/agent-sdk/user-input) pour confirmation, même en mode `bypassPermissions`.

28 28 

29 Les outils qui nécessitent une interaction utilisateur se comportent de la même manière : `AskUserQuestion` et les outils MCP dont le serveur définit [`_meta["anthropic/requiresUserInteraction"]`](/docs/fr/mcp#require-approval-for-a-specific-tool) passent toujours au callback, même lorsqu'une règle d'autorisation correspond. En mode `dontAsk`, les deux cas sont refusés à la place, car ce mode ne demande jamais. L'annotation MCP nécessite Claude Code v2.1.199 ou ultérieur.29 Les outils qui nécessitent une interaction utilisateur se comportent de la même manière : `AskUserQuestion` et les outils MCP dont le serveur définit [`_meta["anthropic/requiresUserInteraction"]`](/docs/fr/mcp#require-approval-for-a-specific-tool) passent toujours au callback, même lorsqu'une règle allow correspond. En mode `dontAsk`, les deux cas sont refusés à la place, car ce mode ne demande jamais. L'annotation MCP nécessite Claude Code v2.1.199 ou ultérieur.

30 30 

31 Les outils du connecteur [claude.ai](/docs/fr/mcp#organization-controls-on-connector-tools) que votre organisation a définis sur `ask` quittent également le flux à cette étape. Chaque appel passe au callback, même en mode `bypassPermissions` et même lorsqu'une règle d'autorisation correspond. Le callback reçoit la raison `Your organization requires approval for this tool`. En mode `dontAsk`, l'appel est refusé à la place, car ce mode ne demande jamais.31 Les outils du connecteur [claude.ai](/docs/fr/mcp#organization-controls-on-connector-tools) que votre organisation a définis sur `ask` quittent également le flux à cette étape. Chaque appel passe au callback, même en mode `bypassPermissions` et même lorsqu'une règle allow correspond. Le callback reçoit la raison `Your organization requires approval for this tool`. En mode `dontAsk`, l'appel est refusé à la place, car ce mode ne demande jamais.

32 </Step>32 </Step>

33 33 

34 <Step title="Mode de permission">34 <Step title="Mode de permission">

35 Appliquez le [mode de permission](#permission-modes) actif :35 Appliquez le [mode de permission](#permission-modes) actif :

36 36 

37 * En mode `bypassPermissions`, Claude Code approuve tout ce qui atteint cette étape sauf les suppressions `rm` et `rmdir` ciblant un [chemin critique](/docs/fr/permission-modes#critical-paths), qui passent à la place.37 * En mode `bypassPermissions`, Claude Code approuve tout ce qui atteint cette étape sauf les suppressions `rm` et `rmdir` ciblant un [chemin critique](/docs/fr/permission-modes#critical-paths), qui passent à la place.

38 * En mode `acceptEdits`, Claude Code approuve les opérations de fichiers listées sous [Mode d'acceptation des modifications](#accept-edits-mode-acceptedits).38 * En mode `acceptEdits`, Claude Code approuve les opérations de fichier listées sous [Mode Accept edits](#accept-edits-mode-acceptedits).

39 * En mode `plan`, Claude Code achemine les outils d'édition de fichiers et d'écriture shell vers votre callback `canUseTool` indépendamment des règles d'autorisation, donc les opérations d'écriture ne peuvent pas être approuvées automatiquement lors de la planification.39 * En mode `plan`, Claude Code envoie les outils de modification de fichier et d'écriture shell à votre callback `canUseTool` indépendamment des règles allow, afin que les opérations d'écriture ne puissent pas être approuvées automatiquement lors de la planification.

40 * Dans les autres modes, la demande passe au suivant.40 * Dans les autres modes, la demande passe.

41 </Step>41 </Step>

42 42 

43 <Step title="Règles d'autorisation">43 <Step title="Règles d'autorisation">

44 Vérifiez les règles `allow` (à partir de `allowed_tools` et settings.json). Si une règle correspond, l'outil est approuvé. Un appel que l'outil approuve de lui-même est également résolu à cette étape, sans règle nécessaire : par exemple une lecture de fichier dans vos répertoires de travail ou une [commande Bash en lecture seule](/docs/fr/permissions#read-only-commands). Les suppressions `rm` et `rmdir` ciblant un [chemin critique](/docs/fr/permission-modes#critical-paths) ne sont jamais approuvées par une règle d'autorisation : elles atteignent votre callback dans les modes qui demandent, vont au [classificateur](/docs/fr/permission-modes#eliminate-prompts-with-auto-mode) en mode `auto` sur Claude Code v2.1.218 ou ultérieur, et sont refusées en mode `dontAsk`.44 Vérifiez les règles `allow` (à partir de `allowed_tools` et settings.json). Si une règle correspond, l'outil est approuvé. Un appel que l'outil approuve de lui-même est résolu à cette étape aussi, sans règle nécessaire : par exemple une lecture de fichier dans vos répertoires de travail ou une [commande Bash en lecture seule](/docs/fr/permissions#read-only-commands). Les suppressions `rm` et `rmdir` ciblant un [chemin critique](/docs/fr/permission-modes#critical-paths) ne sont jamais approuvées par une règle allow : elles atteignent votre callback dans les modes qui demandent, vont au [classificateur](/docs/fr/permission-modes#eliminate-prompts-with-auto-mode) en mode `auto` sur Claude Code v2.1.218 ou ultérieur, et sont refusées en mode `dontAsk`.

45 </Step>45 </Step>

46 46 

47 <Step title="Callback canUseTool">47 <Step title="Callback canUseTool">

48 Si aucune des étapes ci-dessus ne résout le problème, appelez votre callback [`canUseTool`](/docs/fr/agent-sdk/user-input) pour une décision. En mode `dontAsk`, cette étape est ignorée et l'outil est refusé.48 Si aucune des étapes ci-dessus ne l'a résolu, appelez votre callback [`canUseTool`](/docs/fr/agent-sdk/user-input) pour une décision. En mode `dontAsk`, cette étape est ignorée et l'outil est refusé.

49 49 

50 Dans le SDK TypeScript, si vous définissez [`permissionPrompts: 'none'`](/docs/fr/agent-sdk/typescript#options), votre callback n'est pas appelé à cette étape. Un hook [`PermissionRequest`](/docs/fr/hooks#permissionrequest) a toujours une chance de décider, et s'il ne le fait pas, Claude Code refuse l'appel. L'option nécessite Claude Code v2.1.259 ou ultérieur.50 Dans le SDK TypeScript, si vous définissez [`permissionPrompts: 'none'`](/docs/fr/agent-sdk/typescript#options), votre callback n'est pas appelé à cette étape. Un hook [`PermissionRequest`](/docs/fr/hooks#permissionrequest) a toujours une chance de décider, et s'il ne le fait pas, Claude Code refuse l'appel. L'option nécessite Claude Code v2.1.259 ou ultérieur.

51 </Step>51 </Step>

52</Steps>52</Steps>

53 53 

54<img src="https://mintcdn.com/claude-code/jYgs7qigNjO1Badj/images/agent-sdk/permissions-flow.svg?fit=max&auto=format&n=jYgs7qigNjO1Badj&q=85&s=c771ad9085b1277d3708027a49c744bc" className="dark:hidden" 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" />54<img src="https://mintcdn.com/claude-code/jYgs7qigNjO1Badj/images/agent-sdk/permissions-flow.svg?fit=max&auto=format&n=jYgs7qigNjO1Badj&q=85&s=c771ad9085b1277d3708027a49c744bc" className="dark:hidden" 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 Blocked ; le contournement du mode de permission, les règles d'autorisation et canUseTool peuvent router vers Execute ; les règles de demande routent vers canUseTool." width="1180" height="260" data-path="images/agent-sdk/permissions-flow.svg" />

55 55 

56<img src="https://mintcdn.com/claude-code/_xqph1dUOslCOwsj/images/agent-sdk/permissions-flow-dark.svg?fit=max&auto=format&n=_xqph1dUOslCOwsj&q=85&s=e53a91e9059cbf51852b7cedb4dd4251" className="hidden dark:block" 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-dark.svg" />56<img src="https://mintcdn.com/claude-code/_xqph1dUOslCOwsj/images/agent-sdk/permissions-flow-dark.svg?fit=max&auto=format&n=_xqph1dUOslCOwsj&q=85&s=e53a91e9059cbf51852b7cedb4dd4251" className="hidden dark:block" 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 Blocked ; le contournement du mode de permission, les règles d'autorisation et canUseTool peuvent router vers Execute ; les règles de demande routent vers canUseTool." width="1180" height="260" data-path="images/agent-sdk/permissions-flow-dark.svg" />

57 57 

58Si vous transmettez un callback `canUseTool` dans une configuration où le SDK TypeScript s'attend à ce que l'ordre d'évaluation approuve automatiquement les appels avant que le callback ne soit consulté, le SDK émet un avertissement du processus Node.js une fois lorsque la requête est construite. Le code de l'avertissement est `CLAUDE_SDK_CAN_USE_TOOL_SHADOWED`. Deux configurations le déclenchent :58Si vous transmettez un callback `canUseTool` dans une configuration où le SDK TypeScript s'attend à ce que l'ordre d'évaluation approuve automatiquement les appels avant que le callback ne soit consulté, le SDK émet un avertissement de processus Node.js une fois lorsque la requête est construite. Le code de l'avertissement est `CLAUDE_SDK_CAN_USE_TOOL_SHADOWED`. Deux configurations le déclenchent :

59 59 

60* `permissionMode: 'bypassPermissions'`, qui approuve automatiquement chaque appel qui atteint l'étape du mode de permission à part les [actions qu'aucun mode n'approuve automatiquement](/docs/fr/permission-modes#actions-no-mode-auto-approves)60* `permissionMode: 'bypassPermissions'`, qui approuve automatiquement chaque appel qui atteint l'étape du mode de permission à l'exception des [actions qu'aucun mode n'approuve automatiquement](/docs/fr/permission-modes#actions-no-mode-auto-approves)

61* Chaque entrée `allowedTools` simple comme `"Read"`, qui approuve automatiquement cet outil entier avant que le callback ne soit consulté, à part les [actions qu'aucun mode n'approuve automatiquement](/docs/fr/permission-modes#actions-no-mode-auto-approves)61* Chaque entrée `allowedTools` sans nom comme `"Read"`, qui approuve automatiquement cet outil entier avant que le callback ne soit consulté, à l'exception des [actions qu'aucun mode n'approuve automatiquement](/docs/fr/permission-modes#actions-no-mode-auto-approves)

62 62 

63Les entrées avec un spécificateur comme `Bash(ls *)` et le mode `acceptEdits` ne le déclenchent pas, et les règles d'autorisation provenant des fichiers de paramètres ne sont pas visibles pour la vérification.63Les entrées avec un spécificateur comme `Bash(ls *)` et le mode `acceptEdits` ne le déclenchent pas, et les règles d'autorisation provenant de fichiers de paramètres ne sont pas visibles pour la vérification.

64 64 

65Écoutez avec `process.on('warning', ...)` et faites correspondre le code pour le journaliser ou le supprimer. Pour contrôler chaque appel d'outil indépendamment du mode et des règles, utilisez plutôt un [hook `PreToolUse`](/docs/fr/agent-sdk/hooks).65Écoutez avec `process.on('warning', ...)` et faites correspondre le code pour le journaliser ou le supprimer. Pour contrôler chaque appel d'outil indépendamment du mode et des règles, utilisez plutôt un [hook `PreToolUse`](/docs/fr/agent-sdk/hooks).

66 66 

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

68 68 

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

70* **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](/docs/fr/agent-sdk/user-input).70* **Callback canUseTool :** invitez les utilisateurs à approuver au moment de l'exécution, lorsqu'aucune étape antérieure ne résout l'appel. Voir [Gérer les approbations et l'entrée utilisateur](/docs/fr/agent-sdk/user-input).

71 71 

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

73 Règles d'autorisation et de refus73 Règles d'autorisation et de refus

74</h2>74</h2>

75 75 

76`allowed_tools` et `disallowed_tools` (TypeScript : `allowedTools` / `disallowedTools`) ajoutent des entrées aux listes de règles d'autorisation et de refus dans le flux d'évaluation ci-dessus. Si vous nommez l'un des [outils de suivi des tâches](/docs/fr/agent-sdk/todo-tracking#model-availability) dans `allowed_tools`, Claude Code opte également la session. Tout autre outil non listé dans `allowed_tools` est toujours disponible pour Claude, et un appel à celui-ci qui nécessite une approbation passe au mode de permission. Les règles de refus se comportent différemment selon qu'elles nomment un outil ou délimitent un motif au sein de celui-ci.76`allowed_tools` et `disallowed_tools` (TypeScript : `allowedTools` / `disallowedTools`) ajoutent des entrées aux listes de règles d'autorisation et de refus dans le flux d'évaluation ci-dessus. Si vous nommez l'un des [outils de suivi des tâches](/docs/fr/agent-sdk/todo-tracking#model-availability) dans `allowed_tools`, Claude Code opte également pour la session. Tout autre outil non listé dans `allowed_tools` reste disponible pour Claude, et un appel à celui-ci qui nécessite une approbation tombe dans le mode de permission. Les règles de refus se comportent différemment selon qu'elles nomment un outil ou délimitent un motif au sein de celui-ci.

77 77 

78| Option | Effet |78| Option | Effet |

79| :-------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |79| :-------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

80| `allowed_tools=["Read", "Grep"]` | `Read` et `Grep` sont auto-approuvés. Les autres outils non listés ici existent toujours, et les appels à ceux-ci qui nécessitent une approbation passent au mode de permission et à `canUseTool`. |80| `allowed_tools=["Read", "Grep"]` | `Read` et `Grep` sont approuvés automatiquement. Les autres outils non listés ici existent toujours, et les appels à ceux-ci qui nécessitent une approbation tombent dans le mode de permission et `canUseTool`. |

81| `disallowed_tools=["Bash"]` | La définition de l'outil `Bash` est supprimée de la requête. Claude ne voit pas l'outil et ne peut pas le tenter. |81| `disallowed_tools=["Bash"]` | La définition de l'outil `Bash` est supprimée de la requête. Claude ne voit pas l'outil et ne peut pas le tenter. |

82| `disallowed_tools=["Bash(rm *)"]` | `Bash` reste disponible. Les appels correspondant à `rm *` [tel qu'écrit](/docs/fr/permissions#bash-rule-limits) sont refusés dans tous les modes de permission, y compris `bypassPermissions`. Les autres appels `Bash`, y compris `/bin/rm`, passent au mode de permission. |82| `disallowed_tools=["Bash(rm *)"]` | `Bash` reste disponible. Les appels correspondant à `rm *` [tel qu'écrit](/docs/fr/permissions#bash-rule-limits) sont refusés dans tous les modes de permission, y compris `bypassPermissions`. Les autres appels `Bash`, y compris `/bin/rm`, tombent dans le mode de permission. |

83| `disallowed_tools=["*"]` | Chaque définition d'outil est supprimée de la requête. Les globs de noms d'outils sont pris en charge dans les règles de refus : `"*"` correspond à chaque outil et `"mcp__*"` correspond à chaque outil MCP sur tous les serveurs. |83| `disallowed_tools=["*"]` | Chaque définition d'outil est supprimée de la requête. Les globs de noms d'outils sont pris en charge dans les règles de refus : `"*"` correspond à chaque outil et `"mcp__*"` correspond à chaque outil MCP sur tous les serveurs. |

84 84 

85Les 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.85Les 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'approuve automatiquement rien.

86 86 

87Les règles délimitées pour `Read` et `Edit` prennent un motif de chemin. Les règles `Edit(path)` régissent tous les outils intégrés qui écrivent des fichiers, y compris `Write` et `NotebookEdit` ; une règle `Write(path)` n'est jamais mise en correspondance par les vérifications de permission de fichier.87Les règles délimitées pour `Read` et `Edit` prennent un motif de chemin. Les règles `Edit(path)` régissent tous les outils intégrés qui écrivent des fichiers, y compris `Write` et `NotebookEdit` ; une règle `Write(path)` n'est jamais mise en correspondance par les vérifications de permission de fichier.

88 88 

89Utilisez `//path` pour un chemin de système de fichiers absolu : une règle de refus de `Edit(//secrets/**)` bloque les écritures n'importe où sous `/secrets` sur le disque. Avec une seule barre oblique, `Edit(/secrets/**)` s'ancre à la source de la règle à la place. Pour les règles transmises via `allowed_tools` ou `disallowed_tools`, cela signifie le répertoire de travail de la session, de sorte que la règle ne bloque pas `/secrets` sur le disque. Consultez [Règles Read et Edit](/docs/fr/permissions#read-and-edit) pour les quatre formes d'ancrage et la façon dont les règles des fichiers de paramètres se résolvent.89Utilisez `//path` pour un chemin du système de fichiers absolu : une règle de refus de `Edit(//secrets/**)` bloque les écritures n'importe où sous `/secrets` sur le disque. Avec une seule barre oblique, `Edit(/secrets/**)` s'ancre à la source de la règle à la place. Pour les règles transmises via `allowed_tools` ou `disallowed_tools`, cela signifie le répertoire de travail de la session, donc la règle ne bloque pas `/secrets` sur le disque. Voir [Règles Read et Edit](/docs/fr/permissions#read-and-edit) pour les quatre formes d'ancrage et comment les règles des fichiers de paramètres se résolvent.

90 90 

91<Warning>91<Warning>

92 **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. `AskUserQuestion`, les outils MCP marqués [`_meta["anthropic/requiresUserInteraction"]`](/docs/fr/mcp#require-approval-for-a-specific-tool), les outils connecteur [que votre organisation a définis sur `ask`](/docs/fr/mcp#organization-controls-on-connector-tools), et les suppressions `rm` et `rmdir` ciblant un [chemin critique](/docs/fr/permission-modes#critical-paths) parviennent toujours au rappel, même lorsqu'une règle d'autorisation correspond. En mode `auto`, les suppressions de chemin critique vont au [classificateur](/docs/fr/permission-modes#eliminate-prompts-with-auto-mode) au lieu du rappel, tandis que les autres appels listés ici parviennent toujours à celui-ci ; le routage du classificateur nécessite Claude Code v2.1.218 ou ultérieur. En mode `dontAsk`, ces appels sont refusés à la place, sans invoquer le rappel.92 **Les outils approuvés automatiquement n'atteignent 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`, donc les vérifications de permission que vous y mettez sont silencieusement contournées pour cet outil. `AskUserQuestion`, les outils MCP marqués [`_meta["anthropic/requiresUserInteraction"]`](/docs/fr/mcp#require-approval-for-a-specific-tool), les outils connecteur [que votre organisation a définis sur `ask`](/docs/fr/mcp#organization-controls-on-connector-tools), et les suppressions `rm` et `rmdir` ciblant un [chemin critique](/docs/fr/permission-modes#critical-paths) atteignent toujours le rappel, même lorsqu'une règle d'autorisation correspond. En mode `auto`, les suppressions de chemin critique vont au [classificateur](/docs/fr/permission-modes#eliminate-prompts-with-auto-mode) au lieu du rappel, tandis que les autres appels listés ici l'atteignent toujours ; le routage du classificateur nécessite Claude Code v2.1.218 ou ultérieur. En mode `dontAsk`, ces appels sont refusés à la place, sans invoquer le rappel.

93 93 

94 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 en dehors des exceptions ci-dessus, tandis qu'une règle délimitée comme `Bash(npm test *)` auto-approuve uniquement les appels correspondants, et les autres appels `Bash` qui nécessitent une approbation passent toujours au rappel. Pour les vérifications qui doivent s'exécuter sur chaque appel d'outil, utilisez un hook [`PreToolUse`](/docs/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`.94 La couverture dépend de la forme de l'entrée : un nom nu comme `Read` ou `mcp__github__get_issue` approuve automatiquement chaque appel à cet outil en dehors des exceptions ci-dessus, tandis qu'une règle délimitée comme `Bash(npm test *)` approuve automatiquement uniquement les appels correspondants, et les autres appels `Bash` qui nécessitent une approbation tombent toujours dans le rappel. Pour les vérifications qui doivent s'exécuter sur chaque appel d'outil, utilisez un [hook `PreToolUse`](/docs/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`.

95</Warning>95</Warning>

96 96 

97Pour un agent verrouillé, associez `allowedTools` avec `permissionMode: "dontAsk"` :97Pour un agent verrouillé, associez `allowedTools` avec `permissionMode: "dontAsk"` :


103};103};

104```104```

105 105 

106Les outils listés sont approuvés, à l'exception des [actions qu'aucun mode n'auto-approuve](/docs/fr/permission-modes#actions-no-mode-auto-approves), et tout autre appel qui demanderait une approbation est refusé à la place. Les appels qui ne nécessitent aucune approbation en mode `default` s'exécutent que vous les listiez ou non, comme les [commandes Bash en lecture seule](/docs/fr/permissions#read-only-commands), les outils comme `Agent` qui ne demandent pas avant de s'exécuter, et les lectures de fichiers dans vos répertoires de travail. Pour mettre un outil hors de portée de Claude entièrement, ajoutez son nom nu à `disallowedTools`.106Les outils listés sont approuvés, en dehors des [actions qu'aucun mode n'approuve automatiquement](/docs/fr/permission-modes#actions-no-mode-auto-approves), et chaque autre appel qui inviterait est refusé à la place. Les appels qui ne nécessitent aucune approbation en mode `default` s'exécutent que vous les listiez ou non, comme les [commandes Bash en lecture seule](/docs/fr/permissions#read-only-commands), les outils comme `Agent` qui ne demandent pas avant d'exécuter, et les lectures de fichiers dans vos répertoires de travail. Pour mettre un outil hors de portée de Claude entièrement, ajoutez son nom nu à `disallowedTools`.

107 107 

108<Warning>108<Warning>

109 **`allowed_tools` ne contraint pas `bypassPermissions`.** `allowed_tools` pré-approuve les outils que vous listez. Les autres outils non listés ne correspondent à aucune règle d'autorisation et passent au mode de permission, où `bypassPermissions` les approuve. Définir `allowed_tools=["Read"]` avec `permission_mode="bypassPermissions"` approuve toujours tous les outils, y compris `Bash`, `Write` et `Edit`. Si vous avez besoin de `bypassPermissions` mais que vous voulez que certains outils soient bloqués, utilisez `disallowed_tools`.109 **`allowed_tools` ne contraint pas `bypassPermissions`.** `allowed_tools` pré-approuve les outils que vous listez. Les autres outils non listés ne sont pas mis en correspondance par aucune règle d'autorisation et tombent dans le mode de permission, où `bypassPermissions` les approuve. Définir `allowed_tools=["Read"]` aux côtés de `permission_mode="bypassPermissions"` approuve toujours chaque outil, y compris `Bash`, `Write`, et `Edit`. Si vous avez besoin de `bypassPermissions` mais que vous voulez que des outils spécifiques soient bloqués, utilisez `disallowed_tools`.

110</Warning>110</Warning>

111 111 

112Vous pouvez également configurer les règles d'autorisation, de refus et de demande de manière déclarative dans `.claude/settings.json`. Ces règles sont lues lorsque la source de paramètre `project` est activée, ce qui est le cas pour les options `query()` par défaut. Si vous définissez `setting_sources` (TypeScript : `settingSources`) explicitement, incluez `"project"` pour qu'elles s'appliquent. Consultez [Paramètres de permission](/docs/fr/settings-reference#permission-settings) pour la syntaxe des règles.112Vous pouvez également configurer les règles d'autorisation, de refus et de demande de manière déclarative dans `.claude/settings.json`. Ces règles sont lues lorsque la source de paramètre `project` est activée, ce qu'elle est pour les options `query()` par défaut. Si vous définissez `setting_sources` (TypeScript : `settingSources`) explicitement, incluez `"project"` pour qu'elles s'appliquent. Voir [Paramètres de permission](/docs/fr/settings-reference#permission-settings) pour la syntaxe des règles.

113 113 

114<h2 id="permission-modes">114<h2 id="permission-modes">

115 Modes de permission115 Modes de permission

116</h2>116</h2>

117 117 

118Les modes de permission fournissent un contrôle global sur la façon dont Claude utilise les outils. Vous pouvez définir le mode de permission lors de l'appel de `query()` ou le modifier dynamiquement pendant les sessions de streaming.118Les modes de permission offrent un contrôle global sur la façon dont Claude utilise les outils. Vous pouvez définir le mode de permission lors de l'appel de `query()` ou le modifier dynamiquement pendant les sessions de streaming.

119 119 

120<h3 id="available-modes">120<h3 id="available-modes">

121 Modes disponibles121 Modes disponibles

122</h3>122</h3>

123 123 

124Le SDK supporte ces modes de permission :124Le SDK prend en charge ces modes de permission :

125 125 

126| Mode | Description | Comportement de l'outil |126| Mode | Description | Comportement des outils |

127| :------------------ | :------------------------------------------ | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |127| :------------------ | :----------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

128| `default` | Comportement de permission standard | Pas d'auto-approbations basées sur le mode ; les appels qui nécessitent une approbation et ne correspondent à aucune règle d'autorisation déclenchent votre callback `canUseTool` |128| `default` | Comportement de permission standard | Pas d'approbations automatiques basées sur le mode ; les appels qui nécessitent une approbation et ne correspondent à aucune règle d'autorisation déclenchent votre rappel `canUseTool` |

129| `dontAsk` | Refuser au lieu de demander | Tout appel qui demanderait autrement est refusé. Les appels approuvés par `allowed_tools` ou les règles s'exécutent, tout comme les appels qui ne nécessitent pas d'approbation en mode `default` ; les outils connecteur [que votre organisation a défini sur `ask`](/docs/fr/mcp#organization-controls-on-connector-tools) et les outils qui nécessitent une interaction utilisateur sont refusés même si vous les avez pré-approuvés, tout comme les suppressions `rm` et `rmdir` ciblant un [chemin critique](/docs/fr/permission-modes#critical-paths). `canUseTool` n'est jamais appelé |129| `dontAsk` | Refuser au lieu de demander | Tout appel qui demanderait autrement est refusé. Les appels approuvés par `allowed_tools` ou les règles s'exécutent, tout comme les appels qui ne nécessitent pas d'approbation en mode `default`, tels que les lectures de fichiers dans vos répertoires de travail et les appels à `Agent`. Les outils connecteur [que votre organisation a définis sur `ask`](/docs/fr/mcp#organization-controls-on-connector-tools) et les outils qui nécessitent une interaction utilisateur sont refusés même si vous les avez pré-approuvés, tout comme les suppressions `rm` et `rmdir` ciblant un [chemin critique](/docs/fr/permission-modes#critical-paths). `canUseTool` n'est jamais appelé |

130| `acceptEdits` | Auto-accepter les modifications de fichiers | Les modifications de fichiers et les [opérations du système de fichiers](#accept-edits-mode-acceptedits) (`mkdir`, `rm`, `mv`, etc.) sont automatiquement approuvées |130| `acceptEdits` | Accepter automatiquement les modifications de fichiers | Les modifications de fichiers et les [opérations du système de fichiers](#accept-edits-mode-acceptedits) (`mkdir`, `rm`, `mv`, etc.) sont automatiquement approuvées |

131| `bypassPermissions` | Contourner les contrôles de permission | Les outils s'exécutent sans invites de permission, sauf pour les [actions qu'aucun mode n'auto-approuve](/docs/fr/permission-modes#actions-no-mode-auto-approves). À utiliser avec prudence |131| `bypassPermissions` | Contourner les vérifications de permission | Les outils s'exécutent sans invites de permission, sauf pour les [actions qu'aucun mode n'approuve automatiquement](/docs/fr/permission-modes#actions-no-mode-auto-approves). À utiliser avec prudence |

132| `plan` | Mode de planification | Claude explore et planifie sans modifier vos fichiers source ; les modifications de fichiers ne sont jamais auto-approuvées et demandent via votre callback `canUseTool` |132| `plan` | Mode de planification | Claude explore et planifie sans modifier vos fichiers source ; les modifications de fichiers ne sont jamais approuvées automatiquement et demandent via votre rappel `canUseTool` |

133| `auto` | Approbations classées par modèle | Un classificateur de modèle approuve ou refuse les invites de permission. Consultez [Mode Auto](/docs/fr/permission-modes#eliminate-prompts-with-auto-mode) pour la disponibilité |133| `auto` | Approbations classées par le modèle | Un classificateur de modèle approuve ou refuse les invites de permission. Voir [Mode Auto](/docs/fr/permission-modes#eliminate-prompts-with-auto-mode) pour la disponibilité |

134 134 

135<Warning>135<Warning>

136 **Héritage des sous-agents :** Un sous-agent s'exécute dans le mode de permission de la session parent sauf si vous définissez `permissionMode` sur son [`AgentDefinition`](/docs/fr/agent-sdk/typescript#agentdefinition) et que la session parent est en mode `default`, `dontAsk`, ou `plan`. Même dans ce cas, Claude Code n'applique jamais une valeur `"bypassPermissions"`. Un sous-agent s'exécute en mode `bypassPermissions` uniquement lorsque la session parent elle-même le fait. L'exception `bypassPermissions` nécessite Claude Code v2.1.267 ou ultérieur.136 **Héritage des sous-agents :** Un sous-agent s'exécute dans le mode de permission de la session parent sauf si vous définissez `permissionMode` sur son [`AgentDefinition`](/docs/fr/agent-sdk/typescript#agentdefinition) et que la session parent est en mode `default`, `dontAsk` ou `plan`. Même dans ce cas, Claude Code n'applique jamais une valeur `"bypassPermissions"`. Un sous-agent s'exécute en mode `bypassPermissions` uniquement lorsque la session parent elle-même le fait. L'exception `bypassPermissions` nécessite Claude Code v2.1.267 ou ultérieur.

137 137 

138 Les sous-agents peuvent avoir des invites système différentes et un comportement moins contraint que votre agent principal, donc hériter de `bypassPermissions` leur accorde un accès système complet et autonome. Les [actions qu'aucun mode n'auto-approuve](/docs/fr/permission-modes#actions-no-mode-auto-approves) s'appliquent toujours.138 Les sous-agents peuvent avoir des invites système différentes et un comportement moins contraint que votre agent principal, donc hériter de `bypassPermissions` leur accorde un accès système complet et autonome. Les [actions qu'aucun mode n'approuve automatiquement](/docs/fr/permission-modes#actions-no-mode-auto-approves) s'appliquent toujours.

139</Warning>139</Warning>

140 140 

141<h3 id="set-permission-mode">141<h3 id="set-permission-mode">


254 Mode d'acceptation des modifications (`acceptEdits`)254 Mode d'acceptation des modifications (`acceptEdits`)

255</h4>255</h4>

256 256 

257Auto-approuve les opérations de fichiers afin que Claude puisse modifier le code sans demander. Les autres outils (comme les commandes Bash qui ne sont pas des opérations du système de fichiers) nécessitent toujours des permissions normales.257Approuve automatiquement les opérations de fichiers afin que Claude puisse modifier le code sans demander. Les autres outils (comme les commandes Bash qui ne sont pas des opérations du système de fichiers) nécessitent toujours des permissions normales.

258 258 

259**Opérations auto-approuvées :**259**Opérations approuvées automatiquement :**

260 260 

261* Modifications de fichiers (outils Edit, Write)261* Modifications de fichiers (outils Edit, Write)

262* Commandes du système de fichiers : `mkdir`, `touch`, `rm`, `rmdir`, `mv`, `cp`, `sed`262* Commandes du système de fichiers : `mkdir`, `touch`, `rm`, `rmdir`, `mv`, `cp`, `sed`

263 263 

264Les deux s'appliquent uniquement aux chemins à l'intérieur du répertoire de travail ou de `additionalDirectories`. En mode `acceptEdits`, Claude Code n'auto-approuve pas la demande lorsque Claude :264Les deux s'appliquent uniquement aux chemins à l'intérieur du répertoire de travail ou de `additionalDirectories`. En mode `acceptEdits`, Claude Code n'approuve pas automatiquement la demande lorsque Claude :

265 265 

266* Travaille sur un chemin en dehors de cette portée266* Travaille sur un chemin en dehors de cette portée

267* Écrit vers un chemin protégé267* Écrit dans un chemin protégé

268* Supprime un [chemin critique](/docs/fr/permission-modes#critical-paths) avec `rm` ou `rmdir`268* Supprime un [chemin critique](/docs/fr/permission-modes#critical-paths) avec `rm` ou `rmdir`

269 269 

270**À utiliser quand :** vous faites confiance aux modifications de Claude et voulez une itération plus rapide, par exemple lors du prototypage ou lorsque vous travaillez dans un répertoire isolé.270**À utiliser quand :** vous faites confiance aux modifications de Claude et souhaitez une itération plus rapide, par exemple lors du prototypage ou lorsque vous travaillez dans un répertoire isolé.

271 271 

272<h4 id="don’t-ask-mode-dontask">272<h4 id="don’t-ask-mode-dontask">

273 Mode de non-demande (`dontAsk`)273 Mode ne pas demander (`dontAsk`)

274</h4>274</h4>

275 275 

276Convertit toute invite de permission en refus, sans appeler `canUseTool`. Les outils pré-approuvés par `allowed_tools`, les règles d'autorisation de `settings.json`, ou un hook s'exécutent normalement, tout comme les appels qui ne nécessitent pas d'approbation en mode `default`, tels que les lectures de fichiers à l'intérieur de vos répertoires de travail et les appels à `Agent`. Les outils connecteur [que votre organisation a défini sur `ask`](/docs/fr/mcp#organization-controls-on-connector-tools), les outils qui nécessitent une interaction utilisateur, et les suppressions `rm` et `rmdir` ciblant un [chemin critique](/docs/fr/permission-modes#critical-paths) sont refusés même lorsqu'une règle d'autorisation correspond. Un allow hook `PreToolUse` ne supprime pas non plus une suppression de chemin critique.276Convertit toute invite de permission en refus, sans appeler `canUseTool`. Les outils pré-approuvés par `allowed_tools`, les règles d'autorisation `settings.json` ou un hook s'exécutent normalement, tout comme les appels qui ne nécessitent pas d'approbation en mode `default`, tels que les lectures de fichiers dans vos répertoires de travail et les appels à `Agent`. Les outils connecteur [que votre organisation a définis sur `ask`](/docs/fr/mcp#organization-controls-on-connector-tools), les outils qui nécessitent une interaction utilisateur, et les suppressions `rm` et `rmdir` ciblant un [chemin critique](/docs/fr/permission-modes#critical-paths) sont refusés même lorsqu'une règle d'autorisation correspond. Un refus de hook PreToolUse ne supprime pas non plus une suppression de chemin critique.

277 277 

278**À utiliser quand :** vous voulez une surface d'outil fixe et explicite pour un agent sans interface et préférez un refus catégorique à une dépendance silencieuse à l'absence de `canUseTool`.278**À utiliser quand :** vous souhaitez une surface d'outils fixe et explicite pour un agent sans interface et préférez un refus catégorique à une dépendance silencieuse à l'absence de `canUseTool`.

279 279 

280<h4 id="bypass-permissions-mode-bypasspermissions">280<h4 id="bypass-permissions-mode-bypasspermissions">

281 Mode de contournement des permissions (`bypassPermissions`)281 Mode contournement des permissions (`bypassPermissions`)

282</h4>282</h4>

283 283 

284Auto-approuve les usages d'outils sans invites, sauf les cas énumérés dans l'avertissement ci-dessous. Les hooks s'exécutent toujours et peuvent bloquer les opérations si nécessaire.284Approuve automatiquement les utilisations d'outils sans demander, sauf les cas énumérés dans l'avertissement ci-dessous. Les hooks s'exécutent toujours et peuvent bloquer les opérations si nécessaire.

285 285 

286<Warning>286<Warning>

287 À utiliser avec une extrême prudence. Claude a un accès système complet dans ce mode. À utiliser uniquement dans des environnements contrôlés où vous faites confiance à toutes les opérations possibles.287 À utiliser avec une extrême prudence. Claude a un accès système complet dans ce mode. À utiliser uniquement dans des environnements contrôlés où vous faites confiance à toutes les opérations possibles.

288 288 

289 `allowed_tools` ne contraint pas ce mode. Tous les outils sont approuvés, pas seulement ceux que vous avez listés. Ces contrôles s'appliquent toujours :289 `allowed_tools` ne contraint pas ce mode. Chaque outil est approuvé, pas seulement ceux que vous avez énumérés. Ces contrôles s'appliquent toujours :

290 290 

291 * Les règles de refus, les règles `ask` explicites, et les hooks sont évalués avant la vérification du mode et peuvent toujours bloquer un outil.291 * Les règles de refus, les règles explicites `ask` et les hooks sont évalués avant la vérification du mode et peuvent toujours bloquer un outil.

292 * Les outils connecteur [que votre organisation a défini sur `ask`](/docs/fr/mcp#organization-controls-on-connector-tools), les outils qui nécessitent une interaction utilisateur, et les suppressions `rm` et `rmdir` ciblant un [chemin critique](/docs/fr/permission-modes#critical-paths) tombent toujours dans votre callback `canUseTool`.292 * Les outils connecteur [que votre organisation a définis sur `ask`](/docs/fr/mcp#organization-controls-on-connector-tools), les outils qui nécessitent une interaction utilisateur, et les suppressions `rm` et `rmdir` ciblant un [chemin critique](/docs/fr/permission-modes#critical-paths) reviennent toujours à votre rappel `canUseTool`.

293 * Les [protections de messagerie inter-sessions](/docs/fr/permission-modes#skip-all-checks-with-bypasspermissions-mode) s'appliquent toujours.293 * Les [protections de messagerie inter-sessions](/docs/fr/permission-modes#skip-all-checks-with-bypasspermissions-mode) s'appliquent toujours.

294</Warning>294</Warning>

295 295 


297 Mode de planification (`plan`)297 Mode de planification (`plan`)

298</h4>298</h4>

299 299 

300Claude explore la base de code et produit un plan sans modifier vos fichiers source. Les outils en lecture seule s'exécutent comme en mode `default`.300Claude explore la base de code et produit un plan sans modifier vos fichiers source. Les outils en lecture seule s'exécutent comme ils le font en mode de permission `default`.

301 301 

302Les modifications de fichiers ne sont jamais auto-approuvées en mode plan, même lorsqu'une règle d'autorisation correspond. Elles demandent via votre callback `canUseTool` à la place. Sur Claude Code v2.1.212 ou ultérieur, les commandes shell qui modifient les fichiers, telles que `touch` et `rm`, atteignent votre callback `canUseTool` de la même manière.302Les modifications de fichiers ne sont jamais approuvées automatiquement en mode plan, même lorsqu'une règle d'autorisation correspond. Elles demandent via votre rappel `canUseTool` à la place. Sur Claude Code v2.1.212 ou ultérieur, les commandes shell qui modifient les fichiers, telles que `touch` et `rm`, atteignent votre rappel `canUseTool` de la même manière.

303 303 

304Claude peut utiliser `AskUserQuestion` pour clarifier les exigences avant de finaliser le plan. Consultez [Gérer les approbations et les entrées utilisateur](/docs/fr/agent-sdk/user-input#handle-clarifying-questions) pour gérer ces invites.304Claude peut utiliser `AskUserQuestion` pour clarifier les exigences avant de finaliser le plan. Voir [Gérer les approbations et les entrées utilisateur](/docs/fr/agent-sdk/user-input#handle-clarifying-questions) pour gérer ces invites.

305 305 

306**À utiliser quand :** vous voulez que Claude propose des modifications sans les exécuter, par exemple lors d'une révision de code ou lorsque vous devez approuver les modifications avant qu'elles ne soient apportées.306**À utiliser quand :** vous souhaitez que Claude propose des modifications sans les exécuter, par exemple lors d'une révision de code ou lorsque vous devez approuver les modifications avant qu'elles ne soient apportées.

307 307 

308<h2 id="related-resources">308<h2 id="related-resources">

309 Ressources connexes309 Ressources connexes


312Pour les autres étapes du flux d'évaluation des permissions :312Pour les autres étapes du flux d'évaluation des permissions :

313 313 

314* [Gérer les approbations et les entrées utilisateur](/docs/fr/agent-sdk/user-input) : invites d'approbation interactives et questions de clarification314* [Gérer les approbations et les entrées utilisateur](/docs/fr/agent-sdk/user-input) : invites d'approbation interactives et questions de clarification

315* [Guide des hooks](/docs/fr/agent-sdk/hooks) : exécutez du code personnalisé à des points clés du cycle de vie de l'agent315* [Guide des hooks](/docs/fr/agent-sdk/hooks) : exécuter du code personnalisé aux points clés du cycle de vie de l'agent

316* [Règles de permission](/docs/fr/settings-reference#permission-settings) : règles d'autorisation/refus déclaratives dans `settings.json`316* [Règles de permission](/docs/fr/settings-reference#permission-settings) : règles déclaratives d'autorisation/refus dans `settings.json`

Details

69 69 

70Les chemins des plugins peuvent être :70Les chemins des plugins peuvent être :

71 71 

72* **Chemins relatifs** : résolus par rapport à votre répertoire de travail actuel (par exemple, `"./plugins/my-plugin"`)72* **Chemins relatifs** : résolus par rapport à l'option `cwd` (par exemple, `"./plugins/my-plugin"`)

73* **Chemins absolus** : chemins complets du système de fichiers (par exemple, `"/home/user/plugins/my-plugin"`)73* **Chemins absolus** : chemins complets du système de fichiers (par exemple, `"/home/user/plugins/my-plugin"`)

74 74 

75<Note>75<Note>

Details

513 async def receive_messages(self) -> AsyncIterator[Message]513 async def receive_messages(self) -> AsyncIterator[Message]

514 async def receive_response(self) -> AsyncIterator[Message]514 async def receive_response(self) -> AsyncIterator[Message]

515 async def interrupt(self) -> None515 async def interrupt(self) -> None

516 async def set_permission_mode(self, mode: str) -> None516 async def set_permission_mode(self, mode: PermissionMode) -> None

517 async def set_model(self, model: str | None = None) -> None517 async def set_model(self, model: str | None = None) -> None

518 async def rewind_files(self, user_message_id: str) -> None518 async def rewind_files(self, user_message_id: str) -> None

519 async def get_mcp_status(self) -> McpStatusResponse519 async def get_mcp_status(self) -> McpStatusResponse


543| `reconnect_mcp_server(server_name)` | Réessaye de se connecter à un serveur MCP qui a échoué ou a été déconnecté |543| `reconnect_mcp_server(server_name)` | Réessaye de se connecter à un serveur MCP qui a échoué ou a été déconnecté |

544| `toggle_mcp_server(server_name, enabled)` | Active ou désactive un serveur MCP en cours de session. La désactivation supprime ses outils |544| `toggle_mcp_server(server_name, enabled)` | Active ou désactive un serveur MCP en cours de session. La désactivation supprime ses outils |

545| `stop_task(task_id)` | Arrête une tâche de fond en cours d'exécution. Un [`TaskNotificationMessage`](#tasknotificationmessage) avec le statut `"stopped"` suit dans le flux de messages |545| `stop_task(task_id)` | Arrête une tâche de fond en cours d'exécution. Un [`TaskNotificationMessage`](#tasknotificationmessage) avec le statut `"stopped"` suit dans le flux de messages |

546| `get_server_info()` | Obtient les informations du serveur incluant l'ID de session et les capacités |546| `get_server_info()` | Obtient les informations d'initialisation du serveur, incluant les commandes disponibles et les styles de sortie |

547| `disconnect()` | Se déconnecte de Claude |547| `disconnect()` | Se déconnecte de Claude |

548 548 

549<h4 id="context-manager-support">549<h4 id="context-manager-support">


2006Type union de tous les blocs de contenu.2006Type union de tous les blocs de contenu.

2007 2007 

2008```python theme={null}2008```python theme={null}

2009ContentBlock = TextBlock | ThinkingBlock | ToolUseBlock | ToolResultBlock2009ContentBlock = (

2010 TextBlock

2011 | ThinkingBlock

2012 | ToolUseBlock

2013 | ToolResultBlock

2014 | ServerToolUseBlock

2015 | ServerToolResultBlock

2016)

2010```2017```

2011 2018 

2012<h3 id="textblock">2019<h3 id="textblock">


3677| `allowedDomains` | `list[str]` | `[]` | Noms de domaine auxquels les processus en sandbox peuvent accéder |3684| `allowedDomains` | `list[str]` | `[]` | Noms de domaine auxquels les processus en sandbox peuvent accéder |

3678| `deniedDomains` | `list[str]` | `[]` | Noms de domaine auxquels les processus en sandbox ne peuvent pas accéder. Prend la priorité sur `allowedDomains` |3685| `deniedDomains` | `list[str]` | `[]` | Noms de domaine auxquels les processus en sandbox ne peuvent pas accéder. Prend la priorité sur `allowedDomains` |

3679| `allowManagedDomainsOnly` | `bool` | `False` | Paramètres gérés uniquement : quand défini dans les paramètres gérés, ignorez `allowedDomains` et les règles d'autorisation `WebFetch(domain:...)` des sources de paramètres non gérées. N'a aucun effet quand défini via les options SDK |3686| `allowManagedDomainsOnly` | `bool` | `False` | Paramètres gérés uniquement : quand défini dans les paramètres gérés, ignorez `allowedDomains` et les règles d'autorisation `WebFetch(domain:...)` des sources de paramètres non gérées. N'a aucun effet quand défini via les options SDK |

3680| `allowUnixSockets` | `list[str]` | `[]` | Chemins de socket Unix auxquels les processus peuvent accéder (par exemple, socket Docker) |3687| `allowUnixSockets` | `list[str]` | `[]` | Chemins de socket Unix auxquels les processus peuvent accéder, tels que le socket Docker. Ignoré sur Linux |

3681| `allowAllUnixSockets` | `bool` | `False` | Permettez l'accès à tous les sockets Unix |3688| `allowAllUnixSockets` | `bool` | `False` | Permettez l'accès à tous les sockets Unix |

3682| `allowLocalBinding` | `bool` | `False` | Permettez aux processus de se lier aux ports locaux (par exemple, pour les serveurs de développement) |3689| `allowLocalBinding` | `bool` | `False` | Permettez aux processus de se lier aux ports locaux (par exemple, pour les serveurs de développement) |

3683| `allowMachLookup` | `list[str]` | `[]` | macOS uniquement : noms de services XPC/Mach à autoriser. Supporte un caractère générique à la fin |3690| `allowMachLookup` | `list[str]` | `[]` | macOS uniquement : noms de services XPC/Mach à autoriser. Supporte un caractère générique à la fin |

Details

103 Confirmer que les skills sont chargés103 Confirmer que les skills sont chargés

104</h3>104</h3>

105 105 

106Près du début du flux, le SDK produit un message système avec le sous-type `init`. Vérifiez son tableau `skills` pour confirmer que vos skills sont chargés avant que Claude ne commence à travailler. Le tableau inclut les skills invocables par l'utilisateur que vous avez définis, ainsi que les [skills groupés inclus avec Claude Code](/docs/fr/skills#bundled-skills).106Près du début du flux, le SDK produit un message système avec le sous-type `init`. Vérifiez son tableau `skills` pour confirmer que vos skills sont chargés avant que Claude ne commence à travailler. Le tableau inclut les skills invocables par l'utilisateur que vous avez définis avec un champ frontmatter `description` ou `when_to_use`, ainsi que les [skills groupés inclus avec Claude Code](/docs/fr/skills#bundled-skills).

107 107 

108Le tableau liste uniquement les skills invocables par l'utilisateur. Un skill avec [`user-invocable: false`](/docs/fr/skills#control-who-invokes-a-skill) dans son frontmatter se charge et reste disponible pour Claude, mais n'apparaît pas dans le tableau. Le tableau reflète ce que la session a découvert et liste les mêmes skills que vous soyez ou non dans votre liste `skills`.108Le tableau liste uniquement les skills invocables par l'utilisateur. Un skill avec [`user-invocable: false`](/docs/fr/skills#control-who-invokes-a-skill) dans son frontmatter se charge et reste disponible pour Claude, mais n'apparaît pas dans le tableau. Le tableau liste les mêmes skills que vous soyez ou non dans votre liste `skills`.

109 109 

110<h3 id="allow-only-specific-skills">110<h3 id="allow-only-specific-skills">

111 Autoriser uniquement des skills spécifiques111 Autoriser uniquement des skills spécifiques


173Available commands: ["clear", "compact", "context", "usage", "code-review", "verify", "security-check", ...]173Available commands: ["clear", "compact", "context", "usage", "code-review", "verify", "security-check", ...]

174```174```

175 175 

176Vos skills invocables par l'utilisateur apparaissent à la fois dans cette liste et dans le tableau `skills` de [Confirmer que les skills sont chargés](#confirm-skills-loaded). La liste `slash_commands` ajoute le reste des commandes disponibles dans votre session. Un skill avec [`user-invocable: false`](/docs/fr/skills#control-who-invokes-a-skill) dans son frontmatter n'apparaît dans aucune des deux. Les sessions qui configurent les [serveurs MCP](/docs/fr/agent-sdk/mcp) peuvent également exposer les [invites MCP en tant que commandes](/docs/fr/mcp#use-mcp-prompts-as-commands).176Un skill avec [`user-invocable: false`](/docs/fr/skills#control-who-invokes-a-skill) dans son frontmatter n'apparaît pas dans cette liste ou dans le tableau `skills` de [Confirmer que les skills sont chargés](#confirm-skills-loaded). Les sessions qui configurent les [serveurs MCP](/docs/fr/agent-sdk/mcp) peuvent également exposer les [invites MCP en tant que commandes](/docs/fr/mcp#use-mcp-prompts-as-commands).

177 177 

178<h3 id="dispatch-commands-by-name">178<h3 id="dispatch-commands-by-name">

179 Distribuer les commandes par nom179 Distribuer les commandes par nom

Details

79 79 

80Lorsque les messages partiels sont activés, vous recevez les événements de diffusion bruts de l'API Claude enveloppés dans un objet. Le type a des noms différents dans chaque SDK :80Lorsque les messages partiels sont activés, vous recevez les événements de diffusion bruts de l'API Claude enveloppés dans un objet. Le type a des noms différents dans chaque SDK :

81 81 

82* **Python** : `StreamEvent` (importer depuis `claude_agent_sdk.types`)82* **Python** : [`StreamEvent`](/docs/fr/agent-sdk/python#streamevent) (importer depuis `claude_agent_sdk.types`)

83* **TypeScript** : `SDKPartialAssistantMessage` avec `type: 'stream_event'`83* **TypeScript** : [`SDKPartialAssistantMessage`](/docs/fr/agent-sdk/typescript#sdkpartialassistantmessage) avec `type: 'stream_event'`

84 84 

85Les deux contiennent les événements bruts de l'API Claude, pas le texte accumulé. Vous devez extraire et accumuler les deltas de texte vous-même. Voici la structure de chaque type :85Les deux contiennent les événements bruts de l'API Claude, pas le texte accumulé. Vous devez extraire et accumuler les deltas de texte vous-même.

86 

87<CodeGroup>

88 ```python Python theme={null}

89 @dataclass

90 class StreamEvent:

91 uuid: str # Unique identifier for this event

92 session_id: str # Session identifier

93 event: dict[str, Any] # The raw Claude API stream event

94 parent_tool_use_id: str | None # Always None

95 ```

96 

97 ```typescript TypeScript theme={null}

98 type SDKPartialAssistantMessage = {

99 type: "stream_event";

100 event: BetaRawMessageStreamEvent; // From Anthropic SDK

101 parent_tool_use_id: string | null;

102 uuid: UUID;

103 session_id: string;

104 ttft_ms?: number; // Time to first token in ms, present only on message_start events

105 user_message_uuid?: string;

106 };

107 ```

108</CodeGroup>

109 86 

110Le champ `parent_tool_use_id` est toujours `None` en Python et `null` en TypeScript. Les événements de diffusion sont émis pour la session principale uniquement ; les deltas au niveau des tokens des sous-agents ne sont pas transmis. Pour attribuer la sortie à un sous-agent, utilisez les messages complets, qui portent `parent_tool_use_id`. Voir [Détecter l'invocation de sous-agent](/docs/fr/agent-sdk/subagents#detect-subagent-invocation).87Le champ `parent_tool_use_id` est toujours `None` en Python et `null` en TypeScript. Les événements de diffusion sont émis pour la session principale uniquement ; les deltas au niveau des tokens des sous-agents ne sont pas transmis. Pour attribuer la sortie à un sous-agent, utilisez les messages complets, qui portent `parent_tool_use_id`. Voir [Détecter l'invocation de sous-agent](/docs/fr/agent-sdk/subagents#detect-subagent-invocation).

111 88 

Details

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

497| `debugFile` | `string` | `undefined` | Écrire les journaux de débogage dans un chemin de fichier spécifique. Active implicitement le mode débogage |497| `debugFile` | `string` | `undefined` | Écrire les journaux de débogage dans un chemin de fichier spécifique. Active implicitement le mode débogage |

498| `disallowedTools` | `string[]` | `[]` | Outils à refuser. Un nom simple tel que `"Bash"` supprime l'outil du contexte de Claude. Une règle délimitée telle que `"Bash(rm *)"` laisse l'outil disponible et refuse les appels correspondants dans chaque mode de permission, y compris `bypassPermissions`, pour la commande [telle qu'écrite](/docs/fr/permissions#bash-rule-limits). Voir [Permissions](/docs/fr/agent-sdk/permissions#allow-and-deny-rules) |498| `disallowedTools` | `string[]` | `[]` | Outils à refuser. Un nom simple tel que `"Bash"` supprime l'outil du contexte de Claude. Une règle délimitée telle que `"Bash(rm *)"` laisse l'outil disponible et refuse les appels correspondants dans chaque mode de permission, y compris `bypassPermissions`, pour la commande [telle qu'écrite](/docs/fr/permissions#bash-rule-limits). Voir [Permissions](/docs/fr/agent-sdk/permissions#allow-and-deny-rules) |

499| `effort` | `'low' \| 'medium' \| 'high' \| 'xhigh' \| 'max'` | Par défaut du modèle | Contrôle l'effort que Claude met dans sa réponse. Fonctionne avec la réflexion adaptative pour guider la profondeur de réflexion. Voir [ajuster le niveau d'effort](/docs/fr/model-config#adjust-effort-level) |499| `effort` | `'low' \| 'medium' \| 'high' \| 'xhigh' \| 'max'` | `undefined` | Contrôle l'effort que Claude met dans sa réponse. Fonctionne avec la réflexion adaptative pour guider la profondeur de réflexion. Voir [ajuster le niveau d'effort](/docs/fr/model-config#adjust-effort-level) |

500| `enableFileCheckpointing` | `boolean` | `false` | Activer le suivi des modifications de fichiers pour le rembobinage. Voir [Sauvegarde de fichiers](/docs/fr/agent-sdk/file-checkpointing) |500| `enableFileCheckpointing` | `boolean` | `false` | Activer le suivi des modifications de fichiers pour le rembobinage. Voir [Sauvegarde de fichiers](/docs/fr/agent-sdk/file-checkpointing) |

501| `env` | `Record<string, string \| undefined>` | `process.env` | Variables d'environnement. Quand défini, cela remplace l'environnement du sous-processus au lieu de fusionner avec `process.env`, donc passez `{ ...process.env, YOUR_VAR: 'value' }` pour conserver les variables héritées comme `PATH`. Voir [Gérer les réponses API lentes ou bloquées](#handle-slow-or-stalled-api-responses) pour un exemple de ce modèle, et [Variables d'environnement](/docs/fr/env-vars) pour les variables que la CLI sous-jacente lit. Définissez `CLAUDE_AGENT_SDK_CLIENT_APP` pour identifier votre application dans l'en-tête User-Agent |501| `env` | `Record<string, string \| undefined>` | `process.env` | Variables d'environnement. Quand défini, cela remplace l'environnement du sous-processus au lieu de fusionner avec `process.env`, donc passez `{ ...process.env, YOUR_VAR: 'value' }` pour conserver les variables héritées comme `PATH`. Voir [Gérer les réponses API lentes ou bloquées](#handle-slow-or-stalled-api-responses) pour un exemple de ce modèle, et [Variables d'environnement](/docs/fr/env-vars) pour les variables que la CLI sous-jacente lit. Définissez `CLAUDE_AGENT_SDK_CLIENT_APP` pour identifier votre application dans l'en-tête User-Agent |

502| `executable` | `'bun' \| 'deno' \| 'node'` | Détection automatique | Runtime JavaScript à utiliser |502| `executable` | `'bun' \| 'deno' \| 'node'` | Détection automatique | Runtime JavaScript à utiliser |


5567 `SDKLocalCommandOutputMessage`5567 `SDKLocalCommandOutputMessage`

5568</h3>5568</h3>

5569 5569 

5570Sortie d'une commande locale telle que `/voice` ou `/usage`. Affichée comme du texte de style assistant dans la transcription.5570Claude Code n'émet pas ce type de message. Quand vous envoyez une commande telle que `/context` ou `/usage` comme une invite, sa sortie arrive comme un [`SDKAssistantMessage`](#sdkassistantmessage).

5571 5571 

5572```typescript theme={null}5572```typescript theme={null}

5573type SDKLocalCommandOutputMessage = {5573type SDKLocalCommandOutputMessage = {

Details

12 12 

13Pour les questions de clarification, Claude génère les questions et les options. Votre rôle est de les présenter aux utilisateurs et de retourner leurs sélections. Vous ne pouvez pas ajouter vos propres questions à ce flux ; si vous avez besoin de poser une question aux utilisateurs vous-même, faites-le séparément dans votre logique d'application.13Pour les questions de clarification, Claude génère les questions et les options. Votre rôle est de les présenter aux utilisateurs et de retourner leurs sélections. Vous ne pouvez pas ajouter vos propres questions à ce flux ; si vous avez besoin de poser une question aux utilisateurs vous-même, faites-le séparément dans votre logique d'application.

14 14 

15Le callback peut rester en attente indéfiniment. L'exécution reste en pause jusqu'à ce que votre callback retourne, et le SDK n'annule l'attente que lorsque la requête elle-même est annulée. Si un utilisateur pourrait prendre plus de temps pour répondre que votre processus ne peut raisonnablement rester en cours d'exécution, enregistrez un [hook `PreToolUse`](/docs/fr/agent-sdk/hooks) qui retourne la décision [`defer`](/docs/fr/hooks#defer-a-tool-call-for-later) au lieu d'attendre dans le callback, afin que le processus puisse quitter et reprendre plus tard à partir de la session persistante.15Le callback peut rester en attente indéfiniment. L'exécution reste en pause jusqu'à ce que votre callback retourne. Si un utilisateur pourrait prendre plus de temps pour répondre que votre processus ne peut raisonnablement rester en cours d'exécution, enregistrez un [hook `PreToolUse`](/docs/fr/agent-sdk/hooks) qui retourne la décision [`defer`](/docs/fr/hooks#defer-a-tool-call-for-later) au lieu d'attendre dans le callback, afin que le processus puisse quitter et reprendre plus tard à partir de la session persistante.

16 16 

17Ce guide vous montre comment détecter chaque type de demande et répondre de manière appropriée.17Ce guide vous montre comment détecter chaque type de demande et répondre de manière appropriée.

18 18 


204 ```204 ```

205</CodeGroup>205</CodeGroup>

206 206 

207<Note>

208 En Python, `can_use_tool` nécessite le [mode streaming](/docs/fr/agent-sdk/streaming-vs-single-mode). Lorsque vous passez un flux de messages fini via `query(prompt=generator)` ou `ClaudeSDKClient.connect(prompt=async_iterable)`, le SDK ferme le flux d'entrée après le dernier message, avant que le callback de permission puisse être invoqué, sauf si un hook enregistré ou un serveur MCP en cours de processus le maintient ouvert. L'exemple ci-dessus le maintient ouvert avec un hook `PreToolUse` qui retourne `{"continue_": True}`. La connexion sans prompt et l'envoi de messages via `ClaudeSDKClient.query()` maintiennent le flux ouvert d'eux-mêmes et ne nécessitent aucun hook.

209</Note>

210 

211Cet exemple utilise un flux y/n où toute entrée autre que `y` est traitée comme un refus. En pratique, vous pourriez construire une interface utilisateur plus riche qui permet aux utilisateurs de modifier la demande, de fournir des commentaires, ou de rediriger Claude entièrement. Voir [Répondre aux demandes d'outil](#respond-to-tool-requests) pour tous les moyens de répondre.207Cet exemple utilise un flux y/n où toute entrée autre que `y` est traitée comme un refus. En pratique, vous pourriez construire une interface utilisateur plus riche qui permet aux utilisateurs de modifier la demande, de fournir des commentaires, ou de rediriger Claude entièrement. Voir [Répondre aux demandes d'outil](#respond-to-tool-requests) pour tous les moyens de répondre.

212 208 

213<h3 id="respond-to-tool-requests">209<h3 id="respond-to-tool-requests">

Details

239 239 

240À partir de Claude Code v2.1.181, la sortie plate de `aws configure export-credentials --format process` est également acceptée, avec les mêmes clés au niveau supérieur au lieu d'être imbriquées sous `Credentials`.240À partir de Claude Code v2.1.181, la sortie plate de `aws configure export-credentials --format process` est également acceptée, avec les mêmes clés au niveau supérieur au lieu d'être imbriquées sous `Credentials`.

241 241 

242`Expiration` est optionnel. À partir de Claude Code v2.1.176, quand la commande retourne un `Expiration` ISO 8601 valide, Claude Code met en cache les identifiants jusqu'à cinq minutes avant cette heure. Sans cela, ou sur les versions antérieures, les identifiants sont mis en cache pendant une heure.242`Expiration` est optionnel. Quand la commande retourne un `Expiration` ISO 8601 valide, Claude Code met en cache les identifiants jusqu'à cinq minutes avant cette heure. Sans cela, les identifiants sont mis en cache pendant une heure.

243 243 

244Quand vous configurez `awsCredentialExport` sans `awsAuthRefresh`, Claude Code utilise les identifiants exportés directement et ne ré-résout pas la chaîne du fournisseur d'identifiants par défaut AWS au démarrage. Nécessite Claude Code v2.1.206 ou ultérieur.244Quand vous configurez `awsCredentialExport` sans `awsAuthRefresh`, Claude Code utilise les identifiants exportés directement et ne ré-résout pas la chaîne du fournisseur d'identifiants par défaut AWS au démarrage. Nécessite Claude Code v2.1.206 ou ultérieur.

245 245 

Details

170* **`claude setup-token` et `/install-github-app`** : appliquez uniquement `forceLoginMethod`, afin qu'ils puissent créer un jeton dans une organisation différente170* **`claude setup-token` et `/install-github-app`** : appliquez uniquement `forceLoginMethod`, afin qu'ils puissent créer un jeton dans une organisation différente

171* **Connexion [Gateway](/docs/fr/claude-apps-gateway)** : sélectionnée par `forceLoginMethod: "gateway"` plutôt que restreinte par elle, et ne s'authentifie pas auprès d'une organisation Anthropic, donc `forceLoginOrgUUID` ne s'applique pas ; utilisez votre fournisseur d'identité de passerelle pour restreindre l'accès171* **Connexion [Gateway](/docs/fr/claude-apps-gateway)** : sélectionnée par `forceLoginMethod: "gateway"` plutôt que restreinte par elle, et ne s'authentifie pas auprès d'une organisation Anthropic, donc `forceLoginOrgUUID` ne s'applique pas ; utilisez votre fournisseur d'identité de passerelle pour restreindre l'accès

172 172 

173Déployez les clés via votre outil de gestion des appareils. Les [paramètres gérés par serveur](/docs/fr/server-managed-settings) ne s'appliquent qu'aux comptes déjà authentifiés dans votre organisation, ils ne peuvent donc pas rediriger la première connexion d'un développeur. Si votre organisation distribue également des paramètres gérés par serveur, définissez les clés aux deux endroits : les sources de [paramètres gérés ne fusionnent pas](/docs/fr/server-managed-settings#settings-precedence), et les paramètres gérés par serveur en cache remplacent le fichier géré par appareil, à l'exception de deux types de clés qui se remplissent toujours à partir d'une source perdante :173Déployez les clés via votre outil de gestion des appareils. Les [paramètres gérés par serveur](/docs/fr/server-managed-settings) ne s'appliquent qu'aux comptes déjà authentifiés dans votre organisation, ils ne peuvent donc pas rediriger la première connexion d'un développeur. Si votre organisation distribue également des paramètres gérés par serveur, définissez les clés aux deux endroits : les sources de [paramètres gérés ne fusionnent pas](/docs/fr/server-managed-settings#settings-precedence), et les paramètres gérés par serveur en cache remplacent le fichier géré par appareil, à l'exception de quelques [exceptions par clé](/docs/fr/server-managed-settings#per-key-exceptions-across-managed-sources). `forceLoginOrgUUID` et les valeurs `"claudeai"` et `"console"` de `forceLoginMethod` ne figurent pas parmi ces exceptions, donc gardez-les aux deux endroits.

174 

175* **Le bloc `env`** : [fusionne par clé](/docs/fr/server-managed-settings#per-key-exceptions-across-managed-sources) dans Claude Code v2.1.223 ou version ultérieure

176* **Les [clés de verrouillage inter-sources](/docs/fr/server-managed-settings#per-key-exceptions-across-managed-sources)** : honorées à partir de n'importe quelle source d'administration

177 

178`forceLoginMethod` et `forceLoginOrgUUID` ne sont ni l'un ni l'autre, donc gardez-les aux deux endroits.

179 174 

180Les clés décident également si une session qui n'utilise pas d'identifiant de connexion peut démarrer. Voir [`forceLoginOrgUUID`](/docs/fr/settings-reference#forceloginorguuid) dans la référence des paramètres pour le comportement complet.175Les clés décident également si une session qui n'utilise pas d'identifiant de connexion peut démarrer. Voir [`forceLoginOrgUUID`](/docs/fr/settings-reference#forceloginorguuid) dans la référence des paramètres pour le comportement complet.

181 176 

Details

568claude -p "<your prompt>" --output-format json | your_command568claude -p "<your prompt>" --output-format json | your_command

569```569```

570 570 

571Utilisez `--verbose` pour le débogage pendant le développement, et désactivez-le en production.

572 

573<h3 id="run-autonomously-with-auto-mode">571<h3 id="run-autonomously-with-auto-mode">

574 Exécutez de manière autonome avec le mode auto572 Exécutez de manière autonome avec le mode auto

575</h3>573</h3>

chrome.md +2 −5

Details

123 Outils du navigateur en mode plan123 Outils du navigateur en mode plan

124</h3>124</h3>

125 125 

126En [mode plan](/docs/fr/permission-modes#analyze-before-you-edit-with-plan-mode), les appels d'outils du navigateur qui lisent uniquement la page ou l'état du navigateur s'exécutent sans invite d'autorisation, et les appels qui modifient l'état demandent une approbation.126En [mode plan](/docs/fr/permission-modes#analyze-before-you-edit-with-plan-mode), une invite de permission apparaît avant que Claude n'enregistre un GIF, n'ouvre un nouvel onglet ou n'exécute un raccourci. Si le [mode de contournement des permissions est disponible](/docs/fr/permission-modes#skip-all-checks-with-bypasspermissions-mode) dans votre session et que la [récupération des drapeaux de fonctionnalité](/docs/fr/env-vars#features-that-need-feature-flag-fetching) est désactivée, ces appels s'exécutent sans invite.

127 127 

128* **Appels en lecture seule** : `read_page`, `get_page_text`, `find`, lecture des messages de console ou des demandes réseau, et prise de capture d'écran128Un appel `tabs_context_mcp` demande également une invite lorsqu'il définit `createIfEmpty`, et il en va de même pour un appel `browser_batch` qui inclut l'une de ces actions.

129* **Appels modifiant l'état** : clics, saisie, navigation, gestion des onglets et des fenêtres, et enregistrement d'un GIF

130 

131Un appel autrement en lecture seule qui définit un drapeau d'entrée modifiant l'état, tel que `createIfEmpty` sur `tabs_context_mcp`, `clear` sur les lecteurs de console et de réseau, ou `save_to_disk` sur une capture d'écran, demande également une approbation. Un appel `browser_batch` s'exécute sans invite uniquement lorsque chaque action à l'intérieur est en lecture seule.

132 129 

133<h2 id="example-workflows">130<h2 id="example-workflows">

134 Exemples de flux de travail131 Exemples de flux de travail

Details

32 32 

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

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

35* [`pricing`](#pricing) : tarifs contractuels et multiplicateur de remise pour le compteur de dépenses35* [`pricing`](#pricing) : tarifs contractuels et multiplicateur de remise pour le compteur de dépenses et pour les chiffres de coût que les développeurs voient

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

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

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


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

66| `public_url` | Sauf si `host` est loopback | L'origine `https://` visible en externe, utilisée pour construire le `redirect_uri` IdP et les métadonnées de découverte. Requis chaque fois que `host` n'est pas une adresse loopback, que TLS se termine à un proxy tel qu'un ALB, Ingress ou Cloud Run ou à la passerelle elle-même via `tls`, car la passerelle ne dérive jamais sa propre origine à partir des en-têtes `X-Forwarded-*` ; ils sont spoofables par le client. L'amorçage échoue sans lui. `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. |66| `public_url` | Sauf si `host` est loopback | L'origine `https://` visible en externe, utilisée pour construire le `redirect_uri` IdP et les métadonnées de découverte. Requis chaque fois que `host` n'est pas une adresse loopback, que TLS se termine à un proxy tel qu'un ALB, Ingress ou Cloud Run ou à la passerelle elle-même via `tls`, car la passerelle ne dérive jamais sa propre origine à partir des en-têtes `X-Forwarded-*` ; ils sont spoofables par le client. L'amorçage échoue sans lui. `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. |

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

68| `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`. |68| `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`. Les entrées `X-Forwarded-For` écrites en tant que `ipv4:port` ou `[ipv6]:port`, comme certains équilibreurs de charge le font, sont lues avec le port supprimé. Une adresse IPv6 avec un port ajouté et sans crochets peut être lue comme une adresse différente ou ne pas être lue du tout, donc désactivez l'option de port sur tout proxy qui écrit cette forme. |

69 69 

70<h3 id="oidc">70<h3 id="oidc">

71 `oidc`71 `oidc`


76OpenID Connect (OIDC) est le protocole SSO que la passerelle utilise avec votre fournisseur d'identité ; voir [Configuration du fournisseur d'identité](/docs/fr/claude-apps-gateway-deploy#identity-provider-setup) pour ce qu'il faut enregistrer du côté IdP.76OpenID Connect (OIDC) est le protocole SSO que la passerelle utilise avec votre fournisseur d'identité ; voir [Configuration du fournisseur d'identité](/docs/fr/claude-apps-gateway-deploy#identity-provider-setup) pour ce qu'il faut enregistrer du côté IdP.

77 77 

78| Champ | Requis | Description |78| Champ | Requis | Description |

79| ------------------------------- | ------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |79| ------------------------------- | ------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

80| `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](/docs/fr/claude-apps-gateway-deploy#threat-model-summary) sauf si `CLAUDE_GATEWAY_ALLOW_LOOPBACK=1` est défini dans l'environnement de la passerelle. |80| `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](/docs/fr/claude-apps-gateway-deploy#threat-model-summary) sauf si `CLAUDE_GATEWAY_ALLOW_LOOPBACK=1` est défini dans l'environnement de la passerelle. |

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

82| `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é. |82| `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é. |


85| `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. |85| `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. |

86| `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. |86| `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. |

87| `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é](/docs/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. |87| `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é](/docs/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. |

88| `scope_on_refresh` | Non | Envoyer également `scope`, avec la même liste que la demande de connexion, lorsque la passerelle échange un jeton d'actualisation. Par défaut `false` : la demande d'actualisation omet `scope`. La plupart des IdPs retournent un id\_token à chaque actualisation et n'en ont pas besoin. Définissez `true` lorsque votre IdP retourne un id\_token lors de l'actualisation uniquement s'il est demandé à nouveau pour `openid`, ce qu'Okta documente pour sa subvention d'actualisation. Sans id\_token, chaque actualisation dépend du point de terminaison userinfo de l'IdP acceptant le jeton d'accès actualisé. Si vous contrôlez la connexion ou les politiques de correspondance sur les groupes et que le id\_token de votre IdP au moment de l'actualisation les omet, définissez également `userinfo_fallback: true` pour que la passerelle les remplisse à partir du point de terminaison userinfo. Un IdP qui a accordé moins de portées que demandé peut rejeter l'actualisation avec `invalid_scope`, y compris pour les sessions existantes si vous ajoutez des entrées à `scopes` pendant que ceci est activé. Décochez la clé si les actualisations commencent à échouer à `token_endpoint` après l'avoir définie. Nécessite Claude Code v2.1.260 ou ultérieur sur le serveur de la passerelle. |

88| `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`. |89| `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`. |

89| `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`. |90| `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`. |

90| `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. |91| `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. |


135 `upstreams`136 `upstreams`

136</h3>137</h3>

137 138 

138`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`, `401`, `403`, `404`, 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. Un `401` ou `403` signifie que l'identifiant propre de la passerelle a échoué contre cet upstream, et un `404` signifie que cet upstream ne sert pas le modèle demandé, donc un upstream ultérieur dans la liste peut toujours le faire.139`upstreams` est une liste ordonnée. La passerelle transfère l'inférence au premier upstream qui résout le modèle demandé.

140 

141Sur `5xx`, `429`, `401`, `403`, `404`, ou timeout, la passerelle bascule vers le suivant ; les autres `4xx` ne le font pas, car ces erreurs sont attribuables à la demande plutôt qu'à l'upstream. Un `401` ou `403` signifie que l'identifiant propre de la passerelle a échoué contre cet upstream. Un `404` signifie que cet upstream ne sert pas le modèle demandé, donc un upstream ultérieur dans la liste peut toujours le faire.

142 

143Si vous définissez `forward_user_identity: true` sur un upstream, un `429` qu'il retourne à une demande qui portait l'e-mail du développeur ne bascule pas. Voir [comment un déni de limite par utilisateur atteint le développeur](#per-user-identity-headers-for-a-proxy-you-run).

139 144 

140Le basculement sur `404` nécessite la passerelle v2.1.198 ou ultérieure. Les versions antérieures retournaient le premier `404` au client même lorsqu'un upstream ultérieur dans la liste servait le modèle.145Le basculement sur `404` nécessite la passerelle v2.1.198 ou ultérieure. Les versions antérieures retournaient le premier `404` au client même lorsqu'un upstream ultérieur dans la liste servait le modèle.

141 146 


227 232 

228Lorsque le jeton IdP ne porte pas d'e-mail, la passerelle envoie uniquement `x-claude-gateway-user-id` et omet les deux en-têtes d'e-mail. Si votre IdP met l'e-mail dans une réclamation différente, définissez [`oidc.email_claim`](#oidc) sur cette réclamation.233Lorsque le jeton IdP ne porte pas d'e-mail, la passerelle envoie uniquement `x-claude-gateway-user-id` et omet les deux en-têtes d'e-mail. Si votre IdP met l'e-mail dans une réclamation différente, définissez [`oidc.email_claim`](#oidc) sur cette réclamation.

229 234 

235Lorsque votre proxy répond `429` à une demande qui portait l'e-mail du développeur, la passerelle retourne cette réponse au développeur telle quelle au lieu de basculer vers le prochain upstream, donc votre limite de budget ou de débit par utilisateur du proxy tient. Les autres réponses du proxy suivent les [règles de basculement](#upstreams) ordinaires. Si le jeton IdP d'un développeur ne porte pas d'e-mail, la passerelle transfère ses demandes sans les en-têtes d'e-mail, donc un `429` à l'une de ces demandes compte comme capacité d'upstream et bascule. Avant v2.1.267 sur le serveur de la passerelle, chaque `429` basculait.

236 

230Définissez `forward_user_identity` uniquement sur un upstream dont le `base_url` est un proxy que vous exploitez. La passerelle envoie les e-mails des développeurs à quel que soit le serveur que ce `base_url` nomme. Si le `base_url` est l'API Anthropic, qui est la valeur par défaut, la passerelle refuse de démarrer.237Définissez `forward_user_identity` uniquement sur un upstream dont le `base_url` est un proxy que vous exploitez. La passerelle envoie les e-mails des développeurs à quel que soit le serveur que ce `base_url` nomme. Si le `base_url` est l'API Anthropic, qui est la valeur par défaut, la passerelle refuse de démarrer.

231 238 

232<h4 id="amazon-bedrock">239<h4 id="amazon-bedrock">


257Les identifiants explicites doivent être complets : la passerelle échoue au démarrage lorsque `aws_access_key_id` et `aws_secret_access_key` ne sont pas définis ensemble, ou lorsque `aws_session_token` est défini sans eux. Avant v2.1.207, un bloc `auth:` partiel passait la validation.264Les identifiants explicites doivent être complets : la passerelle échoue au démarrage lorsque `aws_access_key_id` et `aws_secret_access_key` ne sont pas définis ensemble, ou lorsque `aws_session_token` est défini sans eux. Avant v2.1.207, un bloc `auth:` partiel passait la validation.

258 265 

259| Configuration | Comment |266| Configuration | Comment |

260| --------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |267| --------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

261| 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.*`. |268| 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.*`. Accordez également `bedrock:CountTokens` sur les ARNs de modèle de fondation. La passerelle l'utilise, sans frais, pour compter les jetons d'entrée d'une demande que le client a abandonnée, donc les [limites de dépenses](#admin) restent exactes. Sans cela, la passerelle revient à une demande Bedrock d'un jeton pour ce compte. |

262| Accès au modèle | Amazon Bedrock active l'accès au modèle par défaut dans les régions commerciales. La porte au niveau du compte restante est celle d'Anthropic : un formulaire d'utilisation unique. Si personne dans votre compte AWS ne l'a soumis, ouvrez la console Amazon Bedrock, sélectionnez un modèle Anthropic dans le catalogue de modèles et complétez le formulaire. Voir [Soumettre les détails du cas d'utilisation](/docs/fr/amazon-bedrock#1-submit-use-case-details) pour le formulaire AWS Organizations et les permissions dont le soumetteur a besoin. |269| Accès au modèle | Amazon Bedrock active l'accès au modèle par défaut dans les régions commerciales. La porte au niveau du compte restante est celle d'Anthropic : un formulaire d'utilisation unique. Si personne dans votre compte AWS ne l'a soumis, ouvrez la console Amazon Bedrock, sélectionnez un modèle Anthropic dans le catalogue de modèles et complétez le formulaire. Voir [Soumettre les détails du cas d'utilisation](/docs/fr/amazon-bedrock#1-submit-use-case-details) pour le formulaire AWS Organizations et les permissions dont le soumetteur a besoin. |

263| 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. |270| 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. |

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


366 373 

367La passerelle essaie les upstreams dans l'ordre. `5xx`, `429`, `401`, `403`, `404`, timeouts et point de terminaison manquant (`501`) basculent ; les autres `4xx` ne le font pas.374La passerelle essaie les upstreams dans l'ordre. `5xx`, `429`, `401`, `403`, `404`, timeouts et point de terminaison manquant (`501`) basculent ; les autres `4xx` ne le font pas.

368 375 

369`429` est la capacité par upstream, donc l'épuisement du débit provisionné (PT) bascule vers la demande. `404` est la disponibilité du modèle par upstream, donc un upstream qui n'a pas activé un modèle ne bloque pas un upstream ultérieur qui le sert. Un upstream qui ne peut pas résoudre le modèle demandé est ignoré sans un aller-retour réseau.376`429` est la capacité par upstream, donc l'épuisement du débit provisionné (PT) bascule vers la demande. Si vous définissez [`forward_user_identity: true`](#per-user-identity-headers-for-a-proxy-you-run) sur un upstream, un `429` à une demande qui portait l'e-mail du développeur est un déni par utilisateur au lieu et ne bascule pas.

377 

378`404` est la disponibilité du modèle par upstream, donc un upstream qui n'a pas activé un modèle ne bloque pas un upstream ultérieur qui le sert. Un upstream qui ne peut pas résoudre le modèle demandé est ignoré sans un aller-retour réseau.

370 379 

371Cet 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 :380Cet 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 :

372 381 


426 `admin`435 `admin`

427</h3>436</h3>

428 437 

429Optionnel. 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](/docs/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.438Optionnel. Active `/v1/organizations/spend_limits`, qui reflète l'API Admin publique d'Anthropic, et l'application des dépenses par développeur sur `/v1/messages`. Consultez [Limites de dépenses](/docs/fr/claude-apps-gateway-spend-limits) pour savoir comment les plafonds sont définis et appliqués ; cette section couvre les clés `gateway.yaml` qui activent la fonctionnalité et l'ajustent.

430 439 

431```yaml theme={null}440```yaml theme={null}

432admin:441admin:

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

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

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

436 # supprimez l'ancienne.445 # supprimez l'ancienne.

437 write_keys:446 write_keys:


439 - { id: ci, key: "${GATEWAY_ADMIN_WRITE_KEY_CI}" }448 - { id: ci, key: "${GATEWAY_ADMIN_WRITE_KEY_CI}" }

440 read_keys:449 read_keys:

441 - { id: reporting, key: "${GATEWAY_ADMIN_READ_KEY}" }450 - { id: reporting, key: "${GATEWAY_ADMIN_READ_KEY}" }

442 # Groupes IdP accordés un accès administrateur complet via le JWT de passerelle normal (pas de clé API).451 # Groupes IdP disposant d'un accès admin complet via le JWT de passerelle normal (pas de clé API).

443 admin_groups: [platform-finops]452 admin_groups: [platform-finops]

444 blocked_message: demander une augmentation à https://go.example.com/claude-limits453 blocked_message: request an increase at https://go.example.com/claude-limits

445```454```

446 455 

447| Champ | Requis | Description |456| Champ | Requis | Description |

448| ------------------------- | ------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |457| ------------------------- | ------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

449| `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`. |458| `write_keys` | Non | Tableau de `{id, key}`. Une `x-api-key` correspondant à l'une de ces clés peut lister, définir et supprimer les limites de dépenses. Les valeurs de clé doivent comporter au moins 32 caractères ; les `id` doivent être uniques dans `read_keys` et `write_keys`. |

450| `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`](/docs/fr/claude-apps-gateway-spend-limits#%2Feffective) et [`/audit`](/docs/fr/claude-apps-gateway-spend-limits#%2Faudit). |459| `read_keys` | Non | Tableau de `{id, key}`. Lecture seule : tous les points de terminaison `GET`, y compris le listage des plafonds, la récupération d'un par ID, et la lecture de [`/effective`](/docs/fr/claude-apps-gateway-spend-limits#%2Feffective) et [`/audit`](/docs/fr/claude-apps-gateway-spend-limits#%2Faudit). |

451| `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. Une entrée vide dans cette liste arrête la passerelle au démarrage. Voir [Valeurs de correspondance qui arrêtent la passerelle au démarrage](#matcher-values-that-stop-the-gateway-at-boot). |460| `admin_groups` | Non | Noms de groupes IdP. Un JWT de passerelle dont la revendication `groups` inclut l'un de ces groupes dispose d'un accès admin complet, lecture et écriture, et effectue un audit en tant que `oidc:<sub>`. Utilisez ceci pour les administrateurs humains ; utilisez les clés API pour les machines. Une entrée vide dans cette liste arrête la passerelle au démarrage. Consultez [Valeurs de correspondance qui arrêtent la passerelle au démarrage](#matcher-values-that-stop-the-gateway-at-boot). |

452| `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, la passerelle envoie uniquement le message par défaut. Voir [Comment l'application fonctionne](/docs/fr/claude-apps-gateway-spend-limits#how-enforcement-works). |461| `blocked_message` | Non | Ajouté textuellement à l'erreur `429 billing_error` qu'un développeur bloqué voit. Écrivez l'instruction complète, comme une URL ou un canal Slack. Lorsqu'il n'est pas défini, la passerelle envoie uniquement le message par défaut. Consultez [Comment l'application fonctionne](/docs/fr/claude-apps-gateway-spend-limits#how-enforcement-works). |

453| `audit_retention_days` | Non | Par défaut `365`. Les lignes `admin_audit` plus anciennes sont balayées. |462| `audit_retention_days` | Non | Par défaut `365`. Les lignes `admin_audit` plus anciennes sont supprimées. |

454| `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. |463| `spend_retention_months` | Non | Par défaut `13`. Les lignes du compteur `spend` plus anciennes que cela sont supprimées. La valeur par défaut conserve une année complète plus le mois partiel actuel pour les rapports d'une année sur l'autre. |

455| `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. |464| `identity_retention_days` | Non | Par défaut `90`. TTL de dernière consultation pour les lignes `principal_emails`, qui contiennent l'e-mail, le nom d'affichage et les groupes de chaque développeur (données personnelles). Délibérément plus court que la rétention des dépenses afin qu'une identité déprovisionée expire tandis que ses compteurs de dépenses anonymes restent. |

456| `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`. |465| `group_limit_mode` | Non | `min` (par défaut) ou `max`. Lorsqu'un développeur se trouve dans plusieurs groupes avec des plafonds, `min` applique le plus restrictif et `max` le moins restrictif. Utilisé à la fois par l'application et par `/effective`. |

457 466 

458<h3 id="enforcement">467<h3 id="enforcement">

459 `enforcement`468 `enforcement`

460</h3>469</h3>

461 470 

462Le bloc `enforcement` contrôle comment les vérifications de limite de dépenses se comportent lorsque le magasin n'est pas disponible.471Le bloc `enforcement` contrôle le comportement des vérifications de limite de dépenses lorsque le magasin est indisponible.

463 472 

464| Champ | Requis | Description |473| Champ | Requis | Description |

465| ---------------------- | ------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |474| ---------------------- | ------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |

466| `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écessite un bloc [`admin:`](#admin) : l'application de dépenses s'exécute uniquement lorsque `admin` est configuré, et la passerelle refuse de démarrer si vous définissez ceci `true` sans un. |475| `fail_closed_on_error` | Non | Par défaut `false`. L'application des limites de dépenses échoue ouvertement en cas de panne Postgres, afin que l'inférence reste active. Définissez `true` pour échouer fermé : les développeurs au-delà du plafond sont bloqués, mais tout le monde l'est aussi si le magasin est inaccessible. Nécessite un bloc [`admin:`](#admin) : l'application des limites de dépenses ne s'exécute que lorsque `admin` est configuré, et la passerelle refuse de démarrer si vous définissez ceci à `true` sans un. |

467 476 

468<h3 id="pricing">477<h3 id="pricing">

469 `pricing`478 `pricing`

470</h3>479</h3>

471 480 

472Le bloc `pricing` indique au compteur de dépenses quoi facturer au lieu du prix catalogue USD, donc les plafonds et [`/effective`](/docs/fr/claude-apps-gateway-spend-limits#%2Feffective) reflètent vos tarifs contractés. Les montants restent en USD et restent une estimation, pas une facture. Deux conditions préalables :481Le bloc `pricing` indique au compteur de dépenses ce qu'il faut facturer au lieu du prix catalogue USD, afin que les plafonds et [`/effective`](/docs/fr/claude-apps-gateway-spend-limits#%2Feffective) reflètent vos tarifs contractuels. Les montants restent en USD et restent une estimation, pas une facture. Deux conditions préalables :

473 482 

474* Claude Code v2.1.227 ou ultérieur sur le serveur de passerelle. Les versions antérieures rejettent la clé inconnue au démarrage.483* Claude Code v2.1.227 ou ultérieur sur le serveur de passerelle. Les versions antérieures rejettent la clé inconnue au démarrage.

475* Un bloc [`admin:`](#admin), car seul le compteur de dépenses lit `pricing`. La passerelle refuse de démarrer avec `pricing` défini et aucun `admin`.484* Un bloc [`admin:`](#admin) ou, dans v2.1.268 ou ultérieur, un bloc [`managed:`](#managed) avec au moins une politique. La passerelle refuse de démarrer avec `pricing` défini et aucun bloc, car rien ne le lirait.

476 485 

477```yaml theme={null}486```yaml theme={null}

478pricing:487pricing:


487```496```

488 497 

489| Champ | Requis | Description |498| Champ | Requis | Description |

490| ------------ | ------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |499| ------------ | ------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

491| `multiplier` | Non | Par défaut `1`. Le compteur multiplie chaque montant mesuré par ceci, qu'il soit au prix catalogue ou remplacé, donc `0.85` facture 85 % du prix. Doit être supérieur à 0 et au maximum 1. |500| `multiplier` | Non | Par défaut `1`. Le compteur multiplie chaque montant mesuré par ceci, qu'il soit au prix catalogue ou remplacé, donc `0.85` facture 85 % du prix. Doit être supérieur à 0 et au maximum 1. |

492| `overrides` | Non | Lignes de `{upstream, model, input, output, cache_read, cache_write}` en USD par million de jetons. Les quatre tarifs sont requis et doivent être positifs. |501| `overrides` | Non | Lignes de `{upstream, model, input, output, cache_read, cache_write}` en USD par million de jetons. Les quatre tarifs sont obligatoires. Chacun doit être supérieur à 0 et au maximum 10 000. |

493 502 

494Comment le compteur correspond à une ligne de remplacement :503Comment le compteur correspond à une ligne de remplacement :

495 504 

496* Une ligne remplace le prix catalogue pour les demandes que `upstream`, un [`upstreams[].name`](#upstreams), sert pour `model`. Cela inclut le tarif [mode rapide](/docs/fr/fast-mode#understand-the-cost-tradeoff) plus élevé, donc les demandes en mode rapide et standard sont mesurées aux mêmes quatre tarifs.505* Une ligne remplace le prix catalogue pour les demandes que `upstream`, un [`upstreams[].name`](#upstreams), traite pour `model`. Cela inclut le tarif [mode rapide](/docs/fr/fast-mode#understand-the-cost-tradeoff) plus élevé, donc les demandes en mode rapide et standard sont mesurées aux mêmes quatre tarifs.

497* Un ID intégré tel que `claude-sonnet-4-6`, correspondant comme [`models[].id`](#models), couvre chaque forme datée, forme régionale Amazon Bedrock, ou forme Google Cloud Agent Platform que le compteur évalue comme ce modèle. Toute autre chaîne, telle qu'un alias ou un ARN de profil d'inférence, correspond à l'ID que le client a envoyé ou à la chaîne envoyée en amont, insensible à la casse.506* Un ID intégré tel que `claude-sonnet-4-6`, correspondant comme [`models[].id`](#models), couvre chaque forme datée, forme Amazon Bedrock régionale, ou forme Google Cloud Agent Platform que le compteur évalue comme ce modèle. Toute autre chaîne, comme un alias ou un ARN de profil d'inférence, correspond à l'ID que le client a envoyé ou à la chaîne envoyée en amont, insensible à la casse.

498* Lorsque les lignes se chevauchent, le compteur choisit la ligne la plus spécifique plutôt que la première ligne : une ligne dont `model` est la chaîne de modèle exacte envoyée en amont, puis une ligne correspondant à l'ID exact que le client a envoyé, puis une ligne nommant le modèle intégré.507* Lorsque les lignes se chevauchent, le compteur choisit la ligne la plus spécifique plutôt que la première ligne : une ligne dont `model` est la chaîne de modèle exacte envoyée en amont, puis une ligne correspondant à l'ID exact que le client a envoyé, puis une ligne nommant le modèle intégré.

499* Un nom upstream inconnu échoue au démarrage, tout comme deux lignes pour un upstream qui nomment le même modèle, y compris deux orthographes d'un modèle intégré. La passerelle avertit au démarrage à propos d'une ligne qu'aucun modèle demandable ne peut utiliser.508* Un nom d'upstream inconnu échoue au démarrage, tout comme deux lignes pour un upstream qui nomment le même modèle, y compris deux orthographes d'un modèle intégré. La passerelle avertit au démarrage à propos d'une ligne qu'aucun modèle demandable ne peut utiliser.

500* Les demandes de recherche Web restent au prix catalogue \$0.01 ; le multiplicateur s'applique toujours à elles.509* Les demandes de recherche Web restent au prix catalogue de \$0,01 ; le multiplicateur s'y applique toujours.

501 510 

502Pour les tarifs par région, donnez à chaque région son propre upstream nommé et une ligne par upstream.511Pour les tarifs par région, donnez à chaque région son propre upstream nommé et une ligne par upstream.

503 512 

513<h4 id="send-the-rates-to-signed-in-clients">

514 Envoyer les tarifs aux clients connectés

515</h4>

516 

517Avec v2.1.268 ou ultérieur sur le serveur de passerelle, la passerelle place également les tarifs de `pricing` dans les politiques [`managed`](#managed) qu'elle sert, en tant que paramètre géré [`modelPricing`](/docs/fr/settings-reference#modelpricing). Les développeurs correspondant à une politique voient alors les tarifs `pricing` pour le premier upstream qui sert chaque ID de modèle dans `/usage`, la ligne d'état et OpenTelemetry. Un développeur qui ne correspond à aucune politique ne reçoit aucun paramètre géré, donc ses chiffres restent au prix catalogue. Les clients appliquent le paramètre dans Claude Code v2.1.242 ou ultérieur.

518 

519* Ce que la passerelle ajoute : à moins qu'un bloc `cli` de politique ne définisse déjà `modelPricing`, la passerelle ajoute le `multiplier` et, pour chaque ID de modèle qu'un client peut demander, la ligne de remplacement du premier upstream qui sert cet ID. Un tarif que seul un upstream de basculement facture reste sur la passerelle.

520* Exclure une politique : définissez `modelPricing` à `{}` dans le bloc `cli` de cette politique, et ses développeurs restent au prix catalogue.

521* Conserver les tarifs propres d'une politique : une politique dont le bloc `cli` définit `modelPricing` avec son propre `multiplier` ou `overrides` conserve ce `modelPricing` entièrement, et la passerelle n'ajoute aucun tarif qui lui est propre.

522 

504<h3 id="models">523<h3 id="models">

505 `models`524 `models`

506</h3>525</h3>

507 526 

508Le 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.527Le bloc `models` est une liste de modèles optionnelle organisée par l'administrateur, servie à `/v1/models` et utilisée pour traduire les ID de modèles par upstream. Elle est obligatoire pour les régions Amazon Bedrock non-US, les ARN de débit provisionné Amazon Bedrock et les noms de déploiement Microsoft Foundry.

509 528 

510```yaml theme={null}529```yaml theme={null}

511auto_include_builtin_models: true # false : exposer uniquement la liste ci-dessous530auto_include_builtin_models: true # false: expose only the list below

512models:531models:

513 - id: claude-opus-4-8532 - id: claude-opus-4-8

514 label: Claude Opus 4.8533 label: Claude Opus 4.8

515 # description: texte optionnel affiché dans les clients qui le surfacent534 # description: optional text shown in clients that surface it

516 upstream_model:535 upstream_model:

517 anthropic: claude-opus-4-8536 anthropic: claude-opus-4-8

518 bedrock: us.anthropic.claude-opus-4-8 # ou un ARN de profil d'inférence537 bedrock: us.anthropic.claude-opus-4-8 # or an inference-profile ARN

519 foundry: your-opus-deployment-name538 foundry: your-opus-deployment-name

520```539```

521 540 


525 `managed`544 `managed`

526</h3>545</h3>

527 546 

528Le 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.547Le bloc `managed` définit les politiques d'accès basées sur les rôles basées sur les groupes IdP ou le domaine de messagerie. 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.

529 548 

530```yaml theme={null}549```yaml theme={null}

531managed:550managed:

532 policies:551 policies:

533 # Groupes spécifiques en premier.552 # Specific groups first.

534 - match: { groups: [eng-contractors] }553 - match: { groups: [eng-contractors] }

535 cli:554 cli:

536 availableModels: [claude-sonnet-4-6]555 availableModels: [claude-sonnet-4-6]

537 permissions: { deny: ["WebFetch", "WebSearch"] }556 permissions: { deny: ["WebFetch", "WebSearch"] }

538 # Capture-tout par défaut en dernier : correspond à tous les utilisateurs authentifiés.557 # Default catch-all last: matches everyone who authenticated.

539 - match: {}558 - match: {}

540 cli:559 cli:

541 availableModels: [claude-opus-4-8, claude-sonnet-4-6, claude-haiku-4-5]560 availableModels: [claude-opus-4-8, claude-sonnet-4-6, claude-haiku-4-5]


543 562 

544Une 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é :563Une 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é :

545 564 

546* **Listes d'autorisation** : `availableModels` et `permissions.allow`. La liste d'une politique spécifique remplace complètement celle de la base.565* **Listes d'autorisation** : `availableModels` et `permissions.allow`. La liste d'une politique spécifique remplace entièrement celle de la base.

547* **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.566* **Listes de refus et tableaux de hooks** : `permissions.deny`, `permissions.ask`, `disabledMcpjsonServers`, `deniedMcpServers`, `blockedMarketplaces` et chaque tableau d'événement de type `hooks`. Ceux-ci prennent l'union de la base et de la politique, afin qu'un refus à l'échelle de l'organisation ou un hook d'audit ne puisse pas être accidentellement supprimé par un remplacement par rôle.

548* **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.567* **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.

549 568 

550`availableModels` est également appliqué côté serveur à `/v1/messages`, donc un modèle refusé retourne `400` indépendamment de ce que le client envoie.569`availableModels` est également appliqué côté serveur à `/v1/messages`, donc un modèle refusé retourne `400` indépendamment de ce que le client envoie.


554* Lorsque la valeur est manquante ou vide, la passerelle rejette la demande avec le message `model is required`. Cette vérification nécessite une passerelle exécutant Claude Code v2.1.228 ou ultérieur.573* Lorsque la valeur est manquante ou vide, la passerelle rejette la demande avec le message `model is required`. Cette vérification nécessite une passerelle exécutant Claude Code v2.1.228 ou ultérieur.

555* Lorsque la valeur est présente mais n'est pas une chaîne, la passerelle rejette la demande avec le message `model must be a string`. Nécessite une passerelle exécutant Claude Code v2.1.221 ou ultérieur.574* Lorsque la valeur est présente mais n'est pas une chaîne, la passerelle rejette la demande avec le message `model must be a string`. Nécessite une passerelle exécutant Claude Code v2.1.221 ou ultérieur.

556 575 

557| Correspondant | Comportement |576| Correspondance | Comportement |

558| --------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------- |577| --------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

559| `match: {}` | Correspond à tous les utilisateurs authentifiés. Commencez par un de ceux-ci et ajoutez des politiques limitées au groupe plus tard. |578| `match: {}` | Correspond à chaque utilisateur authentifié. Commencez par l'un de ceux-ci et ajoutez des politiques limitées aux groupes au-dessus plus tard. |

560| `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. |579| `match: { groups: [a, b] }` | Correspond si la revendication `groups` du JWT contient l'un des groupes listés. Sensible à la casse : les groupes doivent correspondre à la casse exacte de l'IdP. |

561| `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. |580| `match: { email_domain: example.com }` | Correspond à la partie après le dernier `@` dans la revendication `email` du JWT, insensible à la casse. Accepte un domaine par politique. |

562| `match: { groups: [a], email_domain: example.com }` | Les deux conditions doivent correspondre |581| `match: { groups: [a], email_domain: example.com }` | Les deux conditions doivent correspondre |

563 582 

564Un 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.583Un 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.

565 584 

566<Note>585<Note>

567 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.586 La passerelle ne conserve aucun répertoire d'utilisateurs qui lui est propre. Elle autorise chaque demande à partir du jeton IdP de l'utilisateur, en lisant l'appartenance au groupe à partir de la revendication `groups` du jeton et en évaluant les politiques par rapport à celle-ci. Il n'y a pas de liste à énumérer et aucun compte à pré-créer, et donc aucun point de terminaison SCIM, car il n'y a rien pour que SCIM se synchronise.

568 587 

569 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](/docs/fr/admin-setup).588 Exécutez la gestion du cycle de vie des utilisateurs et des groupes à la source de vérité, qui est l'approvisionnement SCIM natif de votre IdP ou une plateforme de gouvernance des identités 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 l'approvisionnement SCIM des comptes Claude eux-mêmes, c'est une capacité [Claude for Enterprise](/docs/fr/admin-setup).

570 589 

571 Deux horloges de propagation s'appliquent :590 Deux horloges de propagation s'appliquent :

572 591 

573 * **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, à part les [changements qui s'appliquent uniquement au prochain lancement](/docs/fr/server-managed-settings#fetch-and-caching-behavior)592 * **Contenu de la politique** : modifier une politique et redéployer atteint les clients connectés lors de leur prochain sondage de paramètres gérés, dans une heure, à part les [modifications qui s'appliquent uniquement au prochain lancement](/docs/fr/server-managed-settings#fetch-and-caching-behavior)

574 * **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`.593 * **Appartenance au groupe** : modifier l'appartenance au groupe d'un utilisateur change la politique qui le correspond. Cela prend effet lors du prochain renouvellement de session, ce qui signifie le prochain rafraîchissement silencieux, limité par `session.ttl_hours`.

575</Note>594</Note>

576 595 

577<h4 id="matcher-values-that-stop-the-gateway-at-boot">596<h4 id="matcher-values-that-stop-the-gateway-at-boot">


583* Une liste `groups` vide602* Une liste `groups` vide

584* Une entrée vide dans `groups` ou dans `admin_groups`603* Une entrée vide dans `groups` ou dans `admin_groups`

585* Un `email_domain` vide604* Un `email_domain` vide

586* Un `email_domain` qui contient `@`, un espace blanc ou une virgule. La passerelle supprime la valeur et enlève un `@` initial avant cette vérification. Écrivez un domaine nu, tel que `example.com`.605* Un `email_domain` qui contient `@`, un espace blanc ou une virgule. La passerelle coupe la valeur et supprime un `@` initial avant cette vérification. Écrivez un domaine nu, comme `example.com`.

587 606 

588Avant v2.1.232, la passerelle démarrait avec ces valeurs. Chaque valeur avait cet effet :607Avant v2.1.232, la passerelle démarrait avec ces valeurs. Chaque valeur avait cet effet :

589 608 

590* Un `email_domain` vide : la passerelle a ignoré la vérification de domaine, donc une politique avec un `email_domain` vide et aucune liste `groups` correspondait à tous les utilisateurs authentifiés609* Un `email_domain` vide : la passerelle a ignoré la vérification du domaine, donc une politique avec un `email_domain` vide et aucune liste `groups` correspondait à chaque utilisateur authentifié

591* Une liste `groups` vide : la politique ne correspondait à personne610* Une liste `groups` vide : la politique ne correspondait à personne

592* Un `email_domain` contenant `@`, un espace blanc ou une virgule : la politique ne correspondait à personne611* Un `email_domain` contenant `@`, un espace blanc ou une virgule : la politique ne correspondait à personne

593* Une entrée vide dans `groups` ou dans `admin_groups` : l'entrée correspondait à un utilisateur uniquement lorsque la réclamation `groups` IdP de cet utilisateur contenait également une entrée vide. Dans `admin_groups`, cette correspondance accordait l'accès administrateur. Si votre liste `admin_groups` ne contenait jamais une entrée vide, personne n'a obtenu l'accès administrateur de cette façon.612* Une entrée vide dans `groups` ou dans `admin_groups` : l'entrée correspondait à un utilisateur uniquement lorsque la revendication `groups` IdP de cet utilisateur contenait également une entrée vide. Dans `admin_groups`, cette correspondance accordait l'accès admin. Si votre liste `admin_groups` ne contenait jamais une entrée vide, personne n'a obtenu l'accès admin de cette façon.

594 613 

595<h4 id="what-goes-in-cli">614<h4 id="what-goes-in-cli">

596 Ce qui va dans `cli`615 Ce qui va dans `cli`

597</h4>616</h4>

598 617 

599Chaque 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, à la place des paramètres gérés par le serveur. Il ignore donc les paramètres [restreints aux sources de politique au niveau du système d'exploitation](/docs/fr/server-managed-settings#current-limitations), tels que `policyHelper` et `wslInheritsWindowsSettings`.618Chaque valeur `cli` est un document complet Claude Code `managed-settings.json`, 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, à la place des paramètres gérés par le serveur. Il ignore donc les paramètres [restreints aux sources de politique au niveau du système d'exploitation](/docs/fr/server-managed-settings#current-limitations), comme `policyHelper` et `wslInheritsWindowsSettings`.

600 619 

601La 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 é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`.620La passerelle valide chaque document par rapport au schéma des paramètres du CLI au démarrage, donc une clé de niveau supérieur non reconnue échoue au démarrage avec une erreur nommant chaque clé contrevenante. Les parties délibérément ouvertes du schéma acceptent toujours des valeurs arbitraires, car les clients plus récents peuvent reconnaître des 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`.

602 621 

603Parce 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.622Parce que la validation utilise le schéma fourni avec la version installée de la passerelle, placer 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.

604 623 

605La référence de clé complète est dans [Paramètres Claude Code](/docs/fr/settings-reference#all-settings). Les clés que les opérateurs atteignent en premier :624La référence complète des clés se trouve dans [Paramètres Claude Code](/docs/fr/settings-reference#all-settings). Les clés que les opérateurs atteignent en premier :

606 625 

607```yaml theme={null}626```yaml theme={null}

608managed:627managed:


618 - "WebFetch"637 - "WebFetch"

619 - "Read(./.env)"638 - "Read(./.env)"

620 - "Read(./secrets/**)"639 - "Read(./secrets/**)"

621 disableBypassPermissionsMode: disable # bloque --dangerously-skip-permissions640 disableBypassPermissionsMode: disable # blocks --dangerously-skip-permissions

622 allowManagedPermissionRulesOnly: true # ignorer les règles de permission utilisateur/projet641 allowManagedPermissionRulesOnly: true # ignore user/project permission rules

623 642 

624 # Environnement poussé dans le processus CLI. DISABLE_UPDATES bloque643 # Environnement poussé dans le processus CLI. DISABLE_UPDATES bloque

625 # les mises à jour en arrière-plan et manuelles ; DISABLE_AUTOUPDATER arrête uniquement644 # les mises à jour en arrière-plan et manuelles ; DISABLE_AUTOUPDATER arrête uniquement

626 # les mises à jour en arrière-plan.645 # les mises à jour en arrière-plan.

627 env:646 env:

628 DISABLE_UPDATES: "1" # épingler les versions via votre propre distribution647 DISABLE_UPDATES: "1" # pin versions via your own distribution

629 648 

630 # Hooks à l'échelle de l'organisation. Les commandes de hook s'exécutent sur les machines des développeurs, pas la649 # Hooks à l'échelle de l'organisation. Les commandes de hook s'exécutent sur les machines des développeurs, pas sur la

631 # passerelle, donc le chemin doit exister sur chaque système d'exploitation client dans la politique.650 # passerelle, donc le chemin doit exister sur chaque système d'exploitation client dans la politique.

632 hooks:651 hooks:

633 PostToolUse:652 PostToolUse:


637```656```

638 657 

639| Clé | Appliquée par | Effet |658| Clé | Appliquée par | Effet |

640| ------------------------------------------ | ---------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |659| ------------------------------------------ | ---------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

641| `availableModels` | Passerelle + CLI | Liste d'autorisation de modèles. Également vérifiée à `/v1/messages`, donc un client patché ne peut pas la contourner. |660| `availableModels` | Passerelle + CLI | Liste d'autorisation des modèles. Également vérifiée à `/v1/messages`, donc un client corrigé ne peut pas la contourner. |

642| `permissions.allow` / `.deny` | CLI | Règles d'outils et de commandes. Voir [Permissions](/docs/fr/permissions). |661| `permissions.allow` / `.deny` | CLI | Règles d'outils et de commandes. Consultez [Permissions](/docs/fr/permissions). |

643| `permissions.disableBypassPermissionsMode` | CLI | Définissez sur `disable` pour bloquer [`bypassPermissions`](/docs/fr/permission-modes#skip-all-checks-with-bypasspermissions-mode), le mode qui approuve automatiquement chaque appel d'outil, et l'indicateur `--dangerously-skip-permissions` |662| `permissions.disableBypassPermissionsMode` | CLI | Définissez à `disable` pour bloquer [`bypassPermissions`](/docs/fr/permission-modes#skip-all-checks-with-bypasspermissions-mode), le mode qui ignore les invites de permission, et l'indicateur `--dangerously-skip-permissions` |

644| `allowManagedPermissionRulesOnly` | CLI | Lorsque `true`, les paramètres gérés deviennent la seule source de paramètres des règles de permission. L'entrée [`allowManagedPermissionRulesOnly`](/docs/fr/settings-reference#allowmanagedpermissionrulesonly) liste chaque source que Claude Code ignore ensuite. |663| `allowManagedPermissionRulesOnly` | CLI | Lorsque `true`, les paramètres gérés deviennent la seule source de paramètres des règles de permission. L'entrée [`allowManagedPermissionRulesOnly`](/docs/fr/settings-reference#allowmanagedpermissionrulesonly) liste chaque source que Claude Code ignore ensuite. |

645| `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. |664| `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. |

646| `hooks` | CLI | [Hooks](/docs/fr/hooks) à l'échelle de l'organisation |665| `hooks` | CLI | [Hooks](/docs/fr/hooks) à l'échelle de l'organisation |

666| `managedMcpServers` | CLI | Serveurs MCP distants [fournis à chaque développeur correspondant](/docs/fr/managed-mcp#provide-servers-through-managed-settings) aux côtés des serveurs qu'ils ajoutent eux-mêmes, `http` et `sse` uniquement. Consultez [Serveurs MCP dans une politique](#mcp-servers-in-a-policy). Nécessite Claude Code v2.1.259 ou ultérieur sur le serveur de passerelle et sur les clients. Les clients antérieurs ignorent la clé. |

647 667 

648Parce que ces paramètres arrivent sur le réseau, le CLI affiche à chaque développeur un dialogue d'approbation de sécurité avant d'appliquer les paramètres listés ci-dessous :668Parce que ces paramètres arrivent sur le réseau, le CLI montre à chaque développeur une boîte de dialogue d'approbation de sécurité avant d'appliquer les paramètres listés ci-dessous :

649 669 

650* `hooks`670* `hooks`

651* Variables `env` qui nécessitent l'approbation du développeur, telles que les variables de proxy et d'URL de base671* Variables `env` qui nécessitent l'approbation du développeur, comme les variables de proxy et d'URL de base

652* Paramètres d'exécution shell tels que `apiKeyHelper` et `statusLine`672* Paramètres d'exécution de shell comme `apiKeyHelper` et `statusLine`

653* les paramètres de binaire sandbox `sandbox.bwrapPath`, `sandbox.socatPath` et `sandbox.ripgrep`673* Les paramètres binaires du sandbox `sandbox.bwrapPath`, `sandbox.socatPath` et `sandbox.ripgrep`

654* Les paramètres Sandbox qui interceptent le trafic, injectent des identifiants ou affaiblissent l'isolation, tels que `sandbox.network.tlsTerminate` et les paramètres de port proxy. [Dialogues d'approbation de sécurité](/docs/fr/server-managed-settings#security-approval-dialogs) les liste tous.674* Les paramètres du sandbox qui interceptent le trafic, injectent des identifiants ou affaiblissent l'isolation, comme `sandbox.network.tlsTerminate` et les paramètres du port proxy. [Boîtes de dialogue d'approbation de sécurité](/docs/fr/server-managed-settings#security-approval-dialogs) les liste tous.

655 675 

656[Mémoire d'approbation](/docs/fr/server-managed-settings#approval-memory) couvre combien de temps une approbation dure et quand le dialogue apparaît à nouveau.676[Mémoire d'approbation](/docs/fr/server-managed-settings#approval-memory) couvre la durée d'une approbation et quand la boîte de dialogue apparaît à nouveau.

657 677 

658Claude Code applique certaines variables `env` livrées sans afficher le dialogue d'approbation au développeur, telles que les paramètres de sélection de modèle et les limites numériques. D'autres variables livrées peuvent nécessiter l'approbation du développeur avant de prendre effet ; une valeur de proxy non vide, d'URL de base ou `OTEL_EXPORTER_OTLP_ENDPOINT` le fait toujours. Lorsqu'une variable livrée a besoin d'approbation, le dialogue la nomme.678Claude Code applique certaines variables `env` livrées sans montrer la boîte de dialogue d'approbation au développeur, comme les paramètres de sélection de modèle et les limites numériques. D'autres variables livrées peuvent nécessiter l'approbation du développeur avant de prendre effet ; une valeur de proxy, d'URL de base ou `OTEL_EXPORTER_OTLP_ENDPOINT` non vide le fait toujours. Lorsqu'une variable livrée a besoin d'approbation, la boîte de dialogue la nomme.

659 679 

660[Variables d'environnement et le dialogue d'approbation](/docs/fr/server-managed-settings#environment-variables-and-the-approval-dialog) a les détails, y compris quatre bascules de confidentialité dont la valeur livrée décide si elles ont besoin d'approbation. Avant v2.1.218, Claude Code appliquait moins de variables sans demander au développeur, donc plus de variables livrées déclenchaient le dialogue.680[Variables d'environnement et boîte de dialogue d'approbation](/docs/fr/server-managed-settings#environment-variables-and-the-approval-dialog) a les détails, y compris quatre bascules de confidentialité dont la valeur livrée décide si elles ont besoin d'approbation. Avant v2.1.218, Claude Code appliquait moins de variables sans demander au développeur, donc plus de variables livrées déclenchaient la boîte de dialogue.

661 681 

662La 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. Le dialogue protège la machine du développeur d'une passerelle compromise ou hostile, pas l'organisation du développeur.682La configuration [télémétrie](#telemetry) de la passerelle pousse `OTEL_EXPORTER_OTLP_ENDPOINT`, donc définir `telemetry.forward_to` déclenche la boîte de dialogue sur chaque client interactif. La boîte de dialogue protège la machine du développeur d'une passerelle compromise ou hostile, pas l'organisation du développeur.

663 683 

664Une exécution non interactive avec l'indicateur `-p` ne peut pas afficher le dialogue. Elle applique les paramètres poussés pour cette exécution uniquement et ne les enregistre pas comme approuvés, donc la prochaine session interactive du développeur affiche toujours le dialogue. Avant v2.1.207, une exécution non interactive enregistrait les paramètres comme approuvés et aucune session interactive ultérieure n'affichait le dialogue pour eux.684Une exécution non interactive avec l'indicateur `-p` ne peut pas montrer la boîte de dialogue. Elle applique les paramètres poussés pour cette exécution uniquement et ne les enregistre pas comme approuvés, donc la prochaine session interactive du développeur montre toujours la boîte de dialogue pour eux. Avant v2.1.207, une exécution non interactive enregistrait les paramètres comme approuvés et aucune session interactive ultérieure ne montrait la boîte de dialogue pour eux.

665 685 

666Si un développeur refuse, Claude Code se termine plutôt que d'appliquer la politique. Lorsque vous poussez un nouveau hook, ou toute variable env qui déclenche le dialogue, vers une politique large, Claude Code affiche donc le dialogue à chaque développeur correspondant. Il affiche le dialogue dans une session en cours lors du prochain sondage horaire, et sinon au prochain démarrage du développeur.686Si un développeur refuse, Claude Code quitte cette session plutôt que d'appliquer la politique. Lorsque vous poussez un nouveau hook, ou toute variable env qui déclenche la boîte de dialogue, à une politique large, Claude Code montre donc la boîte de dialogue à chaque développeur correspondant. Il montre la boîte de dialogue dans une session en cours lors du prochain sondage horaire, et sinon au prochain démarrage du développeur.

667 687 

668La 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`.688La 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`.

669 689 

690<h4 id="mcp-servers-in-a-policy">

691 Serveurs MCP dans une politique

692</h4>

693 

694Pour fournir des serveurs MCP aux clients Claude Code qu'une politique correspond, définissez [`managedMcpServers`](/docs/fr/managed-mcp#provide-servers-through-managed-settings) dans le bloc `cli` de cette politique. Vous avez besoin de Claude Code v2.1.259 ou ultérieur sur le serveur de passerelle et sur les clients.

695 

696La passerelle vérifie chaque entrée au démarrage avec [les mêmes règles que Claude Code applique sur le client](/docs/fr/managed-mcp#what-an-entry-can-contain), et si une entrée échoue une vérification, la passerelle refuse de démarrer et nomme l'entrée.

697 

698Si vous écrivez une référence `${VAR}` dans `gateway.yaml`, la passerelle la résout à partir de son environnement au démarrage via [expansion de secret](#secret-expansion) avant d'exécuter les vérifications d'entrée, donc chaque client correspondant reçoit la valeur littérale et peut la lire. [L'orientation d'en-tête pour les serveurs fournis](/docs/fr/managed-mcp#provide-servers-through-managed-settings) s'applique à la valeur étendue.

699 

700La passerelle rejette l'orthographe `.mcp.json` `mcpServers` dans un bloc `cli`, et son erreur de démarrage nomme `managedMcpServers` comme clé à utiliser. Avant v2.1.259, la passerelle rejetait toute définition de serveur MCP dans un bloc `cli`.

701 

670<h4 id="claude-desktop-overlay">702<h4 id="claude-desktop-overlay">

671 Superposition Claude Desktop703 Superposition Claude Desktop

672</h4>704</h4>

673 705 

674Si votre organisation déploie également [Claude Desktop](/docs/fr/desktop), la même passerelle sert les deux clients. Pointez `bootstrapUrl`, dans la [configuration gérée](/docs/fr/desktop) de Claude Desktop, sur `<listen.public_url>/user/bootstrap`. Claude Desktop dérive l'émetteur OAuth de cette URL, exécute la même connexion par code d'appareil contre cette passerelle et récupère sa configuration à partir de la réponse.706Si votre organisation déploie également [Claude Desktop](/docs/fr/desktop), la même passerelle sert les deux clients. Pointez `bootstrapUrl`, dans la [configuration gérée](https://claude.com/docs/third-party/claude-desktop/configuration) de Claude Desktop, sur `<listen.public_url>/user/bootstrap`. Claude Desktop dérive l'émetteur OAuth de cette URL, exécute la même connexion par code d'appareil contre cette passerelle et récupère sa configuration à partir de la réponse.

675 707 

676<Note>708<Note>

677 Nécessite Claude Code v2.1.203 ou ultérieur sur le serveur de passerelle, et un opt-in explicite : `/user/bootstrap` retourne 404 sauf si la politique correspondant à l'utilisateur porte une clé `desktop`. Un `desktop: {}` vide opte une politique, et une clé `desktop` sur la couche de base `match: {}` opte chaque politique qui l'hérite. Le journal d'audit enregistre chaque demande en tant que `desktop_bootstrap.serve` ou `desktop_bootstrap.denied`.709 Nécessite Claude Code v2.1.203 ou ultérieur sur le serveur de passerelle, et un opt-in explicite : `/user/bootstrap` retourne 404 sauf si la politique correspondant à l'utilisateur porte une clé `desktop`. Un `desktop: {}` vide opte une politique, et une clé `desktop` sur la couche de base `match: {}` opte chaque politique qui l'hérite. Le journal d'audit enregistre chaque demande en tant que `desktop_bootstrap.serve` ou `desktop_bootstrap.denied`.


679 711 

680La passerelle dérive une grande partie de la réponse du bloc `cli` de la politique correspondante et de la configuration de passerelle de niveau supérieur :712La passerelle dérive une grande partie de la réponse du bloc `cli` de la politique correspondante et de la configuration de passerelle de niveau supérieur :

681 713 

682* La liste de modèles, à partir de `availableModels`714* La liste des modèles, à partir de `availableModels`

683* Outils désactivés, à partir des entrées `permissions.deny` de nom d'outil nu. Si vous définissez `disabledBuiltinTools` dans le bloc `desktop` de la politique, la passerelle sert l'union de votre valeur et de la liste dérivée, donc vous pouvez désactiver plus d'outils de cette façon mais ne pouvez pas réactiver un que vous avez désactivé via `permissions.deny`715* Outils désactivés, à partir des entrées `permissions.deny` de nom d'outil nu. Si vous définissez `disabledBuiltinTools` dans le bloc `desktop` de la politique, la passerelle sert l'union de votre valeur et de la liste dérivée, afin que vous puissiez désactiver plus d'outils de cette façon mais ne pouvez pas réactiver un que vous avez désactivé via `permissions.deny`

684* La liste d'autorisation de sortie, à partir de `sandbox.network.allowedDomains`. Si vous définissez `coworkEgressAllowedHosts` dans le bloc `desktop` de la politique, la passerelle utilise cette valeur au lieu de la liste dérivée716* La liste d'autorisation de sortie, à partir de `sandbox.network.allowedDomains`. Si vous définissez `coworkEgressAllowedHosts` dans le bloc `desktop` de la politique, la passerelle utilise cette valeur à la place de la liste dérivée

685* Un point de terminaison OTLP qui pointe vers la passerelle elle-même, qui se distribue à vos destinations, inclus lorsque la transmission [`telemetry`](#telemetry) est configurée717* Un point de terminaison OTLP qui pointe vers la passerelle elle-même, et les attributs d'identité de l'utilisateur connecté. La passerelle relaie les exportations qu'elle reçoit à ce point de terminaison vers vos destinations `forward_to`. Elle inclut le point de terminaison et les attributs lorsque vous définissez à la fois [`telemetry.forward_to`](#telemetry) et `listen.public_url`.

718 

719 Claude Desktop exporte chaque signal avec un encodage : `http/protobuf`, ou `http/json` lorsque vous définissez `OTEL_EXPORTER_OTLP_PROTOCOL` ou l'un de ses variantes par signal à `http/json` dans le `env` de la politique. Avant Claude Code v2.1.261 sur le serveur de passerelle, la réponse définissait `http/json` indépendamment, donc un collecteur qui accepte uniquement protobuf rejetait les exportations de Claude Desktop

686 720 

687Pour définir `disabledBuiltinTools` ou `coworkEgressAllowedHosts` dans le bloc `desktop` d'une politique, vous avez besoin de Claude Code v2.1.232 ou ultérieur sur le serveur de passerelle.721Pour définir `disabledBuiltinTools`, `coworkEgressAllowedHosts` ou le paramètre `managedMcpServers` propre de Claude Desktop dans le bloc `desktop` d'une politique, vous avez besoin de Claude Code v2.1.232 ou ultérieur sur le serveur de passerelle. Le `managedMcpServers` de Claude Desktop prend une valeur de tableau plutôt qu'un objet.

688 722 

689La passerelle omet les clés sans équivalent Claude Desktop, telles que `hooks` et les règles de permission limitées telles que `Bash(npm *)`, de la réponse bootstrap.723La passerelle omet les clés sans équivalent Claude Desktop, comme `hooks` et les règles de permission limitées comme `Bash(npm *)`, de la réponse d'amorçage.

690 724 

691Ajoutez le bloc optionnel `desktop` à côté de `cli` pour définir les paramètres Claude Desktop directement. Écrivez les paramètres à partir de la [référence de configuration gérée](https://claude.com/docs/third-party/claude-desktop/configuration) de Claude Desktop en tant que noms de clé plats. Laissez de côté les clés que Claude Desktop lit uniquement à partir de MDM ou de fichiers locaux, telles que `bootstrapUrl` ; la passerelle les rejette au démarrage. Avant v2.1.232, la passerelle acceptait une liste fixe de 11 clés de porte de fonctionnalité, telles que `chatTabEnabled` et `disableAutoUpdates`, et rejetait chaque autre clé au démarrage. Avant v2.1.227, la passerelle rejetait également `chatTabEnabled` et `chatAdvancedFileAnalysisEnabled` au démarrage.725Ajoutez le bloc `desktop` optionnel aux côtés de `cli` pour définir les paramètres Claude Desktop directement. Écrivez les paramètres de la [référence de configuration gérée](https://claude.com/docs/third-party/claude-desktop/configuration) de Claude Desktop en tant que noms de clés plats. Laissez de côté les clés que Claude Desktop lit uniquement à partir de MDM ou de fichiers locaux, comme `bootstrapUrl` ; la passerelle les rejette au démarrage. Avant v2.1.232, la passerelle acceptait une liste fixe de 11 clés de porte de fonctionnalité, comme `chatTabEnabled` et `disableAutoUpdates`, et rejetait chaque autre clé au démarrage. Avant v2.1.227, la passerelle rejetait également `chatTabEnabled` et `chatAdvancedFileAnalysisEnabled` au démarrage.

692 726 

693```yaml theme={null}727```yaml theme={null}

694managed:728managed:


705Chaque clé est optionnelle ; Claude Desktop applique sa propre valeur par défaut pour toute clé que vous omettez. La passerelle valide chaque bloc `desktop` au démarrage par rapport au schéma de configuration que Claude Desktop lui-même utilise, donc une erreur apparaît au démarrage de la passerelle en tant qu'erreur nommant la clé plutôt que d'atteindre chaque bureau connecté. La passerelle échoue au démarrage lorsqu'un bloc contient :739Chaque clé est optionnelle ; Claude Desktop applique sa propre valeur par défaut pour toute clé que vous omettez. La passerelle valide chaque bloc `desktop` au démarrage par rapport au schéma de configuration que Claude Desktop lui-même utilise, donc une erreur apparaît au démarrage de la passerelle en tant qu'erreur nommant la clé plutôt que d'atteindre chaque bureau connecté. La passerelle échoue au démarrage lorsqu'un bloc contient :

706 740 

707* Une clé inconnue741* Une clé inconnue

708* Une clé reconnue dont la valeur que Claude Desktop rejetterait ou abandonnerait silencieusement, telle qu'une valeur vide ou une sous-clé mal orthographiée à l'intérieur d'une entrée imbriquée742* Une clé reconnue dont la valeur Claude Desktop rejetterait ou supprimerait silencieusement, comme une valeur vide ou une sous-clé mal orthographiée à l'intérieur d'une entrée imbriquée. Avant v2.1.260, la passerelle supprimait silencieusement un champ mal orthographié à l'intérieur d'un objet imbriqué d'une entrée `managedMcpServers` ou `orgPluginSettings` au lieu d'échouer au démarrage.

709* Une clé que la passerelle calcule elle-même : la connexion d'inférence, la liste de modèles et le relais OTLP. Configurez ceux-ci via [`upstreams`](#upstreams), [`models`](#models) et la section [`telemetry`](#telemetry) `forward_to`.743* Une clé que la passerelle calcule elle-même : la connexion d'inférence, la liste des modèles et le relais OTLP. Configurez ceux-ci via [`upstreams`](#upstreams), [`models`](#models) et la section [`telemetry`](#telemetry) `forward_to`.

710* Un alias hérité d'une clé actuelle. Dans l'erreur de démarrage, la passerelle nomme la clé canonique à écrire.744* Un alias hérité d'une clé actuelle. Dans l'erreur de démarrage, la passerelle nomme la clé canonique à écrire.

711 745 

712Comme avec le bloc `cli`, la passerelle valide par rapport au schéma fourni avec sa version installée. Pour livrer un paramètre introduit par une version plus récente de Claude Desktop, mettez à niveau la passerelle en premier.746Si vous utilisez une valeur ou une forme d'entrée dépréciée, comme une entrée `managedMcpServers` sans `transport`, la passerelle démarre et enregistre un avertissement qui nomme le remplacement.

713 747 

714La passerelle remplit les clés qu'un bloc `desktop` d'une politique ne définit pas à partir du bloc `desktop` de la capture-tout `match: {}`, de la même façon qu'elle remplit le bloc `cli` d'une politique à partir de la base. Si vous définissez `disabledBuiltinTools` ou `builtinToolPolicy` dans la base et une politique de rôle, la passerelle conserve la restriction de la base :748La passerelle valide un bloc `desktop` par rapport au schéma fourni avec sa version installée, comme elle le fait pour le bloc `cli`. Pour livrer un paramètre introduit par une version plus récente de Claude Desktop, mettez à niveau la passerelle en premier. Par exemple, `userPluginMarketplacesEnabled` et `userPluginUploadsEnabled` nécessitent Claude Code v2.1.260 ou ultérieur sur le serveur de passerelle et Claude Desktop 1.37937.0 ou ultérieur sur les machines des membres.

749 

750Si vous définissez `orgPluginSettings` dans le bloc `desktop` d'une politique, la passerelle le sert sous la forme de tableau que Claude Desktop 1.15200.0 et ultérieur lit. Les anciens bureaux ignorent le tableau et n'appliquent aucune politique d'outil de plugin, donc mettez à jour les membres à 1.15200.0 ou ultérieur avant de vous y fier.

751 

752La passerelle remplit les clés qu'un bloc `desktop` de politique ne définit pas à partir du bloc `desktop` de la capture-tout `match: {}`, de la même manière qu'elle remplit le bloc `cli` d'une politique à partir de la base. Si vous définissez `disabledBuiltinTools` ou `builtinToolPolicy` à la fois dans la base et dans une politique par rôle, la passerelle conserve la restriction de la base :

715 753 

716* `disabledBuiltinTools` : la passerelle utilise l'union de la liste de la base et de la liste de la politique754* `disabledBuiltinTools` : la passerelle utilise l'union de la liste de la base et de la liste de la politique

717* `builtinToolPolicy` : si vous définissez un outil à une valeur autre que `allow` dans la base, la passerelle conserve cette valeur même si vous définissez `allow` pour le même outil dans une politique de rôle755* `builtinToolPolicy` : si vous définissez un outil à une valeur autre que `allow` dans la base, la passerelle conserve cette valeur même si vous définissez `allow` pour le même outil dans une politique par rôle

718 756 

719Pour chaque autre clé, si vous la définissez dans la politique de rôle, la passerelle utilise la valeur de la politique de rôle. La passerelle remplace un tableau ou un objet imbriqué tel que `banner` en entier, donc si vous définissez `banner.text` dans une politique de rôle, la passerelle abandonne le `banner.backgroundColor` de la base.757Pour chaque autre clé, si vous la définissez dans la politique par rôle, la passerelle utilise la valeur de la politique par rôle. La passerelle remplace un tableau ou un objet imbriqué comme `banner` entièrement, donc si vous définissez `banner.text` dans une politique par rôle, la passerelle supprime le `banner.backgroundColor` de la base.

720 758 

721Si vous ne déployez pas Claude Desktop, laissez `desktop` complètement hors de vos politiques ; la passerelle retourne alors 404 de `/user/bootstrap` pour chaque utilisateur.759Si vous ne déployez pas Claude Desktop, laissez `desktop` complètement hors de vos politiques ; la passerelle retourne alors 404 à partir de `/user/bootstrap` pour chaque utilisateur.

722 760 

723<h4 id="precedence-with-other-managed-sources">761<h4 id="precedence-with-other-managed-sources">

724 Précédence avec d'autres sources gérées762 Précédence avec d'autres sources gérées

725</h4>763</h4>

726 764 

727Si un appareil a également une politique livrée par MDM ou une `managed-settings.json` locale, les paramètres livrés par la passerelle sont classés en premier. [Précédence au sein de la couche gérée](/docs/fr/managed-settings#precedence-within-the-managed-tier) sur la page des paramètres gérés dit quand les sources locales s'appliquent, et a les [clés que Claude Code lit à partir de chaque source admin](/docs/fr/managed-settings#keys-read-from-every-admin-source) indépendamment de la source qu'il a sélectionnée, telles que les clés de verrouillage sandbox, `forceRemoteSettingsRefresh` et la fusion `env` par variable. Un [`policyHelper`](/docs/fr/settings-reference#policyhelper) configuré dans un profil MDM ou le fichier de paramètres gérés s'exécute uniquement lorsque la passerelle ne livre aucun paramètre ; l'entrée dit ce que sa sortie remplace.765Si un appareil a également une politique livrée par MDM ou un `managed-settings.json` local, les paramètres livrés par la passerelle sont classés en premier. [Précédence au sein du niveau géré](/docs/fr/managed-settings#precedence-within-the-managed-tier) sur la page des paramètres gérés dit quand les sources locales s'appliquent, et a les [clés que Claude Code lit à partir de chaque source admin](/docs/fr/managed-settings#keys-read-from-every-admin-source) indépendamment de la source qu'il a sélectionnée, comme les clés de verrouillage du sandbox, `forceRemoteSettingsRefresh` et le `env` par variable. Un [`policyHelper`](/docs/fr/settings-reference#policyhelper) configuré dans un profil MDM ou le fichier des paramètres gérés s'exécute uniquement lorsque la passerelle ne livre aucun paramètre ; l'entrée dit ce que sa sortie remplace.

728 766 

729Les hôtes d'intégration tels que [Claude Desktop](/docs/fr/desktop) peuvent fournir une politique via l'option SDK `managedSettings`. [Paramètres parents à partir d'hôtes d'intégration](/docs/fr/managed-settings#parent-settings-from-embedding-hosts) dit quand Claude Code l'applique, et [Restreindre les paramètres parents](/docs/fr/claude-apps-gateway#restrict-parent-settings) liste lesquels les paramètres de direction d'autorisation s'appliquent toujours sans les verrous `allowManaged*Only`.767Les hôtes d'intégration comme [Claude Desktop](/docs/fr/desktop) peuvent fournir une politique via l'option SDK `managedSettings`. [Paramètres parents à partir d'hôtes d'intégration](/docs/fr/managed-settings#parent-settings-from-embedding-hosts) dit quand Claude Code l'applique, et [Restreindre les paramètres parents](/docs/fr/claude-apps-gateway#restrict-parent-settings) liste les paramètres de direction d'autorisation qui s'appliquent toujours sans les verrous `allowManaged*Only`.

730 768 

731Les 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.769Les 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 connectées quittent avec une erreur plutôt que de s'exécuter sans leur politique.

732 

733<Warning>

734 Au démarrage, la passerelle rejette `mcpServers` à l'intérieur du bloc `cli` d'une politique. Vous ne pouvez pas distribuer les serveurs MCP par groupe aux clients Claude Code ; déployez les serveurs MCP via le `managed-mcp.json` basé sur fichier sur chaque appareil ou laissez les développeurs les ajouter localement. Vous pouvez livrer le paramètre `managedMcpServers` de Claude Desktop aux clients Claude Desktop via le bloc `desktop` d'une politique. Pour le définir, vous avez besoin de Claude Code v2.1.232 ou ultérieur sur le serveur de passerelle.

735</Warning>

736 770 

737<h3 id="telemetry">771<h3 id="telemetry">

738 `telemetry`772 `telemetry`

739</h3>773</h3>

740 774 

741Le 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](/docs/fr/monitoring-usage) pour les métriques et événements que le CLI émet.775Le CLI envoie des métriques, des journaux et, lorsqu'ils sont activés, des traces à la passerelle, qui les relaie textuellement à chaque destination configurée. Les exportations utilisent OpenTelemetry Protocol (OTLP) sur HTTP. Pour ignorer le relais et faire exporter les sessions directement vers votre collecteur, [nommez le collecteur dans une politique](#export-directly-to-your-collector). Consultez [Surveillance de l'utilisation](/docs/fr/monitoring-usage) pour les métriques et événements que le CLI émet.

776 

777Le CLI horodate chaque exportation 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 configuration côté développeur.

778 

779[Claude Desktop](#claude-desktop-overlay) et les sessions Cowork connectées via la passerelle horodatent leur télémétrie avec `user.email` et `user.groups` aux côtés de `enduser.id`, afin que vous puissiez couvrir l'utilisation du terminal, du Bureau et de Cowork avec une requête sur `user.email` ou `user.groups`. `user.groups` est la liste des groupes IdP séparée par des virgules.

780 

781Comme toutes les données OpenTelemetry de Claude Code, ces attributs vont uniquement aux destinations que votre organisation configure, jamais à Anthropic.

742 782 

743Le 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.783Si la liste de groupes d'un utilisateur dépasse 255 caractères une fois codée en pourcentage, ou si un nom de groupe contient une virgule ou un signe égal, la passerelle laisse `user.groups` hors de la télémétrie Desktop et Cowork de cet utilisateur plutôt que de la tronquer. Les sessions de terminal de cet utilisateur portent toujours la liste complète.

784 

785Vous avez besoin de Claude Code v2.1.265 ou ultérieur sur le serveur de passerelle pour `user.email` et `user.groups` sur la télémétrie Desktop et Cowork, et Claude Desktop 1.24012 ou ultérieur sur la machine de chaque développeur pour `user.groups`.

744 786 

745```yaml theme={null}787```yaml theme={null}

746telemetry:788telemetry:


760<Warning>802<Warning>

761 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é :803 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é :

762 804 

763 * **Métriques** : compteurs agrégés tels que les comptages de jetons, les comptages de demandes et la latence805 * **Métriques** : compteurs agrégés comme les comptages de jetons, les comptages de demandes et la latence

764 * **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éveloppeur806 * **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

765 807 

766 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.808 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.

767</Warning>809</Warning>

768 810 

769Chaque URL `forward_to` doit utiliser `https://`, avec une exception pour un collecteur sur l'interface loopback de la passerelle elle-même :811Chaque URL `forward_to` doit utiliser `https://`, avec une exception pour un collecteur sur l'interface de bouclage de la passerelle elle-même :

770 812 

771* `http://localhost:<port>` passe la validation de configuration, mais la [garde SSRF](/docs/fr/claude-apps-gateway-deploy#threat-model-summary) bloque chaque export avec `ECONNREFUSED_SSRF` sauf si vous définissez `CLAUDE_GATEWAY_ALLOW_LOOPBACK=1` dans l'environnement de la passerelle813* `http://localhost:<port>` passe la validation de configuration, mais la [garde SSRF](/docs/fr/claude-apps-gateway-deploy#threat-model-summary) bloque chaque exportation avec `ECONNREFUSED_SSRF` sauf si vous définissez `CLAUDE_GATEWAY_ALLOW_LOOPBACK=1` dans l'environnement de la passerelle

772* `http://127.0.0.1:<port>` ou `http://[::1]:<port>` échoue au démarrage sauf si cette variable est définie814* `http://127.0.0.1:<port>` ou `http://[::1]:<port>` échoue au démarrage sauf si cette variable est définie

773 815 

774Pour un collecteur en cluster, exposez-le sur HTTPS à sa propre adresse interne, ou exécutez-le en tant que sidecar avec la variable définie.816Pour un collecteur en cluster, exposez-le sur HTTPS à sa propre adresse interne, ou exécutez-le en tant que sidecar avec la variable définie.

775 817 

776La 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 six variables env à chaque client connecté via `/managed/settings` :818La télémétrie est désactivée dans le CLI par défaut. Lorsque vous définissez à la fois `telemetry.forward_to` et `listen.public_url`, la passerelle l'active pour les clients connectés en poussant six variables d'environnement via `/managed/settings` :

777 819 

778* `CLAUDE_CODE_ENABLE_TELEMETRY=1`820* `CLAUDE_CODE_ENABLE_TELEMETRY=1`

779* `OTEL_METRICS_EXPORTER=otlp`821* `OTEL_METRICS_EXPORTER`, `OTEL_LOGS_EXPORTER` et `OTEL_TRACES_EXPORTER`, chacun défini à `otlp` si au moins une destination `forward_to` active ce signal et à `none` sinon

780* `OTEL_LOGS_EXPORTER=otlp`

781* `OTEL_TRACES_EXPORTER=otlp`

782* `OTEL_EXPORTER_OTLP_ENDPOINT=<public_url>`822* `OTEL_EXPORTER_OTLP_ENDPOINT=<public_url>`

783* `OTEL_EXPORTER_OTLP_PROTOCOL=http/protobuf`823* `OTEL_EXPORTER_OTLP_PROTOCOL=http/protobuf`

784 824 

785Le 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. Que la passerelle pousse ou non ces variables, un CLI signé via `/login` qui a l'export OTLP/HTTP activé envoie ses exports à la passerelle plutôt qu'à un point de terminaison configuré localement, et sans destination `forward_to` pour un signal la passerelle accepte et l'abandonne ; si vous collectez déjà la télémétrie Claude Code directement, ajoutez votre collecteur en tant que destination `forward_to`.825Avant Claude Code v2.1.265 sur le serveur de passerelle, la passerelle poussait les trois sélecteurs d'exportateur en tant que `otlp`, y compris pour les signaux qu'aucune destination n'a activés.

826 

827Le 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 de la part des développeurs ou des politiques.

828 

829Les développeurs connectés via `/login` ne peuvent pas rediriger les exportations avec leur propre configuration OTEL :

830 

831* **Variables définies localement** : Claude Code applique les variables poussées au niveau géré, donc chacune remplace la valeur qu'un développeur définit pour elle localement.

832* **Points de terminaison configurés localement** : avec l'exportation OTLP/HTTP activée, le CLI ignore tout point de terminaison configuré localement, que la passerelle ait poussé les variables de télémétrie ou non. Ses exportations vont à la passerelle sauf si une politique [nomme votre collecteur comme point de terminaison](#export-directly-to-your-collector).

833 

834Sans destination `forward_to` pour un signal, la passerelle l'accepte et le rejette. Si les développeurs exportent déjà la télémétrie Claude Code vers l'un de vos collecteurs, ajoutez-le en tant que destination `forward_to`, avec les journaux ou les traces activés s'ils les exportent, afin qu'il continue à recevoir leurs données après qu'ils se connectent. Pour ignorer le relais à la place, [nommez le collecteur dans une politique](#export-directly-to-your-collector).

835 

836[Les traces](/docs/fr/monitoring-usage#traces-beta) nécessitent également `CLAUDE_CODE_ENHANCED_TELEMETRY_BETA=1` sur chaque client. Définissez-le dans le bloc `env` d'une politique gérée, car la passerelle ne le pousse pas. Les développeurs l'approuvent dans la même [boîte de dialogue d'approbation de sécurité](#managed) que le point de terminaison poussé déclenche déjà.

786 837 

787[Les traces](/docs/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. Ce n'est pas parmi les variables que Claude Code applique sans l'approbation du développeur, 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à.838Définissez-le à `1` uniquement dans les politiques dont vous voulez que les groupes soient tracés. Une politique qui ne le définit pas hérite la valeur de votre politique de capture-tout `match: {}` si cette politique en définit une, selon les [règles de fusion](#managed). Pour empêcher les clients d'un groupe d'envoyer des traces même lorsqu'un développeur définit la variable localement, définissez-la à `0` dans la politique de ce groupe.

788 839 

789Les encodages OTLP protobuf et JSON sont relayés, et tout backend compatible OpenTelemetry fonctionne comme destination.840Les encodages OTLP protobuf et JSON sont relayés, et tout backend compatible OpenTelemetry fonctionne comme destination.

790 841 

842<h4 id="export-directly-to-your-collector">

843 Exporter directement vers votre collecteur

844</h4>

845 

846Pour faire envoyer les sessions connectées via `/login` la télémétrie directement à votre collecteur au lieu de passer par le relais, définissez `OTEL_EXPORTER_OTLP_ENDPOINT` à l'URL de base `https://` du collecteur dans le bloc `env` d'une [politique gérée](#managed). Claude Code ajoute `/v1/metrics`, `/v1/logs` ou `/v1/traces` à l'URL que vous définissez, comme `https://otel-collector.example.com:4318`, et exporte chaque signal là-bas sur OTLP/HTTP. Nécessite Claude Code v2.1.265 ou ultérieur sur la machine de chaque développeur. Les clients antérieurs exportent via le relais.

847 

848Pour vous authentifier auprès du collecteur, définissez `OTEL_EXPORTER_OTLP_HEADERS` dans le même bloc `env`. Les sessions n'envoient jamais le jeton de session de passerelle du développeur à un collecteur nommé de cette façon.

849 

850Lorsque vous ajoutez ou modifiez ce point de terminaison dans une politique, Claude Code demande à chaque développeur de l'approuver dans la [boîte de dialogue d'approbation de sécurité](#managed) avant de l'appliquer dans une session interactive.

851 

852Claude Code vérifie le point de terminaison avant d'exporter un signal directement, et garde ce signal sur le relais lorsqu'une vérification échoue. Les vérifications incluent :

853 

854* Le point de terminaison provient de la passerelle elle-même. Si vous définissez la même variable dans un profil MDM ou un `managed-settings.json` local, les exportations restent sur le relais.

855* L'URL utilise `https://`, ou `http://` vers une adresse de bouclage

856* L'URL se résout en un chemin se terminant par `/v1/<signal>`, sans requête ni fragment. Claude Code construit ce chemin lui-même à partir de la variable générique. Il utilise une variable par signal comme `OTEL_EXPORTER_OTLP_METRICS_ENDPOINT` telle qu'écrite, donc incluez le chemin complet là-bas.

857* L'URL n'est pas l'hôte de la passerelle elle-même. Un point de terminaison adressé à la passerelle conserve le chemin du relais et son jeton de session.

858* Ni vous ni le développeur n'avez configuré [`otelHeadersHelper`](/docs/fr/settings-reference#otelheadershelper) dans aucune source de paramètres. Avec un helper configuré, chaque signal reste sur le relais.

859 

860Le point de terminaison que vous nommez change uniquement où les exportations vont. Vous choisissez toujours quels signaux exportent du tout avec les sélecteurs `OTEL_*_EXPORTER`.

861 

862Le point de terminaison seul n'active pas l'exportation, donc définissez également les variables qui le font, sauf si la passerelle les pousse déjà :

863 

864* Si la passerelle [pousse déjà les variables de télémétrie](#telemetry), elles couvrent l'activation, les sélecteurs et le protocole, et votre point de terminaison explicite remplace la valeur `<public_url>` poussée. Définissez un sélecteur `OTEL_*_EXPORTER` à `otlp` vous-même uniquement pour un signal qu'aucune destination `forward_to` n'active.

865* Si ce n'est pas le cas, définissez également `CLAUDE_CODE_ENABLE_TELEMETRY=1`, les sélecteurs `OTEL_*_EXPORTER` et `OTEL_EXPORTER_OTLP_PROTOCOL=http/protobuf`.

866 

867Lorsque le développeur se déconnecte, ou se connecte à une passerelle différente, les exportations vers le collecteur s'arrêtent et Claude Code rejette chaque lot restant plutôt que de l'envoyer.

868 

869<h4 id="when-a-destination-fails">

870 Lorsqu'une destination échoue

871</h4>

872 

873La passerelle ne met pas en mémoire tampon, ne réessaie pas ou ne stocke pas la télémétrie, donc elle rejette une exportation qui n'atteint pas une destination plutôt que de la livrer tard. Chaque destination réussit ou échoue par elle-même, et le client exportateur reçoit une réponse de succès de toute façon, donc une livraison échouée n'apparaît que dans le journal de la passerelle.

874 

875Après cinq livraisons consécutives échouées à une destination, la passerelle met en pause le transfert vers elle en étirements de 30 secondes, enregistrant chaque pause, jusqu'à ce qu'une livraison réussisse. Toute réponse d'erreur, délai d'attente ou erreur de connexion compte comme une livraison échouée, sauf `400`, `413`, `415`, `422` et `431`, qui signifient que le collecteur a refusé la charge utile de cette exportation comme mal formée ou trop grande.

876 

877Une charge utile refusée n'avance ni ne réinitialise le compteur d'échecs : la passerelle continue de transférer vers la destination et enregistre un avertissement nommant celle-ci et le statut, au premier refus de la destination et tous les centièmes après.

878 

791<h3 id="http-tuning">879<h3 id="http-tuning">

792 Réglage HTTP880 Réglage HTTP

793</h3>881</h3>

794 882 

795Quatre 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.883Quatre blocs optionnels de niveau supérieur, `access_control`, `limits`, `timeouts` et `rate_limits`, règlent la surface HTTP. Les valeurs par défaut conviennent à la plupart des déploiements.

796 884 

797| Bloc | Clé | Par défaut | Description |885| Bloc | Clé | Par défaut | Description |

798| ---------------- | ---------------------------------------------- | ---------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |886| ---------------- | ---------------------------------------------- | ---------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

799| `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`. |887| `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`. Lorsqu'un proxy de confiance envoie une entrée `X-Forwarded-For` qui n'est pas une adresse IP, le vrai client est inconnu et la passerelle enregistre un avertissement une fois nommant ce qu'il faut vérifier. Où l'une ou l'autre liste s'applique à la demande, elle la refuse avec `403` et la raison d'audit `xff_unparseable`. Où aucune ne s'applique, elle sert la demande et utilise l'adresse du proxy lui-même comme IP client pour les limites de débit par IP et l'audit. |

800| `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. |888| `limits` | `max_request_bytes` | 32 MiB | Corps de demande entrant max ; les demandes surdimensionnées obtiennent `413` avant que le corps ne soit mis en mémoire tampon. Augmentez pour les demandes de fichiers ou d'images volumineux. |

801| `limits` | `max_request_header_bytes` | non défini | Lorsqu'il est défini, les en-têtes surdimensionnés retournent `431` |889| `limits` | `max_request_header_bytes` | non défini | Lorsqu'il est défini, les en-têtes surdimensionnés retournent `431` |

802| `limits` | `max_url_length` | non défini | Lorsqu'il est défini, une URL trop longue retourne `414` |890| `limits` | `max_url_length` | non défini | Lorsqu'il est défini, une URL trop longue retourne `414` |

803| `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 ; chaque autre fournisseur est limité par le timeout du SDK du fournisseur. |891| `timeouts` | `upstream_ttfb_ms` | 120000 | Attente max pour les en-têtes de réponse en amont (temps jusqu'au premier octet). Le corps de la réponse s'écoule ensuite sans plafond mural. S'applique au chemin d'amont Anthropic direct ; chaque autre fournisseur est limité par le délai d'attente propre du SDK du fournisseur. |

804| `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](/docs/fr/claude-apps-gateway-deploy#user-code-brute-force-resistance). |892| `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 adresse IP de sortie partagée ou NAT. Ces limites s'appliquent uniquement au flux de connexion par octroi d'appareil, pas à l'inférence `/v1/messages`. Consultez [Résistance à la force brute du code utilisateur](/docs/fr/claude-apps-gateway-deploy#user-code-brute-force-resistance). |

805| `rate_limits` | `device_verify.max` / `.window_seconds` | 10 / 600 | Limite de débit par IP sur les soumissions `user_code` à `/device` |893| `rate_limits` | `device_verify.max` / `.window_seconds` | 10 / 600 | Limite de débit par IP sur les soumissions `user_code` à `/device` |

806 894 

807<h2 id="complete-example">895<h2 id="complete-example">

808 Exemple complet896 Exemple complet

809</h2>897</h2>

810 898 

811Cette 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](/docs/fr/claude-apps-gateway#quickstart) est une version minimale de celle-ci.899Cette configuration de référence complète exerce chaque section centrale ; les [blocs de tuning HTTP](#http-tuning) conservent leurs valeurs par défaut. Copiez-la, supprimez ce dont vous n'avez pas besoin, et remplissez vos valeurs. La configuration dans le [Démarrage rapide](/docs/fr/claude-apps-gateway#quickstart) est une version minimale de celle-ci.

812 900 

813```yaml gateway.yaml theme={null}901```yaml gateway.yaml theme={null}

814# Exécuter avec :902# Exécutez avec :

815# claude gateway --config gateway.yaml903# claude gateway --config gateway.yaml

816#904#

817# La verbosité du journal opérationnel est contrôlée par la variable d'environnement905# La verbosité du journal opérationnel est contrôlée par la variable

818# CLAUDE_GATEWAY_LOG_LEVEL (debug | info | warn | error ; par défaut info). debug906# d'environnement CLAUDE_GATEWAY_LOG_LEVEL

907# (debug | info | warn | error ; par défaut info). debug

819# enregistre également les noms de réclamations dans chaque id_token, pour le diagnostic de groups_claim.908# enregistre également les noms de réclamations dans chaque id_token, pour le diagnostic de groups_claim.

820# Cela n'affecte pas les événements d'audit, qui sont toujours émis.909# Cela n'affecte pas les événements d'audit, qui sont toujours émis.

821 910 


823 host: 0.0.0.0912 host: 0.0.0.0

824 port: 8080913 port: 8080

825 public_url: https://claude-gateway.internal.example.com914 public_url: https://claude-gateway.internal.example.com

826 # Omettez le bloc tls lors de l'exécution derrière une entrée terminant TLS.915 # Omettez le bloc tls lors de l'exécution derrière une entrée qui termine TLS.

827 # tls:916 # tls:

828 # cert: /certs/gateway.crt917 # cert: /certs/gateway.crt

829 # key: /certs/gateway.key918 # key: /certs/gateway.key


836 client_secret: ${OIDC_CLIENT_SECRET}925 client_secret: ${OIDC_CLIENT_SECRET}

837 allowed_email_domains:926 allowed_email_domains:

838 - example.com927 - example.com

839 # Requis lorsque l'émetteur est le serveur org Okta, dont les id_tokens928 # Requis lorsque l'émetteur est le serveur d'organisation Okta, dont les id_tokens

840 # peuvent omettre l'e-mail et les groupes ; la passerelle les remplit à partir de /userinfo.929 # peuvent omettre l'e-mail et les groupes ; la passerelle les remplit à partir de /userinfo.

841 userinfo_fallback: true930 userinfo_fallback: true

842 # allowed_groups: [claude-code-users]931 # allowed_groups: [claude-code-users]

843 # Okta émet les groupes uniquement lorsque la portée `groups` est demandée et que932 # Okta émet des groupes uniquement lorsque la portée `groups` est demandée et que

844 # le filtre de réclamation de groupes de l'application les autorise. La politique des entrepreneurs ci-dessous933 # le filtre de réclamation de groupes de l'application les autorise. La politique

845 # correspond sur les groupes, donc la portée est demandée ici.934 # des entrepreneurs ci-dessous correspond aux groupes, donc la portée est demandée ici.

846 scopes: [openid, profile, email, offline_access, groups]935 scopes: [openid, profile, email, offline_access, groups]

847 # extra_auth_params: { access_type: offline, prompt: consent } # Google936 # extra_auth_params: { access_type: offline, prompt: consent } # Google

848 # groups_claim: groups # Rôles d'application Entra : utiliser `roles`937 # groups_claim: groups # Rôles d'application Entra : utilisez `roles`

849 # email_claim: email938 # email_claim: email

850 939 

851session:940session:


857 # max_connections: 5946 # max_connections: 5

858 947 

859# Active /v1/organizations/spend_limits (reflète l'API Admin Anthropic)948# Active /v1/organizations/spend_limits (reflète l'API Admin Anthropic)

860# et l'application de dépenses par développeur sur /v1/messages. Omettez pour désactiver.949# et l'application des limites de dépenses par développeur sur /v1/messages. Omettez pour désactiver.

861# Les plafonds eux-mêmes sont définis via l'API admin, pas ici.950# Les plafonds eux-mêmes sont définis via l'API admin, pas ici.

862# admin:951# admin:

863# write_keys:952# write_keys:


865# read_keys:954# read_keys:

866# - { id: reporting, key: "${GATEWAY_ADMIN_READ_KEY}" }955# - { id: reporting, key: "${GATEWAY_ADMIN_READ_KEY}" }

867# admin_groups: [platform-finops]956# admin_groups: [platform-finops]

868# blocked_message: demander une augmentation à https://go.example.com/claude-limits957# blocked_message: request an increase at https://go.example.com/claude-limits

869# # audit_retention_days: 365958# # audit_retention_days: 365

870# # spend_retention_months: 13959# # spend_retention_months: 13

871# # identity_retention_days: 90960# # identity_retention_days: 90


874# enforcement:963# enforcement:

875# fail_closed_on_error: false964# fail_closed_on_error: false

876 965 

877# Mesurez aux tarifs contractuels au lieu du prix catalogue USD. Nécessite admin :.966# Mesurez aux tarifs contractuels au lieu du prix catalogue USD. Nécessite admin:.

967# Avec managed:, les mêmes tarifs vont également aux clients connectés.

878# Les tarifs ci-dessous sont des espaces réservés, pas des prix de contrat réels.968# Les tarifs ci-dessous sont des espaces réservés, pas des prix de contrat réels.

879# pricing:969# pricing:

880# multiplier: 0.85970# multiplier: 0.85


929 - match: { groups: [contractors] }1019 - match: { groups: [contractors] }

930 cli:1020 cli:

931 availableModels: [claude-haiku-4-5]1021 availableModels: [claude-haiku-4-5]

932 # Contraindre l'option du sélecteur par défaut à availableModels au lieu1022 # Limitez l'option du sélecteur par défaut à availableModels au lieu de

933 # de la valeur par défaut du niveau, donc les entrepreneurs ne reçoivent pas un 400 sur la valeur par défaut.1023 # la valeur par défaut du niveau, afin que les entrepreneurs n'obtiennent pas une erreur 400 sur la valeur par défaut.

934 enforceAvailableModels: true1024 enforceAvailableModels: true

935 # allow approuve automatiquement ces outils ; il ne bloque pas le reste.1025 # allow approuve automatiquement ces outils ; il ne bloque pas le reste.

936 # Ajoutez des règles de refus pour restreindre les outils.1026 # Ajoutez des règles de refus pour restreindre les outils.


968 1058 

969`parentSettingsBehavior: "merge"` maintient le fonctionnement de la livraison de la liste d'autorisation de sortie de Claude Desktop vers ses sessions Claude Code intégrées ; [Deliver policy to Claude Desktop sessions](/docs/fr/claude-apps-gateway#deliver-policy-to-claude-desktop-sessions) explique le mécanisme et où l'opt-in doit se situer.1059`parentSettingsBehavior: "merge"` maintient le fonctionnement de la livraison de la liste d'autorisation de sortie de Claude Desktop vers ses sessions Claude Code intégrées ; [Deliver policy to Claude Desktop sessions](/docs/fr/claude-apps-gateway#deliver-policy-to-claude-desktop-sessions) explique le mécanisme et où l'opt-in doit se situer.

970 1060 

971Déployez le fichier `managed-settings.json` sur chaque appareil, généralement via votre plateforme MDM. Le chemin du fichier diffère selon la plateforme :1061Déployez le fichier `managed-settings.json` sur chaque appareil, généralement via votre plateforme MDM. Le chemin du fichier diffère selon la plateforme. Voir [où chaque mécanisme stocke la stratégie](/docs/fr/managed-settings#where-each-mechanism-stores-the-policy).

972 

973| Plateforme | Chemin |

974| ------------ | -------------------------------------------------------------------------------------------------------------------------------- |

975| macOS | `/Library/Application Support/ClaudeCode/managed-settings.json`, ou le domaine des préférences gérées `com.anthropic.claudecode` |

976| Linux et WSL | `/etc/claude-code/managed-settings.json` |

977| Windows | `C:\Program Files\ClaudeCode\managed-settings.json`, ou Group Policy via le registre HKLM |

978 1062 

979Par défaut, une stratégie de registre sur Windows ou un plist de préférences gérées sur macOS remplace le fichier `managed-settings.json` plutôt que de le fusionner avec lui, à l'exception des [clés d'exception et des vérifications entre sources ci-dessus](#precedence-with-other-managed-sources). Les trois clés de cet extrait suivent la règle de source de priorité la plus élevée, donc les flottes qui livrent la stratégie via Group Policy ou les profils de configuration doivent placer les trois dans ce mécanisme à la place.1063Par défaut, une stratégie de registre sur Windows ou un plist de préférences gérées sur macOS remplace le fichier `managed-settings.json` plutôt que de le fusionner avec lui, à l'exception des [clés d'exception et des vérifications entre sources ci-dessus](#precedence-with-other-managed-sources). Les trois clés de cet extrait suivent la règle de source de priorité la plus élevée, donc les flottes qui livrent la stratégie via Group Policy ou les profils de configuration doivent placer les trois dans ce mécanisme à la place.

980 1064 

Details

87 `--cloud` crée des sessions cloud. `--remote-control` n'est pas lié : il expose une session CLI locale pour la surveillance depuis le web. Voir [Remote Control](/docs/fr/remote-control).87 `--cloud` crée des sessions cloud. `--remote-control` n'est pas lié : il expose une session CLI locale pour la surveillance depuis le web. Voir [Remote Control](/docs/fr/remote-control).

88</Note>88</Note>

89 89 

90Utilisez `/tasks` dans le Claude Code CLI pour vérifier la progression, ou ouvrez la session sur claude.ai ou l'application mobile Claude pour interagir directement. De là, vous pouvez diriger Claude, fournir des commentaires ou répondre à des questions comme dans n'importe quelle autre conversation.90Ouvrez la session sur claude.ai ou l'application mobile Claude pour vérifier la progression ou interagir directement. De là, vous pouvez diriger Claude, fournir des commentaires ou répondre à des questions comme dans n'importe quelle autre conversation.

91 91 

92Si Claude pose une question et que la session reste inactive, vous pouvez toujours répondre quand vous revenez, jusqu'à [l'expiration de l'environnement](#environment-expired), et la session continue à partir de votre réponse.92Si Claude pose une question et que la session reste inactive, vous pouvez toujours répondre quand vous revenez, jusqu'à [l'expiration de l'environnement](#environment-expired), et la session continue à partir de votre réponse.

93 93 


115claude --cloud "Refactor the logger to use structured output"115claude --cloud "Refactor the logger to use structured output"

116```116```

117 117 

118Surveillez toutes les sessions avec `/tasks` dans le Claude Code CLI. Quand une session se termine, vous pouvez créer une PR depuis l'interface web ou [téléporter](#from-web-to-terminal) la session dans votre terminal pour continuer à travailler.118Quand une session se termine, vous pouvez créer une PR depuis l'interface web ou [téléporter](#from-web-to-terminal) la session dans votre terminal pour continuer à travailler.

119 119 

120<h4 id="send-local-repositories-without-github">120<h4 id="send-local-repositories-without-github">

121 Envoyer des référentiels locaux sans GitHub121 Envoyer des référentiels locaux sans GitHub

Details

1451L'explorateur couvre les fichiers que vous créez et modifiez. Quelques fichiers connexes se trouvent ailleurs :1451L'explorateur couvre les fichiers que vous créez et modifiez. Quelques fichiers connexes se trouvent ailleurs :

1452 1452 

1453| Fichier | Emplacement | Objectif |1453| Fichier | Emplacement | Objectif |

1454| ----------------------- | ----------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |1454| ----------------------- | ----------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

1455| `managed-settings.json` | Au niveau du système, varie selon le système d'exploitation | Paramètres appliqués par l'entreprise que vous ne pouvez pas remplacer, à l'exception de [quelques cas particuliers](/docs/fr/settings#security-keys-where-the-stricter-value-applies). Consultez [où enregistrer le fichier](/docs/fr/managed-settings#deploy-a-managed-settings-file) et [quelle source gérée Claude Code utilise](/docs/fr/managed-settings#precedence-within-the-managed-tier). |1455| `managed-settings.json` | Au niveau du système, varie selon le système d'exploitation | Paramètres appliqués par l'entreprise que vous ne pouvez pas remplacer, à l'exception de [quelques cas particuliers](/docs/fr/settings#security-keys-where-the-stricter-value-applies). Consultez [où enregistrer le fichier](/docs/fr/managed-settings#deploy-a-managed-settings-file) et [quelle source gérée Claude Code utilise](/docs/fr/managed-settings#precedence-within-the-managed-tier). |

1456| `CLAUDE.local.md` | Racine du projet | Vos préférences privées pour ce projet, chargées aux côtés de CLAUDE.md. Créez-le manuellement et ajoutez-le à `.gitignore`. |1456| `CLAUDE.local.md` | Racine du projet | Vos préférences privées pour ce projet, chargées aux côtés de CLAUDE.md. Créez-le manuellement et ajoutez-le à `.gitignore`. |

1457| Plugins installés | `~/.claude/plugins` | Marchés clonés, versions de plugins installées et données par plugin, gérées par les commandes `claude plugin`. Pour un plugin installé à partir d'une source [`command`](/docs/fr/plugin-marketplaces#command-sources) de marketplace en mode lien, Claude Code stocke les liens ici au lieu d'une copie, et les fichiers du plugin restent dans le répertoire que la commande affiche. Consultez [mise en cache des plugins](/docs/fr/plugins-reference#plugin-caching-and-file-resolution) pour savoir comment les versions orphelines sont nettoyées. |1457| Plugins installés | `~/.claude/plugins` | Marchés clonés, versions de plugins installées et données par plugin, gérées par les commandes `claude plugin`. Pour un plugin installé à partir d'une source [`command`](/docs/fr/plugin-marketplaces#command-sources) de marketplace en mode lien, Claude Code stocke les liens ici au lieu d'une copie, et les fichiers du plugin restent dans le répertoire que la commande affiche. Une source `command` nécessite Claude Code v2.1.229 ou version ultérieure. Consultez [mise en cache des plugins](/docs/fr/plugins-reference#plugin-caching-and-file-resolution) pour savoir comment les versions orphelines sont nettoyées. |

1458 1458 

1459`~/.claude` contient également les données que Claude Code écrit au fur et à mesure que vous travaillez : transcriptions, historique des invites, instantanés de fichiers, caches et journaux. Consultez [données d'application](#application-data) ci-dessous.1459`~/.claude` contient également les données que Claude Code écrit au fur et à mesure que vous travaillez : transcriptions, historique des invites, instantanés de fichiers, caches et journaux. Consultez [données d'application](#application-data) ci-dessous.

1460 1460 


1524 Données d'application1524 Données d'application

1525</h2>1525</h2>

1526 1526 

1527Au-delà de la configuration que vous créez, `~/.claude` contient les données que Claude Code écrit pendant les sessions. Ces fichiers sont en texte brut. Tout ce qui passe par un outil se retrouve dans une transcription sur disque : contenu de fichiers, sortie de commande, texte collé.1527Au-delà de la configuration que vous créez, `~/.claude` contient les données que Claude Code écrit pendant les sessions. Ces fichiers sont en texte brut. Tout ce qui passe par un outil se retrouve dans une transcription sur disque : contenu des fichiers, sortie de commande, texte collé.

1528 1528 

1529<h3 id="cleaned-up-automatically">1529<h3 id="cleaned-up-automatically">

1530 Nettoyés automatiquement1530 Nettoyés automatiquement


1533Claude Code supprime les fichiers dans les chemins ci-dessous une fois qu'ils sont plus anciens que [`cleanupPeriodDays`](/docs/fr/settings-reference#cleanupperioddays), tant qu'il peut déterminer en toute sécurité la période de rétention. La valeur par défaut est 30 jours et le minimum est 1 ; définir `0` échoue avec une erreur de validation. Le même seuil d'âge s'applique à la suppression automatique des [worktrees orphelins](/docs/fr/worktrees#clean-up-subagent-and-background-session-worktrees).1533Claude Code supprime les fichiers dans les chemins ci-dessous une fois qu'ils sont plus anciens que [`cleanupPeriodDays`](/docs/fr/settings-reference#cleanupperioddays), tant qu'il peut déterminer en toute sécurité la période de rétention. La valeur par défaut est 30 jours et le minimum est 1 ; définir `0` échoue avec une erreur de validation. Le même seuil d'âge s'applique à la suppression automatique des [worktrees orphelins](/docs/fr/worktrees#clean-up-subagent-and-background-session-worktrees).

1534 1534 

1535| Chemin sous `~/.claude/` | Contenu |1535| Chemin sous `~/.claude/` | Contenu |

1536| ------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |1536| ------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

1537| `projects/<project>/<session>.jsonl` | Transcription complète de la conversation : chaque message, appel d'outil et résultat d'outil |1537| `projects/<project>/<session>.jsonl` | Transcription complète de la conversation : chaque message, appel d'outil et résultat d'outil |

1538| `projects/<project>/<session>.orphaned-<timestamp>-<suffix>.jsonl`, `projects/<project>/<session>.jsonl.superseded-<timestamp>` | Une transcription précédente pour la session que Claude Code a mise de côté au lieu de la remplacer ou de la supprimer. Elle n'apparaît pas dans le sélecteur de session |1538| `projects/<project>/<session>.orphaned-<timestamp>-<suffix>.jsonl`, `projects/<project>/<session>.jsonl.superseded-<timestamp>` | Une transcription précédente de la session que Claude Code a mise de côté au lieu de la remplacer ou de la supprimer. Elle n'apparaît pas dans le sélecteur de session |

1539| `projects/<project>/<session>/subagents/` | Transcriptions de conversation des [sous-agents](/docs/fr/sub-agents), supprimées avec la transcription de session parente lorsqu'elle expire |1539| `projects/<project>/<session>/subagents/` | Transcriptions de conversation [Subagent](/docs/fr/sub-agents), supprimées avec la transcription de session parent lorsqu'elle vieillit |

1540| `projects/<project>/<session>/tool-results/` | Les grandes sorties d'outils sont versées dans des fichiers séparés |1540| `projects/<project>/<session>/tool-results/` | Grandes sorties d'outil déversées dans des fichiers séparés |

1541| `file-history/<session>/` | Instantanés pré-édition des fichiers que Claude a modifiés, utilisés pour [restauration de checkpoint](/docs/fr/checkpointing). Contient des instantanés pour les 100 checkpoints les plus récents ; les fichiers d'instantanés auxquels aucun checkpoint conservé ne fait référence sont supprimés, sauf le premier instantané de chaque fichier |1541| `file-history/<session>/` | Snapshots pré-édition des fichiers que Claude a modifiés, utilisés pour [restauration de checkpoint](/docs/fr/checkpointing). Contient des snapshots pour les 100 checkpoints les plus récents ; les fichiers snapshot auxquels aucun checkpoint conservé ne fait référence sont supprimés, sauf le premier snapshot de chaque fichier |

1542| `plans/` | Fichiers de plan écrits pendant le [mode plan](/docs/fr/permission-modes#analyze-before-you-edit-with-plan-mode) |1542| `plans/` | Fichiers de plan écrits pendant le [mode plan](/docs/fr/permission-modes#analyze-before-you-edit-with-plan-mode) |

1543| `debug/` | Journaux de débogage par session, écrits lorsque le journalisation de débogage est activée, par exemple lorsque vous démarrez avec [`--debug`](/docs/fr/cli-reference#cli-flags) ou exécutez `/debug` |1543| `debug/` | Journaux de débogage par session, écrits lorsque la journalisation de débogage est activée, par exemple lorsque vous démarrez avec [`--debug`](/docs/fr/cli-reference#cli-flags) ou exécutez `/debug` |

1544| `paste-cache/` | Contenu des grands collages |1544| `paste-cache/` | Contenu des grands collages |

1545| `image-cache/<session>/` | Images jointes. À chaque balayage, Claude Code supprime les répertoires de toutes les autres sessions, quel que soit leur âge. |1545| `image-cache/<session>/` | Images jointes. À chaque balayage, Claude Code supprime les répertoires de toutes les autres sessions, quel que soit leur âge. |

1546| `uploads/<session>/` | Fichiers que vous joignez depuis le web ou l'application mobile, et photos que vous joignez depuis l'application mobile, lors de la messagerie d'une session [Contrôle à distance](/docs/fr/remote-control). Une pièce jointe à une [session cloud](/docs/fr/claude-code-on-the-web) est enregistrée dans l'environnement cloud de cette session, pas sur votre machine. |1546| `uploads/<session>/` | Fichiers que vous joignez depuis le web ou l'application mobile, et photos que vous joignez depuis l'application mobile, lors de la messagerie d'une session [Remote Control](/docs/fr/remote-control). Une pièce jointe à une [session cloud](/docs/fr/claude-code-on-the-web) est enregistrée dans l'environnement cloud propre de cette session, pas sur votre machine. |

1547| `session-env/` | Métadonnées d'environnement par session |1547| `session-env/` | Métadonnées d'environnement par session |

1548| `tasks/` | Listes de tâches écrites par les outils de tâche, un répertoire par liste |1548| `tasks/` | Listes de tâches écrites par les outils de tâche, un répertoire par liste |

1549| `shell-snapshots/` | Alias, fonctions et options shell capturés au démarrage et appliqués par l'[outil Bash](/docs/fr/tools-reference#bash-tool-behavior) à chaque commande. Supprimé à la fermeture correcte. Le balayage efface tout ce qui reste après un crash. |1549| `shell-snapshots/` | Alias, fonctions et options shell capturés au démarrage et appliqués par l'[outil Bash](/docs/fr/tools-reference#bash-tool-behavior) à chaque commande. Supprimés à la fermeture normale. Le balayage efface tous ceux restants après un crash. |

1550| `backups/` | Versions antérieures de `~/.claude.json`, copiées lorsque Claude Code réécrit le fichier. Claude Code conserve les cinq plus récentes, plus une copie de toute version qu'il n'a pas pu analyser. |1550| `backups/` | Versions antérieures de `~/.claude.json`, copiées lorsque Claude Code réécrit le fichier. Claude Code conserve les cinq plus récentes, plus une copie de toute version qu'il n'a pas pu analyser. |

1551| `feedback-bundles/` | Archives de transcription expurgées écrites par `/feedback` sur les fournisseurs tiers ou lorsqu'aucune credential Anthropic n'est configurée, pour envoi à votre équipe de compte Anthropic |1551| `feedback-bundles/` | Archives de transcription rédactées écrites par `/feedback` sur des fournisseurs tiers ou lorsqu'aucune identifiant Anthropic n'est configuré, pour envoi à votre équipe de compte Anthropic |

1552| `feedback/drafts/` | [Retours rédigés par Claude](/docs/fr/tools-reference#sendfeedback-tool-behavior) en attente de votre examen dans `/feedback`. Balayés après `cleanupPeriodDays` ou 30 jours, selon la plus courte durée. Lorsque la file d'attente atteint sa limite de 10 brouillons, Claude Code supprime le brouillon le plus ancien pour faire de la place. |1552| `feedback/drafts/` | [Feedback rédigé par Claude](/docs/fr/tools-reference#sendfeedback-tool-behavior) en attente en file d'attente de votre examen dans `/feedback`. Balayé après `cleanupPeriodDays` ou 30 jours, selon la plus courte. Lorsque la file d'attente atteint sa limite de 10 brouillons, Claude Code supprime le brouillon le plus ancien pour faire de la place. |

1553| `usage-data/` | `report.html` et copies de rapport horodatées écrites par [`/insights`](/docs/fr/costs#analyze-your-usage-patterns), plus les données d'analyse mises en cache par session utilisées pour les construire |1553| `usage-data/` | `report.html` et copies de rapport horodatées écrites par [`/insights`](/docs/fr/costs#analyze-your-usage-patterns), plus données d'analyse mises en cache par session utilisées pour les construire |

1554| `todos/`, `statsig/`, `logs/` | Répertoires hérités des versions plus anciennes. Ne sont plus écrits. Le balayage supprime leur contenu puis le répertoire vide. |1554| `todos/`, `statsig/`, `logs/` | Répertoires hérités des versions antérieures. Ne sont plus écrits. Le balayage supprime leur contenu puis le répertoire vide. |

1555 1555 

1556Les fichiers de session dans `sessions/`, la mémoire automatique, et les transcriptions Claude Desktop et Cowork suivent chacun leur propre règle de rétention :1556Les fichiers de session dans `sessions/`, la mémoire automatique, et les transcriptions Claude Desktop et Cowork suivent chacun leur propre règle de rétention :

1557 1557 

1558* **`sessions/`** : contient un petit fichier par session en cours d'exécution, utilisé pour détecter les sessions concurrentes et les crashes. Il ne fait pas partie du balayage basé sur l'âge : Claude Code supprime chaque fichier lorsque sa session se termine et efface les restes de crash au prochain lancement.1558* **`sessions/`** : contient un petit fichier par session en cours d'exécution, utilisé pour détecter les sessions concurrentes et les crashes. Il ne fait pas partie du balayage basé sur l'âge : Claude Code supprime chaque fichier lorsque sa session se termine et efface les restes de crash au prochain lancement.

1559* **Mémoire automatique** : le balayage ne supprime pas les fichiers de mémoire dans le répertoire de [mémoire automatique](/docs/fr/memory#auto-memory) d'un projet, `projects/<project>/memory/`. Claude Code supprime ce répertoire uniquement s'il a été vide pendant toute la période de rétention. Avant v2.1.228, le balayage traitait les dossiers à l'intérieur du répertoire de mémoire comme des données de session et pouvait supprimer les anciens fichiers en dessous.1559* **Mémoire automatique** : le balayage ne supprime pas les fichiers de mémoire dans le répertoire de [mémoire automatique](/docs/fr/memory#auto-memory) d'un projet, `projects/<project>/memory/`. Claude Code supprime ce répertoire uniquement s'il a été vide pendant toute la période de rétention. Avant v2.1.228, le balayage traitait les dossiers à l'intérieur du répertoire de mémoire comme des données de session et pouvait supprimer les anciens fichiers en dessous.

1560* **Transcriptions Claude Desktop et Cowork** : Claude Code conserve la transcription d'une session que vous avez démarrée ou continuée le plus récemment dans Claude Desktop ou Cowork à tout âge. Pour donner à ces transcriptions une limite d'âge, définissez [`desktopSessionCleanupPeriodDays`](/docs/fr/settings-reference#desktopsessioncleanupperioddays). Lorsque les [paramètres gérés](/docs/fr/managed-settings) définissent `cleanupPeriodDays`, Claude Code supprime à la place ces transcriptions après cette période. Nécessite Claude Code v2.1.248 ou version ultérieure ; les versions antérieures les suppriment après `cleanupPeriodDays`.1560* **Transcriptions Claude Desktop et Cowork** : Claude Code conserve la transcription d'une session que vous avez démarrée ou continuée le plus récemment dans Claude Desktop ou Cowork à tout âge. Pour donner à ces transcriptions une limite d'âge, définissez [`desktopSessionCleanupPeriodDays`](/docs/fr/settings-reference#desktopsessioncleanupperioddays). Lorsque les [paramètres gérés](/docs/fr/managed-settings) définissent `cleanupPeriodDays`, Claude Code supprime à la place ces transcriptions après cette période. Nécessite Claude Code v2.1.248 ou ultérieur ; les versions antérieures les suppriment après `cleanupPeriodDays`.

1561 1561 

1562Claude Code ignore complètement le balayage dans ces cas :1562Claude Code ignore le balayage basé sur l'âge dans ces cas :

1563 1563 

1564* **Mode bare** : lorsque vous exécutez `claude -p` avec [`--bare`](/docs/fr/headless#start-faster-with-bare-mode), Claude Code n'exécute pas le balayage dans cette session.1564* **Mode bare** : lorsque vous exécutez `claude -p` avec [`--bare`](/docs/fr/headless#start-faster-with-bare-mode), Claude Code n'exécute pas le balayage dans cette session.

1565* **Balayage en pause** : si Claude Code ne peut pas déterminer en toute sécurité la période de rétention, il met en pause le balayage de nettoyage de rétention ; l'[événement `retention_sweep`](/docs/fr/monitoring-usage#retention-sweep-event) énumère chaque configuration qui le met en pause. Lorsque la cause est un fichier de paramètres qui ne peut pas être lu ou analysé, ou des erreurs de paramètres avec `cleanupPeriodDays` ou `desktopSessionCleanupPeriodDays` explicitement définis, Claude Code affiche également un avertissement dans `/status` jusqu'à ce que vous corrigiez les erreurs de paramètres. Lorsque les [paramètres gérés](/docs/fr/server-managed-settings) fournissent `cleanupPeriodDays`, Claude Code exécute le balayage à la valeur gérée dans les deux cas.1565* **Balayage en pause** : si Claude Code ne peut pas déterminer en toute sécurité la période de rétention, il met en pause le balayage de nettoyage de rétention ; l'[événement `retention_sweep`](/docs/fr/monitoring-usage#retention-sweep-event) énumère chaque configuration qui le met en pause. Lorsque la cause est un fichier de paramètres qui ne peut pas être lu ou analysé, ou des erreurs de paramètres avec `cleanupPeriodDays` ou `desktopSessionCleanupPeriodDays` explicitement définis, Claude Code affiche également un avertissement dans `/status` jusqu'à ce que vous corrigiez les erreurs de paramètres. Lorsque les [paramètres gérés](/docs/fr/server-managed-settings) fournissent `cleanupPeriodDays`, Claude Code exécute le balayage à la valeur gérée dans les deux cas.


1571Le balayage de nettoyage de rétention ne supprime pas les chemins ci-dessous. Claude Code les conserve jusqu'à ce que vous les supprimiez, à l'exception des deux caches qu'il supprime lorsque vous vous déconnectez.1571Le balayage de nettoyage de rétention ne supprime pas les chemins ci-dessous. Claude Code les conserve jusqu'à ce que vous les supprimiez, à l'exception des deux caches qu'il supprime lorsque vous vous déconnectez.

1572 1572 

1573| Chemin sous `~/.claude/` | Contenu |1573| Chemin sous `~/.claude/` | Contenu |

1574| ------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |1574| ------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

1575| `history.jsonl` | Chaque invite que vous avez tapée, avec horodatage et chemin du projet. Utilisé pour le rappel de la flèche vers le haut, la recherche d'historique `Ctrl+R`, et la complétion de commande shell `!`. |1575| `history.jsonl` | Chaque invite que vous avez tapée, avec horodatage et chemin du projet. Utilisé pour le rappel de flèche vers le haut, la recherche d'historique `Ctrl+R` et la complétion de commande shell `!`. |

1576| `stats-cache.json` | Nombres de tokens et de coûts agrégés affichés par `/usage` |1576| `stats-cache.json` | Nombres de jetons et de coûts agrégés affichés par `/usage` |

1577| `remote-settings.json` | Copie en cache des [paramètres gérés par le serveur](/docs/fr/server-managed-settings) pour votre organisation, ou `{}` lorsque votre organisation n'en a configuré aucun. Présent uniquement lorsque la session les [récupère](/docs/fr/server-managed-settings#platform-availability). Claude Code vérifie les mises à jour au démarrage et toutes les heures pendant une session. Claude Code la supprime lorsque vous vous déconnectez. |1577| `remote-settings.json` | Copie mise en cache des [paramètres gérés par serveur](/docs/fr/server-managed-settings) pour votre organisation, ou `{}` lorsque votre organisation n'en a configuré aucun. Présent uniquement lorsque la session les [récupère](/docs/fr/server-managed-settings#platform-availability). Claude Code vérifie les mises à jour au démarrage et toutes les heures pendant une session. Claude Code le supprime lorsque vous vous déconnectez. |

1578| `cache/changelog.md` | Copie en cache du journal des modifications de Claude Code, affiché par `/release-notes`. Actualisé en arrière-plan. |1578| `cache/changelog.md` | Copie mise en cache du journal des modifications de Claude Code, affiché par `/release-notes`. Actualisé en arrière-plan. |

1579| `policy-limits.json` | Paramètres de politique de fonctionnalités en cache pour votre organisation. Présent uniquement pour certains types de comptes. Actualisé automatiquement. Claude Code la supprime lorsque vous vous déconnectez. |1579| `policy-limits.json` | Paramètres de politique de fonctionnalités mis en cache pour votre organisation. Présent uniquement pour certains types de compte. Actualisé automatiquement. Claude Code le supprime lorsque vous vous déconnectez. |

1580 1580 

1581<span id="state-files-to-keep" />1581<span id="state-files-to-keep" />

1582 1582 

1583D'autres fichiers apparaissent selon les fonctionnalités que vous utilisez. Les caches et les fichiers de verrouillage peuvent être supprimés en toute sécurité. Conservez ces fichiers d'état :1583D'autres fichiers apparaissent selon les fonctionnalités que vous utilisez. Les caches et les fichiers de verrouillage peuvent être supprimés en toute sécurité. Conservez ces fichiers d'état :

1584 1584 

1585* `.credentials.json` : vos [credentials de connexion](/docs/fr/authentication#credential-management)1585* `.credentials.json` : vos [identifiants de connexion](/docs/fr/authentication#credential-management)

1586* `agent-memory/` : [mémoire du sous-agent](/docs/fr/sub-agents#enable-persistent-memory)1586* `agent-memory/` : [mémoire subagent](/docs/fr/sub-agents#enable-persistent-memory)

1587* `jobs/` et `daemon/` : état de la [session en arrière-plan](/docs/fr/agent-view#where-state-is-stored)1587* `jobs/` et `daemon/` : état de [session en arrière-plan](/docs/fr/agent-view#where-state-is-stored)

1588 1588 

1589<h3 id="plaintext-storage">1589<h3 id="plaintext-storage">

1590 Stockage en texte brut1590 Stockage en texte brut

1591</h3>1591</h3>

1592 1592 

1593Les transcriptions et l'historique ne sont pas chiffrés au repos. Les permissions de fichiers du système d'exploitation sont la seule protection. Si un outil lit un fichier `.env` ou qu'une commande imprime une credential, cette valeur est écrite dans `projects/<project>/<session>.jsonl`. Pour réduire l'exposition :1593Les transcriptions et l'historique ne sont pas chiffrés au repos. Les permissions de fichier du système d'exploitation sont la seule protection. Si un outil lit un fichier `.env` ou une commande imprime une identifiant, cette valeur est écrite dans `projects/<project>/<session>.jsonl`. Pour réduire l'exposition :

1594 1594 

1595* Réduisez `cleanupPeriodDays` pour raccourcir la durée de conservation des transcriptions1595* Réduisez `cleanupPeriodDays` pour raccourcir la durée pendant laquelle Claude Code conserve les transcriptions

1596* Définissez [`desktopSessionCleanupPeriodDays`](/docs/fr/settings-reference#desktopsessioncleanupperioddays) pour donner aussi une limite d'âge aux transcriptions Claude Desktop et Cowork1596* Définissez [`desktopSessionCleanupPeriodDays`](/docs/fr/settings-reference#desktopsessioncleanupperioddays) pour donner également une limite d'âge aux transcriptions Claude Desktop et Cowork

1597* Définissez la variable d'environnement [`CLAUDE_CODE_SKIP_PROMPT_HISTORY`](/docs/fr/env-vars) pour ignorer l'écriture des transcriptions et de l'historique des invites dans n'importe quel mode. En mode non interactif, vous pouvez à la place passer `--no-session-persistence` aux côtés de `-p`, ou définir `persistSession: false` dans le SDK Agent TypeScript ; le SDK Python n'a pas d'option équivalente.1597* Définissez la variable d'environnement [`CLAUDE_CODE_SKIP_PROMPT_HISTORY`](/docs/fr/env-vars) pour ignorer l'écriture des transcriptions et de l'historique des invites dans n'importe quel mode. En mode non interactif, vous pouvez à la place passer `--no-session-persistence` à côté de `-p`, ou définir `persistSession: false` dans le SDK TypeScript Agent ; le SDK Python n'a pas d'option équivalente.

1598* Utilisez les [règles de permissions](/docs/fr/permissions) pour refuser les lectures des fichiers de credentials1598* Utilisez les [règles de permission](/docs/fr/permissions) pour refuser les lectures des fichiers d'identifiants

1599 1599 

1600<h3 id="clear-local-data">1600<h3 id="clear-local-data">

1601 Effacer les données locales1601 Effacer les données locales

1602</h3>1602</h3>

1603 1603 

1604Exécutez `claude project purge` pour supprimer l'état que Claude Code maintient pour un projet. Il supprime :1604Exécutez `claude project purge` pour supprimer l'état que Claude Code conserve pour un projet. Il supprime :

1605 1605 

1606* Transcriptions et mémoire automatique sous `projects/`1606* Transcriptions et mémoire automatique sous `projects/`

1607* Entrées `tasks/`, `debug/` et `file-history/` par session1607* Entrées `tasks/`, `debug/` et `file-history/` par session

1608* Lignes d'invite correspondantes dans `history.jsonl`1608* Lignes d'invite correspondantes dans `history.jsonl`

1609* L'entrée du projet dans `~/.claude.json`1609* L'entrée du projet dans `~/.claude.json`

1610 1610 

1611La commande affiche le plan de suppression complet et demande une confirmation avant de supprimer quoi que ce soit.1611La commande imprime le plan de suppression complet et demande une confirmation avant de supprimer quoi que ce soit.

1612 1612 

1613Les exemples ci-dessous utilisent `~/work/my-repo` comme espace réservé. Remplacez-le par le chemin de votre projet. Si aucun état ne correspond au chemin, la commande affiche une erreur et se termine avec le statut 1.1613Les exemples ci-dessous utilisent `~/work/my-repo` comme espace réservé. Remplacez-le par le chemin de votre projet. Si aucun état ne correspond au chemin, la commande imprime une erreur et se termine avec le statut 1.

1614 1614 

1615Prévisualisez le plan sans supprimer quoi que ce soit :1615Prévisualisez le plan sans rien supprimer :

1616 1616 

1617```bash theme={null}1617```bash theme={null}

1618claude project purge ~/work/my-repo --dry-run1618claude project purge ~/work/my-repo --dry-run


1641claude project purge ~/work/my-repo1641claude project purge ~/work/my-repo

1642```1642```

1643 1643 

1644La commande affiche le même plan, puis demande `Delete 3 item(s) for /home/user/work/my-repo? This cannot be undone. [y/N]` et supprime uniquement si vous répondez `y`.1644La commande imprime le même plan, puis demande `Delete 3 item(s) for /home/user/work/my-repo? This cannot be undone. [y/N]` et supprime uniquement si vous répondez `y`.

1645 1645 

1646Omettez le chemin pour choisir un projet dans une liste interactive.1646Omettez le chemin pour choisir un projet dans une liste interactive.

1647 1647 

1648Ignorez l'invite de confirmation pour une utilisation dans les scripts :1648Ignorez l'invite de confirmation pour utilisation dans les scripts :

1649 1649 

1650```bash theme={null}1650```bash theme={null}

1651claude project purge ~/work/my-repo --yes1651claude project purge ~/work/my-repo --yes

1652```1652```

1653 1653 

1654Passez `--all` à la place d'un chemin pour purger l'état de tous les projets à la fois, ce qui supprime `history.jsonl` complètement plutôt que de le filtrer. Passez `-i` pour parcourir le plan de suppression un élément à la fois.1654Passez `--all` au lieu d'un chemin pour purger l'état de chaque projet à la fois, ce qui supprime `history.jsonl` directement plutôt que de le filtrer. Passez `-i` pour parcourir le plan de suppression un élément à la fois.

1655 1655 

1656La commande laisse `shell-snapshots/` et `backups/` seuls car ceux-ci ne sont pas limités à un projet, et les avertit dans la sortie du plan.1656La commande laisse `shell-snapshots/` et `backups/` seuls car ceux-ci ne sont pas limités au projet, et les avertit dans la sortie du plan.

1657 1657 

1658Vous pouvez également supprimer manuellement l'un des chemins de données d'application ci-dessus, à l'exception des [fichiers d'état à conserver](#state-files-to-keep). Les nouvelles sessions ne sont pas affectées. Le tableau ci-dessous montre ce que vous perdez pour les sessions passées.1658Vous pouvez également supprimer manuellement l'un des chemins de données d'application ci-dessus, à l'exception des [fichiers d'état à conserver](#state-files-to-keep). Les nouvelles sessions ne sont pas affectées. Le tableau ci-dessous montre ce que vous perdez pour les sessions passées.

1659 1659 

1660| Supprimer | Vous perdez |1660| Supprimer | Vous perdez |

1661| ---------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------ |1661| ---------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- |

1662| `~/.claude/projects/` | Reprendre, continuer et rembobiner pour les sessions passées, et mémoire automatique pour chaque projet |1662| `~/.claude/projects/` | Reprendre, continuer et rembobiner pour les sessions passées, et mémoire automatique pour chaque projet |

1663| `~/.claude/history.jsonl` | Rappel d'invite de la flèche vers le haut, recherche d'historique `Ctrl+R`, et complétion de commande shell `!` |1663| `~/.claude/history.jsonl` | Rappel d'invite de flèche vers le haut, recherche d'historique `Ctrl+R` et complétion de commande shell `!` |

1664| `~/.claude/paste-cache/` | Texte collé dans les invites rappelées ; voir [coller du contenu volumineux](/docs/fr/terminal-config#paste-large-content) |1664| `~/.claude/paste-cache/` | Texte collé dans les invites rappelées ; voir [coller du contenu volumineux](/docs/fr/terminal-config#paste-large-content) |

1665| `~/.claude/uploads/` | Pièces jointes auxquelles les sessions [Contrôle à distance](/docs/fr/remote-control) passées font référence par chemin |1665| `~/.claude/uploads/` | Pièces jointes auxquelles les sessions [Remote Control](/docs/fr/remote-control) passées font référence par chemin |

1666| `~/.claude/file-history/` | Restauration de checkpoint pour les sessions passées |1666| `~/.claude/file-history/` | Restauration de checkpoint pour les sessions passées |

1667| `~/.claude/stats-cache.json` | Totaux historiques affichés par `/usage` |1667| `~/.claude/stats-cache.json` | Totaux historiques affichés par `/usage` |

1668| `~/.claude/usage-data/` | Rapports [`/insights`](/docs/fr/costs#analyze-your-usage-patterns) passés et les données d'analyse mises en cache utilisées pour les construire |1668| `~/.claude/usage-data/` | Rapports [`/insights`](/docs/fr/costs#analyze-your-usage-patterns) passés et données d'analyse mises en cache utilisées pour les construire |

1669| `~/.claude/feedback-bundles/` | Retours et archives de rapports de bugs que vous n'avez pas encore envoyés à votre équipe de compte Anthropic |1669| `~/.claude/feedback-bundles/` | Feedback et archives de rapport de bug que vous n'avez pas encore envoyés à votre équipe de compte Anthropic |

1670| `~/.claude/feedback/drafts/` | [Retours rédigés par Claude](/docs/fr/tools-reference#sendfeedback-tool-behavior) que vous n'avez pas envoyés |1670| `~/.claude/feedback/drafts/` | [Feedback rédigé par Claude](/docs/fr/tools-reference#sendfeedback-tool-behavior) que vous n'avez pas envoyé |

1671| `~/.claude/remote-settings.json` | Rien. Récupéré à nouveau au prochain lancement. |1671| `~/.claude/remote-settings.json` | Rien. Récupéré à nouveau au prochain lancement. |

1672| `~/.claude/cache/changelog.md` | Rien. Actualisé en arrière-plan. |1672| `~/.claude/cache/changelog.md` | Rien. Actualisé en arrière-plan. |

1673| `~/.claude/policy-limits.json` | Rien. Actualisé automatiquement. |1673| `~/.claude/policy-limits.json` | Rien. Actualisé automatiquement. |

Details

540<AccordionGroup>540<AccordionGroup>

541 <Accordion title="Services Anthropic">541 <Accordion title="Services Anthropic">

542 * api.anthropic.com542 * api.anthropic.com

543 * statsig.anthropic.com

544 * docs.claude.com543 * docs.claude.com

545 * platform.claude.com544 * platform.claude.com

546 * code.claude.com545 * code.claude.com


612 * [www.java.net](http://www.java.net)611 * [www.java.net](http://www.java.net)

613 * download.oracle.com612 * download.oracle.com

614 * yum.oracle.com613 * yum.oracle.com

614 * \*.r2.cloudflarestorage.com

615 </Accordion>615 </Accordion>

616 616 

617 <Accordion title="Gestionnaires de paquets JavaScript et Node">617 <Accordion title="Gestionnaires de paquets JavaScript et Node">


622 * npmjs.org622 * npmjs.org

623 * yarnpkg.com623 * yarnpkg.com

624 * registry.yarnpkg.com624 * registry.yarnpkg.com

625 * jsr.io

626 * npm.jsr.io

625 </Accordion>627 </Accordion>

626 628 

627 <Accordion title="Gestionnaires de paquets Python">629 <Accordion title="Gestionnaires de paquets Python">


676 * central.maven.org678 * central.maven.org

677 * repo1.maven.org679 * repo1.maven.org

678 * repo.maven.apache.org680 * repo.maven.apache.org

681 * maven.google.com

679 * jcenter.bintray.com682 * jcenter.bintray.com

680 * gradle.org683 * gradle.org

681 * [www.gradle.org](http://www.gradle.org)684 * [www.gradle.org](http://www.gradle.org)

682 * services.gradle.org685 * services.gradle.org

683 * plugins.gradle.org686 * plugins.gradle.org

687 * plugins-artifacts.gradle.org

684 * kotlinlang.org688 * kotlinlang.org

685 * [www.kotlinlang.org](http://www.kotlinlang.org)689 * [www.kotlinlang.org](http://www.kotlinlang.org)

686 * spring.io690 * spring.io


758 </Accordion>762 </Accordion>

759 763 

760 <Accordion title="Services cloud et surveillance">764 <Accordion title="Services cloud et surveillance">

761 * statsig.com

762 * [www.statsig.com](http://www.statsig.com)

763 * api.statsig.com

764 * sentry.io

765 * \*.sentry.io

766 * downloads.sentry-cdn.com

767 * http-intake.logs.datadoghq.com765 * http-intake.logs.datadoghq.com

768 * browser-intake-us5-datadoghq.com

769 * \*.datadoghq.com766 * \*.datadoghq.com

770 * \*.datadoghq.eu767 * \*.datadoghq.eu

771 * api.honeycomb.io768 * api.honeycomb.io

Details

434| [Routines](/docs/fr/routines) | Cloud, géré par Anthropic par défaut | Les tâches qui doivent s'exécuter même quand votre ordinateur est éteint. Peuvent également se déclencher sur les appels API ou les événements GitHub en plus d'un calendrier. Configurez sur [claude.ai/code/routines](https://claude.ai/code/routines). |434| [Routines](/docs/fr/routines) | Cloud, géré par Anthropic par défaut | Les tâches qui doivent s'exécuter même quand votre ordinateur est éteint. Peuvent également se déclencher sur les appels API ou les événements GitHub en plus d'un calendrier. Configurez sur [claude.ai/code/routines](https://claude.ai/code/routines). |

435| [Tâches planifiées sur le bureau](/docs/fr/desktop-scheduled-tasks) | Votre machine, via l'application de bureau | Les tâches qui ont besoin d'un accès direct aux fichiers locaux, aux outils ou aux modifications non validées. |435| [Tâches planifiées sur le bureau](/docs/fr/desktop-scheduled-tasks) | Votre machine, via l'application de bureau | Les tâches qui ont besoin d'un accès direct aux fichiers locaux, aux outils ou aux modifications non validées. |

436| [GitHub Actions](/docs/fr/github-actions) | Votre pipeline CI | Les tâches liées aux événements du référentiel comme les PR ouvertes, ou les calendriers cron qui doivent vivre aux côtés de votre configuration de flux de travail. |436| [GitHub Actions](/docs/fr/github-actions) | Votre pipeline CI | Les tâches liées aux événements du référentiel comme les PR ouvertes, ou les calendriers cron qui doivent vivre aux côtés de votre configuration de flux de travail. |

437| [`/loop`](/docs/fr/scheduled-tasks) | La session CLI actuelle | L'interrogation rapide pendant qu'une session est ouverte. Les tâches s'arrêtent quand vous commencez une nouvelle conversation ; `--resume` et `--continue` restaurent les tâches non expirées. |437| [`/loop`](/docs/fr/scheduled-tasks) | La session CLI actuelle | L'interrogation rapide pendant qu'une session est ouverte. `--resume` et `--continue` restaurent les boucles non expirées à intervalle fixe. |

438 438 

439<Tip>439<Tip>

440 Lors de la rédaction de prompts pour les tâches planifiées, soyez explicite sur ce que signifie le succès et ce qu'il faut faire avec les résultats. La tâche s'exécute de manière autonome, elle ne peut donc pas poser de questions de clarification. Par exemple : « Examinez les PR ouvertes étiquetées `needs-review`, laissez des commentaires en ligne sur les problèmes et publiez un résumé dans le canal Slack `#eng-reviews`. »440 Lors de la rédaction de prompts pour les tâches planifiées, soyez explicite sur ce que signifie le succès et ce qu'il faut faire avec les résultats. La tâche s'exécute de manière autonome, elle ne peut donc pas poser de questions de clarification. Par exemple : « Examinez les PR ouvertes étiquetées `needs-review`, laissez des commentaires en ligne sur les problèmes et publiez un résumé dans le canal Slack `#eng-reviews`. »

computer-use.md +1 −1

Details

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 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.138La première fois que Claude utilise votre ordinateur à chaque tour, 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 

costs.md +3 −2

Details

71 71 

72Appuyez sur `d` ou `w` pour basculer entre les 24 dernières heures et les 7 derniers jours. Les chiffres sont approximatifs et calculés à partir de l'historique des sessions locales sur cette machine, donc l'utilisation d'autres appareils ou de claude.ai n'est pas incluse.72Appuyez sur `d` ou `w` pour basculer entre les 24 dernières heures et les 7 derniers jours. Les chiffres sont approximatifs et calculés à partir de l'historique des sessions locales sur cette machine, donc l'utilisation d'autres appareils ou de claude.ai n'est pas incluse.

73 73 

74Dans l'[extension VS Code](/docs/fr/vs-code#check-account-and-usage), les parts d'attribution et les drapeaux de comportement apparaissent dans la boîte de dialogue Compte et utilisation avec un bouton bascule Jour et Semaine, sans les lignes Loops. Nécessite Claude Code v2.1.174 ou version ultérieure.74Dans l'[extension VS Code](/docs/fr/vs-code#check-account-and-usage), les parts d'attribution et les drapeaux de comportement apparaissent dans la boîte de dialogue Compte et utilisation avec un bouton bascule Jour et Semaine, sans les lignes Loops.

75 75 

76<h4 id="check-your-usage-credits-spend">76<h4 id="check-your-usage-credits-spend">

77 Vérifier vos dépenses en crédits d'utilisation77 Vérifier vos dépenses en crédits d'utilisation


222 Quand un développeur pose des questions sur une limite222 Quand un développeur pose des questions sur une limite

223</h3>223</h3>

224 224 

225Les développeurs apportent généralement les questions de limite à leur administrateur, il est donc utile de savoir quel plafond ils ont atteint. Les quatre situations signifient des choses différentes :225Les développeurs apportent généralement les questions de limite à leur administrateur, il est donc utile de savoir quel plafond ils ont atteint. Ces situations signifient des choses différentes :

226 226 

227* **« Vous avez atteint votre limite de session » ou « Vous avez atteint votre limite hebdomadaire »** : une fenêtre d'utilisation basée sur le siège sur un plan d'abonnement, partagée sur tous les modèles, donc le développeur ne peut pas restaurer l'accès en changeant de modèles avec `/model`. Le message affiche quand la fenêtre se réinitialise. Après le message spécifique au modèle « Vous avez atteint votre limite Opus » ou « Vous avez atteint votre limite Sonnet », passer à un modèle en dehors de cette famille avec `/model` permet au développeur de continuer à travailler. Voir [erreurs de limite d'utilisation](/docs/fr/errors#youve-hit-your-session-limit). Ce que le développeur peut faire en attendant :227* **« Vous avez atteint votre limite de session » ou « Vous avez atteint votre limite hebdomadaire »** : une fenêtre d'utilisation basée sur le siège sur un plan d'abonnement, partagée sur tous les modèles, donc le développeur ne peut pas restaurer l'accès en changeant de modèles avec `/model`. Le message affiche quand la fenêtre se réinitialise. Après le message spécifique au modèle « Vous avez atteint votre limite Opus » ou « Vous avez atteint votre limite Sonnet », passer à un modèle en dehors de cette famille avec `/model` permet au développeur de continuer à travailler. Voir [erreurs de limite d'utilisation](/docs/fr/errors#youve-hit-your-session-limit). Ce que le développeur peut faire en attendant :

228 * Exécutez `/usage-credits` pour demander une utilisation au-delà de l'allocation, si vous avez activé les [crédits d'utilisation](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans).228 * Exécutez `/usage-credits` pour demander une utilisation au-delà de l'allocation, si vous avez activé les [crédits d'utilisation](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans).

229 * Sur Claude Code v2.1.234 ou ultérieur, [attendez et continuez la tâche interrompue automatiquement après la réinitialisation](/docs/fr/interactive-mode#wait-for-a-usage-limit-to-reset) ; cette section énumère quand Claude Code démarre l'attente de lui-même et quand le développeur la choisit dans `/rate-limit-options`. Pour contrôler pour votre flotte si Claude Code démarre cette attente de lui-même, définissez [`autoContinueAtUsageLimit`](/docs/fr/settings-reference#autocontinueatusagelimit) dans les [paramètres gérés](/docs/fr/settings#settings-precedence).229 * Sur Claude Code v2.1.234 ou ultérieur, [attendez et continuez la tâche interrompue automatiquement après la réinitialisation](/docs/fr/interactive-mode#wait-for-a-usage-limit-to-reset) ; cette section énumère quand Claude Code démarre l'attente de lui-même et quand le développeur la choisit dans `/rate-limit-options`. Pour contrôler pour votre flotte si Claude Code démarre cette attente de lui-même, définissez [`autoContinueAtUsageLimit`](/docs/fr/settings-reference#autocontinueatusagelimit) dans les [paramètres gérés](/docs/fr/settings#settings-precedence).

230* **« Vous avez atteint votre limite de dépenses individuelle », « limite de dépenses mensuelle de l'organisation » ou « budget partagé de l'équipe »** : la demande du développeur serait facturée aux crédits d'utilisation, et ces crédits ont atteint une limite de dépenses que vous avez définie. Pour permettre au développeur de continuer, allez à [**Paramètres d'administration > Utilisation**](https://claude.ai/admin-settings/usage) et augmentez la limite que le message nomme. Lorsque le message nomme également une heure de réinitialisation du plan, le développeur peut plutôt attendre jusqu'à ce moment. Voir [la référence d'erreur](/docs/fr/errors#youve-hit-your-monthly-spend-limit) pour chaque variante.

230* **Un message de limite de dépenses d'une [passerelle d'applications Claude](/docs/fr/claude-apps-gateway)** : le développeur a dépassé un plafond de dépenses que vous avez défini sur votre passerelle auto-hébergée, et la passerelle bloque ses demandes jusqu'à ce que la période se réinitialise ou que vous augmentiez le plafond. Voir [limites de dépenses de la passerelle](/docs/fr/claude-apps-gateway-spend-limits) pour les plafonds, les calendriers de réinitialisation et le message que le développeur voit.231* **Un message de limite de dépenses d'une [passerelle d'applications Claude](/docs/fr/claude-apps-gateway)** : le développeur a dépassé un plafond de dépenses que vous avez défini sur votre passerelle auto-hébergée, et la passerelle bloque ses demandes jusqu'à ce que la période se réinitialise ou que vous augmentiez le plafond. Voir [limites de dépenses de la passerelle](/docs/fr/claude-apps-gateway-spend-limits) pour les plafonds, les calendriers de réinitialisation et le message que le développeur voit.

231* **Un avertissement de contexte ou d'auto-compactage** : pas une limite d'utilisation. La conversation s'est rapprochée de la [fenêtre d'auto-compactage](/docs/fr/model-config#set-the-auto-compact-window) de la session, le seuil où Claude Code résume l'historique plus ancien pour libérer de l'espace. Pointez le développeur vers [réduire l'utilisation des tokens](#reduce-token-usage).232* **Un avertissement de contexte ou d'auto-compactage** : pas une limite d'utilisation. La conversation s'est rapprochée de la [fenêtre d'auto-compactage](/docs/fr/model-config#set-the-auto-compact-window) de la session, le seuil où Claude Code résume l'historique plus ancien pour libérer de l'espace. Pointez le développeur vers [réduire l'utilisation des tokens](#reduce-token-usage).

232* **Des dépenses inhabituellement élevées sur un plan API ou fournisseur cloud** : généralement tracées jusqu'à des sessions longues qui n'ont jamais été effacées ou à Opus laissé comme modèle par défaut. Les habitudes à impact le plus élevé à partager sont l'effacement entre les tâches non liées et l'adaptation du modèle au travail, tous deux couverts dans [réduire l'utilisation des tokens](#reduce-token-usage).233* **Des dépenses inhabituellement élevées sur un plan API ou fournisseur cloud** : généralement tracées jusqu'à des sessions longues qui n'ont jamais été effacées ou à Opus laissé comme modèle par défaut. Les habitudes à impact le plus élevé à partager sont l'effacement entre les tâches non liées et l'adaptation du modèle au travail, tous deux couverts dans [réduire l'utilisation des tokens](#reduce-token-usage).

desktop.md +7 −7

Details

24 24 

25Pour Windows ARM64, téléchargez l'[installateur ARM64](https://claude.ai/api/desktop/win32/arm64/setup/latest/redirect?utm_source=claude_code\&utm_medium=docs). Sur Linux, installez avec apt ; voir [Claude Desktop sur Linux](/docs/fr/desktop-linux).25Pour Windows ARM64, téléchargez l'[installateur ARM64](https://claude.ai/api/desktop/win32/arm64/setup/latest/redirect?utm_source=claude_code\&utm_medium=docs). Sur Linux, installez avec apt ; voir [Claude Desktop sur Linux](/docs/fr/desktop-linux).

26 26 

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](/docs/fr/desktop-quickstart).27Après l'installation, lancez Claude, connectez-vous et cliquez sur l'onglet **Code**. Pour une présentation de votre première session, consultez le [guide Démarrer](/docs/fr/desktop-quickstart).

28 28 

29Dans l'onglet Code, chaque conversation est une **session** : elle a son propre historique de chat, dossier de projet et modifications de code, indépendants de toute autre session. La barre latérale répertorie vos sessions et vous permet d'en exécuter plusieurs en parallèle. Au sein d'une session, vous pouvez :29Dans l'onglet Code, chaque conversation est une **session** : elle a son propre historique de chat et dossier de projet, indépendants de toute autre session. La barre latérale répertorie vos sessions et vous permet d'en exécuter plusieurs en parallèle. Au sein d'une session, vous pouvez :

30 30 

31* [Examiner et commenter les différences](#review-changes-with-diff-view), puis [surveiller la PR résultante via CI](#monitor-pull-request-status)31* [Examiner et commenter les différences](#review-changes-with-diff-view), puis [surveiller la PR résultante via CI](#monitor-pull-request-status)

32* [Prévisualiser votre application en cours d'exécution](#preview-your-app) dans le volet Navigateur tandis que Claude vérifie ses propres modifications, et [ouvrir des sites externes](#browse-external-sites) à côté32* [Prévisualiser votre application en cours d'exécution](#preview-your-app) dans le volet Navigateur tandis que Claude vérifie ses propres modifications, et [ouvrir des sites externes](#browse-external-sites) à côté


372 Travailler en parallèle avec les sessions372 Travailler en parallèle avec les sessions

373</h3>373</h3>

374 374 

375Cliquez sur **+ Nouvelle session** dans la barre latérale, ou appuyez sur **Cmd+N** sur macOS ou **Ctrl+N** sur Windows, pour travailler sur plusieurs tâches en parallèle. Appuyez sur **Ctrl+Tab** et **Ctrl+Shift+Tab** pour parcourir les sessions dans la barre latérale. Pour les référentiels Git, chaque session obtient sa propre copie isolée de votre projet en utilisant [Git worktrees](/docs/fr/worktrees), donc les modifications dans une session n'affectent pas les autres sessions jusqu'à ce que vous les validiez.375Cliquez sur **+ Nouvelle session** dans la barre latérale, ou appuyez sur **Cmd+N** sur macOS ou **Ctrl+N** sur Windows, pour travailler sur plusieurs tâches en parallèle. Appuyez sur **Ctrl+Tab** et **Ctrl+Shift+Tab** pour parcourir les sessions dans la barre latérale. Pour les référentiels Git, sélectionnez l'option **worktree** à côté du nom de la branche pour donner à la session sa propre copie isolée de votre projet en utilisant [Git worktrees](/docs/fr/worktrees), donc les modifications dans une session n'affectent pas les autres sessions jusqu'à ce que vous les validiez.

376 376 

377Pour afficher deux sessions à la fois, maintenez **Cmd** sur macOS ou **Ctrl** sur Windows et cliquez sur une session dans la barre latérale. La session s'ouvre dans un deuxième volet à côté de celui que vous avez déjà ouvert. Pendant que la division est active, cliquer sur une autre session de la barre latérale remplace le volet qui a le focus. Appuyez sur **Cmd+\\** sur macOS ou **Ctrl+\\** sur Windows pour fermer le volet actif et revenir à une seule session.377Pour afficher deux sessions à la fois, maintenez **Cmd** sur macOS ou **Ctrl** sur Windows et cliquez sur une session dans la barre latérale. La session s'ouvre dans un deuxième volet à côté de celui que vous avez déjà ouvert. Pendant que la division est active, cliquer sur une autre session de la barre latérale remplace le volet qui a le focus. Appuyez sur **Cmd+\\** sur macOS ou **Ctrl+\\** sur Windows pour fermer le volet actif et revenir à une seule session.

378 378 


381Pour inclure les fichiers ignorés par git comme `.env` dans les nouveaux worktrees, créez un [fichier `.worktreeinclude`](/docs/fr/worktrees#copy-gitignored-files-into-worktrees) à la racine de votre projet.381Pour inclure les fichiers ignorés par git comme `.env` dans les nouveaux worktrees, créez un [fichier `.worktreeinclude`](/docs/fr/worktrees#copy-gitignored-files-into-worktrees) à la racine de votre projet.

382 382 

383<Note>383<Note>

384 L'isolation des sessions nécessite [Git](https://git-scm.com/downloads). La plupart des Macs incluent Git par défaut. Exécutez `git --version` dans Terminal pour vérifier ; s'il affiche un numéro de version, Git est installé. Sur Windows, Git est requis pour que l'onglet Code fonctionne : [téléchargez Git pour Windows](https://git-scm.com/downloads/win), installez-le et redémarrez l'application. Si vous rencontrez des erreurs Git, demandez à Claude dans l'[onglet Cowork](https://claude.com/product/cowork) de vous aider à dépanner votre configuration.384 L'isolation des sessions nécessite [Git](https://git-scm.com/downloads). La plupart des Macs incluent Git par défaut. Exécutez `git --version` dans Terminal pour vérifier ; s'il affiche un numéro de version, Git est installé. Si vous rencontrez des erreurs Git, demandez à Claude dans l'[onglet Cowork](https://claude.com/product/cowork) de vous aider à dépanner votre configuration.

385</Note>385</Note>

386 386 

387Utilisez les contrôles en haut de la barre latérale pour filtrer les sessions par statut, projet ou environnement, et pour grouper les sessions par projet. Pour renommer une session, cliquez sur le titre de la session dans la barre d'outils en haut de la session active.387Utilisez les contrôles en haut de la barre latérale pour filtrer les sessions par statut, projet ou environnement, et pour grouper les sessions par projet. Pour renommer une session, cliquez sur le titre de la session dans la barre d'outils en haut de la session active.


838| `disableAutoMode` | définissez sur `"disable"` pour supprimer le mode [Auto](/docs/fr/permission-modes#eliminate-prompts-with-auto-mode) du sélecteur de mode. Également accepté sous `permissions`. |838| `disableAutoMode` | définissez sur `"disable"` pour supprimer le mode [Auto](/docs/fr/permission-modes#eliminate-prompts-with-auto-mode) du sélecteur de mode. Également accepté sous `permissions`. |

839| `autoMode` | personnalisez ce que le classificateur du mode auto fait confiance et bloque dans votre organisation. Voir [Configurer le mode auto](/docs/fr/auto-mode-config). |839| `autoMode` | personnalisez ce que le classificateur du mode auto fait confiance et bloque dans votre organisation. Voir [Configurer le mode auto](/docs/fr/auto-mode-config). |

840| `browserExternalPageTools` | définissez sur `"disabled"` pour empêcher Claude d'utiliser des outils pour lire ou agir sur des pages externes dans le [volet Navigateur](#browse-external-sites). Les utilisateurs peuvent toujours naviguer vers des sites externes eux-mêmes, et les aperçus des serveurs de développement locaux ne sont pas affectés. |840| `browserExternalPageTools` | définissez sur `"disabled"` pour empêcher Claude d'utiliser des outils pour lire ou agir sur des pages externes dans le [volet Navigateur](#browse-external-sites). Les utilisateurs peuvent toujours naviguer vers des sites externes eux-mêmes, et les aperçus des serveurs de développement locaux ne sont pas affectés. |

841| `disableMobileSimulatorTools` | définissez sur `true` pour bloquer les outils de Claude pour contrôler et capturer les appareils dans le [volet iOS Simulator](/docs/fr/desktop-ios-simulator#turn-off-simulator-access). Le volet reste utilisable pour les appuis de l'utilisateur ; seul l'accès de Claude est supprimé. |841| `disableMobileSimulatorTools` | définissez sur `true` pour bloquer les outils de Claude pour contrôler et capturer les appareils dans le [volet iOS Simulator](/docs/fr/desktop-ios-simulator#turn-off-simulator-access). Le volet reste utilisable pour les appuis de l'utilisateur ; seul l'accès de Claude est supprimé. La valeur doit être le booléen JSON `true` ; la chaîne `"true"` est ignorée. |

842| `disableBrowserExternalNavigation` | définissez sur `true` pour désactiver complètement la navigation externe dans le [volet Navigateur](#browse-external-sites). Ni les utilisateurs ni Claude ne peuvent naviguer vers des sites externes, et les aperçus des serveurs de développement localhost ne sont pas affectés. La valeur doit être le booléen JSON `true` ; la chaîne `"true"` est ignorée. |842| `disableBrowserExternalNavigation` | définissez sur `true` pour désactiver complètement la navigation externe dans le [volet Navigateur](#browse-external-sites). Ni les utilisateurs ni Claude ne peuvent naviguer vers des sites externes, et les aperçus des serveurs de développement localhost ne sont pas affectés. La valeur doit être le booléen JSON `true` ; la chaîne `"true"` est ignorée. |

843| `sshConfigs` | pré-configurez les [connexions SSH](#pre-configure-ssh-connections-for-your-team) qui apparaissent dans la liste déroulante de l'environnement. Les utilisateurs ne peuvent pas modifier ou supprimer les connexions gérées. |843| `sshConfigs` | pré-configurez les [connexions SSH](#pre-configure-ssh-connections-for-your-team) qui apparaissent dans la liste déroulante de l'environnement. Les utilisateurs ne peuvent pas modifier ou supprimer les connexions gérées. |

844| `sshHostAllowlist` | restreignez les [sessions SSH](#restrict-which-ssh-hosts-users-can-connect-to) aux hôtes dont le nom d'hôte résolu correspond à l'un de ces modèles. Un tableau vide désactive les sessions SSH. Lecture à partir des paramètres gérés uniquement. |844| `sshHostAllowlist` | restreignez les [sessions SSH](#restrict-which-ssh-hosts-users-can-connect-to) aux hôtes dont le nom d'hôte résolu correspond à l'un de ces modèles. Un tableau vide désactive les sessions SSH. Lecture à partir des paramètres gérés uniquement. |


1016| [Plugins](/docs/fr/plugins) | Commande `/plugin` | Interface utilisateur du gestionnaire de plugins |1016| [Plugins](/docs/fr/plugins) | Commande `/plugin` | Interface utilisateur du gestionnaire de plugins |

1017| Fichiers @mention | Basé sur le texte | Avec autocomplétion ; sessions locales et SSH uniquement |1017| Fichiers @mention | Basé sur le texte | Avec autocomplétion ; sessions locales et SSH uniquement |

1018| Pièces jointes de fichiers | Non disponible | Images, PDF |1018| Pièces jointes de fichiers | Non disponible | Images, PDF |

1019| Isolation des sessions | Drapeau [`--worktree`](/docs/fr/cli-reference) | Worktrees automatiques |1019| Isolation des sessions | Drapeau [`--worktree`](/docs/fr/cli-reference) | Option **worktree** au démarrage d'une session |

1020| Sessions multiples | Terminaux séparés | Onglets de barre latérale |1020| Sessions multiples | Terminaux séparés | Onglets de barre latérale |

1021| Tâches récurrentes | Tâches cron, pipelines CI | [Tâches planifiées](/docs/fr/desktop-scheduled-tasks) |1021| Tâches récurrentes | Tâches cron, pipelines CI | [Tâches planifiées](/docs/fr/desktop-scheduled-tasks) |

1022| Utilisation informatique | [Activer via `/mcp`](/docs/fr/computer-use) sur macOS | [Contrôle d'application et d'écran](#let-claude-use-your-computer) sur macOS et Windows |1022| Utilisation informatique | [Activer via `/mcp`](/docs/fr/computer-use) sur macOS | [Contrôle d'application et d'écran](#let-claude-use-your-computer) sur macOS et Windows |


1093 Erreurs Git et Git LFS1093 Erreurs Git et Git LFS

1094</h3>1094</h3>

1095 1095 

1096Sur Windows, Git est requis pour que l'onglet Code démarre les sessions locales. Si vous voyez « Git is required », installez [Git pour Windows](https://git-scm.com/downloads/win) et redémarrez l'application.1096Les sessions qui s'exécutent dans leur propre worktree ont besoin de Git. Si vous voyez « Git is required », installez [Git](https://git-scm.com/downloads), ou [Git pour Windows](https://git-scm.com/downloads/win) sur Windows, et réessayez. Sur Windows, les versions de Claude Desktop antérieures à 1.49585.0 demandaient Git avant de démarrer une session locale ; si vous voyez cette invite et n'utilisez pas de worktrees, mettez à jour l'application.

1097 1097 

1098Si vous voyez « Git LFS is required by this repository but is not installed », installez Git LFS à partir de [git-lfs.com](https://git-lfs.com/), exécutez `git lfs install` et redémarrez l'application.1098Si vous voyez « Git LFS is required by this repository but is not installed », installez Git LFS à partir de [git-lfs.com](https://git-lfs.com/), exécutez `git lfs install` et redémarrez l'application.

1099 1099 

Details

65 Sélectionnez **Local** pour exécuter Claude sur votre machine en utilisant directement vos fichiers. Cliquez sur **Select folder** et choisissez votre répertoire de projet.65 Sélectionnez **Local** pour exécuter Claude sur votre machine en utilisant directement vos fichiers. Cliquez sur **Select folder** et choisissez votre répertoire de projet.

66 66 

67 <Tip>67 <Tip>

68 Commencez par un petit projet que vous connaissez bien. C'est le moyen le plus rapide de voir ce que Claude Code peut faire. Sur Windows, [Git](https://git-scm.com/downloads/win) doit être installé pour que les sessions locales fonctionnent. La plupart des Mac incluent Git par défaut.68 Commencez par un petit projet que vous connaissez bien. C'est le moyen le plus rapide de voir ce que Claude Code peut faire.

69 </Tip>69 </Tip>

70 70 

71 Vous pouvez également sélectionner :71 Vous pouvez également sélectionner :


86 * `Add tests for the main function`86 * `Add tests for the main function`

87 * `Create a CLAUDE.md with instructions for this codebase`87 * `Create a CLAUDE.md with instructions for this codebase`

88 88 

89 Une [session](/docs/fr/desktop#work-in-parallel-with-sessions) est une conversation avec Claude à propos de votre code. Chaque session suit son propre contexte et ses modifications, vous pouvez donc travailler sur plusieurs tâches sans qu'elles n'interfèrent les unes avec les autres.89 Une [session](/docs/fr/desktop#work-in-parallel-with-sessions) est une conversation avec Claude à propos de votre code. Chaque session suit son propre contexte et ses modifications.

90 </Step>90 </Step>

91 91 

92 <Step title="Examinez et acceptez les modifications">92 <Step title="Examinez et acceptez les modifications">

env-vars.md +15 −11

Details

152| `ANTHROPIC_BEDROCK_BASE_URL` | Remplacez l'URL du point de terminaison Amazon Bedrock. Utilisez pour les points de terminaison Amazon Bedrock personnalisés ou lors du routage via une [passerelle LLM](/docs/fr/llm-gateway). Voir [Amazon Bedrock](/docs/fr/amazon-bedrock) |152| `ANTHROPIC_BEDROCK_BASE_URL` | Remplacez l'URL du point de terminaison Amazon Bedrock. Utilisez pour les points de terminaison Amazon Bedrock personnalisés ou lors du routage via une [passerelle LLM](/docs/fr/llm-gateway). Voir [Amazon Bedrock](/docs/fr/amazon-bedrock) |

153| `ANTHROPIC_BEDROCK_MANTLE_BASE_URL` | Remplacez l'URL du point de terminaison Amazon Bedrock Mantle. Voir [Point de terminaison Mantle](/docs/fr/amazon-bedrock#use-the-mantle-endpoint) |153| `ANTHROPIC_BEDROCK_MANTLE_BASE_URL` | Remplacez l'URL du point de terminaison Amazon Bedrock Mantle. Voir [Point de terminaison Mantle](/docs/fr/amazon-bedrock#use-the-mantle-endpoint) |

154| `ANTHROPIC_BEDROCK_REGION_PREFIX` | Préfixe du profil d'inférence inter-régions (`us`, `eu`, `apac`, `jp`, `au` ou `global`) que Claude Code essaie d'abord au lieu de celui dérivé de la région AWS. Ignoré dans les régions AWS GovCloud. Nécessite Claude Code v2.1.224 ou ultérieur. Voir [Amazon Bedrock](/docs/fr/amazon-bedrock#cross-region-inference-profile-prefixes) |154| `ANTHROPIC_BEDROCK_REGION_PREFIX` | Préfixe du profil d'inférence inter-régions (`us`, `eu`, `apac`, `jp`, `au` ou `global`) que Claude Code essaie d'abord au lieu de celui dérivé de la région AWS. Ignoré dans les régions AWS GovCloud. Nécessite Claude Code v2.1.224 ou ultérieur. Voir [Amazon Bedrock](/docs/fr/amazon-bedrock#cross-region-inference-profile-prefixes) |

155| `ANTHROPIC_BEDROCK_SERVICE_TIER` | [Niveau de service](/docs/https://docs.aws.amazon.com/bedrock/latest/userguide/service-tiers-inference.html) Amazon Bedrock (`default`, `flex` ou `priority`). Envoyé en tant qu'en-tête `X-Amzn-Bedrock-Service-Tier`. Voir [Amazon Bedrock](/docs/fr/amazon-bedrock#service-tiers) |155| `ANTHROPIC_BEDROCK_SERVICE_TIER` | [Niveau de service](https://docs.aws.amazon.com/bedrock/latest/userguide/service-tiers-inference.html) Amazon Bedrock (`default`, `flex` ou `priority`). Envoyé en tant qu'en-tête `X-Amzn-Bedrock-Service-Tier`. Voir [Amazon Bedrock](/docs/fr/amazon-bedrock#service-tiers) |

156| `ANTHROPIC_BETAS` | Liste séparée par des virgules de valeurs d'en-tête `anthropic-beta` supplémentaires à inclure dans les requêtes API. Claude Code envoie déjà les en-têtes bêta dont il a besoin ; utilisez ceci pour vous inscrire à une [bêta API Anthropic](https://platform.claude.com/docs/en/api/beta-headers) avant que Claude Code n'ajoute le support natif. Contrairement au [drapeau `--betas`](/docs/fr/cli-reference#cli-flags), qui nécessite l'authentification par clé API, cette variable fonctionne avec toutes les méthodes d'authentification, y compris l'abonnement Claude.ai |156| `ANTHROPIC_BETAS` | Liste séparée par des virgules de valeurs d'en-tête `anthropic-beta` supplémentaires à inclure dans les requêtes API. Claude Code envoie déjà les en-têtes bêta dont il a besoin ; utilisez ceci pour vous inscrire à une [bêta API Anthropic](https://platform.claude.com/docs/en/api/beta-headers) avant que Claude Code n'ajoute le support natif. Contrairement au [drapeau `--betas`](/docs/fr/cli-reference#cli-flags), qui nécessite l'authentification par clé API, cette variable fonctionne avec toutes les méthodes d'authentification, y compris l'abonnement Claude.ai |

157| `ANTHROPIC_CUSTOM_HEADERS` | En-têtes personnalisés à ajouter aux requêtes (format `Name: Value`, séparés par des sauts de ligne pour plusieurs en-têtes). Si un nom ou une valeur contient un caractère qu'un en-tête HTTP ne peut pas transporter, comme un guillemet courbe ou un espace de largeur zéro, la requête échoue avec une erreur qui identifie la paire par position. Nécessite Claude Code v2.1.227 ou ultérieur. [Valeur d'en-tête de requête invalide](/docs/fr/errors#invalid-request-header-value) énumère l'ensemble exact des caractères et où la vérification s'exécute. Une valeur qui définit un en-tête d'authentification, d'organisation, de locataire, de routage ou de comportement API, comme `Authorization` ou `Host`, compte comme un [paramètre nécessitant une approbation](/docs/fr/server-managed-settings#environment-variables-and-the-approval-dialog) lorsque les paramètres gérés par le serveur le livrent. À partir des paramètres de projet ou locaux, une telle valeur suit les [règles pour quand les valeurs `env` s'appliquent](/docs/fr/settings-reference#when-claude-code-applies-env-values) |157| `ANTHROPIC_CUSTOM_HEADERS` | En-têtes personnalisés à ajouter aux requêtes (format `Name: Value`, séparés par des sauts de ligne pour plusieurs en-têtes). Si un nom ou une valeur contient un caractère qu'un en-tête HTTP ne peut pas transporter, comme un guillemet courbe ou un espace de largeur zéro, la requête échoue avec une erreur qui identifie la paire par position. Nécessite Claude Code v2.1.227 ou ultérieur. [Valeur d'en-tête de requête invalide](/docs/fr/errors#invalid-request-header-value) énumère l'ensemble exact des caractères et où la vérification s'exécute. Une valeur qui définit un en-tête d'authentification, d'organisation, de locataire, de routage ou de comportement API, comme `Authorization` ou `Host`, compte comme un [paramètre nécessitant une approbation](/docs/fr/server-managed-settings#environment-variables-and-the-approval-dialog) lorsque les paramètres gérés par le serveur le livrent. À partir des paramètres de projet ou locaux, une telle valeur suit les [règles pour quand les valeurs `env` s'appliquent](/docs/fr/settings-reference#when-claude-code-applies-env-values) |

158| `ANTHROPIC_CUSTOM_MODEL_OPTION` | ID de modèle à ajouter en tant qu'entrée personnalisée dans le sélecteur `/model`. Utilisez ceci pour rendre un modèle non standard ou spécifique à une passerelle sélectionnable sans remplacer les alias intégrés. Voir [Configuration du modèle](/docs/fr/model-config#add-a-custom-model-option) |158| `ANTHROPIC_CUSTOM_MODEL_OPTION` | ID de modèle à ajouter en tant qu'entrée personnalisée dans le sélecteur `/model`. Utilisez ceci pour rendre un modèle non standard ou spécifique à une passerelle sélectionnable sans remplacer les alias intégrés. Voir [Configuration du modèle](/docs/fr/model-config#add-a-custom-model-option) |


187| `ANTHROPIC_SMALL_FAST_MODEL` | \[DÉPRÉCIÉ] Nom du [modèle de classe Haiku pour les tâches d'arrière-plan](/docs/fr/costs) |187| `ANTHROPIC_SMALL_FAST_MODEL` | \[DÉPRÉCIÉ] Nom du [modèle de classe Haiku pour les tâches d'arrière-plan](/docs/fr/costs) |

188| `ANTHROPIC_SMALL_FAST_MODEL_AWS_REGION` | Remplacez la région AWS pour le modèle de classe Haiku lors de l'utilisation d'Amazon Bedrock ou Amazon Bedrock Mantle. Sur Amazon Bedrock, cela ne prend effet que lorsque `ANTHROPIC_DEFAULT_HAIKU_MODEL` ou le `ANTHROPIC_SMALL_FAST_MODEL` déprécié est également défini, car Amazon Bedrock exécute autrement les tâches d'arrière-plan sur le [modèle Sonnet par défaut ou le modèle principal](/docs/fr/amazon-bedrock#4-pin-model-versions) dans la région de la session |188| `ANTHROPIC_SMALL_FAST_MODEL_AWS_REGION` | Remplacez la région AWS pour le modèle de classe Haiku lors de l'utilisation d'Amazon Bedrock ou Amazon Bedrock Mantle. Sur Amazon Bedrock, cela ne prend effet que lorsque `ANTHROPIC_DEFAULT_HAIKU_MODEL` ou le `ANTHROPIC_SMALL_FAST_MODEL` déprécié est également défini, car Amazon Bedrock exécute autrement les tâches d'arrière-plan sur le [modèle Sonnet par défaut ou le modèle principal](/docs/fr/amazon-bedrock#4-pin-model-versions) dans la région de la session |

189| `ANTHROPIC_VERTEX_BASE_URL` | Remplacez l'URL du point de terminaison Google Cloud's Agent Platform. Utilisez pour les points de terminaison Google Cloud's Agent Platform personnalisés ou lors du routage via une [passerelle LLM](/docs/fr/llm-gateway). Voir [Google Cloud's Agent Platform](/docs/fr/google-vertex-ai) |189| `ANTHROPIC_VERTEX_BASE_URL` | Remplacez l'URL du point de terminaison Google Cloud's Agent Platform. Utilisez pour les points de terminaison Google Cloud's Agent Platform personnalisés ou lors du routage via une [passerelle LLM](/docs/fr/llm-gateway). Voir [Google Cloud's Agent Platform](/docs/fr/google-vertex-ai) |

190| `ANTHROPIC_VERTEX_PROJECT_ID` | ID de projet GCP pour les requêtes Google Cloud's Agent Platform. Remplacé par `GCLOUD_PROJECT`, `GOOGLE_CLOUD_PROJECT` ou le projet dans votre fichier d'identifiants `GOOGLE_APPLICATION_CREDENTIALS`. Voir [Google Cloud's Agent Platform](/docs/fr/google-vertex-ai) |190| `ANTHROPIC_VERTEX_PROJECT_ID` | ID de projet GCP pour les requêtes Google Cloud's Agent Platform. Voir [Configurer les identifiants GCP](/docs/fr/google-vertex-ai#3-configure-gcp-credentials) |

191| `ANTHROPIC_WORKSPACE_ID` | ID d'espace de travail pour [workload identity federation](https://platform.claude.com/docs/en/manage-claude/workload-identity-federation). Définissez ceci lorsque votre règle de fédération est limitée à plus d'un espace de travail afin que l'échange de jetons sache quel espace de travail cibler |191| `ANTHROPIC_WORKSPACE_ID` | ID d'espace de travail pour [workload identity federation](https://platform.claude.com/docs/en/manage-claude/workload-identity-federation). Définissez ceci lorsque votre règle de fédération est limitée à plus d'un espace de travail afin que l'échange de jetons sache quel espace de travail cibler |

192| `API_FORCE_IDLE_TIMEOUT` | Remplacez le délai d'expiration d'inactivité du corps de 5 minutes qui interrompt une réponse de modèle en continu lorsqu'aucun octet n'arrive. Définissez à `0` pour désactiver le délai d'expiration, par exemple lorsqu'une [passerelle](/docs/fr/llm-gateway) lente ou un modèle local fait une pause plus longue que 5 minutes entre les chunks, ou `1` pour le maintenir activé pour chaque fournisseur. Lorsqu'il n'est pas défini, le délai d'expiration est actif sur les fournisseurs autres que l'API Anthropic directe et [Claude Platform on AWS](/docs/fr/claude-platform-on-aws). Les [chiens de garde de flux](/docs/fr/network-config#streaming-idle-watchdogs) s'exécutent indépendamment et interrompent une longue pause silencieuse même lorsque vous définissez `0` ici |192| `API_FORCE_IDLE_TIMEOUT` | Remplacez le délai d'expiration d'inactivité du corps de 5 minutes qui interrompt une réponse de modèle en continu lorsqu'aucun octet n'arrive. Définissez à `0` pour désactiver le délai d'expiration, par exemple lorsqu'une [passerelle](/docs/fr/llm-gateway) lente ou un modèle local fait une pause plus longue que 5 minutes entre les chunks, ou `1` pour le maintenir activé pour chaque fournisseur. Lorsqu'il n'est pas défini, le délai d'expiration est actif sur les fournisseurs autres que l'API Anthropic directe et [Claude Platform on AWS](/docs/fr/claude-platform-on-aws). Les [chiens de garde de flux](/docs/fr/network-config#streaming-idle-watchdogs) s'exécutent indépendamment et interrompent une longue pause silencieuse même lorsque vous définissez `0` ici |

193| `API_TIMEOUT_MS` | Délai d'expiration pour les requêtes API en millisecondes (par défaut : 600000, ou 10 minutes ; maximum : 2147483647). Augmentez ceci lorsque les requêtes expirent sur les réseaux lents ou lors du routage via un proxy. Les valeurs au-dessus du maximum débordent la minuterie sous-jacente et causent l'échec immédiat des requêtes |193| `API_TIMEOUT_MS` | Délai d'expiration pour les requêtes API en millisecondes (par défaut : 600000, ou 10 minutes ; maximum : 2147483647). Augmentez ceci lorsque les requêtes expirent sur les réseaux lents ou lors du routage via un proxy. Les valeurs au-dessus du maximum débordent la minuterie sous-jacente et causent l'échec immédiat des requêtes |


196| `BASH_MAX_OUTPUT_LENGTH` | Nombre maximum de caractères de sortie bash que Claude Code relit dans le résultat d'une commande (par défaut : 30000 ; maximum : 150000). Si vous définissez le paramètre [`bashOutputMaxChars`](/docs/fr/settings-reference#bashoutputmaxchars), Claude Code ignore cette variable. Voir [Limites de sortie](/docs/fr/tools-reference#output-limits) |196| `BASH_MAX_OUTPUT_LENGTH` | Nombre maximum de caractères de sortie bash que Claude Code relit dans le résultat d'une commande (par défaut : 30000 ; maximum : 150000). Si vous définissez le paramètre [`bashOutputMaxChars`](/docs/fr/settings-reference#bashoutputmaxchars), Claude Code ignore cette variable. Voir [Limites de sortie](/docs/fr/tools-reference#output-limits) |

197| `BASH_MAX_TIMEOUT_MS` | Délai d'expiration maximum que le modèle peut définir pour les commandes bash longues (par défaut : 600000, ou 10 minutes). Le plafond effectif est le plus grand de ceci et `BASH_DEFAULT_TIMEOUT_MS` |197| `BASH_MAX_TIMEOUT_MS` | Délai d'expiration maximum que le modèle peut définir pour les commandes bash longues (par défaut : 600000, ou 10 minutes). Le plafond effectif est le plus grand de ceci et `BASH_DEFAULT_TIMEOUT_MS` |

198| `BETA_TRACING_ENDPOINT` | Point de terminaison OTLP pour le [traçage bêta détaillé](/docs/fr/monitoring-usage#traces-beta) : avec `ENABLE_BETA_TRACING_DETAILED=1`, les journaux et les traces vont là au lieu des exportateurs configurés. Définissez-le dans votre shell, vos paramètres utilisateur ou vos paramètres gérés. Ignoré dans les [paramètres de projet et locaux](/docs/fr/settings-reference#variables-claude-code-ignores-in-env) |198| `BETA_TRACING_ENDPOINT` | Point de terminaison OTLP pour le [traçage bêta détaillé](/docs/fr/monitoring-usage#traces-beta) : avec `ENABLE_BETA_TRACING_DETAILED=1`, les journaux et les traces vont là au lieu des exportateurs configurés. Définissez-le dans votre shell, vos paramètres utilisateur ou vos paramètres gérés. Ignoré dans les [paramètres de projet et locaux](/docs/fr/settings-reference#variables-claude-code-ignores-in-env) |

199| `CCR_FORCE_BUNDLE` | Définissez à `1` pour forcer [`claude --cloud`](/docs/fr/claude-code-on-the-web#send-local-repositories-without-github) à regrouper et télécharger votre référentiel local même lorsque l'accès GitHub est disponible |199| `CCR_FORCE_BUNDLE` | Définissez à `1` pour forcer [`claude --cloud`](/docs/fr/claude-code-on-the-web#send-local-repositories-without-github) à regrouper et télécharger votre référentiel local au lieu de cloner à partir de son distant |

200| `CLAUDECODE` | Définissez à `1` dans les sous-processus que Claude Code génère (outils Bash et PowerShell, sessions tmux, commandes [hook](/docs/fr/hooks), commandes [status line](/docs/fr/statusline), sous-processus [serveur MCP](/docs/fr/mcp) stdio). Les extensions IDE définissent également ceci dans leurs terminaux intégrés. Utilisez pour détecter quand un script s'exécute à l'intérieur d'un sous-processus généré par Claude Code. Pour vérifier si le processus actuel a été généré directement par un appel d'outil ou un hook, plutôt qu'à l'intérieur d'un serveur MCP stdio que Claude Code a démarré, utilisez `CLAUDE_CODE_CHILD_SESSION` à la place |200| `CLAUDECODE` | Définissez à `1` dans les sous-processus que Claude Code génère (outils Bash et PowerShell, sessions tmux, commandes [hook](/docs/fr/hooks), commandes [status line](/docs/fr/statusline), sous-processus [serveur MCP](/docs/fr/mcp) stdio). Les extensions IDE définissent également ceci dans leurs terminaux intégrés. Utilisez pour détecter quand un script s'exécute à l'intérieur d'un sous-processus généré par Claude Code. Pour vérifier si le processus actuel a été généré directement par un appel d'outil ou un hook, plutôt qu'à l'intérieur d'un serveur MCP stdio que Claude Code a démarré, utilisez `CLAUDE_CODE_CHILD_SESSION` à la place |

201| `CLAUDE_AFK_COUNTDOWN_MS` | Combien de millisecondes avant le compte à rebours du auto-continue apparaît sur un dialogue [`AskUserQuestion`](/docs/fr/tools-reference) sans réponse. Par défaut `20000` (20 secondes), limité au délai d'expiration du auto-continue. N'a aucun effet sauf si le auto-continue est activé ; voir le paramètre [`askUserQuestionTimeout`](/docs/fr/settings-reference#askuserquestiontimeout) et `CLAUDE_AFK_TIMEOUT_MS`. Nécessite Claude Code v2.1.198 ou ultérieur |201| `CLAUDE_AFK_COUNTDOWN_MS` | Combien de millisecondes avant le compte à rebours du auto-continue apparaît sur un dialogue [`AskUserQuestion`](/docs/fr/tools-reference) sans réponse. Par défaut `20000` (20 secondes), limité au délai d'expiration du auto-continue. N'a aucun effet sauf si le auto-continue est activé ; voir le paramètre [`askUserQuestionTimeout`](/docs/fr/settings-reference#askuserquestiontimeout) et `CLAUDE_AFK_TIMEOUT_MS`. Nécessite Claude Code v2.1.198 ou ultérieur |

202| `CLAUDE_AFK_TIMEOUT_MS` | Combien de millisecondes de temps d'inactivité avant qu'un dialogue [`AskUserQuestion`](/docs/fr/tools-reference) sans réponse se poursuive automatiquement sans vous. Le auto-continue est désactivé par défaut ; activez-le avec le paramètre [`askUserQuestionTimeout`](/docs/fr/settings-reference#askuserquestiontimeout). Cette variable est une substitution pour les démos et les tests automatisés : lorsqu'elle est définie, elle a la priorité sur ce paramètre et active le auto-continue même lorsque le paramètre n'est pas défini ou est `never`. Définir `0` ne désactive pas le délai d'expiration ; cela ferme le dialogue immédiatement. Dans v2.1.198 et v2.1.199, le auto-continue était activé par défaut avec un délai d'expiration de `60000` (60 secondes). Nécessite Claude Code v2.1.198 ou ultérieur |202| `CLAUDE_AFK_TIMEOUT_MS` | Combien de millisecondes de temps d'inactivité avant qu'un dialogue [`AskUserQuestion`](/docs/fr/tools-reference) sans réponse se poursuive automatiquement sans vous. Le auto-continue est désactivé par défaut ; activez-le avec le paramètre [`askUserQuestionTimeout`](/docs/fr/settings-reference#askuserquestiontimeout). Cette variable est une substitution pour les démos et les tests automatisés : lorsqu'elle est définie, elle a la priorité sur ce paramètre et active le auto-continue même lorsque le paramètre n'est pas défini ou est `never`. Définir `0` ne désactive pas le délai d'expiration ; cela ferme le dialogue immédiatement. Dans v2.1.198 et v2.1.199, le auto-continue était activé par défaut avec un délai d'expiration de `60000` (60 secondes). Nécessite Claude Code v2.1.198 ou ultérieur |


216| `CLAUDE_CODE_ALT_SCREEN_FULL_REPAINT` | Définissez à `1` pour repeindre l'écran entier à chaque image en [rendu plein écran](/docs/fr/fullscreen) au lieu d'envoyer des mises à jour incrémentielles. Utilisez ceci si le mode plein écran affiche des fragments de texte obsolètes ou mal placés. Claude Code active ceci automatiquement pour les sessions d'arrière-plan et la [vue agent](/docs/fr/agent-view) sur Windows |216| `CLAUDE_CODE_ALT_SCREEN_FULL_REPAINT` | Définissez à `1` pour repeindre l'écran entier à chaque image en [rendu plein écran](/docs/fr/fullscreen) au lieu d'envoyer des mises à jour incrémentielles. Utilisez ceci si le mode plein écran affiche des fragments de texte obsolètes ou mal placés. Claude Code active ceci automatiquement pour les sessions d'arrière-plan et la [vue agent](/docs/fr/agent-view) sur Windows |

217| `CLAUDE_CODE_ALWAYS_ENABLE_EFFORT` | Définissez à `1` pour envoyer le paramètre [effort](/docs/fr/model-config#adjust-effort-level) avec chaque requête, même lorsque Claude Code ne reconnaît pas l'ID du modèle comme capable d'effort. Utilisez ceci lors du routage via une [passerelle LLM](/docs/fr/llm-gateway) ou un fournisseur tiers qui sert les modèles sous des identifiants personnalisés. Les modèles qui rejettent le paramètre d'effort à l'API, y compris les modèles Claude 3, Sonnet 4.0 et 4.5, Opus 4.0 et 4.1, et Haiku 4.5, sont toujours exclus afin que les requêtes ne échouent pas |217| `CLAUDE_CODE_ALWAYS_ENABLE_EFFORT` | Définissez à `1` pour envoyer le paramètre [effort](/docs/fr/model-config#adjust-effort-level) avec chaque requête, même lorsque Claude Code ne reconnaît pas l'ID du modèle comme capable d'effort. Utilisez ceci lors du routage via une [passerelle LLM](/docs/fr/llm-gateway) ou un fournisseur tiers qui sert les modèles sous des identifiants personnalisés. Les modèles qui rejettent le paramètre d'effort à l'API, y compris les modèles Claude 3, Sonnet 4.0 et 4.5, Opus 4.0 et 4.1, et Haiku 4.5, sont toujours exclus afin que les requêtes ne échouent pas |

218| `CLAUDE_CODE_API_KEY_HELPER_TTL_MS` | Intervalle en millisecondes auquel les identifiants doivent être actualisés (lors de l'utilisation de [`apiKeyHelper`](/docs/fr/settings-reference#apikeyhelper)) |218| `CLAUDE_CODE_API_KEY_HELPER_TTL_MS` | Intervalle en millisecondes auquel les identifiants doivent être actualisés (lors de l'utilisation de [`apiKeyHelper`](/docs/fr/settings-reference#apikeyhelper)) |

219| `CLAUDE_CODE_ARTIFACT_AUTO_OPEN` | Définissez à `0` pour empêcher Claude Code d'ouvrir le navigateur automatiquement lorsqu'un nouvel [artifact](/docs/fr/artifacts) est publié. La republication d'un artifact existant n'ouvre pas le navigateur quel que soit ce paramètre |219| `CLAUDE_CODE_ARTIFACT_AUTO_OPEN` | Définissez à `0` pour empêcher Claude Code d'ouvrir le navigateur automatiquement lorsqu'un nouvel [artifact](/docs/fr/artifacts#create-an-artifact) est publié |

220| `CLAUDE_CODE_ARTIFACT_COMMENTS` | Définissez à `0` pour arrêter la lecture et la réponse de Claude aux [commentaires sur un artifact](/docs/fr/artifacts#collect-comments-on-an-artifact). N'a aucun effet lorsque `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` a [désactivé les artifacts](/docs/fr/artifacts#availability). Nécessite Claude Code v2.1.221 ou ultérieur |220| `CLAUDE_CODE_ARTIFACT_COMMENTS` | Définissez à `0` pour arrêter la lecture et la réponse de Claude aux [commentaires sur un artifact](/docs/fr/artifacts#collect-comments-on-an-artifact). N'a aucun effet lorsque `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` a [désactivé les artifacts](/docs/fr/artifacts#availability). Nécessite Claude Code v2.1.221 ou ultérieur |

221| `CLAUDE_CODE_ARTIFACT_COMMENTS_AUTOREACT` | Définissez à `0` pour arrêter Claude de [répondre de lui-même aux commentaires envoyés](/docs/fr/artifacts#let-claude-reply-to-comments-on-its-own). Nécessite Claude Code v2.1.228 ou ultérieur |221| `CLAUDE_CODE_ARTIFACT_COMMENTS_AUTOREACT` | Définissez à `0` pour arrêter Claude de [répondre de lui-même aux commentaires envoyés](/docs/fr/artifacts#let-claude-reply-to-comments-on-its-own). Nécessite Claude Code v2.1.228 ou ultérieur |

222| `CLAUDE_CODE_ATTRIBUTION_HEADER` | Définissez à `0` pour omettre le [bloc d'attribution](/docs/fr/llm-gateway-protocol#system-prompt-attribution-block), qui porte la version du client et une empreinte digitale du prompt, du début du prompt système. La mise en cache sur une connexion directe à l'API Anthropic n'est pas affectée de toute façon. Dans certaines configurations de connexion directe, Claude Code garde le bloc sur les requêtes du classificateur [mode auto](/docs/fr/permission-modes#eliminate-prompts-with-auto-mode) même lorsque vous définissez `0`. Dans [Bloc d'attribution du prompt système](/docs/fr/llm-gateway-protocol#system-prompt-attribution-block), vérifiez quelles connexions et identifiants cela couvre. Avant v2.1.181, le bloc incluait un jeton par requête sur les URL de base personnalisées et les connexions Microsoft Foundry, donc sur ces versions, définissez-le à `0` lorsque votre passerelle LLM met en cache sur le corps de la requête ou transfère les requêtes à un fournisseur tiers, ou lorsque vous vous connectez directement à Microsoft Foundry |222| `CLAUDE_CODE_ATTRIBUTION_HEADER` | Définissez à `0` pour omettre le [bloc d'attribution](/docs/fr/llm-gateway-protocol#system-prompt-attribution-block), qui porte la version du client et une empreinte digitale du prompt, du début du prompt système. La mise en cache sur une connexion directe à l'API Anthropic n'est pas affectée de toute façon. Dans certaines configurations de connexion directe, Claude Code garde le bloc sur les requêtes du classificateur [mode auto](/docs/fr/permission-modes#eliminate-prompts-with-auto-mode) même lorsque vous définissez `0`. Dans [Bloc d'attribution du prompt système](/docs/fr/llm-gateway-protocol#system-prompt-attribution-block), vérifiez quelles connexions et identifiants cela couvre. Avant v2.1.181, le bloc incluait un jeton par requête sur les URL de base personnalisées et les connexions Microsoft Foundry, donc sur ces versions, définissez-le à `0` lorsque votre passerelle LLM met en cache sur le corps de la requête ou transfère les requêtes à un fournisseur tiers, ou lorsque vous vous connectez directement à Microsoft Foundry |


269| `CLAUDE_CODE_DISABLE_PERMISSION_PROMPT_NOTIFY_HOOKS` | Définissez à `1` pour empêcher Claude Code d'exécuter vos [hooks de notification pour les demandes de permission sans réponse](/docs/fr/hooks#notification) dans les sessions où Claude Code les envoie au rappel `canUseTool` du SDK Agent, ce qui est la façon dont Claude Desktop et l'extension VS Code hébergent Claude Code. N'a aucun effet dans les sessions de terminal. Nécessite Claude Code v2.1.233 ou ultérieur |269| `CLAUDE_CODE_DISABLE_PERMISSION_PROMPT_NOTIFY_HOOKS` | Définissez à `1` pour empêcher Claude Code d'exécuter vos [hooks de notification pour les demandes de permission sans réponse](/docs/fr/hooks#notification) dans les sessions où Claude Code les envoie au rappel `canUseTool` du SDK Agent, ce qui est la façon dont Claude Desktop et l'extension VS Code hébergent Claude Code. N'a aucun effet dans les sessions de terminal. Nécessite Claude Code v2.1.233 ou ultérieur |

270| `CLAUDE_CODE_DISABLE_POLICY_SKILLS` | Définissez à `1` pour ignorer le chargement des compétences à partir du répertoire des compétences gérées à l'échelle du système. Utile pour les sessions de conteneur ou CI qui ne doivent pas charger les compétences provisionnées par l'opérateur |270| `CLAUDE_CODE_DISABLE_POLICY_SKILLS` | Définissez à `1` pour ignorer le chargement des compétences à partir du répertoire des compétences gérées à l'échelle du système. Utile pour les sessions de conteneur ou CI qui ne doivent pas charger les compétences provisionnées par l'opérateur |

271| `CLAUDE_CODE_DISABLE_TERMINAL_TITLE` | Définissez à `1` pour désactiver les mises à jour automatiques du titre du terminal en fonction du contexte de la conversation. Dans les sessions SDK Agent et `claude -p`, cela ignore également la requête de modèle petit/rapide d'arrière-plan qui génère le titre de la session |271| `CLAUDE_CODE_DISABLE_TERMINAL_TITLE` | Définissez à `1` pour désactiver les mises à jour automatiques du titre du terminal en fonction du contexte de la conversation. Dans les sessions SDK Agent et `claude -p`, cela ignore également la requête de modèle petit/rapide d'arrière-plan qui génère le titre de la session |

272| `CLAUDE_CODE_DISABLE_THINKING` | Définissez à `1` pour omettre complètement le paramètre `thinking` des requêtes API. C'est une option de compatibilité pour les passerelles et les proxies qui rejettent le paramètre. Le comportement de la variable est inchangé par rapport aux versions antérieures ; sur les modèles qui pensent par défaut, l'omission du paramètre signifie que le modèle peut toujours penser. Pour désactiver explicitement la [réflexion étendue](https://platform.claude.com/docs/en/build-with-claude/extended-thinking) sur l'API Anthropic, utilisez `MAX_THINKING_TOKENS=0` à la place, qui est également inefficace sur les [modèles Fable](/docs/fr/model-config#extended-thinking) car ils ne peuvent pas avoir la réflexion désactivée. Sur les [fournisseurs tiers](/docs/fr/third-party-integrations), `0` omet également le paramètre, afin que les deux variables se comportent de la même manière là |272| `CLAUDE_CODE_DISABLE_THINKING` | Définissez à `1` pour omettre complètement le paramètre `thinking` des requêtes API. C'est une option de compatibilité pour les passerelles et les proxies qui rejettent le paramètre. Sur les modèles qui pensent par défaut, l'omission du paramètre signifie que le modèle peut toujours penser. Pour désactiver explicitement la [réflexion étendue](https://platform.claude.com/docs/en/build-with-claude/extended-thinking) sur l'API Anthropic, utilisez `MAX_THINKING_TOKENS=0` à la place. Ni l'une ni l'autre variable ne désactive la réflexion sur les modèles Fable, qui ne peuvent pas avoir la réflexion désactivée. Sur les [fournisseurs tiers](/docs/fr/third-party-integrations), `MAX_THINKING_TOKENS=0` omet également le paramètre, afin que les deux variables se comportent de la même manière là |

273| `CLAUDE_CODE_DISABLE_UNKNOWN_MODEL_WINDOW_ENFORCEMENT` | Définissez à `1` pour ignorer la [compaction automatique](/docs/fr/costs#reduce-token-usage) proactive lorsque Claude Code ne reconnaît pas l'ID du modèle, comme un alias de [passerelle LLM](/docs/fr/llm-gateway). Sans cette variable, Claude Code compacte à la fenêtre de contexte qu'il suppose pour l'ID. `CLAUDE_CODE_MAX_CONTEXT_TOKENS` peut corriger la fenêtre supposée à la place ; voir [Corriger la fenêtre pour un ID de modèle de passerelle ou personnalisé](/docs/fr/model-config#correct-the-window-for-a-gateway-or-custom-model-id) pour savoir quand chaque variable s'applique. Nécessite Claude Code v2.1.223 ou ultérieur |273| `CLAUDE_CODE_DISABLE_UNKNOWN_MODEL_WINDOW_ENFORCEMENT` | Définissez à `1` pour ignorer la [compaction automatique](/docs/fr/costs#reduce-token-usage) proactive lorsque Claude Code ne reconnaît pas l'ID du modèle, comme un alias de [passerelle LLM](/docs/fr/llm-gateway). Sans cette variable, Claude Code compacte à la fenêtre de contexte qu'il suppose pour l'ID. `CLAUDE_CODE_MAX_CONTEXT_TOKENS` peut corriger la fenêtre supposée à la place ; voir [Corriger la fenêtre pour un ID de modèle de passerelle ou personnalisé](/docs/fr/model-config#correct-the-window-for-a-gateway-or-custom-model-id) pour savoir quand chaque variable s'applique. Nécessite Claude Code v2.1.223 ou ultérieur |

274| `CLAUDE_CODE_DISABLE_VIRTUAL_SCROLL` | Définissez à `1` pour désactiver le défilement virtuel en [rendu plein écran](/docs/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 |274| `CLAUDE_CODE_DISABLE_VIRTUAL_SCROLL` | Définissez à `1` pour désactiver le défilement virtuel en [rendu plein écran](/docs/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 |

275| `CLAUDE_CODE_DISABLE_WORKFLOWS` | Définissez à `1` pour désactiver les [workflows](/docs/fr/workflows#turn-workflows-off). Équivalent au paramètre [`disableWorkflows`](/docs/fr/settings-reference#disableworkflows) |275| `CLAUDE_CODE_DISABLE_WORKFLOWS` | Définissez à `1` pour désactiver les [workflows](/docs/fr/workflows#turn-workflows-off). Équivalent au paramètre [`disableWorkflows`](/docs/fr/settings-reference#disableworkflows) |

276| `CLAUDE_CODE_EFFORT_LEVEL` | Définissez le niveau d'effort pour les modèles supportés. Valeurs : `low`, `medium`, `high`, `xhigh`, `max` ou `auto` pour utiliser la valeur par défaut du modèle. Les niveaux disponibles dépendent du modèle. A la priorité sur `--effort`, `/effort` et les paramètres `modelSettings` et `effortLevel`. Voir [Ajuster le niveau d'effort](/docs/fr/model-config#adjust-effort-level) |276| `CLAUDE_CODE_EFFORT_LEVEL` | Définissez le niveau d'effort pour les modèles supportés. Valeurs : `low`, `medium`, `high`, `xhigh`, `max` ou `auto` pour utiliser la valeur par défaut du modèle. Les niveaux disponibles dépendent du modèle. A la priorité sur `--effort`, `/effort` et les paramètres `modelSettings` et `effortLevel`. Un plafond [`maxEffortLevel`](/docs/fr/settings-reference#maxeffortlevel) s'applique toujours. Voir [Ajuster le niveau d'effort](/docs/fr/model-config#adjust-effort-level) |

277| `CLAUDE_CODE_ENABLE_APPEND_SUBAGENT_PROMPT` | Définissez à `1` pour activer l'ajout de texte supplémentaire à la fin du prompt système de chaque [sous-agent](/docs/fr/sub-agents) autre qu'un [sous-agent forké](/docs/fr/sub-agents#fork-the-current-conversation). Les drapeaux [`--append-subagent-system-prompt`](/docs/fr/cli-reference#cli-flags) et [`--append-subagent-system-prompt-file`](/docs/fr/cli-reference#cli-flags) fournissent le texte ajouté et définissent cette variable automatiquement, afin que vous n'ayez pas besoin de la définir vous-même. Nécessite Claude Code v2.1.205 ou ultérieur |277| `CLAUDE_CODE_ENABLE_APPEND_SUBAGENT_PROMPT` | Définissez à `1` pour activer l'ajout de texte supplémentaire à la fin du prompt système de chaque [sous-agent](/docs/fr/sub-agents) autre qu'un [sous-agent forké](/docs/fr/sub-agents#fork-the-current-conversation). Les drapeaux [`--append-subagent-system-prompt`](/docs/fr/cli-reference#cli-flags) et [`--append-subagent-system-prompt-file`](/docs/fr/cli-reference#cli-flags) fournissent le texte ajouté et définissent cette variable automatiquement, afin que vous n'ayez pas besoin de la définir vous-même. Nécessite Claude Code v2.1.205 ou ultérieur |

278| `CLAUDE_CODE_ENABLE_AUTO_MODE` | Accepté pour la compatibilité avec les versions antérieures et n'a aucun effet. Le mode auto est disponible par défaut sur chaque fournisseur, y compris Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry et les sessions de passerelle [Claude apps](/docs/fr/claude-apps-gateway) signées. Dans v2.1.158 à v2.1.206, définir ceci à `1` était nécessaire pour rendre le [mode auto](/docs/fr/permission-modes#eliminate-prompts-with-auto-mode) disponible sur ces fournisseurs |278| `CLAUDE_CODE_ENABLE_AUTO_MODE` | Accepté pour la compatibilité avec les versions antérieures et n'a aucun effet. Le mode auto est disponible par défaut sur chaque fournisseur, y compris Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry et les sessions de passerelle [Claude apps](/docs/fr/claude-apps-gateway) signées. Dans v2.1.158 à v2.1.206, définir ceci à `1` était nécessaire pour rendre le [mode auto](/docs/fr/permission-modes#eliminate-prompts-with-auto-mode) disponible sur ces fournisseurs |

279| `CLAUDE_CODE_ENABLE_AWAY_SUMMARY` | Remplacez la disponibilité du [récapitulatif de session](/docs/fr/interactive-mode#session-recap). Définissez à `0` pour forcer les récapitulatifs désactivés quel que soit le basculement `/config`. Définissez à `1` pour forcer les récapitulatifs activés lorsque [`awaySummaryEnabled`](/docs/fr/settings-reference#awaysummaryenabled) est `false`. A la priorité sur le paramètre et le basculement `/config` |279| `CLAUDE_CODE_ENABLE_AWAY_SUMMARY` | Remplacez la disponibilité du [récapitulatif de session](/docs/fr/interactive-mode#session-recap). Définissez à `0` pour forcer les récapitulatifs désactivés quel que soit le basculement `/config`. Définissez à `1` pour forcer les récapitulatifs activés lorsque [`awaySummaryEnabled`](/docs/fr/settings-reference#awaysummaryenabled) est `false`. A la priorité sur le paramètre et le basculement `/config` |


285| `CLAUDE_CODE_ENABLE_PROMPT_SUGGESTION` | Définissez à `false` pour désactiver les suggestions de prompt, les prédictions grisées qui apparaissent dans votre entrée de prompt. A la priorité sur le paramètre [`promptSuggestionEnabled`](/docs/fr/settings-reference#promptsuggestionenabled), qui est ce que le basculement **Suggestions de prompt** dans `/config` écrit. Claude Code [met également en pause les suggestions tandis que votre compte est proche ou à sa limite d'utilisation](/docs/fr/interactive-mode#when-claude-code-skips-suggestions). Définissez à `true` pour les garder activées jusqu'à ce que vous atteigniez la limite. Nécessite Claude Code v2.1.238 ou ultérieur. Voir [Suggestions de prompt](/docs/fr/interactive-mode#prompt-suggestions) |285| `CLAUDE_CODE_ENABLE_PROMPT_SUGGESTION` | Définissez à `false` pour désactiver les suggestions de prompt, les prédictions grisées qui apparaissent dans votre entrée de prompt. A la priorité sur le paramètre [`promptSuggestionEnabled`](/docs/fr/settings-reference#promptsuggestionenabled), qui est ce que le basculement **Suggestions de prompt** dans `/config` écrit. Claude Code [met également en pause les suggestions tandis que votre compte est proche ou à sa limite d'utilisation](/docs/fr/interactive-mode#when-claude-code-skips-suggestions). Définissez à `true` pour les garder activées jusqu'à ce que vous atteigniez la limite. Nécessite Claude Code v2.1.238 ou ultérieur. Voir [Suggestions de prompt](/docs/fr/interactive-mode#prompt-suggestions) |

286| `CLAUDE_CODE_ENABLE_TASKS` | Sélectionne les outils de suivi des tâches que Claude Code fournit dans les [sessions qui les ont](/docs/fr/tools-reference#task-tool-availability). Par défaut, Claude Code fournit les outils Task `TaskCreate`, `TaskUpdate`, `TaskGet` et `TaskList`. Définissez à `0` pour obtenir l'outil `TodoWrite` hérité à la place. Voir [Liste des tâches](/docs/fr/interactive-mode#task-list) |286| `CLAUDE_CODE_ENABLE_TASKS` | Sélectionne les outils de suivi des tâches que Claude Code fournit dans les [sessions qui les ont](/docs/fr/tools-reference#task-tool-availability). Par défaut, Claude Code fournit les outils Task `TaskCreate`, `TaskUpdate`, `TaskGet` et `TaskList`. Définissez à `0` pour obtenir l'outil `TodoWrite` hérité à la place. Voir [Liste des tâches](/docs/fr/interactive-mode#task-list) |

287| `CLAUDE_CODE_ENABLE_TELEMETRY` | Définissez à `1` pour activer la collecte de données OpenTelemetry pour les métriques et la journalisation. Requis avant de configurer les exportateurs OTel. Voir [Surveillance](/docs/fr/monitoring-usage) |287| `CLAUDE_CODE_ENABLE_TELEMETRY` | Définissez à `1` pour activer la collecte de données OpenTelemetry pour les métriques et la journalisation. Requis avant de configurer les exportateurs OTel. Voir [Surveillance](/docs/fr/monitoring-usage) |

288| `CLAUDE_CODE_ENABLE_TODO_TOOLS` | Définissez à `1` pour obtenir les outils de suivi des tâches sur les modèles énumérés sous [Disponibilité des outils Task](/docs/fr/tools-reference#task-tool-availability), où Claude Code les laisse autrement de côté. `CLAUDE_CODE_ENABLE_TASKS` sélectionne toujours les outils Task ou `TodoWrite`. Nécessite Claude Code v2.1.233 ou ultérieur |288| `CLAUDE_CODE_ENABLE_TODO_TOOLS` | Définissez à `1` pour obtenir les outils de suivi des tâches sur chaque modèle. Sans ceci, Claude Code les fournit par défaut uniquement sur les modèles énumérés sous [Disponibilité des outils Task](/docs/fr/tools-reference#task-tool-availability). `CLAUDE_CODE_ENABLE_TASKS` sélectionne toujours les outils Task ou `TodoWrite`. Nécessite Claude Code v2.1.233 ou ultérieur |

289| `CLAUDE_CODE_EXIT_AFTER_STOP_DELAY` | Temps en millisecondes à attendre après que la boucle de requête devienne inactive avant de quitter automatiquement. Utile pour les workflows automatisés et les scripts utilisant le mode SDK |289| `CLAUDE_CODE_EXIT_AFTER_STOP_DELAY` | Temps en millisecondes à attendre après que la boucle de requête devienne inactive avant de quitter automatiquement. Utile pour les workflows automatisés et les scripts utilisant le mode SDK |

290| `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS` | Définissez à `1` pour activer les [équipes d'agents](/docs/fr/agent-teams). Les équipes d'agents sont expérimentales et désactivées par défaut |290| `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS` | Définissez à `1` pour activer les [équipes d'agents](/docs/fr/agent-teams). Les équipes d'agents sont expérimentales et désactivées par défaut |

291| `CLAUDE_CODE_EXTRA_BODY` | Objet JSON à fusionner au niveau supérieur de chaque corps de requête API. Utile pour transmettre les paramètres spécifiques au fournisseur que Claude Code n'expose pas directement. Une valeur exportée dans votre shell s'applique également aux [sessions d'arrière-plan](/docs/fr/agent-view) que vous distribuez avec `claude agents` ou `--bg`. Avant v2.1.206, les sessions d'arrière-plan ignoraient une valeur exportée par le shell et utilisaient la copie que le processus superviseur d'arrière-plan héritait |291| `CLAUDE_CODE_EXTRA_BODY` | Objet JSON à fusionner au niveau supérieur de chaque corps de requête API. Utile pour transmettre les paramètres spécifiques au fournisseur que Claude Code n'expose pas directement. Une valeur exportée dans votre shell s'applique également aux [sessions d'arrière-plan](/docs/fr/agent-view) que vous distribuez avec `claude agents` ou `--bg`. Avant v2.1.206, les sessions d'arrière-plan ignoraient une valeur exportée par le shell et utilisaient la copie que le processus superviseur d'arrière-plan héritait |


320| `CLAUDE_CODE_MESSAGING_TOKEN` | Défini par Claude Code, pas par vous : dans les sessions qui lient une [socket de boîte de réception](/docs/fr/cross-session-messaging#the-sessions-inbox-socket), Claude Code exporte ce jeton par session aux hooks et aux commandes Bash aux côtés de `CLAUDE_CODE_MESSAGING_SOCKET`. Un script affichant sur la socket peut envoyer `{"type":"auth","token":"<token>"}` comme sa première ligne pour prouver qu'il appartient à la session. Sur Windows natif, Claude Code nécessite cette ligne et ferme toute connexion qui ne s'ouvre pas avec une valeur valide. Les [règles propres-enfant](/docs/fr/cross-session-messaging#the-sessions-inbox-socket) disent quand Claude Code consulte le jeton. Chaque session exporte son propre jeton, jamais un hérité d'une session parent. Les blocs `env` des paramètres ne peuvent pas le définir. Nécessite Claude Code v2.1.228 ou ultérieur |320| `CLAUDE_CODE_MESSAGING_TOKEN` | Défini par Claude Code, pas par vous : dans les sessions qui lient une [socket de boîte de réception](/docs/fr/cross-session-messaging#the-sessions-inbox-socket), Claude Code exporte ce jeton par session aux hooks et aux commandes Bash aux côtés de `CLAUDE_CODE_MESSAGING_SOCKET`. Un script affichant sur la socket peut envoyer `{"type":"auth","token":"<token>"}` comme sa première ligne pour prouver qu'il appartient à la session. Sur Windows natif, Claude Code nécessite cette ligne et ferme toute connexion qui ne s'ouvre pas avec une valeur valide. Les [règles propres-enfant](/docs/fr/cross-session-messaging#the-sessions-inbox-socket) disent quand Claude Code consulte le jeton. Chaque session exporte son propre jeton, jamais un hérité d'une session parent. Les blocs `env` des paramètres ne peuvent pas le définir. Nécessite Claude Code v2.1.228 ou ultérieur |

321| `CLAUDE_CODE_NATIVE_CURSOR` | Définissez à `1` pour afficher le curseur propre du terminal à la position du 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 |321| `CLAUDE_CODE_NATIVE_CURSOR` | Définissez à `1` pour afficher le curseur propre du terminal à la position du 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 |

322| `CLAUDE_CODE_NEW_INIT` | Définissez à `1` pour faire exécuter `/init` un flux de configuration interactif. Le flux demande quels fichiers générer, y compris CLAUDE.md, les compétences et les 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 |322| `CLAUDE_CODE_NEW_INIT` | Définissez à `1` pour faire exécuter `/init` un flux de configuration interactif. Le flux demande quels fichiers générer, y compris CLAUDE.md, les compétences et les 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 |

323| `CLAUDE_CODE_NONBLOCKING_STDOUT` | Définissez à `1` pour écrire la sortie du terminal via un deuxième descripteur de fichier non-bloquant, afin qu'un terminal qui arrête la lecture, comme un volet tmux en mode contrôle en pause ou une connexion SSH bloquée, ne puisse pas geler Claude Code en milieu de session. S'applique sur macOS, Linux et WSL lorsque stdout est un terminal. Nécessite Claude Code v2.1.261 ou ultérieur |

323| `CLAUDE_CODE_NO_FLICKER` | Définissez à `1` pour activer le [rendu plein écran](/docs/fr/fullscreen), un aperçu de recherche qui réduit le scintillement et garde la mémoire plate dans les longues conversations. Remplace le paramètre [`tui`](/docs/fr/settings-reference#tui) ; vous pouvez également basculer avec `/tui fullscreen` |324| `CLAUDE_CODE_NO_FLICKER` | Définissez à `1` pour activer le [rendu plein écran](/docs/fr/fullscreen), un aperçu de recherche qui réduit le scintillement et garde la mémoire plate dans les longues conversations. Remplace le paramètre [`tui`](/docs/fr/settings-reference#tui) ; vous pouvez également basculer avec `/tui fullscreen` |

324| `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 |325| `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 |

325| `CLAUDE_CODE_OAUTH_SCOPES` | Portées OAuth séparées par des espaces avec lesquelles le jeton d'actualisation a été émis, comme `"user:profile user:inference user:sessions:claude_code"`. Requis lorsque `CLAUDE_CODE_OAUTH_REFRESH_TOKEN` est défini |326| `CLAUDE_CODE_OAUTH_SCOPES` | Portées OAuth séparées par des espaces avec lesquelles le jeton d'actualisation a été émis, comme `"user:profile user:inference user:sessions:claude_code"`. Requis lorsque `CLAUDE_CODE_OAUTH_REFRESH_TOKEN` est défini |


388| `CLAUDE_CODE_TMUX_TRUECOLOR` | Définissez à n'importe quelle valeur non vide, comme `1`, pour permettre la sortie truecolor 24 bits à l'intérieur de tmux. **Définir à `0` ou `false` permet toujours truecolor**, contrairement à la plupart des variables activées/désactivées ; supprimez la variable pour restaurer le serrage de 256 couleurs. Par défaut, Claude Code serre à 256 couleurs lorsque `$TMUX` est défini car tmux ne transmet pas les séquences d'échappement truecolor sauf s'il est configuré pour le faire. Définissez ceci après avoir ajouté `set -ga terminal-overrides ',*:Tc'` à votre `~/.tmux.conf`. Voir [Configuration du terminal](/docs/fr/terminal-config) pour les autres paramètres tmux |389| `CLAUDE_CODE_TMUX_TRUECOLOR` | Définissez à n'importe quelle valeur non vide, comme `1`, pour permettre la sortie truecolor 24 bits à l'intérieur de tmux. **Définir à `0` ou `false` permet toujours truecolor**, contrairement à la plupart des variables activées/désactivées ; supprimez la variable pour restaurer le serrage de 256 couleurs. Par défaut, Claude Code serre à 256 couleurs lorsque `$TMUX` est défini car tmux ne transmet pas les séquences d'échappement truecolor sauf s'il est configuré pour le faire. Définissez ceci après avoir ajouté `set -ga terminal-overrides ',*:Tc'` à votre `~/.tmux.conf`. Voir [Configuration du terminal](/docs/fr/terminal-config) pour les autres paramètres tmux |

389| `CLAUDE_CODE_TOOL_MEMORY_CGROUP_EXCLUDE` | Sur Linux et WSL, définissez à une liste séparée par des virgules des types de processus que Claude Code [exclut du plafond de mémoire d'outil](/docs/fr/tools-reference#memory-limit-on-linux-and-wsl), comme `mcp` ou `lsp`. Définissez `none` pour limiter tous les types, ou `all-new` pour limiter uniquement les commandes des outils Bash, PowerShell et Monitor. Claude Code maintient les commandes des outils Bash, PowerShell et Monitor sous le plafond quel que soit ce que vous énumérez. Nécessite Claude Code v2.1.246 ou ultérieur |390| `CLAUDE_CODE_TOOL_MEMORY_CGROUP_EXCLUDE` | Sur Linux et WSL, définissez à une liste séparée par des virgules des types de processus que Claude Code [exclut du plafond de mémoire d'outil](/docs/fr/tools-reference#memory-limit-on-linux-and-wsl), comme `mcp` ou `lsp`. Définissez `none` pour limiter tous les types, ou `all-new` pour limiter uniquement les commandes des outils Bash, PowerShell et Monitor. Claude Code maintient les commandes des outils Bash, PowerShell et Monitor sous le plafond quel que soit ce que vous énumérez. Nécessite Claude Code v2.1.246 ou ultérieur |

390| `CLAUDE_CODE_TOOL_MEMORY_LIMIT` | Sur Linux et WSL, définissez à une taille comme `4G` pour [limiter la mémoire que les commandes des outils Bash et PowerShell peuvent utiliser](/docs/fr/tools-reference#memory-limit-on-linux-and-wsl), et les commandes de l'outil Monitor sur v2.1.246 ou ultérieur. Écrivez la taille en chiffres simples, seuls pour un nombre d'octets ou avec un suffixe `K`, `M`, `G` ou `T`. Définissez `0` ou `off` pour désactiver le plafond. Une fois que le premier processus que Claude Code démarre a activé ou désactivé le plafond, une valeur modifiée prend effet la prochaine fois que vous lancez `claude`. Nécessite Claude Code v2.1.233 ou ultérieur |391| `CLAUDE_CODE_TOOL_MEMORY_LIMIT` | Sur Linux et WSL, définissez à une taille comme `4G` pour [limiter la mémoire que les commandes des outils Bash et PowerShell peuvent utiliser](/docs/fr/tools-reference#memory-limit-on-linux-and-wsl), et les commandes de l'outil Monitor sur v2.1.246 ou ultérieur. Écrivez la taille en chiffres simples, seuls pour un nombre d'octets ou avec un suffixe `K`, `M`, `G` ou `T`. Définissez `0` ou `off` pour désactiver le plafond. Une fois que le premier processus que Claude Code démarre a activé ou désactivé le plafond, une valeur modifiée prend effet la prochaine fois que vous lancez `claude`. Nécessite Claude Code v2.1.233 ou ultérieur |

391| `CLAUDE_CODE_USER_DIALOG_TIMEOUT_MS` | Délai pour les dialogues que Claude Code transfère à un client distant, comme un [Remote Control](/docs/fr/remote-control) ou un hôte SDK, et pour le dialogue d'approbation pour un [message inter-session retenu](/docs/fr/cross-session-messaging#control-inbound-messages), avant que Claude Code les annule ; les invites de permission et les questions `AskUserQuestion` utilisent leurs propres flux et ne sont pas régis par ceci. Limite également l'[invite de consentement d'utilisation des crédits Fable](/docs/fr/model-config#fable-and-usage-credits) en milieu de session dans une session qui peut s'exécuter sans surveillance. [Contrôler les messages entrants](/docs/fr/cross-session-messaging#control-inbound-messages) et les [sessions non interactives](/docs/fr/cross-session-messaging#non-interactive-sessions) couvrent les règles d'expiration complètes des messages retenus, y compris les cas où le délai ne s'applique pas. Remplace le paramètre [`dialogExpiry`](/docs/fr/settings-reference#dialogexpiry) ; `0` ou une valeur négative désactive le délai |392| `CLAUDE_CODE_USER_DIALOG_TIMEOUT_MS` | Délai pour les dialogues que Claude Code transfère à un client distant, comme un [Remote Control](/docs/fr/remote-control) ou un hôte SDK, et pour le dialogue d'approbation pour un [message inter-session retenu](/docs/fr/cross-session-messaging#control-inbound-messages), avant que Claude Code les annule ; les invites de permission et les questions `AskUserQuestion` utilisent leurs propres flux et ne sont pas régis par ceci. Limite également l'[invite de consentement d'utilisation des crédits Fable](/docs/fr/model-config#fable-and-usage-credits) en milieu de session dans une session qui peut s'exécuter sans surveillance. [Contrôler les messages entrants](/docs/fr/cross-session-messaging#control-inbound-messages) et les [sessions non interactives](/docs/fr/cross-session-messaging#non-interactive-sessions) couvrent les règles d'expiration complètes des messages retenus, y compris les cas où le délai ne s'applique pas. Remplace le paramètre [`dialogExpiry`](/docs/fr/settings-reference#dialogexpiry). `0` ou une valeur négative désactive le délai |

392| `CLAUDE_CODE_USE_ANTHROPIC_AWS` | Utilisez [Claude Platform on AWS](/docs/fr/claude-platform-on-aws) |393| `CLAUDE_CODE_USE_ANTHROPIC_AWS` | Utilisez [Claude Platform on AWS](/docs/fr/claude-platform-on-aws) |

393| `CLAUDE_CODE_USE_BEDROCK` | Utilisez [Amazon Bedrock](/docs/fr/amazon-bedrock) |394| `CLAUDE_CODE_USE_BEDROCK` | Utilisez [Amazon Bedrock](/docs/fr/amazon-bedrock) |

394| `CLAUDE_CODE_USE_FOUNDRY` | Utilisez [Microsoft Foundry](/docs/fr/microsoft-foundry) |395| `CLAUDE_CODE_USE_FOUNDRY` | Utilisez [Microsoft Foundry](/docs/fr/microsoft-foundry) |


397| `CLAUDE_CODE_USE_POWERSHELL_TOOL` | Contrôle l'outil PowerShell. Sur Windows sans Git Bash, l'outil est activé automatiquement ; définissez à `0` pour le désactiver. Sur Windows avec Git Bash installé, l'outil est activé par défaut pour les comptes claude.ai et Console ; définissez à `1` pour l'activer dans les sessions Amazon Bedrock, Google Cloud's Agent Platform et Microsoft Foundry, ou `0` pour le désactiver. Sur Linux, macOS et WSL, définissez à `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 router via Git Bash. Voir [Outil PowerShell](/docs/fr/tools-reference#powershell-tool) |398| `CLAUDE_CODE_USE_POWERSHELL_TOOL` | Contrôle l'outil PowerShell. Sur Windows sans Git Bash, l'outil est activé automatiquement ; définissez à `0` pour le désactiver. Sur Windows avec Git Bash installé, l'outil est activé par défaut pour les comptes claude.ai et Console ; définissez à `1` pour l'activer dans les sessions Amazon Bedrock, Google Cloud's Agent Platform et Microsoft Foundry, ou `0` pour le désactiver. Sur Linux, macOS et WSL, définissez à `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 router via Git Bash. Voir [Outil PowerShell](/docs/fr/tools-reference#powershell-tool) |

398| `CLAUDE_CODE_USE_VERTEX` | Utilisez [Google Cloud's Agent Platform](/docs/fr/google-vertex-ai) |399| `CLAUDE_CODE_USE_VERTEX` | Utilisez [Google Cloud's Agent Platform](/docs/fr/google-vertex-ai) |

399| `CLAUDE_CODE_WEBFETCH_CACHE_TTL_MS` | Définissez au nombre de millisecondes que [WebFetch](/docs/fr/tools-reference#webfetch-tool-behavior) garde chaque réponse d'URL récupérée en cache. La valeur par défaut est `900000`, ce qui est 15 minutes. Accepte uniquement les chiffres simples ; `0`, une décimale ou toute autre orthographe garde la valeur par défaut. Claude Code lit la valeur une fois par lancement, afin qu'une modification dans un bloc `env` des paramètres s'applique lorsque vous lancez ensuite `claude`. Nécessite Claude Code v2.1.233 ou ultérieur |400| `CLAUDE_CODE_WEBFETCH_CACHE_TTL_MS` | Définissez au nombre de millisecondes que [WebFetch](/docs/fr/tools-reference#webfetch-tool-behavior) garde chaque réponse d'URL récupérée en cache. La valeur par défaut est `900000`, ce qui est 15 minutes. Accepte uniquement les chiffres simples ; `0`, une décimale ou toute autre orthographe garde la valeur par défaut. Claude Code lit la valeur une fois par lancement, afin qu'une modification dans un bloc `env` des paramètres s'applique lorsque vous lancez ensuite `claude`. Nécessite Claude Code v2.1.233 ou ultérieur |

401| `CLAUDE_CODE_WEBFETCH_DEADLINE_MS` | Limite supérieure en millisecondes sur le temps que [WebFetch](/docs/fr/tools-reference#webfetch-tool-behavior) attend pour qu'une page se télécharge, y compris les redirections qu'elle suit. Un téléchargement qui n'est pas terminé à ce moment échoue avec une erreur de délai. La valeur par défaut est `300000`, ce qui est cinq minutes. Définissez à `0` pour supprimer la limite. Accepte uniquement les chiffres simples ; une décimale ou toute autre orthographe garde la valeur par défaut. Nécessite Claude Code v2.1.268 ou ultérieur |

400| `CLAUDE_CODE_WORKFLOW_PREFIX_STAGGER_MS` | Limite supérieure en millisecondes sur le temps qu'un agent de [workflow](/docs/fr/workflows) attend la première réponse d'un frère de même préfixe avant d'envoyer sa propre première requête. Lorsqu'un fan-out démarre plusieurs agents qui partagent un [préfixe de cache du prompt](/docs/fr/workflows#prompt-caching-in-a-fan-out), Claude Code maintient tous sauf le premier agent pendant jusqu'à ce temps afin que le reste lise le préfixe en cache au lieu de chacun le traiter sans cache. Par défaut `5000`. Définissez à `0` pour désactiver l'attente. Lorsque `DISABLE_PROMPT_CACHING` est défini, les agents n'attendent jamais. Nécessite Claude Code v2.1.229 ou ultérieur |402| `CLAUDE_CODE_WORKFLOW_PREFIX_STAGGER_MS` | Limite supérieure en millisecondes sur le temps qu'un agent de [workflow](/docs/fr/workflows) attend la première réponse d'un frère de même préfixe avant d'envoyer sa propre première requête. Lorsqu'un fan-out démarre plusieurs agents qui partagent un [préfixe de cache du prompt](/docs/fr/workflows#prompt-caching-in-a-fan-out), Claude Code maintient tous sauf le premier agent pendant jusqu'à ce temps afin que le reste lise le préfixe en cache au lieu de chacun le traiter sans cache. Par défaut `5000`. Définissez à `0` pour désactiver l'attente. Lorsque `DISABLE_PROMPT_CACHING` est défini, les agents n'attendent jamais. Nécessite Claude Code v2.1.229 ou ultérieur |

401| `CLAUDE_CONFIG_DIR` | Remplacez le répertoire de configuration (par défaut : `~/.claude`). Tous les paramètres, l'historique des sessions et les plugins sont stockés sous ce chemin. Pour les identifiants, voir [où Claude Code stocke les identifiants](/docs/fr/authentication#credential-management). Utile pour exécuter plusieurs comptes côte à côte : par exemple, `alias claude-work='CLAUDE_CONFIG_DIR=~/.claude-work claude'`. Définissez-le dans votre shell, vos paramètres utilisateur ou vos paramètres gérés. Ignoré dans les [paramètres de projet et locaux](/docs/fr/settings-reference#variables-claude-code-ignores-in-env) |403| `CLAUDE_CONFIG_DIR` | Remplacez le répertoire de configuration (par défaut : `~/.claude`). Tous les paramètres, l'historique des sessions et les plugins sont stockés sous ce chemin. Pour les identifiants, voir [où Claude Code stocke les identifiants](/docs/fr/authentication#credential-management). Utile pour exécuter plusieurs comptes côte à côte : par exemple, `alias claude-work='CLAUDE_CONFIG_DIR=~/.claude-work claude'`. Définissez-le dans votre shell, vos paramètres utilisateur ou vos paramètres gérés. Ignoré dans les [paramètres de projet et locaux](/docs/fr/settings-reference#variables-claude-code-ignores-in-env) |

402| `CLAUDE_DISABLE_ADOPT` | Définissez à `1` pour arrêter le travail d'arrière-plan en vol au lieu de le porter lorsque vous mettez une session en arrière-plan en appuyant sur `←` ou avec [`/background`](/docs/fr/agent-view#from-inside-a-session). Claude Code vous demande de confirmer avant de mettre en arrière-plan, puis arrête les tâches qui seraient autrement portées. Nécessite Claude Code v2.1.195 ou ultérieur |404| `CLAUDE_DISABLE_ADOPT` | Définissez à `1` pour arrêter le travail d'arrière-plan en vol au lieu de le porter lorsque vous mettez une session en arrière-plan en appuyant sur `←` ou avec [`/background`](/docs/fr/agent-view#from-inside-a-session). Claude Code vous demande de confirmer avant de mettre en arrière-plan, puis arrête les tâches qui seraient autrement portées. Nécessite Claude Code v2.1.195 ou ultérieur |


405| `CLAUDE_ENABLE_BYTE_WATCHDOG_BEDROCK` | Définissez à `1` pour activer le chien de garde d'inactivité de flux au niveau des octets sur les réponses Amazon Bedrock `vnd.amazon.eventstream`, ce qui active également le [délai de premier octet](/docs/fr/network-config#streaming-idle-watchdogs) sur les requêtes en continu Bedrock. Désactivé par défaut. Configurez le délai d'expiration avec `CLAUDE_STREAM_IDLE_TIMEOUT_MS` |407| `CLAUDE_ENABLE_BYTE_WATCHDOG_BEDROCK` | Définissez à `1` pour activer le chien de garde d'inactivité de flux au niveau des octets sur les réponses Amazon Bedrock `vnd.amazon.eventstream`, ce qui active également le [délai de premier octet](/docs/fr/network-config#streaming-idle-watchdogs) sur les requêtes en continu Bedrock. Désactivé par défaut. Configurez le délai d'expiration avec `CLAUDE_STREAM_IDLE_TIMEOUT_MS` |

406| `CLAUDE_ENABLE_STREAM_WATCHDOG` | Définissez à `0` pour forcer la désactivation du chien de garde d'inactivité au niveau des événements, ou définissez à `1` pour le forcer à activer. 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. Configurez le délai d'expiration avec `CLAUDE_STREAM_IDLE_TIMEOUT_MS` ; pour les autres minuteries de blocage qui s'exécutent aux côtés de celle-ci, voir [Chiens de garde d'inactivité de flux en continu](/docs/fr/network-config#streaming-idle-watchdogs) |408| `CLAUDE_ENABLE_STREAM_WATCHDOG` | Définissez à `0` pour forcer la désactivation du chien de garde d'inactivité au niveau des événements, ou définissez à `1` pour le forcer à activer. 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. Configurez le délai d'expiration avec `CLAUDE_STREAM_IDLE_TIMEOUT_MS` ; pour les autres minuteries de blocage qui s'exécutent aux côtés de celle-ci, voir [Chiens de garde d'inactivité de flux en continu](/docs/fr/network-config#streaming-idle-watchdogs) |

407| `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, afin que les exports dans le fichier soient visibles à la commande. Utilisez pour persister l'activation virtualenv ou conda entre les commandes. Également rempli dynamiquement par les hooks [SessionStart](/docs/fr/hooks#persist-environment-variables), [Setup](/docs/fr/hooks#setup), [CwdChanged](/docs/fr/hooks#cwdchanged) et [FileChanged](/docs/fr/hooks#filechanged) |409| `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, afin que les exports dans le fichier soient visibles à la commande. Utilisez pour persister l'activation virtualenv ou conda entre les commandes. Également rempli dynamiquement par les hooks [SessionStart](/docs/fr/hooks#persist-environment-variables), [Setup](/docs/fr/hooks#setup), [CwdChanged](/docs/fr/hooks#cwdchanged) et [FileChanged](/docs/fr/hooks#filechanged) |

410| `CLAUDE_JOB_DIR` | Défini par Claude Code dans chaque [session d'arrière-plan](/docs/fr/agent-view) à ce répertoire `~/.claude/jobs/<id>` de cette session. Les commandes shell que la session exécute l'héritent. Écrivez les fichiers de travail temporaire à [`$CLAUDE_JOB_DIR/tmp`](/docs/fr/agent-view#where-state-is-stored). Les appels `Write` et `Edit` de Claude là ne demandent pas la permission, et le répertoire est supprimé lorsque la session est supprimée |

408| `CLAUDE_PID` | Claude Code définit ceci à son propre ID de processus dans les sous-processus qu'il génère : commandes d'outil Bash et PowerShell et commandes hook. Sur Linux, l'intégration shell de l'outil Bash l'utilise pour refuser un modèle `pkill` qui correspondrait au processus Claude Code lui-même ; voir la [référence d'erreur](/docs/fr/errors#pkill-pattern-matches-the-claude-code-process). Lisez-le à partir de vos propres scripts pour identifier ou signaler délibérément le processus Claude Code parent. Nécessite Claude Code v2.1.214 ou ultérieur |411| `CLAUDE_PID` | Claude Code définit ceci à son propre ID de processus dans les sous-processus qu'il génère : commandes d'outil Bash et PowerShell et commandes hook. Sur Linux, l'intégration shell de l'outil Bash l'utilise pour refuser un modèle `pkill` qui correspondrait au processus Claude Code lui-même ; voir la [référence d'erreur](/docs/fr/errors#pkill-pattern-matches-the-claude-code-process). Lisez-le à partir de vos propres scripts pour identifier ou signaler délibérément le processus Claude Code parent. Nécessite Claude Code v2.1.214 ou ultérieur |

409| `CLAUDE_REMOTE_CONTROL_SESSION_NAME_PREFIX` | Préfixe pour les noms de session [Remote Control](/docs/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 |412| `CLAUDE_REMOTE_CONTROL_SESSION_NAME_PREFIX` | Préfixe pour les noms de session [Remote Control](/docs/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 |

410| `CLAUDE_STREAM_FIRST_BYTE_TIMEOUT_MS` | Délai pour le premier octet de réponse d'une requête en continu, sur les connexions où le [délai de premier octet](/docs/fr/network-config#streaming-idle-watchdogs) s'exécute. Pour la façon dont Claude Code le serre, le temps supplémentaire qu'il ajoute pour les corps de requête volumineux et la façon dont il choisit le délai lorsque vous le laissez non défini, voir [Pas de réponse de l'API](/docs/fr/errors#no-response-from-api). Nécessite Claude Code v2.1.242 ou ultérieur |413| `CLAUDE_STREAM_FIRST_BYTE_TIMEOUT_MS` | Délai pour le premier octet de réponse d'une requête en continu, sur les connexions où le [délai de premier octet](/docs/fr/network-config#streaming-idle-watchdogs) s'exécute. Pour la façon dont Claude Code le serre, le temps supplémentaire qu'il ajoute pour les corps de requête volumineux et la façon dont il choisit le délai lorsque vous le laissez non défini, voir [Pas de réponse de l'API](/docs/fr/errors#no-response-from-api). Nécessite Claude Code v2.1.242 ou ultérieur |

411| `CLAUDE_STREAM_IDLE_TIMEOUT_MS` | Délai d'expiration en millisecondes avant que les chiens de garde d'inactivité de flux au niveau des événements et des octets ferment une connexion bloquée. Lorsque vous définissez cette variable explicitement, le minimum est `300000` (5 minutes) ; les valeurs inférieures sont silencieusement serrées pour absorber les pauses de réflexion étendue et la mise en mémoire tampon du proxy, et le chien de garde au niveau des octets limite la valeur à 30 minutes. `CLAUDE_BYTE_STREAM_IDLE_TIMEOUT_MS` a la priorité sur cette variable pour le chien de garde au niveau des octets. Pour les valeurs par défaut non définies par chien de garde, voir [Chiens de garde d'inactivité de flux en continu](/docs/fr/network-config#streaming-idle-watchdogs) |414| `CLAUDE_STREAM_IDLE_TIMEOUT_MS` | Délai d'expiration en millisecondes avant que les chiens de garde d'inactivité de flux au niveau des événements et des octets ferment une connexion bloquée. Lorsque vous définissez cette variable explicitement, le minimum est `300000` (5 minutes) ; les valeurs inférieures sont silencieusement serrées pour absorber les pauses de réflexion étendue et la mise en mémoire tampon du proxy, et le chien de garde au niveau des octets limite la valeur à 30 minutes. `CLAUDE_BYTE_STREAM_IDLE_TIMEOUT_MS` a la priorité sur cette variable pour le chien de garde au niveau des octets. Pour les valeurs par défaut non définies par chien de garde, voir [Chiens de garde d'inactivité de flux en continu](/docs/fr/network-config#streaming-idle-watchdogs) |

412| `CLAUDE_SUBAGENT_BG_SHELL_MAX_MS` | Durée de vie maximale en millisecondes pour une [commande shell d'arrière-plan](/docs/fr/interactive-mode#background-bash-commands) qu'un [sous-agent](/docs/fr/sub-agents) a démarrée. Par défaut `3600000` (60 minutes). Lorsque vous définissez `0`, Claude Code applique la valeur par défaut au lieu de supprimer le plafond. Lorsque le sous-agent s'exécute en avant-plan, Claude Code termine également la commande lorsque ce sous-agent donne sa réponse finale, quel que soit ce plafond. Voir les [règles de durée de vie de la commande d'arrière-plan](/docs/fr/tools-reference#background-commands). Claude Code ne limite pas les commandes d'arrière-plan de la session principale de cette façon. Pour la limite de pression mémoire qui les couvre, voir [Comment fonctionne la mise en arrière-plan](/docs/fr/interactive-mode#how-backgrounding-works) |415| `CLAUDE_SUBAGENT_BG_SHELL_MAX_MS` | Supprimé dans v2.1.260 et maintenant un no-op. Auparavant, limitait la durée qu'une [commande shell d'arrière-plan](/docs/fr/interactive-mode#background-bash-commands) qu'un [sous-agent](/docs/fr/sub-agents) a démarrée pouvait s'exécuter, en millisecondes, avec une valeur par défaut de 60 minutes. Voir les [règles de durée de vie de la commande d'arrière-plan](/docs/fr/tools-reference#background-commands) |

413| `DEBUG` | Définissez à `1` pour activer le mode débogage, équivalent à lancer avec [`--debug`](/docs/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 truthy `1`, `true`, `yes` et `on` activent le mode débogage, afin que les modèles d'espace de noms comme `DEBUG=express:*` définis pour d'autres outils ne le déclenchent pas |416| `DEBUG` | Définissez à `1` pour activer le mode débogage, équivalent à lancer avec [`--debug`](/docs/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 truthy `1`, `true`, `yes` et `on` activent le mode débogage, afin que les modèles d'espace de noms comme `DEBUG=express:*` définis pour d'autres outils ne le déclenchent pas |

414| `DISABLE_AUTOUPDATER` | Définissez à `1` pour désactiver les mises à jour automatiques d'arrière-plan. Le `claude update` manuel fonctionne toujours. Utilisez `DISABLE_UPDATES` pour bloquer les deux |417| `DISABLE_AUTOUPDATER` | Définissez à `1` pour désactiver les mises à jour automatiques d'arrière-plan. Le `claude update` manuel fonctionne toujours. Utilisez `DISABLE_UPDATES` pour bloquer les deux |

415| `DISABLE_AUTO_COMPACT` | Définissez à `1` pour désactiver la compaction automatique lorsque vous approchez de la limite de contexte. La commande `/compact` manuelle reste disponible. Utilisez lorsque vous souhaitez un contrôle explicite sur le moment où la compaction se produit. Remplace le paramètre [`autoCompactEnabled`](/docs/fr/settings-reference#autocompactenabled) |418| `DISABLE_AUTO_COMPACT` | Définissez à `1` pour désactiver la compaction automatique lorsque vous approchez de la limite de contexte. La commande `/compact` manuelle reste disponible. Utilisez lorsque vous souhaitez un contrôle explicite sur le moment où la compaction se produit. Remplace le paramètre [`autoCompactEnabled`](/docs/fr/settings-reference#autocompactenabled) |


448| `IS_DEMO` | Définissez à n'importe quelle valeur non vide, comme `1`, pour activer le mode démo : masque votre e-mail et le nom de votre organisation à partir de l'en-tête et de la sortie `/status`, et ignore l'intégration. **Définir à `0` ou `false` active toujours le mode démo**, contrairement à la plupart des variables activées/désactivées ; supprimez la variable pour le désactiver. Utile lors de la diffusion en continu ou de l'enregistrement d'une session |451| `IS_DEMO` | Définissez à n'importe quelle valeur non vide, comme `1`, pour activer le mode démo : masque votre e-mail et le nom de votre organisation à partir de l'en-tête et de la sortie `/status`, et ignore l'intégration. **Définir à `0` ou `false` active toujours le mode démo**, contrairement à la plupart des variables activées/désactivées ; supprimez la variable pour le désactiver. Utile lors de la diffusion en continu ou de l'enregistrement d'une session |

449| `MAX_MCP_OUTPUT_TOKENS` | Nombre maximum de jetons autorisés dans les réponses des outils MCP. Claude Code affiche un avertissement lorsque la sortie dépasse 10 000 jetons. Les outils qui déclarent [`anthropic/maxResultSizeChars`](/docs/fr/mcp#raise-the-limit-for-a-specific-tool) utilisent cette limite de caractères pour le contenu textuel à la place, mais le contenu d'image de ces outils est toujours soumis à cette variable (par défaut : 25000) |452| `MAX_MCP_OUTPUT_TOKENS` | Nombre maximum de jetons autorisés dans les réponses des outils MCP. Claude Code affiche un avertissement lorsque la sortie dépasse 10 000 jetons. Les outils qui déclarent [`anthropic/maxResultSizeChars`](/docs/fr/mcp#raise-the-limit-for-a-specific-tool) utilisent cette limite de caractères pour le contenu textuel à la place, mais le contenu d'image de ces outils est toujours soumis à cette variable (par défaut : 25000) |

450| `MAX_STRUCTURED_OUTPUT_RETRIES` | Nombre de fois que Claude Code réessaye lorsque la réponse du modèle échoue la validation par rapport au [`--json-schema`](/docs/fr/cli-reference#cli-flags) en mode non interactif avec le drapeau `-p`. Le même nombre de tentatives s'applique lorsque la sortie structurée d'un [sous-agent](/docs/fr/sub-agents) de [workflow](/docs/fr/workflows) échoue la validation. Par défaut 5 |453| `MAX_STRUCTURED_OUTPUT_RETRIES` | Nombre de fois que Claude Code réessaye lorsque la réponse du modèle échoue la validation par rapport au [`--json-schema`](/docs/fr/cli-reference#cli-flags) en mode non interactif avec le drapeau `-p`. Le même nombre de tentatives s'applique lorsque la sortie structurée d'un [sous-agent](/docs/fr/sub-agents) de [workflow](/docs/fr/workflows) échoue la validation. Par défaut 5 |

451| `MAX_THINKING_TOKENS` | Budget de jetons fixe pour la [réflexion étendue](https://platform.claude.com/docs/en/build-with-claude/extended-thinking). Claude Code le limite à un jeton en dessous des jetons de sortie maximale de la requête et jamais en dessous de 1 024 ; voir `CLAUDE_CODE_MAX_OUTPUT_TOKENS` pour la façon dont cette limite est définie. Lorsqu'il n'est pas défini et que la réflexion est activée, les modèles avec [raisonnement adaptatif](/docs/fr/model-config#adjust-effort-level) choisissent leur propre profondeur de réflexion, et les autres modèles utilisent le plafond. Définissez à `0` pour désactiver la réflexion sur l'API Anthropic, sauf sur les [modèles Fable](/docs/fr/model-config#extended-thinking), qui ne peuvent pas avoir la réflexion désactivée ; sur les [fournisseurs tiers](/docs/fr/third-party-integrations), `0` omet le paramètre `thinking` à la place. Avec la réflexion désactivée sur l'API Anthropic, Claude Code envoie l'effort `high` au lieu d'un niveau plus élevé aux modèles qu'il sait [n'acceptent pas cette combinaison](/docs/fr/errors#effort-isnt-available-with-thinking-turned-off), comme Opus 5. Les valeurs non nulles sont ignorées sur les modèles de raisonnement adaptatif sauf si `CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING` est défini |454| `MAX_THINKING_TOKENS` | Budget de jetons fixe pour la [réflexion étendue](https://platform.claude.com/docs/en/build-with-claude/extended-thinking). Claude Code le limite à un jeton en dessous des jetons de sortie maximale de la requête et jamais en dessous de 1 024 ; voir `CLAUDE_CODE_MAX_OUTPUT_TOKENS` pour la façon dont cette limite est définie. Lorsqu'il n'est pas défini et que la réflexion est activée, les modèles avec [raisonnement adaptatif](/docs/fr/model-config#adjust-effort-level) choisissent leur propre profondeur de réflexion, et les autres modèles utilisent le plafond. Définissez à `0` pour désactiver la réflexion sur l'API Anthropic, sauf sur les modèles Fable, qui ne peuvent pas avoir la réflexion désactivée. Sur les [fournisseurs tiers](/docs/fr/third-party-integrations), `MAX_THINKING_TOKENS=0` omet également le paramètre `thinking` à la place. Avec la réflexion désactivée sur l'API Anthropic, Claude Code envoie l'effort `high` au lieu d'un niveau plus élevé aux modèles qu'il sait [n'acceptent pas cette combinaison](/docs/fr/errors#effort-isnt-available-with-thinking-turned-off), comme Opus 5. Claude Code ignore les valeurs non nulles sur les modèles de raisonnement adaptatif, sauf sur les modèles où `CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING` désactive le raisonnement adaptatif |

452| `MCP_CLIENT_SECRET` | Secret client OAuth pour les serveurs MCP qui nécessitent des [identifiants pré-configurés](/docs/fr/mcp#use-pre-configured-oauth-credentials). Évite l'invite interactive lors de l'ajout d'un serveur avec `--client-secret` |455| `MCP_CLIENT_SECRET` | Secret client OAuth pour les serveurs MCP qui nécessitent des [identifiants pré-configurés](/docs/fr/mcp#use-pre-configured-oauth-credentials). Évite l'invite interactive lors de l'ajout d'un serveur avec `--client-secret` |

453| `MCP_CONNECTION_NONBLOCKING` | Contrôle si le démarrage attend que les serveurs MCP se connectent avant la première requête. Le démarrage MCP est non-bloquant par défaut : les serveurs se connectent en arrière-plan et leurs outils deviennent disponibles au fur et à mesure qu'ils se terminent. Définissez à `0` pour faire attendre Claude Code que les serveurs se connectent avant la première requête. Les serveurs configurés avec [`alwaysLoad: true`](/docs/fr/mcp#exempt-a-server-from-deferral) font toujours attendre le démarrage quel que soit ceci, sauf lorsqu'ils sont servis à partir du [cache de découverte](/docs/fr/mcp#server-status-detail), car leurs outils doivent être présents lorsque le premier prompt est construit. En mode non interactif (`-p`), Claude Code attend également les serveurs toujours en attente avant le premier tour quel que soit cette variable, avec un délai plus long lorsque vous transmettez [`--mcp-config`](/docs/fr/cli-reference#cli-flags) explicitement ; voir l'entrée de ce drapeau pour l'exception du serveur en cache |456| `MCP_CONNECTION_NONBLOCKING` | Contrôle si le démarrage attend que les serveurs MCP se connectent avant la première requête. Le démarrage MCP est non-bloquant par défaut : les serveurs se connectent en arrière-plan et leurs outils deviennent disponibles au fur et à mesure qu'ils se terminent. Définissez à `0` pour faire attendre Claude Code que les serveurs se connectent avant la première requête. Les serveurs configurés avec [`alwaysLoad: true`](/docs/fr/mcp#exempt-a-server-from-deferral) font toujours attendre le démarrage quel que soit ceci, sauf lorsqu'ils sont servis à partir du [cache de découverte](/docs/fr/mcp#server-status-detail), car leurs outils doivent être présents lorsque le premier prompt est construit. En mode non interactif (`-p`), Claude Code attend également les serveurs toujours en attente avant le premier tour quel que soit cette variable, avec un délai plus long lorsque vous transmettez [`--mcp-config`](/docs/fr/cli-reference#cli-flags) explicitement ; voir l'entrée de ce drapeau pour l'exception du serveur en cache |

454| `MCP_CONNECT_TIMEOUT_MS` | Combien de temps le démarrage MCP bloquant attend, en millisecondes, pour le lot de connexion avant de prendre un instantané de la liste d'outils (par défaut : 5000). S'applique lorsque `MCP_CONNECTION_NONBLOCKING=0` ou pour les serveurs marqués [`alwaysLoad: true`](/docs/fr/mcp#exempt-a-server-from-deferral). Les serveurs toujours en attente au délai continuent de se connecter en arrière-plan. Distinct de `MCP_TIMEOUT`, qui limite la tentative de connexion d'un serveur individuel |457| `MCP_CONNECT_TIMEOUT_MS` | Combien de temps le démarrage MCP bloquant attend, en millisecondes, pour le lot de connexion avant de prendre un instantané de la liste d'outils (par défaut : 5000). S'applique lorsque `MCP_CONNECTION_NONBLOCKING=0` ou pour les serveurs marqués [`alwaysLoad: true`](/docs/fr/mcp#exempt-a-server-from-deferral). Les serveurs toujours en attente au délai continuent de se connecter en arrière-plan. Distinct de `MCP_TIMEOUT`, qui limite la tentative de connexion d'un serveur individuel |


472| `OTEL_LOG_USER_PROMPTS` | Définissez à `1` pour inclure le texte du prompt utilisateur dans les traces et journaux OpenTelemetry. Désactivé par défaut (les prompts sont rédactés). Voir [Surveillance](/docs/fr/monitoring-usage) |475| `OTEL_LOG_USER_PROMPTS` | Définissez à `1` pour inclure le texte du prompt utilisateur dans les traces et journaux OpenTelemetry. Désactivé par défaut (les prompts sont rédactés). Voir [Surveillance](/docs/fr/monitoring-usage) |

473| `OTEL_METRICS_INCLUDE_ACCOUNT_UUID` | Définissez à `false` pour exclure l'UUID du compte des attributs de métriques (par défaut : inclus). Voir [Surveillance](/docs/fr/monitoring-usage) |476| `OTEL_METRICS_INCLUDE_ACCOUNT_UUID` | Définissez à `false` pour exclure l'UUID du compte des attributs de métriques (par défaut : inclus). Voir [Surveillance](/docs/fr/monitoring-usage) |

474| `OTEL_METRICS_INCLUDE_ENTRYPOINT` | Définissez à `true` pour inclure le point d'entrée de la session dans les attributs de métriques (par défaut : exclu). Ajouté dans v2.1.152. Voir [Surveillance](/docs/fr/monitoring-usage) |477| `OTEL_METRICS_INCLUDE_ENTRYPOINT` | Définissez à `true` pour inclure le point d'entrée de la session dans les attributs de métriques (par défaut : exclu). Ajouté dans v2.1.152. Voir [Surveillance](/docs/fr/monitoring-usage) |

478| `OTEL_METRICS_INCLUDE_REPOSITORY` | Définissez à `true` pour étiqueter les métriques et événements OpenTelemetry avec les attributs `vcs.*` identifiant le référentiel de la session (par défaut : exclu). Nécessite Claude Code v2.1.269 ou ultérieur. Voir [Attributs du référentiel](/docs/fr/monitoring-usage#repository-attributes) |

475| `OTEL_METRICS_INCLUDE_RESOURCE_ATTRIBUTES` | À partir de v2.1.161, Claude Code attache les clés `OTEL_RESOURCE_ATTRIBUTES` aux étiquettes de point de données de métrique. Définissez à `false` pour les exclure (par défaut : inclus). Voir [Surveillance](/docs/fr/monitoring-usage#multi-team-organization-support) |479| `OTEL_METRICS_INCLUDE_RESOURCE_ATTRIBUTES` | À partir de v2.1.161, Claude Code attache les clés `OTEL_RESOURCE_ATTRIBUTES` aux étiquettes de point de données de métrique. Définissez à `false` pour les exclure (par défaut : inclus). Voir [Surveillance](/docs/fr/monitoring-usage#multi-team-organization-support) |

476| `OTEL_METRICS_INCLUDE_SESSION_ID` | Définissez à `false` pour exclure l'ID de session des attributs de métriques (par défaut : inclus). Voir [Surveillance](/docs/fr/monitoring-usage) |480| `OTEL_METRICS_INCLUDE_SESSION_ID` | Définissez à `false` pour exclure l'ID de session des attributs de métriques (par défaut : inclus). Voir [Surveillance](/docs/fr/monitoring-usage) |

477| `OTEL_METRICS_INCLUDE_VERSION` | Définissez à `true` pour inclure la version de Claude Code dans les attributs de métriques (par défaut : exclu). Voir [Surveillance](/docs/fr/monitoring-usage) |481| `OTEL_METRICS_INCLUDE_VERSION` | Définissez à `true` pour inclure la version de Claude Code dans les attributs de métriques (par défaut : exclu). Voir [Surveillance](/docs/fr/monitoring-usage) |


493| `VERTEX_REGION_CLAUDE_5_OPUS` | Remplacez la région pour Claude Opus 5 lors de l'utilisation de Google Cloud's Agent Platform. Ajouté dans v2.1.219 |497| `VERTEX_REGION_CLAUDE_5_OPUS` | Remplacez la région pour Claude Opus 5 lors de l'utilisation de Google Cloud's Agent Platform. Ajouté dans v2.1.219 |

494| `VERTEX_REGION_CLAUDE_5_SONNET` | Remplacez la région pour Claude Sonnet 5 lors de l'utilisation de Google Cloud's Agent Platform. Ajouté dans v2.1.197 |498| `VERTEX_REGION_CLAUDE_5_SONNET` | Remplacez la région pour Claude Sonnet 5 lors de l'utilisation de Google Cloud's Agent Platform. Ajouté dans v2.1.197 |

495| `VERTEX_REGION_CLAUDE_FABLE_5` | Remplacez la région pour Claude Fable 5 lors de l'utilisation de Google Cloud's Agent Platform. Ajouté dans v2.1.170 |499| `VERTEX_REGION_CLAUDE_FABLE_5` | Remplacez la région pour Claude Fable 5 lors de l'utilisation de Google Cloud's Agent Platform. Ajouté dans v2.1.170 |

496| `VERTEX_REGION_CLAUDE_FABLE_5_1` | Remplacez la région pour Claude Fable 5.1 lors de l'utilisation de Google Cloud's Agent Platform. Ajouté dans v2.1.255 |500| `VERTEX_REGION_CLAUDE_FABLE_5_1` | Remplacez la région pour Claude Fable 5.1 lors de l'utilisation de Google Cloud's Agent Platform. Ajouté dans v2.1.257 |

497| `VERTEX_REGION_CLAUDE_HAIKU_4_5` | Remplacez la région pour Claude Haiku 4.5 lors de l'utilisation de Google Cloud's Agent Platform |501| `VERTEX_REGION_CLAUDE_HAIKU_4_5` | Remplacez la région pour Claude Haiku 4.5 lors de l'utilisation de Google Cloud's Agent Platform |

498 502 

499Les variables d'exportateur OpenTelemetry standard (`OTEL_METRICS_EXPORTER`, `OTEL_LOGS_EXPORTER`, `OTEL_EXPORTER_OTLP_ENDPOINT`, `OTEL_EXPORTER_OTLP_PROTOCOL`, `OTEL_EXPORTER_OTLP_HEADERS`, `OTEL_METRIC_EXPORT_INTERVAL`, `OTEL_RESOURCE_ATTRIBUTES` et les variantes spécifiques au signal) sont également supportées. Voir [Surveillance](/docs/fr/monitoring-usage) pour les détails de configuration.503Les variables d'exportateur OpenTelemetry standard (`OTEL_METRICS_EXPORTER`, `OTEL_LOGS_EXPORTER`, `OTEL_EXPORTER_OTLP_ENDPOINT`, `OTEL_EXPORTER_OTLP_PROTOCOL`, `OTEL_EXPORTER_OTLP_HEADERS`, `OTEL_METRIC_EXPORT_INTERVAL`, `OTEL_RESOURCE_ATTRIBUTES` et les variantes spécifiques au signal) sont également supportées. Voir [Surveillance](/docs/fr/monitoring-usage) pour les détails de configuration.

fast-mode.md +1 −1

Details

123Le mode rapide nécessite tous les éléments suivants :123Le mode rapide nécessite tous les éléments suivants :

124 124 

125* **API Anthropic ou abonnement uniquement** : le mode rapide est disponible via l'API Anthropic Console et pour les plans d'abonnement Claude utilisant les crédits d'utilisation. Il n'est pas disponible sur Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry ou Claude Platform sur AWS. Les organisations Console doivent également avoir [l'accès au mode rapide provisionné](#enable-fast-mode-for-your-organization).125* **API Anthropic ou abonnement uniquement** : le mode rapide est disponible via l'API Anthropic Console et pour les plans d'abonnement Claude utilisant les crédits d'utilisation. Il n'est pas disponible sur Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry ou Claude Platform sur AWS. Les organisations Console doivent également avoir [l'accès au mode rapide provisionné](#enable-fast-mode-for-your-organization).

126* **Crédits d'utilisation activés pour les plans d'abonnement** : sur un plan Pro, Max, Team ou Enterprise, votre compte doit avoir les [crédits d'utilisation](/docs/fr/costs#add-usage-credits-to-your-subscription) activés, ce qui permet la facturation au-delà de l'utilisation incluse dans votre plan. Jusqu'à ce qu'ils soient activés, `/fast` affiche « Le mode rapide nécessite des crédits d'utilisation · /usage-credits pour les activer ». La façon dont vous les activez dépend de votre plan :126* **Crédits d'utilisation activés pour les plans d'abonnement** : sur un plan Pro, Max, Team ou Enterprise, votre compte doit avoir les [crédits d'utilisation](/docs/fr/costs#add-usage-credits-to-your-subscription) activés, ce qui permet la facturation au-delà de l'utilisation incluse dans votre plan. Jusqu'à ce qu'ils soient activés, `/fast` affiche « Le mode rapide nécessite des crédits d'utilisation ». La façon dont vous les activez dépend de votre plan :

127 * Sur Pro et Max, activez-les dans la section **Crédits d'utilisation** de [**Paramètres > Utilisation**](https://claude.ai/settings/usage) sur claude.ai, ou exécutez `/usage-credits` pour ouvrir cette page.127 * Sur Pro et Max, activez-les dans la section **Crédits d'utilisation** de [**Paramètres > Utilisation**](https://claude.ai/settings/usage) sur claude.ai, ou exécutez `/usage-credits` pour ouvrir cette page.

128 * Sur Team et Enterprise, un membre ayant accès à la facturation les active pour l'organisation dans [**Paramètres d'administration > Utilisation**](https://claude.ai/admin-settings/usage), et un membre sans accès exécute `/usage-credits` pour envoyer une demande aux administrateurs de l'organisation.128 * Sur Team et Enterprise, un membre ayant accès à la facturation les active pour l'organisation dans [**Paramètres d'administration > Utilisation**](https://claude.ai/admin-settings/usage), et un membre sans accès exécute `/usage-credits` pour envoyer une demande aux administrateurs de l'organisation.

129 129 

Details

116claude --cloud "Add retry logic to the payment webhook handler"116claude --cloud "Add retry logic to the payment webhook handler"

117```117```

118 118 

119La session clone votre dépôt à partir de GHES et repousse les modifications vers une branche. Surveillez la progression avec `/tasks` ou à [claude.ai/code](https://claude.ai/code). Consultez [Claude Code sur le web](/docs/fr/claude-code-on-the-web) pour le flux de travail complet de la session cloud, y compris la révision des différences, la correction automatique et les routines.119La session clone votre dépôt à partir de GHES et repousse les modifications vers une branche. Surveillez la progression à [claude.ai/code](https://claude.ai/code). Consultez [Claude Code sur le web](/docs/fr/claude-code-on-the-web) pour le flux de travail complet de la session cloud, y compris la révision des différences, la correction automatique et les routines.

120 120 

121<h3 id="teleport-sessions-to-your-terminal">121<h3 id="teleport-sessions-to-your-terminal">

122 Téléporter les sessions vers votre terminal122 Téléporter les sessions vers votre terminal

goal.md +23 −6

Details

22Trois approches maintiennent la session actuelle en cours entre les invites. Choisissez en fonction de ce qui devrait démarrer le tour suivant :22Trois approches maintiennent la session actuelle en cours entre les invites. Choisissez en fonction de ce qui devrait démarrer le tour suivant :

23 23 

24| Approche | Le tour suivant commence quand | S'arrête quand |24| Approche | Le tour suivant commence quand | S'arrête quand |

25| :------------------------------------------------------------------ | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |25| :------------------------------------------------------------------ | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

26| `/goal` | Le tour précédent se termine, ou une [vérification d'inactivité](#background-work-defers-evaluation) arrive à échéance tandis que le travail en arrière-plan maintient l'objectif en attente, jusqu'à trois fois par objectif entre vos invites | Un modèle confirme que la condition est satisfaite ou juge qu'elle est impossible, ou un tour échoue sur [une erreur que vous devez corriger](#errors-you-have-to-fix-clear-the-goal), ou vous exécutez [`/goal clear`](#clear-a-goal) |26| `/goal` | Le tour précédent se termine, ou, dans une session interactive, une [vérification d'inactivité](#background-work-defers-evaluation) ou une [nouvelle tentative automatique](#other-errors-retry-or-pause-the-goal) arrive à échéance | Un modèle confirme que la condition est satisfaite ou juge qu'elle est impossible, ou un tour échoue sur [une erreur que vous devez corriger](#errors-you-have-to-fix-clear-the-goal), ou vous exécutez [`/goal clear`](#clear-a-goal) |

27| [`/loop`](/docs/fr/scheduled-tasks#run-a-prompt-repeatedly-with-%2Floop) | Un intervalle de temps s'écoule | Vous l'arrêtez, ou Claude décide que le travail est terminé |27| [`/loop`](/docs/fr/scheduled-tasks#run-a-prompt-repeatedly-with-%2Floop) | Un intervalle de temps s'écoule | Vous l'arrêtez, ou Claude décide que le travail est terminé |

28| [Stop hook](/docs/fr/hooks-guide#prompt-based-hooks) | Le tour précédent se termine | Votre propre script ou invite décide |28| [Stop hook](/docs/fr/hooks-guide#prompt-based-hooks) | Le tour précédent se termine | Votre propre script ou invite décide |

29 29 


143 143 

144Si Claude continue à répondre à l'évaluateur sans faire de progrès (pas d'utilisation d'outils pendant plusieurs tours d'affilée), Claude Code arrête la boucle, imprime un avertissement et vous rend le contrôle avec l'objectif toujours défini. L'évaluation reprend après votre prochaine invite. Le [guide des hooks](/docs/fr/hooks-guide#stop-hook-hits-the-block-cap) explique le mécanisme sous-jacent.144Si Claude continue à répondre à l'évaluateur sans faire de progrès (pas d'utilisation d'outils pendant plusieurs tours d'affilée), Claude Code arrête la boucle, imprime un avertissement et vous rend le contrôle avec l'objectif toujours défini. L'évaluation reprend après votre prochaine invite. Le [guide des hooks](/docs/fr/hooks-guide#stop-hook-hits-the-block-cap) explique le mécanisme sous-jacent.

145 145 

146<h3 id="errors-you-have-to-fix-clear-the-goal">146<h3 id="when-a-turn-fails">

147 Les erreurs que vous devez corriger effacent l'objectif147 Quand un tour échoue

148</h3>148</h3>

149 149 

150Quand un tour échoue, Claude Code efface l'objectif si l'erreur est une que vous devez corriger. Après toute autre erreur, l'objectif reste défini.

151 

152<h4 id="errors-you-have-to-fix-clear-the-goal">

153 Les erreurs que vous devez corriger effacent l'objectif

154</h4>

155 

150Si un tour échoue sur une erreur qui ne s'effacera que lorsque vous la corrigerez, Claude Code efface l'objectif et imprime un avertissement nommant la cause. L'avertissement commence par `Goal cleared after an unrecoverable error` et se termine par `Run /goal again to continue`. Corrigez la cause, puis [définissez l'objectif à nouveau](#set-a-goal) avec `/goal <condition>`. Quatre types d'échec effacent l'objectif :156Si un tour échoue sur une erreur qui ne s'effacera que lorsque vous la corrigerez, Claude Code efface l'objectif et imprime un avertissement nommant la cause. L'avertissement commence par `Goal cleared after an unrecoverable error` et se termine par `Run /goal again to continue`. Corrigez la cause, puis [définissez l'objectif à nouveau](#set-a-goal) avec `/goal <condition>`. Quatre types d'échec effacent l'objectif :

151 157 

152* Une défaillance d'authentification, lorsque Claude Code gère ses propres identifiants. Lorsqu'un hôte les gère pour vous, comme l'application de bureau, l'extension VS Code ou une [session cloud](/docs/fr/claude-code-on-the-web), Claude Code laisse l'objectif actif car l'hôte restaure l'accès de lui-même.158* Une défaillance d'authentification, lorsque Claude Code gère ses propres identifiants. Lorsqu'un hôte les gère pour vous, comme l'application de bureau, l'extension VS Code ou une [session cloud](/docs/fr/claude-code-on-the-web), Claude Code laisse l'objectif actif car l'hôte restaure l'accès de lui-même.


154* Un débordement de contexte que [l'auto-compaction](/docs/fr/model-config#set-the-auto-compact-window) n'a pas pu effacer160* Un débordement de contexte que [l'auto-compaction](/docs/fr/model-config#set-the-auto-compact-window) n'a pas pu effacer

155* Un modèle qui n'est pas disponible161* Un modèle qui n'est pas disponible

156 162 

157Après tout autre échec, y compris les erreurs transitoires telles que les limites de débit et les serveurs surchargés, Claude Code laisse l'objectif actif.163<h4 id="other-errors-retry-or-pause-the-goal">

164 Les autres erreurs réessaient ou mettent en pause l'objectif

165</h4>

166 

167Après tout autre échec, l'objectif reste défini. Dans une session interactive sur Claude Code v2.1.269 ou ultérieur, Claude Code imprime également une ligne nommant la cause et réessaye de lui-même ou vous attend :

168 

169* **Réessayer** : après un échec qui tend à s'effacer de lui-même, comme un serveur surchargé ou une connexion perdue, un avis commençant par `Goal still active` affiche l'attente avant la prochaine tentative. Après trois tentatives automatiques, l'objectif se met en pause à la place.

170* **Pause** : après un échec qu'une nouvelle tentative ne ferait que répéter, comme une limite de débit d'API, une [limite d'utilisation](/docs/fr/errors#youve-hit-your-session-limit) de claude.ai, ou un hook qui a terminé le tour, un avis commençant par `Goal paused` nomme la cause. Si la session [attend de continuer automatiquement quand une limite d'utilisation se réinitialise](/docs/fr/interactive-mode#wait-for-a-usage-limit-to-reset), Claude reprend le travail vers l'objectif à ce moment.

171 

172Envoyez un message à tout moment pour démarrer le tour suivant immédiatement. Pour désactiver les tentatives automatiques, définissez [`CLAUDE_CODE_GOAL_CHECKIN_MINUTES`](/docs/fr/env-vars) sur `0`, ce qui désactive également les [vérifications](#background-work-defers-evaluation).

158 173 

159<h3 id="background-work-defers-evaluation">174<h3 id="background-work-defers-evaluation">

160 Le travail en arrière-plan diffère l'évaluation175 Le travail en arrière-plan diffère l'évaluation


169 184 

170Avant v2.1.239, seules les vérifications inactives reculaient de cette façon ; une vérification livrée à la fin d'un tour se reproduisait au premier intervalle.185Avant v2.1.239, seules les vérifications inactives reculaient de cette façon ; une vérification livrée à la fin d'un tour se reproduisait au premier intervalle.

171 186 

172Pour modifier le premier intervalle, définissez [`CLAUDE_CODE_GOAL_CHECKIN_MINUTES`](/docs/fr/env-vars). Claude Code utilise votre valeur à la place de l'intervalle de 30 minutes et met à l'échelle les intervalles ultérieurs avec elle. Définissez-le sur `0` pour désactiver les vérifications. Les vérifications nécessitent Claude Code v2.1.234 ou ultérieur.187Pour modifier le premier intervalle, définissez [`CLAUDE_CODE_GOAL_CHECKIN_MINUTES`](/docs/fr/env-vars). Claude Code utilise votre valeur à la place de l'intervalle de 30 minutes et met à l'échelle les intervalles ultérieurs avec elle. Définissez-le sur `0` pour désactiver les vérifications et les [tentatives automatiques](#other-errors-retry-or-pause-the-goal).

188 

189Les vérifications nécessitent Claude Code v2.1.234 ou ultérieur.

173 190 

174<h3 id="evaluation-model-and-cost">191<h3 id="evaluation-model-and-cost">

175 Modèle d'évaluation et coût192 Modèle d'évaluation et coût

Details

211 211 

212Les commandes intégrées vous guident également à travers la configuration :212Les commandes intégrées vous guident également à travers la configuration :

213 213 

214* `/init` vous guide à travers la création d'un CLAUDE.md pour votre projet214* `/init` génère un CLAUDE.md de démarrage pour votre projet

215* `/doctor` exécute une vérification de configuration qui diagnostique les problèmes d'installation et de configuration et peut les corriger215* `/doctor` exécute une vérification de configuration qui diagnostique les problèmes d'installation et de configuration et peut les corriger

216 216 

217<h3 id="it’s-a-conversation">217<h3 id="it’s-a-conversation">

jetbrains.md +2 −2

Details

256**Outils exposés au modèle.** Le serveur héberge plusieurs outils, mais un seul est visible au modèle. Le reste est un RPC interne que le CLI utilise pour sa propre interface utilisateur, comme l'ouverture de diffs et la lecture de sélections, et est filtré avant que la liste des outils n'atteigne Claude.256**Outils exposés au modèle.** Le serveur héberge plusieurs outils, mais un seul est visible au modèle. Le reste est un RPC interne que le CLI utilise pour sa propre interface utilisateur, comme l'ouverture de diffs et la lecture de sélections, et est filtré avant que la liste des outils n'atteigne Claude.

257 257 

258| Nom de l'outil (tel que vu par les hooks) | Ce qu'il fait | Lecture seule |258| Nom de l'outil (tel que vu par les hooks) | Ce qu'il fait | Lecture seule |

259| ----------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | ------------- |259| ----------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------- |

260| `mcp__ide__getDiagnostics` | Retourne les diagnostics d'inspection de l'IDE, les erreurs et avertissements affichés dans l'éditeur. Optionnellement limité à un fichier. | Oui |260| `mcp__ide__getDiagnostics` | Retourne les diagnostics d'inspection de l'IDE, les erreurs et avertissements affichés dans l'éditeur. Chaque appel couvre un fichier : le fichier que Claude spécifie, ou le fichier dans votre éditeur actif si Claude n'en spécifie pas un. | Oui |

261 261 

262Le plugin JetBrains n'expose pas d'outil d'exécution de code au modèle.262Le plugin JetBrains n'expose pas d'outil d'exécution de code au modèle.

263 263 

Details

385 Garder les skills découvrables385 Garder les skills découvrables

386</h3>386</h3>

387 387 

388Avec les skills dispersés dans de nombreux répertoires, la liste parmi laquelle Claude choisit peut devenir grande. Claude choisit un skill en lisant le nom et la description de chaque skill découvert, et seul le contenu complet du skill choisi se charge dans le contexte. Cette section couvre comment garder cette liste petite et écrire des descriptions qui survivent au raccourcissement.388Avec les skills dispersés dans de nombreux répertoires, la liste parmi laquelle Claude choisit peut devenir grande. Claude choisit un skill en lisant le nom et la description de chaque skill découvert, et seul le contenu complet du skill choisi se charge dans le contexte. Cette section couvre comment garder cette liste petite.

389 389 

390Quels skills sont en scope dépend de l'endroit où vous démarrez Claude :390Quels skills sont en scope dépend de l'endroit où vous démarrez Claude :

391 391 


393* **À partir de la racine du référentiel** : skills de la racine, plus les skills de chaque sous-répertoire que Claude touche pendant la session, ce qui peut s'accumuler en centaines393* **À partir de la racine du référentiel** : skills de la racine, plus les skills de chaque sous-répertoire que Claude touche pendant la session, ce qui peut s'accumuler en centaines

394* **Après avoir ajouté un frère avec [`--add-dir`](#grant-access-across-packages-or-repositories)** : les skills de ce frère se chargent aussi. Le paramètre `additionalDirectories` accorde uniquement l'accès aux fichiers et ne charge pas les skills394* **Après avoir ajouté un frère avec [`--add-dir`](#grant-access-across-packages-or-repositories)** : les skills de ce frère se chargent aussi. Le paramètre `additionalDirectories` accorde uniquement l'accès aux fichiers et ne charge pas les skills

395 395 

396Les noms se chargent toujours, mais [les descriptions sont raccourcies lorsqu'il y en a beaucoup](/docs/fr/skills#skill-descriptions-are-cut-short), ce qui peut supprimer les mots-clés que Claude utilise pour décider si un skill s'applique. Gardez les descriptions courtes et commencez par les mots qu'une demande contiendrait, comme « écrire ou modifier les tests dans `packages/api/` ».396Les noms se chargent toujours, mais [lorsqu'il y en a beaucoup, certains skills perdent entièrement leurs descriptions](/docs/fr/skills#skill-descriptions-are-cut-short), ce qui peut supprimer les mots-clés que Claude utilise pour décider si un skill s'applique. Gardez les descriptions courtes et commencez par les mots qu'une demande contiendrait, comme « écrire ou modifier les tests dans `packages/api/` ».

397 397 

398Pour les skills que de nombreux répertoires partagent, comme les conventions PR ou une liste de contrôle de déploiement, placez-les dans le `.claude/skills/` de la racine du référentiel afin qu'ils se chargent à partir de n'importe quel répertoire de démarrage. Lorsque les skills partagés ont besoin de leur propre historique de version ou doivent fonctionner entre les référentiels, empaquetez-les en tant que [plugin](/docs/fr/plugins) à la place. Les skills de plugin utilisent un espace de noms `plugin-name:skill-name`, donc ils ne collisionnent jamais avec les skills par répertoire. Une équipe de plateforme peut les versionner et les mettre à jour au même endroit.398Pour les skills que de nombreux répertoires partagent, comme les conventions PR ou une liste de contrôle de déploiement, placez-les dans le `.claude/skills/` de la racine du référentiel afin qu'ils se chargent à partir de n'importe quel répertoire de démarrage. Lorsque les skills partagés ont besoin de leur propre historique de version ou doivent fonctionner entre les référentiels, empaquetez-les en tant que [plugin](/docs/fr/plugins) à la place. Les skills de plugin utilisent un espace de noms `plugin-name:skill-name`, donc ils ne collisionnent jamais avec les skills par répertoire. Une équipe de plateforme peut les versionner et les mettre à jour au même endroit.

399 399 

Details

143 143 

144Quand votre organisation livre plus d'une source gérée à la même machine, la clé [`managedSourcesBehavior`](/docs/fr/settings-reference#managedsourcesbehavior) décide ce que Claude Code fait avec les autres :144Quand votre organisation livre plus d'une source gérée à la même machine, la clé [`managedSourcesBehavior`](/docs/fr/settings-reference#managedsourcesbehavior) décide ce que Claude Code fait avec les autres :

145 145 

146* **`"first-wins"`, la valeur par défaut** : Claude Code utilise la source la mieux classée qui livre au moins une clé de politique et ignore le reste plutôt que de les fusionner, à l'exception des quelques clés dans [Clés lues de chaque source d'administration](#keys-read-from-every-admin-source). Claude Code n'affiche aucun avertissement pour les sources qu'il ignore ; `/status` [nomme la source qu'il a utilisée et celles qu'il a ignorées](#read-the-source-in-/status).146* **`"first-wins"`, la valeur par défaut** : Claude Code utilise la source la mieux classée qui livre au moins une clé de politique et ignore le reste plutôt que de les fusionner, à l'exception des clés dans [Clés lues de chaque source d'administration](#keys-read-from-every-admin-source). Claude Code n'affiche aucun avertissement pour les sources qu'il ignore ; `/status` [nomme la source qu'il a utilisée et celles qu'il a ignorées](#read-the-source-in-/status).

147* **`"merge"`** : Claude Code applique chaque source d'administration qui livre une clé de politique et les combine par type de clé : sur la plupart des clés, la valeur de la source la mieux classée s'applique, les listes s'unissent, et les verrous prennent la valeur la plus stricte. [Composer chaque source gérée](#compose-every-managed-source) dit où définir la clé et comment chaque type de clé se combine. Nécessite Claude Code v2.1.242 ou ultérieur.147* **`"merge"`** : Claude Code applique chaque source d'administration qui livre une clé de politique et les combine par type de clé : sur la plupart des clés, la valeur de la source la mieux classée s'applique, les listes s'unissent, et les verrous prennent la valeur la plus stricte. [Composer chaque source gérée](#compose-every-managed-source) dit où définir la clé et comment chaque type de clé se combine. Nécessite Claude Code v2.1.242 ou ultérieur.

148 148 

149Les deux paramètres classent les sources de la même manière. Deux termes reviennent dans cette section :149Les deux paramètres classent les sources de la même manière. Deux termes reviennent dans cette section :


186* [`forceRemoteSettingsRefresh`](/docs/fr/server-managed-settings)186* [`forceRemoteSettingsRefresh`](/docs/fr/server-managed-settings)

187* `env`, fusionné par variable de chaque source d'administration : chaque variable provient de la source de priorité la plus élevée qui la définit, donc les sources inférieures remplissent les variables que les sources supérieures laissent non définies. Quelques variables suivent leurs propres règles ; [Exceptions par clé de chaque source gérée](/docs/fr/server-managed-settings#per-key-exceptions-across-managed-sources) nomme chacune. Nécessite Claude Code v2.1.223 ou ultérieur. Avant v2.1.223, Claude Code appliquait uniquement le bloc `env` entier de la source sélectionnée187* `env`, fusionné par variable de chaque source d'administration : chaque variable provient de la source de priorité la plus élevée qui la définit, donc les sources inférieures remplissent les variables que les sources supérieures laissent non définies. Quelques variables suivent leurs propres règles ; [Exceptions par clé de chaque source gérée](/docs/fr/server-managed-settings#per-key-exceptions-across-managed-sources) nomme chacune. Nécessite Claude Code v2.1.223 ou ultérieur. Avant v2.1.223, Claude Code appliquait uniquement le bloc `env` entier de la source sélectionnée

188 188 

189Les [clés de connexion à la passerelle](#choose-a-delivery-mechanism), [`forceLoginGatewayUrl`](/docs/fr/settings-reference#forcelogingatewayurl) et la valeur `"gateway"` de [`forceLoginMethod`](/docs/fr/settings-reference#forceloginmethod), suivent une règle séparée. Claude Code ne les lit jamais à partir des paramètres gérés par le serveur, donc pendant que les paramètres gérés par le serveur sont la source sélectionnée, la source d'administration la mieux classée sur la machine qui porte une clé de politique les fournit toujours. Une valeur dans une source d'administration classée en dessous de celle-ci, ou dans le registre HKCU, est ignorée.

190 

189<h3 id="compose-every-managed-source">191<h3 id="compose-every-managed-source">

190 Composer chaque source gérée192 Composer chaque source gérée

191</h3>193</h3>

model-config.md +4 −2

Details

134`/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 :134`/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 :

135 135 

136* `Enter` : basculer le modèle et enregistrer comme valeur par défaut136* `Enter` : basculer le modèle et enregistrer comme valeur par défaut

137* `s` : basculer le modèle pour cette session uniquement137* `s` : basculer le modèle pour cette session uniquement et laisser votre valeur par défaut inchangée. Pour utiliser une clé différente, reliez [`modelPicker:thisSessionOnly`](/docs/fr/keybindings#model-picker-actions)

138 138 

139Taper `/model <name>` directement se comporte comme `Enter`. Si vous définissez un modèle avec `/model` en [mode non interactif](/docs/fr/headless), avec l'indicateur `-p`, votre choix s'applique à la session actuelle uniquement et n'est pas enregistré comme valeur par défaut ; `/model` dans ce mode nécessite Claude Code v2.1.205 ou version ultérieure. Les paramètres du projet et gérés conservent toujours la priorité et se réappliquent au prochain lancement. Un [modèle par défaut de l'organisation](#organization-default-model) que votre administrateur a configuré pour remplacer la sélection de l'utilisateur se réapplique également au prochain lancement.139Taper `/model <name>` directement se comporte comme `Enter`. Pour basculer pour cette session uniquement, ouvrez le sélecteur avec `/model` et appuyez sur `s` sur la ligne du modèle.

140 

141Si vous définissez un modèle avec `/model` en [mode non interactif](/docs/fr/headless), avec l'indicateur `-p`, votre choix s'applique à la session actuelle uniquement et n'est pas enregistré comme valeur par défaut ; `/model` dans ce mode nécessite Claude Code v2.1.205 ou version ultérieure. Les paramètres du projet et gérés conservent toujours la priorité et se réappliquent au prochain lancement. Un [modèle par défaut de l'organisation](#organization-default-model) que votre administrateur a configuré pour remplacer la sélection de l'utilisateur se réapplique également au prochain lancement.

140 142 

141Dans v2.1.144 à v2.1.152, `/model` s'appliquait à la session actuelle uniquement et `d` dans le sélecteur enregistrait une valeur par défaut.143Dans v2.1.144 à v2.1.152, `/model` s'appliquait à la session actuelle uniquement et `d` dans le sélecteur enregistrait une valeur par défaut.

142 144 

Details

150Les variables d'environnement suivantes contrôlent les attributs inclus dans les métriques pour gérer la cardinalité :150Les variables d'environnement suivantes contrôlent les attributs inclus dans les métriques pour gérer la cardinalité :

151 151 

152| Variable d'environnement | Description | Valeur par défaut | Exemple pour désactiver |152| Variable d'environnement | Description | Valeur par défaut | Exemple pour désactiver |

153| ------------------------------------------ | ----------------------------------------------------------------------------------------------------- | ----------------- | ----------------------- |153| ------------------------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------- | ----------------------- |

154| `OTEL_METRICS_INCLUDE_SESSION_ID` | Inclure l'attribut session.id dans les métriques | `true` | `false` |154| `OTEL_METRICS_INCLUDE_SESSION_ID` | Inclure l'attribut session.id dans les métriques | `true` | `false` |

155| `OTEL_METRICS_INCLUDE_VERSION` | Inclure l'attribut app.version dans les métriques | `false` | `true` |155| `OTEL_METRICS_INCLUDE_VERSION` | Inclure l'attribut app.version dans les métriques | `false` | `true` |

156| `OTEL_METRICS_INCLUDE_ACCOUNT_UUID` | Inclure les attributs user.account\_uuid et user.account\_id dans les métriques | `true` | `false` |156| `OTEL_METRICS_INCLUDE_ACCOUNT_UUID` | Inclure les attributs user.account\_uuid et user.account\_id dans les métriques | `true` | `false` |

157| `OTEL_METRICS_INCLUDE_ENTRYPOINT` | Inclure l'attribut app.entrypoint dans les métriques | `false` | `true` |157| `OTEL_METRICS_INCLUDE_ENTRYPOINT` | Inclure l'attribut app.entrypoint dans les métriques | `false` | `true` |

158| `OTEL_METRICS_INCLUDE_RESOURCE_ATTRIBUTES` | Inclure les clés de `OTEL_RESOURCE_ATTRIBUTES` comme attributs sur les points de données de métriques | `true` | `false` |158| `OTEL_METRICS_INCLUDE_RESOURCE_ATTRIBUTES` | Inclure les clés de `OTEL_RESOURCE_ATTRIBUTES` comme attributs sur les points de données de métriques | `true` | `false` |

159| `OTEL_METRICS_INCLUDE_REPOSITORY` | Inclure les [attributs d'identité de référentiel](#repository-attributes) `vcs.*` sur les métriques et événements. Nécessite Claude Code v2.1.269 ou version ultérieure | `false` | `true` |

159 160 

160Une cardinalité plus faible signifie généralement de meilleures performances et des coûts de stockage plus bas, mais des données moins granulaires pour l'analyse.161Une cardinalité plus faible signifie généralement de meilleures performances et des coûts de stockage plus bas, mais des données moins granulaires pour l'analyse.

161 162 


222| ------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------- |223| ------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------- |

223| `user_prompt` | Texte de l'invite. La valeur est `<REDACTED>` sauf si la porte est définie | `OTEL_LOG_USER_PROMPTS` |224| `user_prompt` | Texte de l'invite. La valeur est `<REDACTED>` sauf si la porte est définie | `OTEL_LOG_USER_PROMPTS` |

224| `user_prompt_length` | Longueur de l'invite en caractères | |225| `user_prompt_length` | Longueur de l'invite en caractères | |

225| `interaction.sequence` | Compteur basé sur 1 des interactions dans cette session | |226| `interaction.sequence` | Compteur basé sur 1 des interactions, compté par processus Claude Code plutôt que par session, comme décrit pour [`event.sequence`](#event-correlation-attributes) | |

226| `parent.source` | Comment l'intervalle a obtenu son parent de trace : `env` lorsqu'il a été parent sous un `TRACEPARENT` entrant, `none` lorsqu'il a démarré sa propre trace. Nécessite Claude Code v2.1.268 ou version ultérieure | |227| `parent.source` | Comment l'intervalle a obtenu son parent de trace : `env` lorsqu'il a été parent sous un `TRACEPARENT` entrant, `none` lorsqu'il a démarré sa propre trace. Nécessite Claude Code v2.1.268 ou version ultérieure | |

227| `interaction.duration_ms` | Durée murale du tour | |228| `interaction.duration_ms` | Durée murale du tour | |

228 229 


390* Créer des tableaux de bord spécifiques à l'équipe391* Créer des tableaux de bord spécifiques à l'équipe

391* Configurer des alertes pour des équipes spécifiques392* Configurer des alertes pour des équipes spécifiques

392 393 

393Claude Code attache ces valeurs comme attributs sur chaque point de données de métriques et enregistrement d'événement, en plus de les envoyer dans le bloc de ressources OTLP. Parce que la plupart des backends de métriques exposent les attributs de point de données comme des étiquettes interrogeables, vous pouvez regrouper et filtrer les métriques par vos clés personnalisées directement. Les clés personnalisées ne remplacent jamais les [attributs standard](#standard-attributes) tels que `user.id` ou `session.id` : lorsqu'une clé entre en collision, Claude Code conserve la valeur intégrée.394Claude Code attache ces valeurs comme attributs sur chaque point de données de métriques et enregistrement d'événement, en plus de les envoyer dans le bloc de ressources OTLP. Parce que la plupart des backends de métriques exposent les attributs de point de données comme des étiquettes interrogeables, vous pouvez regrouper et filtrer les métriques par vos clés personnalisées directement. Sauf pour les [attributs de référentiel](#repository-attributes) `vcs.*`, les clés personnalisées ne remplacent jamais les [attributs standard](#standard-attributes) tels que `user.id` ou `session.id` : lorsqu'une clé entre en collision, Claude Code conserve la valeur intégrée.

394 395 

395Chaque 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).396Chaque 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).

396 397 


499Toutes les métriques et tous les événements partagent ces attributs standard :500Toutes les métriques et tous les événements partagent ces attributs standard :

500 501 

501| Attribut | Description | Contrôlé par |502| Attribut | Description | Contrôlé par |

502| ---------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------- |503| --------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- |

503| `session.id` | Identifiant de session unique | `OTEL_METRICS_INCLUDE_SESSION_ID` (par défaut : true) |504| `session.id` | Identifiant de session unique | `OTEL_METRICS_INCLUDE_SESSION_ID` (par défaut : true) |

504| `app.version` | Version actuelle de Claude Code | `OTEL_METRICS_INCLUDE_VERSION` (par défaut : false) |505| `app.version` | Version actuelle de Claude Code | `OTEL_METRICS_INCLUDE_VERSION` (par défaut : false) |

505| `app.entrypoint` | Comment la session a été lancée, par exemple `cli`, `sdk-cli`, `sdk-ts`, `sdk-py`, ou `claude-vscode` | `OTEL_METRICS_INCLUDE_ENTRYPOINT` (par défaut : false) |506| `app.entrypoint` | Comment la session a été lancée, par exemple `cli`, `sdk-cli`, `sdk-ts`, `sdk-py`, ou `claude-vscode` | `OTEL_METRICS_INCLUDE_ENTRYPOINT` (par défaut : false) |


510| `user.email` | Adresse e-mail de l'utilisateur, de votre connexion ou, dans une [session cloud](/docs/fr/claude-code-on-the-web), des identifiants de la session elle-même | Toujours inclus si disponible |511| `user.email` | Adresse e-mail de l'utilisateur, de votre connexion ou, dans une [session cloud](/docs/fr/claude-code-on-the-web), des identifiants de la session elle-même | Toujours inclus si disponible |

511| `terminal.type` | Type de terminal, tel que `iTerm.app`, `vscode`, `cursor`, ou `tmux` | Toujours inclus si détecté |512| `terminal.type` | Type de terminal, tel que `iTerm.app`, `vscode`, `cursor`, ou `tmux` | Toujours inclus si détecté |

512| 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) |513| 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) |

514| `vcs.repository.url.full`, `vcs.owner.name`, `vcs.repository.name`, `vcs.provider.name` | L'identité du référentiel de la session, dérivée de sa télécommande `origin`. Voir [Attributs du référentiel](#repository-attributes) | `OTEL_METRICS_INCLUDE_REPOSITORY` (par défaut : false). Nécessite Claude Code v2.1.269 ou ultérieur |

513 515 

514Lorsque Claude Code est connecté à une [passerelle d'applications Claude](/docs/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.516Lorsque Claude Code est connecté à une [passerelle d'applications Claude](/docs/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.

515 517 


520* `workflow.run_id` : identifiant d'exécution, préfixé `wf_`, sur les événements d'API et d'outil émis par les agents qui appartiennent à une exécution d'outil [Workflow](/docs/fr/workflows). Le filtrage des événements par un `workflow.run_id` reconstruit les demandes d'API et les résultats d'outil de cette exécution. L'identifiant couvre les agents que le script de flux de travail génère et tous les agents que ceux-ci génèrent à leur tour, tels que les invocations de compétences. Il correspond à l'identifiant d'exécution signalé dans le résultat de l'outil Workflow. Absent sur tous les autres événements. Nécessite Claude Code v2.1.202 ou ultérieur522* `workflow.run_id` : identifiant d'exécution, préfixé `wf_`, sur les événements d'API et d'outil émis par les agents qui appartiennent à une exécution d'outil [Workflow](/docs/fr/workflows). Le filtrage des événements par un `workflow.run_id` reconstruit les demandes d'API et les résultats d'outil de cette exécution. L'identifiant couvre les agents que le script de flux de travail génère et tous les agents que ceux-ci génèrent à leur tour, tels que les invocations de compétences. Il correspond à l'identifiant d'exécution signalé dans le résultat de l'outil Workflow. Absent sur tous les autres événements. Nécessite Claude Code v2.1.202 ou ultérieur

521* `workflow.name` : nom du flux de travail, le `meta.name` de son script, émis aux côtés de `workflow.run_id`. Les noms de flux de travail intégrés apparaissent textuellement lorsque l'exécution exécute le script intégré non modifié. Les noms créés par l'utilisateur, y compris les copies modifiées de scripts intégrés, sont remplacés par `custom` sauf si `OTEL_LOG_TOOL_DETAILS=1` est défini. Nécessite Claude Code v2.1.202 ou ultérieur523* `workflow.name` : nom du flux de travail, le `meta.name` de son script, émis aux côtés de `workflow.run_id`. Les noms de flux de travail intégrés apparaissent textuellement lorsque l'exécution exécute le script intégré non modifié. Les noms créés par l'utilisateur, y compris les copies modifiées de scripts intégrés, sont remplacés par `custom` sauf si `OTEL_LOG_TOOL_DETAILS=1` est défini. Nécessite Claude Code v2.1.202 ou ultérieur

522 524 

525<h4 id="repository-attributes">

526 Attributs du référentiel

527</h4>

528 

529Définissez `OTEL_METRICS_INCLUDE_REPOSITORY=true` pour baliser les métriques et les événements avec l'identité du référentiel de la session, afin qu'un collecteur partagé puisse attribuer l'utilisation par référentiel. Nécessite Claude Code v2.1.269 ou ultérieur.

530 

531Claude Code dérive ces attributs une fois par session à partir de la télécommande `origin` du référentiel. Les télécommandes HTTPS et SSH d'un référentiel produisent des valeurs identiques :

532 

533| Attribut | Valeur |

534| ------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

535| `vcs.repository.url.full` | L'URL du navigateur du référentiel sans `.git`, telle que `https://github.com/example-org/example-repo` |

536| `vcs.owner.name` | Le chemin du propriétaire ou du groupe, tel que `example-org` ; omis lorsque le chemin de la télécommande a un seul segment |

537| `vcs.repository.name` | Le nom du référentiel nu, tel que `example-repo` |

538| `vcs.provider.name` | `github`, `gitlab`, `bitbucket`, ou `gitea` lorsque Claude Code reconnaît l'hôte de la télécommande ou la forme de l'URL comme l'un de ces fournisseurs ; omis sinon |

539 

540Les valeurs sont en minuscules, et les identifiants, les chaînes de requête et les fragments de l'URL de la télécommande n'apparaissent jamais en eux. Les attributs sont omis lorsque la session n'a pas de télécommande `origin`, lorsque la télécommande n'est pas en forme d'URL, ou lorsque le seul référentiel englobant est votre répertoire personnel.

541 

542Une clé `vcs.*` que vous déclarez dans [`OTEL_RESOURCE_ATTRIBUTES`](#multi-team-organization-support) remplace la valeur dérivée pour cette clé. Si vous déclarez `vcs.repository.url.full`, Claude Code ne lit jamais la télécommande et rapporte uniquement les clés que vous déclarez.

543 

544Les attributs circulent uniquement vers vos propres exportateurs ; la télémétrie d'Anthropic supprime chaque clé `vcs.*`.

545 

523<h3 id="metrics">546<h3 id="metrics">

524 Métriques547 Métriques

525</h3>548</h3>


664| Attribut | Description |687| Attribut | Description |

665| ------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |688| ------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

666| `prompt.id` | Identifiant UUID v4 liant tous les événements produits lors du traitement d'une invite utilisateur unique |689| `prompt.id` | Identifiant UUID v4 liant tous les événements produits lors du traitement d'une invite utilisateur unique |

690| `event.sequence` | Compteur basé sur 0 pour ordonner les événements, compté par processus Claude Code plutôt que par session |

667| `message.uuid` | UUID du message tel que conservé dans la transcription de session, les fichiers `~/.claude/projects/*/*.jsonl`. Présent sur `assistant_response`, et sur `user_prompt` sauf pour les dispatches de commande, qui peuvent produire zéro ou plusieurs messages. Sur `assistant_response`, c'est l'entrée de transcription finale de la réponse, à partir de laquelle le `parentUuid` du tour suivant s'enchaîne. Nécessite Claude Code v2.1.214 ou ultérieur |691| `message.uuid` | UUID du message tel que conservé dans la transcription de session, les fichiers `~/.claude/projects/*/*.jsonl`. Présent sur `assistant_response`, et sur `user_prompt` sauf pour les dispatches de commande, qui peuvent produire zéro ou plusieurs messages. Sur `assistant_response`, c'est l'entrée de transcription finale de la réponse, à partir de laquelle le `parentUuid` du tour suivant s'enchaîne. Nécessite Claude Code v2.1.214 ou ultérieur |

668| `client_request_id` | UUID généré par le client envoyé en tant qu'en-tête de demande `x-client-request-id`. Présent sur `api_request` et `api_error` sur les connexions d'API propriétaires ; absent sur les backends de fournisseurs tiers et lorsque la demande a été retentée via le fallback non-streaming. Associe une demande à sa réponse et reste disponible pour les défaillances telles que les délais d'expiration qui n'ont jamais produit de `request_id` serveur. Correspond au même attribut sur la plage de trace `llm_request`. Nécessite Claude Code v2.1.214 ou ultérieur |692| `client_request_id` | UUID généré par le client envoyé en tant qu'en-tête de demande `x-client-request-id`. Présent sur `api_request` et `api_error` sur les connexions d'API propriétaires ; absent sur les backends de fournisseurs tiers et lorsque la demande a été retentée via le fallback non-streaming. Associe une demande à sa réponse et reste disponible pour les défaillances telles que les délais d'expiration qui n'ont jamais produit de `request_id` serveur. Correspond au même attribut sur la plage de trace `llm_request`. Nécessite Claude Code v2.1.214 ou ultérieur |

669 693 

670Pour tracer toute l'activité déclenchée par une invite unique, filtrez vos événements par une valeur `prompt.id` spécifique. Cela retourne l'événement user\_prompt, tous les événements api\_request, et tous les événements tool\_result qui se sont produits lors du traitement de cette invite.694Pour tracer toute l'activité déclenchée par une invite unique, filtrez vos événements par une valeur `prompt.id` spécifique. Cela retourne l'événement user\_prompt, tous les événements api\_request, et tous les événements tool\_result qui se sont produits lors du traitement de cette invite.

671 695 

696`event.sequence` commence à 0 chaque fois qu'un processus Claude Code démarre et compte jusqu'à la fin de ce processus. Il continue de compter après `/clear`, qui attribue un nouveau `session.id`. Si vous [reprenez une session sans la forker](/docs/fr/how-claude-code-works#resume-or-fork-sessions), la session conserve son `session.id` mais prend ses valeurs `event.sequence` du processus qui l'a reprise, donc au sein d'une session un événement ultérieur peut porter une valeur inférieure à celle d'un événement antérieur, ou en répéter une. Pour ordonner les événements d'une session, triez par `event.timestamp` et utilisez `event.sequence` pour ordonner les événements qui partagent un horodatage.

697 

672Pour la reconstruction au niveau des messages, chaque classe d'événement porte une clé qui correspond à un champ dans la transcription de session. Le format d'entrée de transcription est [interne à Claude Code](/docs/fr/sessions#where-transcripts-are-stored) et change entre les versions, donc un pipeline qui joint sur ces champs peut se casser à chaque version ; traitez les jointures comme spécifiques à la version plutôt que comme un contrat stable :698Pour la reconstruction au niveau des messages, chaque classe d'événement porte une clé qui correspond à un champ dans la transcription de session. Le format d'entrée de transcription est [interne à Claude Code](/docs/fr/sessions#where-transcripts-are-stored) et change entre les versions, donc un pipeline qui joint sur ces champs peut se casser à chaque version ; traitez les jointures comme spécifiques à la version plutôt que comme un contrat stable :

673 699 

674* `message.uuid` sur `user_prompt` et `assistant_response`700* `message.uuid` sur `user_prompt` et `assistant_response`


688* Tous les [attributs standard](#standard-attributes)714* Tous les [attributs standard](#standard-attributes)

689* `event.name` : `"user_prompt"`715* `event.name` : `"user_prompt"`

690* `event.timestamp` : Horodatage ISO 8601716* `event.timestamp` : Horodatage ISO 8601

691* `event.sequence` : Compteur monotone croissant pour ordonner les événements au sein d'une session717* `event.sequence` : Compteur par processus pour ordonner les événements, décrit sous [Attributs de corrélation d'événements](#event-correlation-attributes)

692* `prompt_length` : Longueur de l'invite718* `prompt_length` : Longueur de l'invite

693* `prompt` : Contenu de l'invite. Masqué par défaut. Définissez `OTEL_LOG_USER_PROMPTS=1` pour l'inclure719* `prompt` : Contenu de l'invite. Masqué par défaut. Définissez `OTEL_LOG_USER_PROMPTS=1` pour l'inclure

694* `message.uuid` : UUID du message utilisateur résultant, correspondant à l'entrée de transcription conservée. Absent sur les dispatches de commande, qui peuvent produire zéro ou plusieurs messages. Nécessite Claude Code v2.1.214 ou ultérieur720* `message.uuid` : UUID du message utilisateur résultant, correspondant à l'entrée de transcription conservée. Absent sur les dispatches de commande, qui peuvent produire zéro ou plusieurs messages. Nécessite Claude Code v2.1.214 ou ultérieur


708* Tous les [attributs standard](#standard-attributes)734* Tous les [attributs standard](#standard-attributes)

709* `event.name` : `"assistant_response"`735* `event.name` : `"assistant_response"`

710* `event.timestamp` : Horodatage ISO 8601736* `event.timestamp` : Horodatage ISO 8601

711* `event.sequence` : Compteur monotone croissant pour ordonner les événements au sein d'une session737* `event.sequence` : Compteur par processus pour ordonner les événements, décrit sous [Attributs de corrélation d'événements](#event-correlation-attributes)

712* `response_length` : Longueur du texte de réponse en caractères738* `response_length` : Longueur du texte de réponse en caractères

713* `response` : Texte de réponse, tronqué à la limite de contenu (60 Ko par défaut). 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ée739* `response` : Texte de réponse, tronqué à la limite de contenu (60 Ko par défaut). 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

714* `model` : Identifiant du modèle (par exemple, « claude-sonnet-5 »)740* `model` : Identifiant du modèle (par exemple, « claude-sonnet-5 »)


729* Tous les [attributs standard](#standard-attributes)755* Tous les [attributs standard](#standard-attributes)

730* `event.name` : `"tool_result"`756* `event.name` : `"tool_result"`

731* `event.timestamp` : Horodatage ISO 8601757* `event.timestamp` : Horodatage ISO 8601

732* `event.sequence` : Compteur monotone croissant pour ordonner les événements au sein d'une session758* `event.sequence` : Compteur par processus pour ordonner les événements, décrit sous [Attributs de corrélation d'événements](#event-correlation-attributes)

733* `tool_name` : Nom de l'outil759* `tool_name` : Nom de l'outil

734* `tool_use_id` : Identifiant unique pour cette invocation d'outil. Correspond au `tool_use_id` passé aux hooks, permettant la corrélation entre les événements OTel et les données capturées par les hooks.760* `tool_use_id` : Identifiant unique pour cette invocation d'outil. Correspond au `tool_use_id` passé aux hooks, permettant la corrélation entre les événements OTel et les données capturées par les hooks.

735* `success` : `"true"` ou `"false"`761* `success` : `"true"` ou `"false"`


741* `tool_input_size_bytes` : Taille de l'entrée d'outil sérialisée en JSON en octets767* `tool_input_size_bytes` : Taille de l'entrée d'outil sérialisée en JSON en octets

742* `tool_result_size_bytes` : Taille du résultat de l'outil en octets768* `tool_result_size_bytes` : Taille du résultat de l'outil en octets

743* `mcp_server_scope` : Identifiant de portée du serveur MCP (pour les outils MCP)769* `mcp_server_scope` : Identifiant de portée du serveur MCP (pour les outils MCP)

770* `vcs.ref.head.revision`, `vcs.ref.head.name`, `vcs.ref.head.type` (lorsque `OTEL_LOG_TOOL_DETAILS=1`) : l'identité du commit d'une exécution `git commit` réussie par l'outil Bash ou PowerShell. `vcs.ref.head.revision` est le SHA du commit, `vcs.ref.head.name` est la branche sur laquelle il a été commité, et `vcs.ref.head.type` est `branch`. Le nom et le type sont omis lorsque le commit a été effectué sur un HEAD détaché. Nécessite Claude Code v2.1.269 ou ultérieur

744* `tool_parameters` (lorsque `OTEL_LOG_TOOL_DETAILS=1`) : Chaîne JSON contenant les paramètres spécifiques à l'outil. Pour les serveurs intégrés de Claude Desktop, dans les sessions que Claude Desktop possède, la paire `mcp_server_name`/`mcp_tool_name` est incluse même avec le drapeau désactivé, la même exception créée par l'hôte que l'[Événement de décision d'outil](#tool-decision-event), nécessitant Claude Code v2.1.214 ou ultérieur. Les paramètres varient selon l'outil :771* `tool_parameters` (lorsque `OTEL_LOG_TOOL_DETAILS=1`) : Chaîne JSON contenant les paramètres spécifiques à l'outil. Pour les serveurs intégrés de Claude Desktop, dans les sessions que Claude Desktop possède, la paire `mcp_server_name`/`mcp_tool_name` est incluse même avec le drapeau désactivé, la même exception créée par l'hôte que l'[Événement de décision d'outil](#tool-decision-event), nécessitant Claude Code v2.1.214 ou ultérieur. Les paramètres varient selon l'outil :

745 * Pour l'outil Bash : inclut `bash_command`, `full_command`, `timeout`, `description`, `dangerouslyDisableSandbox`, et `git_commit_id` (le SHA du commit, lorsqu'une commande `git commit` réussit). L'outil bash d'espace de travail de l'application de bureau rapporte également `tool_name` comme `Bash`, mais inclut uniquement `bash_command`, `full_command`, et `timeout`772 * Pour l'outil Bash : inclut `bash_command`, `full_command`, `timeout`, `description`, `dangerouslyDisableSandbox`, et `git_commit_id` et `git_branch` lorsqu'une commande `git commit` réussit. `git_commit_id` est le SHA complet du commit lorsque le commit est le HEAD du répertoire de travail de la session, et le SHA abrégé de git sinon. `git_branch` est la branche sur laquelle il a été commité, omis sur un HEAD détaché

773 * Pour l'outil bash d'espace de travail de l'application de bureau, qui rapporte également `tool_name` comme `Bash` : inclut uniquement `bash_command`, `full_command`, et `timeout`

746 * Pour les outils MCP : inclut `mcp_server_name`, `mcp_tool_name`774 * Pour les outils MCP : inclut `mcp_server_name`, `mcp_tool_name`

747 * Pour l'outil Skill : inclut `skill_name`775 * Pour l'outil Skill : inclut `skill_name`

748 * Pour l'outil Agent ou l'outil Task hérité : inclut `subagent_type`776 * Pour l'outil Agent ou l'outil Task hérité : inclut `subagent_type`


761* Tous les [attributs standard](#standard-attributes)789* Tous les [attributs standard](#standard-attributes)

762* `event.name` : `"api_request"`790* `event.name` : `"api_request"`

763* `event.timestamp` : Horodatage ISO 8601791* `event.timestamp` : Horodatage ISO 8601

764* `event.sequence` : Compteur monotone croissant pour ordonner les événements au sein d'une session792* `event.sequence` : Compteur par processus pour ordonner les événements, décrit sous [Attributs de corrélation d'événements](#event-correlation-attributes)

765* `model` : Modèle utilisé (par exemple, « claude-sonnet-5 »)793* `model` : Modèle utilisé (par exemple, « claude-sonnet-5 »)

766* `cost_usd` : Coût estimé en USD794* `cost_usd` : Coût estimé en USD

767* `cost_usd_micros` : Coût estimé en millionièmes de dollar américain, émis sous forme d'entier795* `cost_usd_micros` : Coût estimé en millionièmes de dollar américain, émis sous forme d'entier


790* Tous les [attributs standard](#standard-attributes)818* Tous les [attributs standard](#standard-attributes)

791* `event.name` : `"api_error"`819* `event.name` : `"api_error"`

792* `event.timestamp` : Horodatage ISO 8601820* `event.timestamp` : Horodatage ISO 8601

793* `event.sequence` : Compteur monotone croissant pour ordonner les événements au sein d'une session821* `event.sequence` : Compteur par processus pour ordonner les événements, décrit sous [Attributs de corrélation d'événements](#event-correlation-attributes)

794* `model` : Modèle utilisé (par exemple, « claude-sonnet-5 »)822* `model` : Modèle utilisé (par exemple, « claude-sonnet-5 »)

795* `error` : Message d'erreur823* `error` : Message d'erreur

796* `status_code` : Code de statut HTTP sous forme de nombre. Absent pour les erreurs non-HTTP telles que les défaillances de connexion.824* `status_code` : Code de statut HTTP sous forme de nombre. Absent pour les erreurs non-HTTP telles que les défaillances de connexion.


816* Tous les [attributs standard](#standard-attributes)844* Tous les [attributs standard](#standard-attributes)

817* `event.name` : `"api_refusal"`845* `event.name` : `"api_refusal"`

818* `event.timestamp` : Horodatage ISO 8601846* `event.timestamp` : Horodatage ISO 8601

819* `event.sequence` : Compteur monotone croissant pour ordonner les événements au sein d'une session847* `event.sequence` : Compteur par processus pour ordonner les événements, décrit sous [Attributs de corrélation d'événements](#event-correlation-attributes)

820* `model` : Identifiant du modèle de la demande848* `model` : Identifiant du modèle de la demande

821* `request_id` : ID de demande d'API Anthropic de l'en-tête `request-id` de la réponse, tel que `"req_011..."`. Présent uniquement lorsque l'API en retourne un.849* `request_id` : ID de demande d'API Anthropic de l'en-tête `request-id` de la réponse, tel que `"req_011..."`. Présent uniquement lorsque l'API en retourne un.

822* `query_source` : Sous-système qui a émis la demande, tel que `"repl_main_thread"`, `"compact"`, ou un nom de sous-agent. Voir [`api_request`](#api-request-event) pour les définitions.850* `query_source` : Sous-système qui a émis la demande, tel que `"repl_main_thread"`, `"compact"`, ou un nom de sous-agent. Voir [`api_request`](#api-request-event) pour les définitions.


842* Tous les [attributs standard](#standard-attributes)870* Tous les [attributs standard](#standard-attributes)

843* `event.name` : `"api_request_body"`871* `event.name` : `"api_request_body"`

844* `event.timestamp` : Horodatage ISO 8601872* `event.timestamp` : Horodatage ISO 8601

845* `event.sequence` : Compteur monotone croissant pour ordonner les événements au sein d'une session873* `event.sequence` : Compteur par processus pour ordonner les événements, décrit sous [Attributs de corrélation d'événements](#event-correlation-attributes)

846* `body` : Paramètres de demande de l'API Messages sérialisés en JSON, tels que l'invite système, les messages et les outils, tronqués à la limite de contenu (60 Ko par défaut). Le contenu de la réflexion étendue dans les tours d'assistant antérieurs est masqué. Émis uniquement en mode en ligne (`OTEL_LOG_RAW_API_BODIES=1`).874* `body` : Paramètres de demande de l'API Messages sérialisés en JSON, tels que l'invite système, les messages et les outils, tronqués à la limite de contenu (60 Ko par défaut). Le contenu de la réflexion étendue dans les tours d'assistant antérieurs est masqué. Émis uniquement en mode en ligne (`OTEL_LOG_RAW_API_BODIES=1`).

847* `body_ref` : Chemin absolu vers un fichier `<dir>/<uuid>.request.json` contenant le corps non tronqué. Émis uniquement en mode fichier (`OTEL_LOG_RAW_API_BODIES=file:<dir>`).875* `body_ref` : Chemin absolu vers un fichier `<dir>/<uuid>.request.json` contenant le corps non tronqué. Émis uniquement en mode fichier (`OTEL_LOG_RAW_API_BODIES=file:<dir>`).

848* `body_length` : Longueur du corps non tronqué. Octets UTF-8 lorsque `OTEL_LOG_RAW_API_BODIES=file:<dir>`, ou unités de code UTF-16 lorsque `=1`876* `body_length` : Longueur du corps non tronqué. Octets UTF-8 lorsque `OTEL_LOG_RAW_API_BODIES=file:<dir>`, ou unités de code UTF-16 lorsque `=1`


863* Tous les [attributs standard](#standard-attributes)891* Tous les [attributs standard](#standard-attributes)

864* `event.name` : `"api_response_body"`892* `event.name` : `"api_response_body"`

865* `event.timestamp` : Horodatage ISO 8601893* `event.timestamp` : Horodatage ISO 8601

866* `event.sequence` : Compteur monotone croissant pour ordonner les événements au sein d'une session894* `event.sequence` : Compteur par processus pour ordonner les événements, décrit sous [Attributs de corrélation d'événements](#event-correlation-attributes)

867* `body` : Réponse de l'API Messages sérialisée en JSON, incluant l'id, les blocs de contenu, l'utilisation et la raison d'arrêt, tronquée à la limite de contenu (60 Ko par défaut). Le contenu de la réflexion étendue est masqué. Émis uniquement en mode en ligne (`OTEL_LOG_RAW_API_BODIES=1`).895* `body` : Réponse de l'API Messages sérialisée en JSON, incluant l'id, les blocs de contenu, l'utilisation et la raison d'arrêt, tronquée à la limite de contenu (60 Ko par défaut). Le contenu de la réflexion étendue est masqué. Émis uniquement en mode en ligne (`OTEL_LOG_RAW_API_BODIES=1`).

868* `body_ref` : Chemin absolu vers un fichier `<dir>/<request_id>.response.json` contenant le corps non tronqué. Émis uniquement en mode fichier (`OTEL_LOG_RAW_API_BODIES=file:<dir>`).896* `body_ref` : Chemin absolu vers un fichier `<dir>/<request_id>.response.json` contenant le corps non tronqué. Émis uniquement en mode fichier (`OTEL_LOG_RAW_API_BODIES=file:<dir>`).

869* `body_length` : Longueur du corps non tronqué. Octets UTF-8 lorsque `OTEL_LOG_RAW_API_BODIES=file:<dir>`, ou unités de code UTF-16 lorsque `=1`897* `body_length` : Longueur du corps non tronqué. Octets UTF-8 lorsque `OTEL_LOG_RAW_API_BODIES=file:<dir>`, ou unités de code UTF-16 lorsque `=1`


885* Tous les [attributs standard](#standard-attributes)913* Tous les [attributs standard](#standard-attributes)

886* `event.name` : `"tool_decision"`914* `event.name` : `"tool_decision"`

887* `event.timestamp` : Horodatage ISO 8601915* `event.timestamp` : Horodatage ISO 8601

888* `event.sequence` : Compteur monotone croissant pour ordonner les événements au sein d'une session916* `event.sequence` : Compteur par processus pour ordonner les événements, décrit sous [Attributs de corrélation d'événements](#event-correlation-attributes)

889* `tool_name` : Nom de l'outil (par exemple, « Read », « Edit », « Write », « NotebookEdit »)917* `tool_name` : Nom de l'outil (par exemple, « Read », « Edit », « Write », « NotebookEdit »)

890* `tool_use_id` : Identifiant unique pour cette invocation d'outil. Correspond au `tool_use_id` passé aux hooks, permettant la corrélation entre les événements OTel et les données capturées par les hooks.918* `tool_use_id` : Identifiant unique pour cette invocation d'outil. Correspond au `tool_use_id` passé aux hooks, permettant la corrélation entre les événements OTel et les données capturées par les hooks.

891* `decision` : Soit `"accept"` soit `"reject"`919* `decision` : Soit `"accept"` soit `"reject"`


920* Tous les [attributs standard](#standard-attributes)948* Tous les [attributs standard](#standard-attributes)

921* `event.name` : `"permission_mode_changed"`949* `event.name` : `"permission_mode_changed"`

922* `event.timestamp` : Horodatage ISO 8601950* `event.timestamp` : Horodatage ISO 8601

923* `event.sequence` : Compteur monotone croissant pour ordonner les événements au sein d'une session951* `event.sequence` : Compteur par processus pour ordonner les événements, décrit sous [Attributs de corrélation d'événements](#event-correlation-attributes)

924* `from_mode` : Le mode de permission précédent, par exemple `"default"`, `"plan"`, `"acceptEdits"`, `"auto"`, ou `"bypassPermissions"`952* `from_mode` : Le mode de permission précédent, par exemple `"default"`, `"plan"`, `"acceptEdits"`, `"auto"`, ou `"bypassPermissions"`

925* `to_mode` : Le nouveau mode de permission953* `to_mode` : Le nouveau mode de permission

926* `trigger` : Ce qui a causé le changement. L'un de `"shift_tab"`, `"exit_plan_mode"`, `"auto_gate_denied"`, ou `"auto_opt_in"`. Absent lorsque la transition provient du SDK ou du pont954* `trigger` : Ce qui a causé le changement. L'un de `"shift_tab"`, `"exit_plan_mode"`, `"auto_gate_denied"`, ou `"auto_opt_in"`. Absent lorsque la transition provient du SDK ou du pont


938* Tous les [attributs standard](#standard-attributes)966* Tous les [attributs standard](#standard-attributes)

939* `event.name` : `"auth"`967* `event.name` : `"auth"`

940* `event.timestamp` : Horodatage ISO 8601968* `event.timestamp` : Horodatage ISO 8601

941* `event.sequence` : Compteur monotone croissant pour ordonner les événements au sein d'une session969* `event.sequence` : Compteur par processus pour ordonner les événements, décrit sous [Attributs de corrélation d'événements](#event-correlation-attributes)

942* `action` : `"login"` ou `"logout"`970* `action` : `"login"` ou `"logout"`

943* `success` : `"true"` ou `"false"`971* `success` : `"true"` ou `"false"`

944* `auth_method` : Méthode d'authentification, telle que `"oauth"`972* `auth_method` : Méthode d'authentification, telle que `"oauth"`


958* Tous les [attributs standard](#standard-attributes)986* Tous les [attributs standard](#standard-attributes)

959* `event.name` : `"mcp_server_connection"`987* `event.name` : `"mcp_server_connection"`

960* `event.timestamp` : Horodatage ISO 8601988* `event.timestamp` : Horodatage ISO 8601

961* `event.sequence` : Compteur monotone croissant pour ordonner les événements au sein d'une session989* `event.sequence` : Compteur par processus pour ordonner les événements, décrit sous [Attributs de corrélation d'événements](#event-correlation-attributes)

962* `status` : `"connected"`, `"failed"`, ou `"disconnected"`990* `status` : `"connected"`, `"failed"`, ou `"disconnected"`

963* `transport_type` : Transport du serveur, tel que `"stdio"`, `"sse"`, ou `"http"`991* `transport_type` : Transport du serveur, tel que `"stdio"`, `"sse"`, ou `"http"`

964* `server_scope` : Portée à laquelle le serveur est configuré, telle que `"user"`, `"project"`, ou `"local"`992* `server_scope` : Portée à laquelle le serveur est configuré, telle que `"user"`, `"project"`, ou `"local"`


983* Tous les [attributs standard](#standard-attributes)1011* Tous les [attributs standard](#standard-attributes)

984* `event.name` : `"internal_error"`1012* `event.name` : `"internal_error"`

985* `event.timestamp` : Horodatage ISO 86011013* `event.timestamp` : Horodatage ISO 8601

986* `event.sequence` : Compteur monotone croissant pour ordonner les événements au sein d'une session1014* `event.sequence` : Compteur par processus pour ordonner les événements, décrit sous [Attributs de corrélation d'événements](#event-correlation-attributes)

987* `error_name` : Nom de la classe d'erreur, tel que `"TypeError"` ou `"SyntaxError"`1015* `error_name` : Nom de la classe d'erreur, tel que `"TypeError"` ou `"SyntaxError"`

988* `error_code` : Code errno Node.js tel que `"ENOENT"` lorsqu'il est présent sur l'erreur1016* `error_code` : Code errno Node.js tel que `"ENOENT"` lorsqu'il est présent sur l'erreur

989 1017 


1000* Tous les [attributs standard](#standard-attributes)1028* Tous les [attributs standard](#standard-attributes)

1001* `event.name` : `"plugin_installed"`1029* `event.name` : `"plugin_installed"`

1002* `event.timestamp` : Horodatage ISO 86011030* `event.timestamp` : Horodatage ISO 8601

1003* `event.sequence` : Compteur monotone croissant pour ordonner les événements au sein d'une session1031* `event.sequence` : Compteur par processus pour ordonner les événements, décrit sous [Attributs de corrélation d'événements](#event-correlation-attributes)

1004* `marketplace.is_official` : `"true"` si la place de marché est une place de marché officielle d'Anthropic, `"false"` sinon1032* `marketplace.is_official` : `"true"` si la place de marché est une place de marché officielle d'Anthropic, `"false"` sinon

1005* `install.trigger` : `"cli"` ou `"ui"`1033* `install.trigger` : `"cli"` ou `"ui"`

1006* `plugin.name` : Nom du plugin installé. Pour les places de marché tierces, ceci est inclus uniquement lorsque `OTEL_LOG_TOOL_DETAILS=1`1034* `plugin.name` : Nom du plugin installé. Pour les places de marché tierces, ceci est inclus uniquement lorsque `OTEL_LOG_TOOL_DETAILS=1`


1020* Tous les [attributs standard](#standard-attributes)1048* Tous les [attributs standard](#standard-attributes)

1021* `event.name` : `"plugin_loaded"`1049* `event.name` : `"plugin_loaded"`

1022* `event.timestamp` : Horodatage ISO 86011050* `event.timestamp` : Horodatage ISO 8601

1023* `event.sequence` : Compteur monotone croissant pour ordonner les événements au sein d'une session1051* `event.sequence` : Compteur par processus pour ordonner les événements, décrit sous [Attributs de corrélation d'événements](#event-correlation-attributes)

1024* `plugin.name` : nom du plugin. Pour les plugins en dehors de la place de marché officielle et du bundle intégré, la valeur est `"third-party"` sauf si `OTEL_LOG_TOOL_DETAILS=1`1052* `plugin.name` : nom du plugin. Pour les plugins en dehors de la place de marché officielle et du bundle intégré, la valeur est `"third-party"` sauf si `OTEL_LOG_TOOL_DETAILS=1`

1025* `marketplace.name` : place de marché à partir de laquelle le plugin a été installé, lorsqu'elle est connue. Masquée à `"third-party"` sous la même condition que `plugin.name`1053* `marketplace.name` : place de marché à partir de laquelle le plugin a été installé, lorsqu'elle est connue. Masquée à `"third-party"` sous la même condition que `plugin.name`

1026* `plugin.version` : version du manifeste du plugin. Inclus uniquement lorsque le nom n'est pas masqué et que le manifeste déclare une version1054* `plugin.version` : version du manifeste du plugin. Inclus uniquement lorsque le nom n'est pas masqué et que le manifeste déclare une version


1048* Tous les [attributs standard](#standard-attributes)1076* Tous les [attributs standard](#standard-attributes)

1049* `event.name` : `"skill_activated"`1077* `event.name` : `"skill_activated"`

1050* `event.timestamp` : Horodatage ISO 86011078* `event.timestamp` : Horodatage ISO 8601

1051* `event.sequence` : Compteur monotone croissant pour ordonner les événements au sein d'une session1079* `event.sequence` : Compteur par processus pour ordonner les événements, décrit sous [Attributs de corrélation d'événements](#event-correlation-attributes)

1052* `skill.name` : Nom de la compétence. Pour les compétences définies par l'utilisateur et les compétences de plugin tiers, la valeur est l'espace réservé `"custom_skill"` sauf si `OTEL_LOG_TOOL_DETAILS=1`1080* `skill.name` : Nom de la compétence. Pour les compétences définies par l'utilisateur et les compétences de plugin tiers, la valeur est l'espace réservé `"custom_skill"` sauf si `OTEL_LOG_TOOL_DETAILS=1`

1053* `invocation_trigger` : Comment la compétence a été déclenchée (`"user-slash"`, `"claude-proactive"`, ou `"nested-skill"`)1081* `invocation_trigger` : Comment la compétence a été déclenchée (`"user-slash"`, `"claude-proactive"`, ou `"nested-skill"`)

1054* `skill.source` : D'où la compétence a été chargée (par exemple, `"bundled"`, `"userSettings"`, `"projectSettings"`, `"plugin"`)1082* `skill.source` : D'où la compétence a été chargée (par exemple, `"bundled"`, `"userSettings"`, `"projectSettings"`, `"plugin"`)


1069* Tous les [attributs standard](#standard-attributes)1097* Tous les [attributs standard](#standard-attributes)

1070* `event.name` : `"at_mention"`1098* `event.name` : `"at_mention"`

1071* `event.timestamp` : Horodatage ISO 86011099* `event.timestamp` : Horodatage ISO 8601

1072* `event.sequence` : Compteur monotone croissant pour ordonner les événements au sein d'une session1100* `event.sequence` : Compteur par processus pour ordonner les événements, décrit sous [Attributs de corrélation d'événements](#event-correlation-attributes)

1073* `mention_type` : Type de mention (`"file"`, `"directory"`, `"agent"`, `"mcp_resource"`, `"peer"`). La valeur `"peer"` signifie que vous avez mentionné [l'une de vos autres sessions Claude Code](/docs/fr/cross-session-messaging). Nécessite Claude Code v2.1.232 ou ultérieur1101* `mention_type` : Type de mention (`"file"`, `"directory"`, `"agent"`, `"mcp_resource"`, `"peer"`). La valeur `"peer"` signifie que vous avez mentionné [l'une de vos autres sessions Claude Code](/docs/fr/cross-session-messaging). Nécessite Claude Code v2.1.232 ou ultérieur

1074* `success` : Si la mention a été résolue avec succès (`"true"` ou `"false"`)1102* `success` : Si la mention a été résolue avec succès (`"true"` ou `"false"`)

1075 1103 


1086* Tous les [attributs standard](#standard-attributes)1114* Tous les [attributs standard](#standard-attributes)

1087* `event.name` : `"api_retries_exhausted"`1115* `event.name` : `"api_retries_exhausted"`

1088* `event.timestamp` : Horodatage ISO 86011116* `event.timestamp` : Horodatage ISO 8601

1089* `event.sequence` : Compteur monotone croissant pour ordonner les événements au sein d'une session1117* `event.sequence` : Compteur par processus pour ordonner les événements, décrit sous [Attributs de corrélation d'événements](#event-correlation-attributes)

1090* `model` : Modèle utilisé1118* `model` : Modèle utilisé

1091* `error` : Message d'erreur final1119* `error` : Message d'erreur final

1092* `status_code` : Code de statut HTTP sous forme de nombre. Absent pour les erreurs non-HTTP.1120* `status_code` : Code de statut HTTP sous forme de nombre. Absent pour les erreurs non-HTTP.


1107* Tous les [attributs standard](#standard-attributes)1135* Tous les [attributs standard](#standard-attributes)

1108* `event.name` : `"hook_registered"`1136* `event.name` : `"hook_registered"`

1109* `event.timestamp` : Horodatage ISO 86011137* `event.timestamp` : Horodatage ISO 8601

1110* `event.sequence` : Compteur monotone croissant pour ordonner les événements au sein d'une session1138* `event.sequence` : Compteur par processus pour ordonner les événements, décrit sous [Attributs de corrélation d'événements](#event-correlation-attributes)

1111* `hook_event` : type d'événement hook, tel que `"PreToolUse"` ou `"PostToolUse"`1139* `hook_event` : type d'événement hook, tel que `"PreToolUse"` ou `"PostToolUse"`

1112* `hook_type` : type d'implémentation du hook : `"command"`, `"prompt"`, `"mcp_tool"`, `"http"`, ou `"agent"`1140* `hook_type` : type d'implémentation du hook : `"command"`, `"prompt"`, `"mcp_tool"`, `"http"`, ou `"agent"`

1113* `hook_source` : où le hook est défini : `"userSettings"`, `"projectSettings"`, `"localSettings"`, `"flagSettings"`, `"policySettings"`, ou `"pluginHook"`1141* `hook_source` : où le hook est défini : `"userSettings"`, `"projectSettings"`, `"localSettings"`, `"flagSettings"`, `"policySettings"`, ou `"pluginHook"`


1129* Tous les [attributs standard](#standard-attributes)1157* Tous les [attributs standard](#standard-attributes)

1130* `event.name` : `"hook_execution_start"`1158* `event.name` : `"hook_execution_start"`

1131* `event.timestamp` : Horodatage ISO 86011159* `event.timestamp` : Horodatage ISO 8601

1132* `event.sequence` : Compteur monotone croissant pour ordonner les événements au sein d'une session1160* `event.sequence` : Compteur par processus pour ordonner les événements, décrit sous [Attributs de corrélation d'événements](#event-correlation-attributes)

1133* `hook_event` : Type d'événement hook, tel que `"PreToolUse"` ou `"PostToolUse"`1161* `hook_event` : Type d'événement hook, tel que `"PreToolUse"` ou `"PostToolUse"`

1134* `hook_name` : Nom complet du hook incluant le matcher, tel que `"PreToolUse:Write"`1162* `hook_name` : Nom complet du hook incluant le matcher, tel que `"PreToolUse:Write"`

1135* `num_hooks` : Nombre de commandes hook correspondantes1163* `num_hooks` : Nombre de commandes hook correspondantes


1151* Tous les [attributs standard](#standard-attributes)1179* Tous les [attributs standard](#standard-attributes)

1152* `event.name` : `"hook_execution_complete"`1180* `event.name` : `"hook_execution_complete"`

1153* `event.timestamp` : Horodatage ISO 86011181* `event.timestamp` : Horodatage ISO 8601

1154* `event.sequence` : Compteur monotone croissant pour ordonner les événements au sein d'une session1182* `event.sequence` : Compteur par processus pour ordonner les événements, décrit sous [Attributs de corrélation d'événements](#event-correlation-attributes)

1155* `hook_event` : Type d'événement hook1183* `hook_event` : Type d'événement hook

1156* `hook_name` : Nom complet du hook incluant le matcher1184* `hook_name` : Nom complet du hook incluant le matcher

1157* `num_hooks` : Nombre de commandes hook correspondantes1185* `num_hooks` : Nombre de commandes hook correspondantes


1178* Tous les [attributs standard](#standard-attributes)1206* Tous les [attributs standard](#standard-attributes)

1179* `event.name` : `"hook_plugin_metrics"`1207* `event.name` : `"hook_plugin_metrics"`

1180* `event.timestamp` : Horodatage ISO 86011208* `event.timestamp` : Horodatage ISO 8601

1181* `event.sequence` : Compteur monotone croissant pour ordonner les événements au sein d'une session1209* `event.sequence` : Compteur par processus pour ordonner les événements, décrit sous [Attributs de corrélation d'événements](#event-correlation-attributes)

1182* `plugin_id` : identifiant du plugin sous la forme `<name>@<marketplace>`1210* `plugin_id` : identifiant du plugin sous la forme `<name>@<marketplace>`

1183* `hook_event` : type d'événement hook qui a émis les métriques1211* `hook_event` : type d'événement hook qui a émis les métriques

1184* Jusqu'à 20 clés de métriques émises par le plugin. Les noms correspondent à `^[a-z][a-z0-9_]{0,39}$`. Les valeurs sont booléennes ou numériques.1212* Jusqu'à 20 clés de métriques émises par le plugin. Les noms correspondent à `^[a-z][a-z0-9_]{0,39}$`. Les valeurs sont booléennes ou numériques.


1196* Tous les [attributs standard](#standard-attributes)1224* Tous les [attributs standard](#standard-attributes)

1197* `event.name` : `"compaction"`1225* `event.name` : `"compaction"`

1198* `event.timestamp` : Horodatage ISO 86011226* `event.timestamp` : Horodatage ISO 8601

1199* `event.sequence` : Compteur monotone croissant pour ordonner les événements au sein d'une session1227* `event.sequence` : Compteur par processus pour ordonner les événements, décrit sous [Attributs de corrélation d'événements](#event-correlation-attributes)

1200* `trigger` : `"auto"` ou `"manual"`1228* `trigger` : `"auto"` ou `"manual"`

1201* `success` : `"true"` ou `"false"`1229* `success` : `"true"` ou `"false"`

1202* `duration_ms` : Durée de la compaction1230* `duration_ms` : Durée de la compaction


1218* Tous les [attributs standard](#standard-attributes)1246* Tous les [attributs standard](#standard-attributes)

1219* `event.name` : `"subagent_completed"`1247* `event.name` : `"subagent_completed"`

1220* `event.timestamp` : Horodatage ISO 86011248* `event.timestamp` : Horodatage ISO 8601

1221* `event.sequence` : Compteur monotone croissant pour ordonner les événements au sein d'une session1249* `event.sequence` : Compteur par processus pour ordonner les événements, décrit sous [Attributs de corrélation d'événements](#event-correlation-attributes)

1222* `agent_type` : Le type de sous-agent. Les noms d'agents intégrés et les agents des plugins de place de marché officielle apparaissent textuellement ; les autres noms d'agents sont remplacés par `"custom"` sauf si `OTEL_LOG_TOOL_DETAILS=1` est défini1250* `agent_type` : Le type de sous-agent. Les noms d'agents intégrés et les agents des plugins de place de marché officielle apparaissent textuellement ; les autres noms d'agents sont remplacés par `"custom"` sauf si `OTEL_LOG_TOOL_DETAILS=1` est défini

1223* `agent.source` : D'où la définition d'agent provient : `built-in`, `plugin`, ou la source de paramètres qui a défini un agent personnalisé, telle que `userSettings` ou `projectSettings`1251* `agent.source` : D'où la définition d'agent provient : `built-in`, `plugin`, ou la source de paramètres qui a défini un agent personnalisé, telle que `userSettings` ou `projectSettings`

1224* `is_built_in` : Si le sous-agent est un type d'agent intégré1252* `is_built_in` : Si le sous-agent est un type d'agent intégré


1244* Tous les [attributs standard](#standard-attributes)1272* Tous les [attributs standard](#standard-attributes)

1245* `event.name` : `"feedback_survey"`1273* `event.name` : `"feedback_survey"`

1246* `event.timestamp` : Horodatage ISO 86011274* `event.timestamp` : Horodatage ISO 8601

1247* `event.sequence` : Compteur monotone croissant pour ordonner les événements au sein d'une session1275* `event.sequence` : Compteur par processus pour ordonner les événements, décrit sous [Attributs de corrélation d'événements](#event-correlation-attributes)

1248* `event_type` : Événement du cycle de vie du sondage, par exemple `"appeared"`, `"responded"`, ou `"transcript_prompt_appeared"`1276* `event_type` : Événement du cycle de vie du sondage, par exemple `"appeared"`, `"responded"`, ou `"transcript_prompt_appeared"`

1249* `appearance_id` : ID unique liant les événements émis pour une instance de sondage1277* `appearance_id` : ID unique liant les événements émis pour une instance de sondage

1250* `survey_type` : Quel sondage a produit l'événement. `"session"` est l'invite d'évaluation « Comment Claude se débrouille-t-il ? »1278* `survey_type` : Quel sondage a produit l'événement. `"session"` est l'invite d'évaluation « Comment Claude se débrouille-t-il ? »


1268* Tous les [attributs standard](#standard-attributes)1296* Tous les [attributs standard](#standard-attributes)

1269* `event.name` : `"retention_sweep"`1297* `event.name` : `"retention_sweep"`

1270* `event.timestamp` : Horodatage ISO 86011298* `event.timestamp` : Horodatage ISO 8601

1271* `event.sequence` : Compteur monotone croissant pour ordonner les événements au sein d'une session1299* `event.sequence` : Compteur par processus pour ordonner les événements, décrit sous [Attributs de corrélation d'événements](#event-correlation-attributes)

1272* `result` : `"complete"` lorsque le balayage s'est exécuté, `"skipped"` lorsque Claude Code l'a mis en pause1300* `result` : `"complete"` lorsque le balayage s'est exécuté, `"skipped"` lorsque Claude Code l'a mis en pause

1273* `period_days` : La valeur `cleanupPeriodDays` des paramètres fusionnés, en jours, ou `30` lorsqu'aucune source ne la définit. Sur les événements ignorés, la valeur que le balayage aurait utilisée, calculée à partir des sources de paramètres que Claude Code a pu lire1301* `period_days` : La valeur `cleanupPeriodDays` des paramètres fusionnés, en jours, ou `30` lorsqu'aucune source ne la définit. Sur les événements ignorés, la valeur que le balayage aurait utilisée, calculée à partir des sources de paramètres que Claude Code a pu lire

1274* `used_default` : `"true"` lorsqu'aucune source de paramètres lisible ne définit `cleanupPeriodDays`, `"false"` sinon. Sur les événements complets, `"true"` signifie que la valeur par défaut de 30 jours s'appliquait1302* `used_default` : `"true"` lorsqu'aucune source de paramètres lisible ne définit `cleanupPeriodDays`, `"false"` sinon. Sur les événements complets, `"true"` signifie que la valeur par défaut de 30 jours s'appliquait

permissions.md +3 −1

Details

67 67 

68Une 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.68Une 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.

69 69 

70Les 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. La suppression par nom simple s'applique à tous les outils sauf [`EndConversation`](/docs/fr/tools-reference#endconversation-tool-behavior) : une règle deny ne peut pas le supprimer tant que tout autre outil reste disponible, et une règle ask ne le demande 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.70Les 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. Si vous ajoutez une telle règle en cours de session, Claude ne peut pas appeler l'outil à partir de son prochain appel d'outil ; [Denying an entire tool](/docs/fr/prompt-caching#denying-an-entire-tool) couvre ce qui se passe avec une définition que Claude a déjà vue. Une règle délimitée comme `Bash(rm *)` laisse l'outil disponible et bloque les appels correspondants lorsque Claude essaie de les utiliser.

71 

72La suppression par nom simple s'applique à tous les outils sauf [`EndConversation`](/docs/fr/tools-reference#endconversation-tool-behavior) : une règle deny ne peut pas le supprimer tant que tout autre outil reste disponible, et une règle ask ne le demande jamais.

71 73 

72<Note>74<Note>

73 Les règles d'autorisation sont appliquées par Claude Code, et non par le modèle. Les instructions dans votre prompt ou `CLAUDE.md` façonnent ce que Claude essaie de faire, mais elles ne changent pas ce que Claude Code autorise. Pour accorder ou révoquer l'accès, utilisez `/permissions`, les règles décrites ici, un [mode d'autorisation](/docs/fr/permission-modes), ou un [hook PreToolUse](#extend-permissions-with-hooks).75 Les règles d'autorisation sont appliquées par Claude Code, et non par le modèle. Les instructions dans votre prompt ou `CLAUDE.md` façonnent ce que Claude essaie de faire, mais elles ne changent pas ce que Claude Code autorise. Pour accorder ou révoquer l'accès, utilisez `/permissions`, les règles décrites ici, un [mode d'autorisation](/docs/fr/permission-modes), ou un [hook PreToolUse](#extend-permissions-with-hooks).

prompt-caching.md +28 −26

Details

70 Actions qui invalident le cache70 Actions qui invalident le cache

71</h2>71</h2>

72 72 

73Ces actions font que la demande suivante manque une partie ou la totalité du cache. Vous voyez un tour plus lent et plus coûteux une seule fois, après quoi le nouveau préfixe est mis en cache. La plupart d'entre elles sont évitables au cours d'une tâche une fois que vous savez qu'elles ont un coût. Un changement de modèle peut sembler gratuit jusqu'à ce que vous remarquiez le tour plus lent qui suit.73Ces actions font que la prochaine requête manque une partie ou la totalité du cache. Vous voyez un tour plus lent et plus coûteux une seule fois, après quoi le nouveau préfixe est mis en cache. La plupart d'entre elles sont évitables en cours de tâche une fois que vous savez qu'elles ont un coût. Un changement de modèle peut sembler gratuit jusqu'à ce que vous remarquiez le tour plus lent qui suit.

74 74 

75* [Changement de modèles](#switching-models)75* [Changement de modèles](#switching-models)

76* [Modification du niveau d'effort](#changing-effort-level)76* [Modification du niveau d'effort](#changing-effort-level)


86 Changement de modèles86 Changement de modèles

87</h3>87</h3>

88 88 

89Chaque modèle a son propre cache. Basculer avec [`/model`](/docs/fr/model-config#setting-your-model) signifie que la demande suivante lit l'historique de conversation entier sans aucun accès au cache, même si le contenu est identique.89Chaque modèle a son propre cache. Basculer avec [`/model`](/docs/fr/model-config#setting-your-model) signifie que la prochaine requête lit l'intégralité de l'historique de conversation sans aucun cache hit, même si le contenu est identique.

90 90 

91Lorsque vous exécutez `/model` au terminal, Claude Code vous demande de confirmer le changement uniquement tant que le cache est encore chaud. Le cache reste chaud pendant un [TTL de cache](#cache-lifetime) après que Claude Code a envoyé une dernière demande dans cette conversation ou que Claude a répondu. Une fois ce délai écoulé, le cache a expiré, donc Claude Code bascule sans demander.91Lorsque vous exécutez `/model` au terminal, Claude Code vous demande de confirmer le changement uniquement tant que le cache est encore chaud. Le cache reste chaud pendant un [cache TTL](#cache-lifetime) après que Claude Code a envoyé une dernière requête dans cette conversation ou que Claude a répondu. Une fois ce délai écoulé, le cache a expiré, donc Claude Code bascule sans demander.

92 92 

93Avant la v2.1.238, Claude Code ne vérifiait pas le TTL du cache et demandait même après l'expiration du cache.93Avant la v2.1.238, Claude Code ne vérifiait pas le cache TTL et demandait même après l'expiration du cache.

94 94 

95Vous pouvez également exiger cette confirmation ou l'ignorer avec un [hook PreModelSwitch](/docs/fr/hooks#premodelswitch-decision-control).95Vous pouvez également exiger cette confirmation ou l'ignorer avec un [hook PreModelSwitch](/docs/fr/hooks#premodelswitch-decision-control).

96 96 

97Le [paramètre de modèle `opusplan`](/docs/fr/model-config#opusplan-model-setting) se résout en Opus pendant le mode plan et Sonnet pendant l'exécution, donc chaque basculement du mode plan est un changement de modèle et démarre un nouveau cache.97Le [paramètre de modèle `opusplan`](/docs/fr/model-config#opusplan-model-setting) se résout en Opus pendant le mode plan et en Sonnet pendant l'exécution, donc chaque basculement du mode plan est un changement de modèle et démarre un nouveau cache.

98 98 

99[Le basculement automatique du modèle](/docs/fr/model-config#automatic-model-fallback) sur les modèles Fable et Opus 5 est également un changement de modèle. Lorsqu'un classificateur de sécurité signale une demande dans une catégorie qui a un modèle de secours, Claude Code réexécute la demande sur ce modèle et la session continue là.99[Le basculement automatique du modèle](/docs/fr/model-config#automatic-model-fallback) sur les modèles Fable et Opus 5 est également un changement de modèle. Lorsqu'un classificateur de sécurité signale une requête dans une catégorie qui a un modèle de secours, Claude Code réexécute la requête sur ce modèle et la session continue là.

100 100 

101Lorsque le frontmatter d'une compétence ou d'une commande nomme un [`model`](/docs/fr/skills#frontmatter-reference) autre que le modèle actuel de la session, ce tour est également un changement de modèle : la demande suivante lit l'historique de conversation entier sans aucun accès au cache. Le modèle de session reprend à votre prochaine invite. Une compétence `context: fork` définit le [modèle du sous-agent forké](/docs/fr/skills#run-skills-in-a-subagent) à la place.101Lorsque le frontmatter d'une skill ou d'une commande nomme un [`model`](/docs/fr/skills#frontmatter-reference) autre que le modèle actuel de la session, ce tour est également un changement de modèle : la prochaine requête lit l'intégralité de l'historique de conversation sans aucun cache hit. Le modèle de session reprend à votre prochaine invite. Une skill `context: fork` définit le [modèle du sous-agent forké](/docs/fr/skills#run-skills-in-a-subagent) à la place.

102 102 

103<h3 id="changing-effort-level">103<h3 id="changing-effort-level">

104 Modification du niveau d'effort104 Modification du niveau d'effort

105</h3>105</h3>

106 106 

107Sur la plupart des modèles, modifier le [niveau d'effort](/docs/fr/model-config#adjust-effort-level) en cours de session signifie que la demande suivante lit l'historique de conversation entier sans aucun accès au cache. Tant que le cache est encore chaud, Claude Code vous demande de confirmer le changement en premier.107Sur la plupart des modèles, modifier le [niveau d'effort](/docs/fr/model-config#adjust-effort-level) en cours de session signifie que la prochaine requête lit l'intégralité de l'historique de conversation sans aucun cache hit. Tant que le cache est encore chaud, Claude Code vous demande de confirmer le changement d'abord.

108 108 

109Sur Fable 5.1 avec une clé API ou un abonnement Claude, modifier l'effort conserve le cache, et Claude Code applique le nouveau niveau sans demander. Cela ne s'applique pas sur Amazon Bedrock, sur la plateforme Agent de Google Cloud, ou sur une [passerelle d'applications Claude](/docs/fr/claude-apps-gateway), ou lorsque vous définissez [`CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS`](/docs/fr/llm-gateway-protocol#disable-pre-release-capabilities) ou que votre organisation a une configuration HIPAA.109Sur Fable 5.1 avec une clé API ou un abonnement Claude, modifier l'effort conserve le cache, et Claude Code applique le nouveau niveau sans demander. Cela ne s'applique pas sur Amazon Bedrock, sur la plateforme Agent de Google Cloud, ou sur une [passerelle d'applications Claude](/docs/fr/claude-apps-gateway), ou lorsque vous définissez [`CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS`](/docs/fr/llm-gateway-protocol#disable-pre-release-capabilities) ou que votre organisation a une configuration HIPAA.

110 110 


114 Activation du mode rapide114 Activation du mode rapide

115</h3>115</h3>

116 116 

117L'activation du [mode rapide](/docs/fr/fast-mode) ajoute un en-tête de demande qui fait partie de la clé de cache, donc la première demande que Claude Code envoie avec le mode rapide activé lit l'historique de conversation entier sans aucun accès au cache. Claude Code définit cet en-tête une fois au démarrage d'un tour et le conserve pour tout le tour, donc lorsque vous activez le mode rapide pendant que Claude travaille, le manque de cache de l'en-tête se produit à la première demande de votre tour suivant. Ces jetons d'entrée non mis en cache sont facturés aux [tarifs du mode rapide](/docs/fr/fast-mode#understand-the-cost-tradeoff), c'est pourquoi l'activation au début d'une session coûte moins cher que l'activation au cœur d'une longue session. Si votre modèle actuel ne supporte pas le mode rapide, l'activation du mode rapide [bascule également votre modèle](#switching-models), et ce basculement démarre un nouveau cache à partir de la demande suivante du tour en cours.117L'activation du [mode rapide](/docs/fr/fast-mode) ajoute un en-tête de requête qui fait partie de la clé de cache, donc la première requête que Claude Code envoie avec le mode rapide activé lit l'intégralité de l'historique de conversation sans aucun cache hit. Claude Code définit cet en-tête une fois au démarrage d'un tour et le conserve pour tout le tour, donc lorsque vous activez le mode rapide pendant que Claude travaille, le cache miss de l'en-tête se produit à la première requête de votre tour suivant. Ces jetons d'entrée non mis en cache sont facturés aux [tarifs du mode rapide](/docs/fr/fast-mode#understand-the-cost-tradeoff), c'est pourquoi l'activation au début d'une session coûte moins cher que l'activation profondément dans une longue session. Si votre modèle actuel ne supporte pas le mode rapide, l'activation du mode rapide [bascule également votre modèle](#switching-models), et ce basculement démarre un nouveau cache à partir de la prochaine requête du tour en cours.

118 118 

119Le coût s'applique une fois par conversation. Après le premier tour en mode rapide, Claude Code continue d'envoyer l'en-tête et varie uniquement le paramètre de vitesse de la demande, qui ne fait pas partie de la clé de cache. Désactiver le mode rapide, le [basculement automatique vers la vitesse standard](/docs/fr/fast-mode#handle-rate-limits) après une limite de débit, et le réactiver plus tard conservent tous le cache. Si vous [manquez de crédits d'utilisation](/docs/fr/fast-mode#handle-rate-limits) en cours de session, Claude Code réessaie chaque demande en mode rapide rejetée à la vitesse standard de la même manière, donc ce basculement conserve également le cache. `/clear` et `/compact` réinitialisent cela, puisqu'ils reconstruisent le cache à ces points de toute façon.119Le coût s'applique une fois par conversation. Après le premier tour en mode rapide, Claude Code continue d'envoyer l'en-tête et varie uniquement le paramètre de vitesse de la requête, qui ne fait pas partie de la clé de cache. Désactiver le mode rapide, le [basculement automatique vers la vitesse standard](/docs/fr/fast-mode#handle-rate-limits) après une limite de débit, et le réactiver plus tard conservent tous le cache. Si vous [manquez de crédits d'utilisation](/docs/fr/fast-mode#handle-rate-limits) en cours de session, Claude Code réessaie chaque requête en mode rapide rejetée à la vitesse standard de la même manière, donc ce basculement conserve également le cache. `/clear` et `/compact` réinitialisent cela, puisqu'ils reconstruisent le cache à ces points de toute façon.

120 120 

121<h3 id="connecting-or-disconnecting-an-mcp-server">121<h3 id="connecting-or-disconnecting-an-mcp-server">

122 Connexion ou déconnexion d'un serveur MCP122 Connexion ou déconnexion d'un serveur MCP

123</h3>123</h3>

124 124 

125Les définitions d'outils se trouvent dans la couche d'invite système, donc le cache s'invalide lorsque l'ensemble des définitions d'outils dans la demande change entre les tours. Basculer l'[outil conseiller](/docs/fr/advisor) est une exception : sa définition se trouve après le point de rupture du cache, donc l'activation ou la désactivation de `/advisor` conserve le préfixe mis en cache intact. Qu'un changement de [serveur MCP](/docs/fr/mcp) fasse cela dépend de si ses outils sont différés par [la recherche d'outils](/docs/fr/mcp#scale-with-mcp-tool-search) ou chargés dans le préfixe :125Les définitions d'outils se trouvent dans la couche d'invite système, donc le cache s'invalide lorsque l'ensemble des définitions d'outils dans la requête change entre les tours. Basculer l'[outil conseiller](/docs/fr/advisor) est une exception : sa définition se trouve après le point de rupture du cache, donc l'activation ou la désactivation de `/advisor` conserve le préfixe mis en cache intact. Qu'un changement de [serveur MCP](/docs/fr/mcp) fasse cela dépend de si ses outils sont différés par la [recherche d'outils](/docs/fr/mcp#scale-with-mcp-tool-search) ou chargés dans le préfixe :

126 126 

127* **Outils différés**, la valeur par défaut sur les modèles supportés : un serveur se connectant, se déconnectant, ou changeant sa liste d'outils n'ajoute que du nouveau contenu et ne perturbe rien de déjà mis en cache.127* **Outils différés**, la valeur par défaut sur les modèles supportés : un serveur se connectant, se déconnectant, ou changeant sa liste d'outils n'ajoute que du nouveau contenu et ne perturbe rien de déjà mis en cache.

128* **Outils chargés dans le préfixe** : tout changement à leur égard invalide le cache. Cela se produit lorsque [la recherche d'outils n'est pas disponible ou est désactivée](/docs/fr/mcp#configure-tool-search), par exemple sur les modèles de la plateforme Agent de Google Cloud antérieurs à la génération Claude 4.5, avec une passerelle `ANTHROPIC_BASE_URL` personnalisée, ou sur un déploiement Microsoft Foundry [hébergé sur Azure](https://platform.claude.com/docs/en/build-with-claude/claude-in-microsoft-foundry#hosting-options) une fois que Claude Code détecte que le déploiement rejette la recherche d'outils. Cela se produit également pour un serveur ou un outil marqué [`alwaysLoad`](/docs/fr/mcp#exempt-a-server-from-deferral), et pour les définitions conservées en avant par [le chargement basé sur le seuil](/docs/fr/mcp#configure-tool-search).128* **Outils chargés dans le préfixe** : tout changement les invalide. Cela se produit lorsque la [recherche d'outils n'est pas disponible ou est désactivée](/docs/fr/mcp#configure-tool-search), par exemple sur les modèles de la plateforme Agent de Google Cloud antérieurs à la génération Claude 4.5, avec une passerelle `ANTHROPIC_BASE_URL` personnalisée, ou sur un [déploiement Microsoft Foundry hébergé sur Azure](https://platform.claude.com/docs/en/build-with-claude/claude-in-microsoft-foundry#hosting-options) une fois que Claude Code détecte que le déploiement rejette la recherche d'outils. Cela se produit également pour un serveur ou un outil marqué [`alwaysLoad`](/docs/fr/mcp#exempt-a-server-from-deferral), et pour les définitions conservées en avant par le [chargement basé sur le seuil](/docs/fr/mcp#configure-tool-search).

129 129 

130Lorsque les outils se chargent dans le préfixe, la cause la plus courante d'une invalidation est un serveur se connectant ou se déconnectant en cours de session, ce qui peut se produire sans aucune action de votre part : le processus d'un serveur stdio se termine, une session HTTP expire, ou un serveur [se reconnecte automatiquement après une défaillance transitoire](/docs/fr/mcp#automatic-reconnection). Un serveur connecté peut également envoyer une [mise à jour d'outil dynamique](/docs/fr/mcp#dynamic-tool-updates) qui change sa liste d'outils.130Lorsque les outils se chargent dans le préfixe, la cause la plus courante d'une invalidation est un serveur se connectant ou se déconnectant en cours de session, ce qui peut se produire sans aucune action de votre part : le processus d'un serveur stdio se termine, une session HTTP expire, ou un serveur [se reconnecte automatiquement après une défaillance transitoire](/docs/fr/mcp#automatic-reconnection). Un serveur connecté peut également envoyer une [mise à jour d'outil dynamique](/docs/fr/mcp#dynamic-tool-updates) qui change sa liste d'outils.

131 131 


141 Composants de plugin qui conservent le cache141 Composants de plugin qui conservent le cache

142</h4>142</h4>

143 143 

144Claude Code n'invalide jamais le cache pour les compétences, commandes, agents, hooks, moniteurs ou thèmes d'un plugin. Il ajoute leur contenu après la conversation existante, donc la demande suivante paie pour ce contenu et lit toujours tout ce qui le précède à partir du cache.144Claude Code n'invalide jamais le cache pour les skills, commandes, agents, hooks, moniteurs ou thèmes d'un plugin. Il ajoute leur contenu après la conversation existante, donc la prochaine requête paie pour ce contenu et lit toujours tout ce qui le précède à partir du cache.

145 145 

146<h4 id="plugins-that-provide-mcp-servers">146<h4 id="plugins-that-provide-mcp-servers">

147 Plugins qui fournissent des serveurs MCP147 Plugins qui fournissent des serveurs MCP


150Lorsque vous activez ou désactivez un plugin qui fournit des [serveurs MCP](/docs/fr/plugins-reference#mcp-servers), Claude Code suit les mêmes règles que lorsque vous [connectez ou déconnectez un serveur MCP](#connecting-or-disconnecting-an-mcp-server) :150Lorsque vous activez ou désactivez un plugin qui fournit des [serveurs MCP](/docs/fr/plugins-reference#mcp-servers), Claude Code suit les mêmes règles que lorsque vous [connectez ou déconnectez un serveur MCP](#connecting-or-disconnecting-an-mcp-server) :

151 151 

152* Si Claude Code diffère les outils du serveur, il conserve le cache.152* Si Claude Code diffère les outils du serveur, il conserve le cache.

153* Si Claude Code les charge dans le préfixe, la demande suivante relit la conversation entière.153* Si Claude Code les charge dans le préfixe, la prochaine requête relit l'intégralité de la conversation.

154 154 

155<h4 id="code-intelligence-plugins">155<h4 id="code-intelligence-plugins">

156 Plugins d'intelligence de code156 Plugins d'intelligence de code


173 173 

174`/reload-plugins` s'exécute également dans les sessions sans terminal interactif, comme l'application de bureau, le SDK Agent, et le [mode non interactif](/docs/fr/headless) avec `-p`, lorsque vous le tapez directement dans la session. Nécessite Claude Code v2.1.260 ou ultérieur.174`/reload-plugins` s'exécute également dans les sessions sans terminal interactif, comme l'application de bureau, le SDK Agent, et le [mode non interactif](/docs/fr/headless) avec `-p`, lorsque vous le tapez directement dans la session. Nécessite Claude Code v2.1.260 ou ultérieur.

175 175 

176Dans ces sessions, la recharge applique tout sauf les changements de serveur MCP de plugin, qui [prennent effet dans votre session suivante](/docs/fr/discover-plugins#apply-plugin-changes-without-restarting) et ne coûtent donc jamais une relecture complète en cours de session.176Dans ces sessions, la recharge applique tout sauf les changements de serveur MCP du plugin, qui [prennent effet dans votre prochaine session](/docs/fr/discover-plugins#apply-plugin-changes-without-restarting) et ne coûtent donc jamais une relecture complète en cours de session.

177 177 

178<h4 id="plugins-you-enable-and-then-disable-in-one-session">178<h4 id="plugins-you-enable-and-then-disable-in-one-session">

179 Plugins que vous activez puis désactivez dans une session179 Plugins que vous activez puis désactivez dans une session

180</h4>180</h4>

181 181 

182Lorsque vous désactivez un plugin que vous avez activé plus tôt dans la session, Claude Code restaure la forme de demande précédente. Si ce préfixe se trouve toujours dans sa [durée de vie du cache](#cache-lifetime), la demande suivante lit l'entrée de cache plus ancienne au lieu de la reconstruire.182Lorsque vous désactivez un plugin que vous avez activé plus tôt dans la session, Claude Code restaure la forme de requête précédente. Si ce préfixe se trouve toujours dans sa [durée de vie du cache](#cache-lifetime), la prochaine requête lit l'entrée de cache plus ancienne au lieu de la reconstruire.

183 183 

184<h3 id="denying-an-entire-tool">184<h3 id="denying-an-entire-tool">

185 Refus d'un outil entier185 Refus d'un outil entier

186</h3>186</h3>

187 187 

188L'ajout d'un nom d'outil nu comme `Bash` ou `WebFetch` comme [règle de refus](/docs/fr/permissions#manage-permissions) supprime cet outil du contexte de Claude entièrement. Claude Code charge les définitions d'outils intégrés dans la couche d'invite système, donc l'ajout ou la suppression de l'une de ces règles en cours de session invalide le cache. Claude Code applique le changement à la demande suivante, que vous ajoutiez la règle via `/permissions` ou en [éditant directement un fichier de paramètres](/docs/fr/settings#when-edits-take-effect). Cela inclut une règle que vous ajoutez via `/permissions` au milieu d'un tour.188Si vous ajoutez un nom d'outil nu comme `Bash` ou `WebFetch` comme [règle de refus](/docs/fr/permissions#manage-permissions), Claude ne peut pas appeler cet outil à partir de votre prochaine requête, que vous ajoutiez la règle via `/permissions` ou en [éditant directement un fichier de paramètres](/docs/fr/settings#when-edits-take-effect). Cela inclut une règle que vous ajoutez via `/permissions` au milieu d'un tour.

189 189 

190Seule une règle de refus qui correspond à la position du nom d'outil a cet effet : un nom d'outil nu, la forme équivalente `Bash(*)`, ou un [glob de nom d'outil](/docs/fr/permissions#tool-name-wildcards) comme `"*"`. Un glob qui correspond uniquement aux outils MCP, comme `"mcp__*"`, supprime ces outils de la même manière mais laisse le cache intact lorsque les outils correspondants sont [différés](#connecting-or-disconnecting-an-mcp-server), la valeur par défaut, puisque les définitions différées n'étaient jamais dans le préfixe mis en cache. Les règles de refus délimitées comme `Bash(rm *)`, et toutes les règles d'autorisation et de demande, ne changent pas les outils que Claude voit. Claude Code les vérifie lorsque Claude tente un appel, laissant le préfixe intact.190Lorsque la [recherche d'outils](/docs/fr/mcp#scale-with-mcp-tool-search) est active, ce qui est la valeur par défaut sur les modèles supportés, les définitions d'outils de la requête ne changent pas et le préfixe mis en cache survit. Lorsque la recherche d'outils n'est pas disponible ou est désactivée, Claude Code supprime la définition de la prochaine requête, ce qui invalide le cache, et il en va de même pour la suppression de la règle plus tard.

191 

192Seule une règle de refus qui correspond à la position du nom d'outil bloque un outil de cette manière : un nom d'outil nu, la forme équivalente `Bash(*)`, ou un [glob de nom d'outil](/docs/fr/permissions#tool-name-wildcards) comme `"*"`. Un glob qui correspond uniquement aux outils MCP, comme `"mcp__*"`, bloque ces outils de la même manière. Les règles de refus délimitées comme `Bash(rm *)`, et toutes les règles d'autorisation et de demande, ne changent pas les outils que Claude voit. Claude Code les vérifie lorsque Claude tente un appel, laissant le préfixe intact.

191 193 

192<h3 id="compacting-the-conversation">194<h3 id="compacting-the-conversation">

193 Compactage de la conversation195 Compactage de la conversation

194</h3>196</h3>

195 197 

196[Le compactage](/docs/fr/context-window#what-survives-compaction) remplace votre historique de messages par un résumé. Par conception, cela invalide la couche de conversation, puisque la demande suivante a un nouvel historique plus court qui ne partage pas de préfixe avec l'ancien. Claude Code réutilise la couche d'invite système sauf si la conversation a été [reprise tout en conservant une invite système qui aurait autrement changé](#resuming-a-session) ; dans ce cas, le premier compactage bascule vers l'invite actuelle et cette couche se reconstruit une fois. Il recharge le contexte du projet à partir du disque, qui ne met en cache que si CLAUDE.md et la mémoire sont inchangés depuis le début de la session.198Le [compactage](/docs/fr/context-window#what-survives-compaction) remplace votre historique de messages par un résumé. Par conception, cela invalide la couche de conversation, puisque la prochaine requête a un nouvel historique plus court qui ne partage pas de préfixe avec l'ancien. Claude Code réutilise la couche d'invite système sauf si la conversation a été [reprise tout en conservant une invite système qui aurait autrement changé](#resuming-a-session) ; dans ce cas, le premier compactage bascule vers l'invite actuelle et cette couche se reconstruit une fois. Il recharge le contexte du projet à partir du disque, qui ne cache les hits que si CLAUDE.md et la mémoire sont inchangés depuis le début de la session.

197 199 

198Pour produire le résumé, Claude Code envoie une demande séparée avec la même invite système, les mêmes outils et le même historique que votre conversation, plus une instruction de résumé ajoutée comme dernier message utilisateur. Tant que le cache est chaud, cette demande lit votre préfixe à partir du cache, donc un `/compact` en cours de session coûte une fraction de ce que la taille du contexte suggère et passe la plupart de son temps à générer le résumé.200Pour produire le résumé, Claude Code envoie une requête séparée avec la même invite système, les mêmes outils et le même historique que votre conversation, plus une instruction de résumé ajoutée comme dernier message utilisateur. Tant que le cache est chaud, cette requête lit votre préfixe à partir du cache, donc un `/compact` en cours de session coûte une fraction de ce que la taille du contexte suggère et passe la plupart de son temps à générer le résumé.

199 201 

200Après une pause plus longue que la [durée de vie du cache](#cache-lifetime), il n'y a plus de cache à lire, donc la demande de résumé retraite l'historique complet en tant qu'entrée non mise en cache. C'est pourquoi `/compact` coûte le plus cher lorsque vous [reprenez une ancienne session](/docs/fr/sessions#resume-from-a-summary). Dans les deux cas, chaud et froid, le tour après compactage reconstruit le cache de conversation pour seulement le résumé beaucoup plus court, donc ce tour n'est pas la partie lente.202Après une pause plus longue que la [durée de vie du cache](#cache-lifetime), il n'y a pas de cache à lire, donc la requête de résumé retraite l'historique complet en tant qu'entrée non mise en cache. C'est pourquoi `/compact` coûte le plus lorsque vous [reprenez une ancienne session](/docs/fr/sessions#resume-from-a-summary). Dans les deux cas, chaud et froid, le tour après compactage reconstruit le cache de conversation pour seulement le résumé beaucoup plus court, donc ce tour n'est pas la partie lente.

201 203 

202<Tip>204<Tip>

203 Le compactage joue en votre faveur lorsque le contexte que vous rejetez est du contenu dont vous n'avez plus besoin. Pour choisir quand son surcharge se produit, exécutez `/compact` à une pause naturelle dans votre travail, par exemple entre les tâches, au lieu d'attendre que le compactage automatique se déclenche en cours de tâche. Si vous avez suivi un chemin que vous voulez abandonner entièrement, [`/rewind`](#rewinding-the-conversation) à un tour antérieur à la place. Le rembobinage tronque jusqu'à un préfixe qui est déjà mis en cache, plutôt que d'en construire un nouveau comme le fait le compactage.205 Le compactage joue en votre faveur lorsque le contexte que vous rejetez est du contenu dont vous n'avez plus besoin. Pour choisir quand son surcoût se produit, exécutez `/compact` à une pause naturelle dans votre travail, par exemple entre les tâches, au lieu d'attendre que le compactage automatique se déclenche en cours de tâche. Si vous avez suivi un chemin que vous voulez abandonner entièrement, [`/rewind`](#rewinding-the-conversation) à un tour antérieur à la place. Le rembobinage tronque jusqu'à un préfixe qui est déjà mis en cache, plutôt que d'en construire un nouveau comme le fait le compactage.

204</Tip>206</Tip>

205 207 

206<h3 id="accumulating-many-images">208<h3 id="accumulating-many-images">

207 Accumulation de nombreuses images209 Accumulation de nombreuses images

208</h3>210</h3>

209 211 

210L'API limite le nombre d'images et de PDF que chaque demande peut contenir. Pour les chiffres actuels, voir [Limites de demande](https://platform.claude.com/docs/en/build-with-claude/vision#request-limits) dans la documentation de l'API. Claude Code limite également la taille totale des images et des PDF dans une demande, donc les grandes captures d'écran atteignent la limite avec moins d'images que les petites.212L'API limite le nombre d'images et de PDF que chaque requête peut contenir. Pour les chiffres actuels, voir [Limites de requête](https://platform.claude.com/docs/en/build-with-claude/vision#request-limits) dans la documentation de l'API. Claude Code limite également la taille totale des images et des PDF dans une requête, donc les grandes captures d'écran atteignent la limite avec moins d'images que les petites.

211 213 

212Lorsque la demande suivante dépasserait l'une ou l'autre limite, Claude Code supprime un lot des images et PDF les plus anciennes de ce qu'il envoie, ce qui libère de la place pour plus avant d'avoir besoin d'en supprimer à nouveau. Claude ne peut plus voir les images supprimées. Si Claude en a besoin à nouveau, partagez-la à nouveau.214Lorsque la prochaine requête dépasserait l'une ou l'autre limite, Claude Code supprime un lot des images et des PDF les plus anciens de ce qu'il envoie, ce qui laisse de la place pour plus avant qu'il n'ait besoin d'en supprimer à nouveau. Claude ne peut plus voir les images supprimées. Si Claude en a besoin à nouveau, partagez-la à nouveau.

213 215 

214La suppression d'images change les messages qui les contenaient, donc la demande suivante retraite la conversation à partir du plus ancien de ces messages. Parce que Claude Code supprime un lot à la fois, vous voyez un tour plus lent par lot plutôt qu'un avec chaque nouvelle capture d'écran.216La suppression d'images change les messages qui les contenaient, donc la prochaine requête retraite la conversation à partir du plus ancien de ces messages. Parce que Claude Code supprime un lot à la fois, vous voyez un tour plus lent par lot plutôt qu'un avec chaque nouvelle capture d'écran.

215 217 

216<h3 id="upgrading-claude-code">218<h3 id="upgrading-claude-code">

217 Mise à niveau de Claude Code219 Mise à niveau de Claude Code

218</h3>220</h3>

219 221 

220Une nouvelle version de Claude Code met généralement à jour l'invite système ou les définitions d'outils, donc la première conversation que vous démarrez après une mise à niveau construit son cache à partir du début. [La mise à jour automatique](/docs/fr/setup#auto-updates) télécharge les nouvelles versions en arrière-plan mais les applique au prochain lancement, jamais en cours de session, donc vous voyez cela comme un premier tour non mis en cache après redémarrage plutôt qu'une surprise pendant une session. Définissez `DISABLE_AUTOUPDATER=1` pour contrôler quand les mises à niveau s'appliquent.222Une nouvelle version de Claude Code met généralement à jour l'invite système ou les définitions d'outils, donc la première conversation que vous démarrez après une mise à niveau construit son cache à partir du début. La [mise à jour automatique](/docs/fr/setup#auto-updates) télécharge les nouvelles versions en arrière-plan mais les applique au prochain lancement, jamais en cours de session, donc vous voyez cela comme un premier tour non mis en cache après redémarrage plutôt qu'une surprise pendant une session. Définissez `DISABLE_AUTOUPDATER=1` pour contrôler quand les mises à niveau s'appliquent.

221 223 

222<Note>224<Note>

223 Pour ce qu'il en coûte de reprendre une conversation que vous avez commencée avant la mise à niveau, voir [Reprise d'une session](#resuming-a-session).225 Pour ce qu'il en coûte de reprendre une conversation que vous avez commencée avant la mise à niveau, voir [Reprise d'une session](#resuming-a-session).

Details

1743. Le dernier message significatif dans l'historique de conversation existant1743. Le dernier message significatif dans l'historique de conversation existant

1754. Un nom généré automatiquement comme `myhost-graceful-unicorn`, où `myhost` est le nom d'hôte de votre machine ou le préfixe que vous avez défini avec `--remote-control-session-name-prefix`1754. Un nom généré automatiquement comme `myhost-graceful-unicorn`, où `myhost` est le nom d'hôte de votre machine ou le préfixe que vous avez défini avec `--remote-control-session-name-prefix`

176 176 

177Si vous n'avez pas défini de nom explicite, Claude Code met à jour le titre pour refléter votre message une fois que vous en envoyez un. Claude Code fait correspondre les titres générés automatiquement à la langue de votre conversation, ou au paramètre [`language`](/docs/fr/settings-reference#language) s'il est configuré ; la correspondance de langue nécessite Claude Code v2.1.176 ou version ultérieure.177Si vous n'avez pas défini de nom explicite, Claude Code met à jour le titre pour refléter votre message une fois que vous en envoyez un. Claude Code fait correspondre les titres générés automatiquement à la langue de votre conversation, ou au paramètre [`language`](/docs/fr/settings-reference#language) s'il est configuré.

178 178 

179Lorsque vous renommez une session depuis claude.ai ou l'application Claude, Claude Code met également à jour le titre local affiché dans `claude --resume`. Claude Code applique le même renommage au nom de session affiché sur la barre de saisie, et dans la liste `claude agents` lorsque la session [s'exécute en arrière-plan](/docs/fr/agent-view). Avant v2.1.221, renommer depuis la liste des sessions sur claude.ai ou dans l'application Claude mettait à jour uniquement le titre, et la CLI conservait son nom de session précédent ; `/rename`, qui s'exécute dans la CLI elle-même, définissait le nom sur n'importe quelle version.179Lorsque vous renommez une session depuis claude.ai ou l'application Claude, Claude Code met également à jour le titre local affiché dans `claude --resume`. Claude Code applique le même renommage au nom de session affiché sur la barre de saisie, et dans la liste `claude agents` lorsque la session [s'exécute en arrière-plan](/docs/fr/agent-view). Avant v2.1.221, renommer depuis la liste des sessions sur claude.ai ou dans l'application Claude mettait à jour uniquement le titre, et la CLI conservait son nom de session précédent ; `/rename`, qui s'exécute dans la CLI elle-même, définissait le nom sur n'importe quelle version.

180 180 

Details

21Les deux premières approches du tableau ci-dessous s'exécutent sur le système d'exploitation hôte sans conteneurs. Les autres placent Claude Code à l'intérieur d'un conteneur ou d'une machine virtuelle.21Les deux premières approches du tableau ci-dessous s'exécutent sur le système d'exploitation hôte sans conteneurs. Les autres placent Claude Code à l'intérieur d'un conteneur ou d'une machine virtuelle.

22 22 

23| Approche | Ce qui est isolé | Nécessite Docker | Effort de configuration |23| Approche | Ce qui est isolé | Nécessite Docker | Effort de configuration |

24| :------------------------------------------------ | :--------------------------------------------------------------------------------------------------- | :--------------- | :----------------------------------------------- |24| :------------------------------------------------ | :--------------------------------------------------------------------------------------------------- | :--------------- | :----------------------------------------------------------------------------------------------- |

25| [Outil Bash sandboxé](#sandboxed-bash-tool) | Commandes Bash et leurs processus enfants | Non | Minimal sur macOS ; faible sur Linux et WSL2 |25| [Outil Bash en sandbox](#sandboxed-bash-tool) | Commandes Bash et leurs processus enfants | Non | Minimal sur macOS ; faible sur Linux et WSL2 |

26| [Runtime sandbox](#sandbox-runtime) | L'ensemble du processus Claude Code, y compris les outils de fichiers, les serveurs MCP et les hooks | Non | Faible |26| [Runtime sandbox](#sandbox-runtime) | L'ensemble du processus Claude Code, y compris les outils de fichiers, les serveurs MCP et les hooks | Non | Faible |

27| [Dev container](#dev-containers) | Environnement de développement complet | Oui | Moyen |27| [Conteneur de développement](#dev-containers) | Environnement de développement complet | Oui | Moyen |

28| [Conteneur personnalisé](#custom-container) | Environnement de développement complet | Oui | Moyen à élevé |28| [Conteneur personnalisé](#custom-container) | Environnement de développement complet | Oui | Moyen à élevé |

29| [Machine virtuelle](#virtual-machine) | Système d'exploitation complet | Non | Élevé |29| [Machine virtuelle](#virtual-machine) | Système d'exploitation complet | Non | Élevé |

30| [Claude Code sur le web](#claude-code-on-the-web) | Système d'exploitation complet, hébergé par Anthropic | Non | Aucun ; nécessite un abonnement Claude et GitHub |30| [Claude Code sur le web](#claude-code-on-the-web) | Système d'exploitation complet, hébergé par Anthropic | Non | Aucun ; nécessite un abonnement Claude et GitHub lorsque vous lancez à partir de l'interface web |

31 31 

32L'[outil Bash sandboxé](/docs/fr/sandboxing) est intégré à Claude Code et restreint uniquement les commandes Bash. Les outils de fichiers intégrés, les serveurs MCP et les hooks s'exécutent toujours directement sur votre hôte. Chaque autre approche du tableau place l'ensemble du processus Claude Code à l'intérieur de la limite d'isolation, donc les outils de fichiers, les serveurs MCP et les hooks sont également restreints.32L'[outil Bash en sandbox](/docs/fr/sandboxing) est intégré à Claude Code et restreint les commandes Bash. Les outils de fichiers intégrés, les serveurs MCP et les hooks s'exécutent toujours directement sur votre hôte. Toutes les autres approches du tableau placent l'ensemble du processus Claude Code à l'intérieur de la limite d'isolation, de sorte que les outils de fichiers, les serveurs MCP et les hooks sont également restreints.

33 33 

34<Warning>34<Warning>

35 L'isolation sandbox réduit l'impact d'une violation, mais elle n'élimine pas le risque. Toute approche qui permet l'egress réseau peut toujours fuir les données que l'agent peut lire, et toute approche qui monte votre répertoire de projet en écriture peut toujours modifier ce code. Consultez les [limitations de sécurité](/docs/fr/sandboxing#security-limitations) avant de compter sur un sandbox comme contrôle strict.35 L'isolation du sandbox réduit l'impact d'une violation, mais elle n'élimine pas le risque. Toute approche qui permet la sortie réseau peut toujours divulguer les données que l'agent peut lire, et toute approche qui monte votre répertoire de projet en écriture peut toujours modifier ce code. Consultez les [limitations de sécurité](/docs/fr/sandboxing#security-limitations) avant de vous fier à un sandbox comme contrôle strict.

36 36 

37 L'isolation ne change pas non plus ce qui est envoyé au modèle. Vos invites et les fichiers que Claude lit sont transmis à l'API Anthropic ou à votre fournisseur configuré avec ou sans sandbox. Voir [Utilisation des données](/docs/fr/data-usage) pour ce que Claude Code envoie et comment le réduire.37 L'isolation ne change pas non plus ce qui est envoyé au modèle. Vos invites et les fichiers que Claude lit sont transmis à l'API Anthropic ou à votre fournisseur configuré avec ou sans sandbox. Consultez [Utilisation des données](/docs/fr/data-usage) pour savoir ce que Claude Code envoie et comment le réduire.

38</Warning>38</Warning>

39 39 

40<h2 id="choose-an-approach">40<h2 id="choose-an-approach">


83Le sandbox par commande ne couvre pas tout ce qui s'exécute dans une session :83Le sandbox par commande ne couvre pas tout ce qui s'exécute dans une session :

84 84 

85* D'autres [outils intégrés](/docs/fr/tools-reference) tels que Read, Edit et WebFetch s'exécutent à l'intérieur du processus Claude Code et ne génèrent pas de code arbitraire. Les [règles de permission](/docs/fr/permissions) pour le chemin ou le domaine les contrôlent à la place.85* D'autres [outils intégrés](/docs/fr/tools-reference) tels que Read, Edit et WebFetch s'exécutent à l'intérieur du processus Claude Code et ne génèrent pas de code arbitraire. Les [règles de permission](/docs/fr/permissions) pour le chemin ou le domaine les contrôlent à la place.

86* Les serveurs [MCP](/docs/fr/mcp) et les hooks sont des processus séparés qui s'exécutent sans contrainte sur l'hôte.86* Les serveurs [MCP](/docs/fr/mcp) et les [hooks de commande](/docs/fr/hooks#command-hook-fields) sont des processus séparés qui s'exécutent sans contrainte sur l'hôte.

87 87 

88Pour mettre les outils intégrés, les serveurs MCP et les hooks tous derrière une limite du système d'exploitation, exécutez l'ensemble du processus Claude Code à l'intérieur du [runtime sandbox](#sandbox-runtime), du [dev container](#dev-containers) ou d'un [conteneur personnalisé](#custom-container).88Pour mettre les outils intégrés, les serveurs MCP et les hooks tous derrière une limite du système d'exploitation, exécutez l'ensemble du processus Claude Code à l'intérieur du [runtime sandbox](#sandbox-runtime), du [dev container](#dev-containers) ou d'un [conteneur personnalisé](#custom-container).

89 89 

Details

486 486 

487`--kill-session-after-min` est un arrêt dur pour les sessions qui s'échappent. Sur un runner en v2.1.260 ou ultérieur, une session qui atteint la limite n'est pas terminée immédiatement. Le runner lui donne une fenêtre de grâce, 15 minutes par défaut, que vous pouvez modifier avec [`SELF_HOSTED_RUNNER_MAX_LIFETIME_GRACE_MS`](/docs/fr/self-hosted-environments-reference#environment-variable-only-settings) :487`--kill-session-after-min` est un arrêt dur pour les sessions qui s'échappent. Sur un runner en v2.1.260 ou ultérieur, une session qui atteint la limite n'est pas terminée immédiatement. Le runner lui donne une fenêtre de grâce, 15 minutes par défaut, que vous pouvez modifier avec [`SELF_HOSTED_RUNNER_MAX_LIFETIME_GRACE_MS`](/docs/fr/self-hosted-environments-reference#environment-variable-only-settings) :

488 488 

489* Si la session attend son utilisateur, ou son tour s'est terminé et elle ne contient que des tâches de fond, le runner la libère immédiatement. La session reprend quand son utilisateur envoie son prochain message.489* Si la session attend son utilisateur, le runner la libère. Si son tour s'est terminé et elle ne contient que des tâches de fond, le runner attend jusqu'à 60 secondes pour que ces tâches se terminent, puis la libère. La session reprend quand son utilisateur envoie son prochain message.

490* Si un tour est toujours en cours d'exécution, le runner attend que le tour se termine, ou que la session attende ensuite son utilisateur, puis la libère.490* Si un tour est toujours en cours d'exécution, le runner attend que le tour se termine, ou que la session attende ensuite son utilisateur, puis la libère.

491* Si la session est toujours sur le runner quand la fenêtre de grâce se termine, le runner la termine, et tout travail du tour en cours d'exécution est perdu. Un tour attendant une approbation demandée de l'intérieur d'un appel d'outil en cours d'exécution est une façon pour une session de dépasser la fenêtre.491* Si la session est toujours sur le runner quand la fenêtre de grâce se termine, le runner la termine, et tout travail du tour en cours d'exécution est perdu. Un tour attendant une approbation demandée de l'intérieur d'un appel d'outil en cours d'exécution est une façon pour une session de dépasser la fenêtre.

492 492 

Details

163 Exceptions par clé entre sources gérées163 Exceptions par clé entre sources gérées

164</h3>164</h3>

165 165 

166Deux types de clés sont des exceptions à la règle de non-fusion :166Trois types de clés sont des exceptions à la règle de non-fusion :

167 167 

168* **Clés de verrouillage entre sources** : un petit ensemble de clés, telles que les verrous de liste d'autorisation du sandbox, [listées sur la page des paramètres gérés](/docs/fr/managed-settings#precedence-within-the-managed-tier). Claude Code les honore 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. Lorsqu'un [`policyHelper`](/docs/fr/settings-reference#policyhelper) fournit des paramètres gérés, sa sortie est la seule source que ces vérifications lisent, à l'exception de [`forceRemoteSettingsRefresh`](/docs/fr/settings-reference#forceremotesettingsrefresh), que Claude Code lit à partir des sources d'administrateur directement au démarrage.168* **Clés de verrouillage entre sources** : un petit ensemble de clés, telles que les verrous de liste d'autorisation du sandbox, [listées sur la page des paramètres gérés](/docs/fr/managed-settings#precedence-within-the-managed-tier). Claude Code les honore 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. Lorsqu'un [`policyHelper`](/docs/fr/settings-reference#policyhelper) fournit des paramètres gérés, sa sortie est la seule source que ces vérifications lisent, à l'exception de [`forceRemoteSettingsRefresh`](/docs/fr/settings-reference#forceremotesettingsrefresh), que Claude Code lit à partir des sources d'administrateur directement au démarrage.

169* **Le bloc `env`** : à l'exception de l'unité de télémétrie et des variables de routage associées à une clé d'identifiant, toutes deux couvertes ci-dessous, il fusionne par clé entre les sources contrôlées par l'administrateur. Pour chaque variable d'environnement, la source de priorité la plus élevée qui la définit gagne, et les sources d'administrateur inférieures remplissent les variables que les sources supérieures laissent non définies. Une entrée `env` gérée par le point de terminaison s'applique donc chaque fois que la configuration gérée par le serveur laisse cette variable non définie, ou tandis qu'une valeur de serveur en cache pour elle est [retenue en attente de confirmation du serveur](#fetch-and-caching-behavior). Nécessite Claude Code v2.1.223 ou version ultérieure. Avant v2.1.223, Claude Code applique uniquement le bloc `env` de la source sélectionnée.169* **Le bloc `env`** : à l'exception de l'unité de télémétrie et des variables de routage associées à une clé d'identifiant, toutes deux couvertes ci-dessous, il fusionne par clé entre les sources contrôlées par l'administrateur. Pour chaque variable d'environnement, la source de priorité la plus élevée qui la définit gagne, et les sources d'administrateur inférieures remplissent les variables que les sources supérieures laissent non définies. Une entrée `env` gérée par le point de terminaison s'applique donc chaque fois que la configuration gérée par le serveur laisse cette variable non définie, ou tandis qu'une valeur de serveur en cache pour elle est [retenue en attente de confirmation du serveur](#fetch-and-caching-behavior). Nécessite Claude Code v2.1.223 ou version ultérieure. Avant v2.1.223, Claude Code applique uniquement le bloc `env` de la source sélectionnée.

170 * **Unité de télémétrie** : les clés d'exportateur `OTEL_EXPORTER_OTLP_*`, les bascules de capture de contenu `OTEL_LOG_*`, `OTEL_LOGS_EXPORTER`, et les variables de traçage bêta `ENABLE_BETA_TRACING_DETAILED` et `BETA_TRACING_ENDPOINT` suivent la source la plus élevée qui en définit l'une comme unité. Une source qui livre la clé d'identifiant `otelHeadersHelper` revendique également l'unité, mais ne place ces variables que lorsqu'elle est la source sélectionnée : une source qui n'est pas sélectionnée mais livre la clé ne contribue à aucune d'elles et bloque toujours les sources inférieures de les remplir. De toute façon, un point de terminaison d'exportateur d'une source ne peut jamais être associé à des identifiants d'une autre.170 * **Unité de télémétrie** : les clés d'exportateur `OTEL_EXPORTER_OTLP_*`, les bascules de capture de contenu `OTEL_LOG_*`, `OTEL_LOGS_EXPORTER`, et les variables de traçage bêta `ENABLE_BETA_TRACING_DETAILED` et `BETA_TRACING_ENDPOINT` suivent la source la plus élevée qui en définit l'une comme unité. Une source qui livre la clé d'identifiant `otelHeadersHelper` revendique également l'unité, mais ne place ces variables que lorsqu'elle est la source sélectionnée : une source qui n'est pas sélectionnée mais livre la clé ne contribue à aucune d'elles et bloque toujours les sources inférieures de les remplir. De toute façon, un point de terminaison d'exportateur d'une source ne peut jamais être associé à des identifiants d'une autre.

171 * **Routage associé à un identifiant** : une source qui associe des variables de routage à une clé d'identifiant sélectionnée uniquement, telle que `apiKeyHelper` ou `otelHeadersHelper`, contribue ces variables de routage uniquement lorsqu'elle remporte l'emplacement.171 * **Routage associé à un identifiant** : une source qui associe des variables de routage à une clé d'identifiant sélectionnée uniquement, telle que `apiKeyHelper` ou `otelHeadersHelper`, contribue ces variables de routage uniquement lorsqu'elle remporte l'emplacement.

172* **Clés de connexion à la passerelle** : Claude Code ne lit jamais [`forceLoginGatewayUrl`](/docs/fr/settings-reference#forcelogingatewayurl) ou la valeur `"gateway"` de [`forceLoginMethod`](/docs/fr/settings-reference#forceloginmethod) à partir des paramètres gérés par le serveur, de sorte que la sélection des paramètres gérés par le serveur ne fournit ni une connexion à la passerelle ni n'en masque une définie dans une stratégie MDM ou un fichier de paramètres gérés. L'entrée [`managedSourcesBehavior`](/docs/fr/settings-reference#managedsourcesbehavior) indique quelle source d'administrateur sur la machine les fournit.

172 173 

173<h3 id="fetch-and-caching-behavior">174<h3 id="fetch-and-caching-behavior">

174 Comportement de récupération et de mise en cache175 Comportement de récupération et de mise en cache

Details

830 `advisorModel`830 `advisorModel`

831</h3>831</h3>

832 832 

833Choisissez quel modèle répond quand Claude appelle l'[outil advisor](/docs/fr/advisor) côté serveur. Laissez-le non défini pour désactiver l'advisor. L'advisor doit être au moins aussi capable que votre modèle principal ; quand ce n'est pas le cas, Claude Code envoie les demandes sans l'advisor. Consultez [Choisir un modèle advisor](/docs/fr/advisor#choose-an-advisor-model).833Choisissez quel modèle répond quand Claude appelle l'[outil advisor](/docs/fr/advisor) côté serveur. Laissez-le non défini pour désactiver l'advisor. L'advisor doit être au moins aussi capable que votre modèle principal. Consultez [Choisir un modèle advisor](/docs/fr/advisor#choose-an-advisor-model) pour les appairages acceptés et ce qui se passe quand vous en choisissez un qui n'est pas accepté.

834 834 

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

836 836 


1347 * `true` : les sessions démarrent à l'effort `xhigh`, avec ultracode activé quand les workflows dynamiques sont activés pour vous, votre modèle supporte `xhigh`, et aucun plafond d'effort n'est inférieur à `xhigh`1347 * `true` : les sessions démarrent à l'effort `xhigh`, avec ultracode activé quand les workflows dynamiques sont activés pour vous, votre modèle supporte `xhigh`, et aucun plafond d'effort n'est inférieur à `xhigh`

1348 * `false` : les sessions démarrent avec ultracode désactivé1348 * `false` : les sessions démarrent avec ultracode désactivé

1349* **Par défaut** : non défini, donc ultracode est désactivé1349* **Par défaut** : non défini, donc ultracode est désactivé

1350* **Remplacements par session** : `/effort ultracode` active ultracode pour une session sans cette clé. Tout comme `--effort ultracode`, qui nécessite Claude Code v2.1.203 ou ultérieur1350* **Remplacements par session** : `/effort ultracode` active ultracode pour une session sans cette clé. Le drapeau `--effort ultracode` l'active également pour une session et nécessite Claude Code v2.1.203 ou ultérieur

1351 1351 

1352```json settings.json theme={null}1352```json settings.json theme={null}

1353{1353{


6156Sous `"merge"`, Claude Code combine chaque clé par son type. Ce tableau donne la règle pour chaque type. Les lignes de liste d'autorisation de restriction, valeurs prises en entier et plus haute source uniquement nomment chaque clé qu'elles couvrent, et les autres lignes donnent des exemples :6156Sous `"merge"`, Claude Code combine chaque clé par son type. Ce tableau donne la règle pour chaque type. Les lignes de liste d'autorisation de restriction, valeurs prises en entier et plus haute source uniquement nomment chaque clé qu'elles couvrent, et les autres lignes donnent des exemples :

6157 6157 

6158| Type de clé | Comment Claude Code la combine | Clés |6158| Type de clé | Comment Claude Code la combine | Clés |

6159| :-------------------------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |6159| :-------------------------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

6160| Listes | Combine les entrées de chaque source | [`permissions.allow`](#permissions-allow), [`sandbox.network.allowedDomains`](#sandbox-network-alloweddomains) et autres clés de liste |6160| Listes | Combine les entrées de chaque source | [`permissions.allow`](#permissions-allow), [`sandbox.network.allowedDomains`](#sandbox-network-alloweddomains) et autres clés de liste |

6161| Verrous | Applique la valeur la plus stricte que n'importe quelle source définit. Lorsqu'aucune source ne définit une valeur stricte, applique une valeur plus souple uniquement de la source la plus haute | [`allowManagedPermissionRulesOnly`](#allowmanagedpermissionrulesonly), [`permissions.disableBypassPermissionsMode`](#permissions-disablebypasspermissionsmode) et autres verrous booléens ou énumérés |6161| Verrous | Applique la valeur la plus stricte que n'importe quelle source définit. Lorsqu'aucune source ne définit une valeur stricte, applique une valeur plus souple uniquement de la source la plus haute | [`allowManagedPermissionRulesOnly`](#allowmanagedpermissionrulesonly), [`permissions.disableBypassPermissionsMode`](#permissions-disablebypasspermissionsmode) et autres verrous booléens ou énumérés |

6162| Listes d'autorisation de restriction | Prend la liste en entier de la source la plus haute qui la définit, sans ajouter d'entrées de sources inférieures. Lorsque la source la plus haute ne la définit pas, la prend en entier de la source suivante en bas | [`availableModels`](#availablemodels), [`allowedMcpServers`](#allowedmcpservers), [`strictKnownMarketplaces`](#strictknownmarketplaces), [`allowedChannelPlugins`](#allowedchannelplugins) et la chaîne [`fallbackModel`](#fallbackmodel) |6162| Listes d'autorisation de restriction | Prend la liste en entier de la source la plus haute qui la définit, sans ajouter d'entrées de sources inférieures. Lorsque la source la plus haute ne la définit pas, la prend en entier de la source suivante en bas | [`availableModels`](#availablemodels), [`allowedMcpServers`](#allowedmcpservers), [`strictKnownMarketplaces`](#strictknownmarketplaces), [`allowedChannelPlugins`](#allowedchannelplugins) et la chaîne [`fallbackModel`](#fallbackmodel) |

6163| Valeurs prises en entier | Prend la valeur en entier de la source la plus haute qui la définit, sans combiner les entrées ou champs de sources inférieures. Lorsque la source la plus haute ne la définit pas, la prend en entier de la source suivante en bas | [`sandbox.credentials.awsPairs`](#sandbox-credentials-awspairs), [`sandbox.ripgrep`](#sandbox-ripgrep) |6163| Valeurs prises en entier | Prend la valeur en entier de la source la plus haute qui la définit, sans combiner les entrées ou champs de sources inférieures. Lorsque la source la plus haute ne la définit pas, la prend en entier de la source suivante en bas | [`sandbox.credentials.awsPairs`](#sandbox-credentials-awspairs), [`sandbox.ripgrep`](#sandbox-ripgrep) |

6164| Serveurs MCP fournis | Combine les noms de serveur de chaque source. Lorsque deux sources définissent le même nom, applique l'entrée entière de la source la plus haute | [`managedMcpServers`](#managedmcpservers) |6164| Serveurs MCP fournis | Combine les noms de serveur de chaque source. Lorsque deux sources définissent le même nom, applique l'entrée entière de la source la plus haute | [`managedMcpServers`](#managedmcpservers) |

6165| Lire uniquement de la source de plus haute priorité | Lit la clé uniquement de la source de plus haute priorité qui porte une clé de politique, de sorte que la valeur d'une source inférieure est ignorée même lorsque la source la plus haute n'en définit aucune | [`apiKeyHelper`](#apikeyhelper), [`awsAuthRefresh`](#awsauthrefresh), [`awsCredentialExport`](#awscredentialexport), [`gcpAuthRefresh`](#gcpauthrefresh), [`otelHeadersHelper`](#otelheadershelper), `proxyAuthHelper`, [`forceLoginOrgUUID`](#forceloginorguuid), [`forceLoginMethod`](#forceloginmethod), [`forceLoginGatewayUrl`](#forcelogingatewayurl), [`parentSettingsBehavior`](#parentsettingsbehavior), [`modelPicker`](#modelpicker), [`policyHelper`](#policyhelper), [`permissions.defaultMode`](#permissions-defaultmode) |6165| Lire uniquement de la source de plus haute priorité | Lit la clé uniquement de la source de plus haute priorité qui porte une clé de politique, de sorte que la valeur d'une source inférieure est ignorée même lorsque la source la plus haute n'en définit aucune | [`apiKeyHelper`](#apikeyhelper), [`awsAuthRefresh`](#awsauthrefresh), [`awsCredentialExport`](#awscredentialexport), [`gcpAuthRefresh`](#gcpauthrefresh), [`otelHeadersHelper`](#otelheadershelper), `proxyAuthHelper`, [`forceLoginOrgUUID`](#forceloginorguuid), les valeurs `"claudeai"` et `"console"` de [`forceLoginMethod`](#forceloginmethod), [`parentSettingsBehavior`](#parentsettingsbehavior), [`modelPicker`](#modelpicker), [`policyHelper`](#policyhelper), [`permissions.defaultMode`](#permissions-defaultmode) |

6166| `env` | [Fusionne par variable sur les sources d'administrateur](/docs/fr/managed-settings#keys-read-from-every-admin-source), sous `"first-wins"` et `"merge"` | [`env`](#env) |6166| `env` | [Fusionne par variable sur les sources d'administrateur](/docs/fr/managed-settings#keys-read-from-every-admin-source), sous `"first-wins"` et `"merge"` | [`env`](#env) |

6167| Chaque autre clé | Prend la valeur de la source la plus haute qui la définit | [`cleanupPeriodDays`](#cleanupperioddays), [`model`](#model) |6167| Chaque autre clé | Prend la valeur de la source la plus haute qui la définit | [`cleanupPeriodDays`](#cleanupperioddays), [`model`](#model) |

6168 6168 

6169Prendre `sandbox.credentials.awsPairs` et `sandbox.ripgrep` en entier nécessite Claude Code v2.1.257 ou ultérieur.6169Prendre `sandbox.credentials.awsPairs` et `sandbox.ripgrep` en entier nécessite Claude Code v2.1.257 ou ultérieur.

6170 6170 

6171Trois de ces clés ajoutent une condition qui leur est propre :6171Quelques clés ajoutent une condition que le tableau ne montre pas :

6172 6172 

6173* **[`policyHelper`](#policyhelper)** : Claude Code ne l'honore que lorsque la source la plus haute qui porte une clé de politique est une politique MDM ou un fichier de paramètres gérés, donc sous les paramètres gérés par le serveur elle ne s'applique pas.6173* **[`policyHelper`](#policyhelper)** : Claude Code ne l'honore que lorsque la source la plus haute qui porte une clé de politique est une politique MDM ou un fichier de paramètres gérés, donc sous les paramètres gérés par le serveur elle ne s'applique pas.

6174* **[`modelOverrides`](#modeloverrides)** : s'associe avec `availableModels`. Claude Code prend `modelOverrides` de la source la plus haute qui la définit, à moins qu'une source plus haute ne définisse `availableModels` sans `modelOverrides`. Dans ce cas, il ignore `modelOverrides` de chaque source.6174* **[`modelOverrides`](#modeloverrides)** : s'associe avec `availableModels`. Claude Code prend `modelOverrides` de la source la plus haute qui la définit, à moins qu'une source plus haute ne définisse `availableModels` sans `modelOverrides`. Dans ce cas, il ignore `modelOverrides` de chaque source.

6175* **[`forceLoginGatewayUrl`](#forcelogingatewayurl) et la valeur `"gateway"` de [`forceLoginMethod`](#forceloginmethod)** : Claude Code ne les lit que des sources gérées sur la machine elle-même et les ignore dans les paramètres gérés par le serveur. Les valeurs de la machine s'appliquent même lorsque les paramètres gérés par le serveur sont également présents.6175* **[`forceLoginGatewayUrl`](#forcelogingatewayurl) et la valeur `"gateway"` de [`forceLoginMethod`](#forceloginmethod)** : Claude Code ne les lit jamais à partir des paramètres gérés par le serveur, de sorte qu'une valeur là-bas ne s'applique ni ne cache celle définie dans une politique MDM ou un fichier de paramètres gérés. Parmi les sources d'administrateur sur la machine, seule la source la plus haute classée qui porte une clé de politique les fournit, que les paramètres gérés par le serveur soient également présents ou non.

6176 6176 

6177Pour confirmer quelles sources se sont combinées sur une machine, exécutez `/status` et [lisez la ligne `Setting sources`](/docs/fr/managed-settings#read-the-source-in-/status).6177Pour confirmer quelles sources se sont combinées sur une machine, exécutez `/status` et [lisez la ligne `Setting sources`](/docs/fr/managed-settings#read-the-source-in-/status).

6178 6178 

Details

27Dans la plupart des terminaux, vous pouvez également appuyer sur Maj+Entrée, mais le support varie selon l'émulateur de terminal :27Dans la plupart des terminaux, vous pouvez également appuyer sur Maj+Entrée, mais le support varie selon l'émulateur de terminal :

28 28 

29| Terminal | Maj+Entrée pour nouvelle ligne |29| Terminal | Maj+Entrée pour nouvelle ligne |

30| :---------------------------------------------------------------------- | :-------------------------------------------------- |30| :------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------- |

31| Ghostty, Kitty, iTerm2, WezTerm, Warp, Apple Terminal, Windows Terminal | Fonctionne sans configuration |31| Ghostty, Kitty, iTerm2, WezTerm, Warp, Apple Terminal, Windows Terminal | Fonctionne sans configuration |

32| VS Code, Cursor, Devin Desktop, Alacritty, Zed | Exécutez `/terminal-setup` une fois |32| Autres terminaux qui supportent le protocole clavier kitty, tels que foot et Alacritty 0.16 ou ultérieur | Fonctionne sans configuration. Nécessite Claude Code v2.1.269 ou ultérieur |

33| VS Code, Cursor, Devin Desktop, Alacritty avant 0.16, Zed | Exécutez `/terminal-setup` une fois |

33| gnome-terminal, JetBrains IDEs tels que PyCharm et Android Studio | Non disponible ; utilisez Ctrl+J ou `\` puis Entrée |34| gnome-terminal, JetBrains IDEs tels que PyCharm et Android Studio | Non disponible ; utilisez Ctrl+J ou `\` puis Entrée |

34 35 

35Pour VS Code, Cursor, Devin Desktop, Alacritty et Zed, `/terminal-setup` écrit une liaison de touche Maj+Entrée dans le fichier de configuration du terminal. À la première exécution, vous voyez une confirmation telle que `Installed VSCode terminal Shift+Enter key binding`. Les liaisons existantes sont conservées ; si vous voyez un message tel que `VSCode terminal Shift+Enter key binding already configured`, aucune modification n'a été apportée. Exécutez `/terminal-setup` directement dans le terminal hôte plutôt qu'à l'intérieur de tmux ou screen, car il doit écrire dans la configuration du terminal hôte.36Pour VS Code, Cursor, Devin Desktop, Alacritty avant 0.16 et Zed, `/terminal-setup` écrit une liaison de touche Maj+Entrée dans le fichier de configuration du terminal. À la première exécution, vous voyez une confirmation telle que `Installed VSCode terminal Shift+Enter key binding`. Les liaisons existantes sont conservées ; si vous voyez un message tel que `VSCode terminal Shift+Enter key binding already configured`, aucune modification n'a été apportée. Exécutez `/terminal-setup` directement dans le terminal hôte plutôt qu'à l'intérieur de tmux ou screen, car il doit écrire dans la configuration du terminal hôte.

36 37 

37Dans VS Code, Cursor et Devin Desktop, `/terminal-setup` met également à jour deux paramètres d'éditeur : il définit `terminal.integrated.gpuAcceleration` sur `"off"` pour éviter le texte brouillé dans le terminal intégré, et il définit `terminal.integrated.mouseWheelScrollSensitivity` pour un défilement plus fluide en [mode plein écran](/docs/fr/fullscreen). Pour annuler la modification de l'accélération GPU, redéfinissez-la sur `"auto"` et rechargez la fenêtre de l'éditeur.38Dans VS Code, Cursor et Devin Desktop, `/terminal-setup` met également à jour deux paramètres d'éditeur : il définit `terminal.integrated.gpuAcceleration` sur `"off"` pour éviter le texte brouillé dans le terminal intégré, et il définit `terminal.integrated.mouseWheelScrollSensitivity` pour un défilement plus fluide en [mode plein écran](/docs/fr/fullscreen). Pour annuler la modification de l'accélération GPU, redéfinissez-la sur `"auto"` et rechargez la fenêtre de l'éditeur.

38 39 

Details

417 417 

418La commande `curl ... | bash` télécharge le script et le transmet à Bash pour exécution. Cette erreur, et l'erreur associée `curl: (23) Failure writing output to destination`, signifie que Bash n'a pas reçu le script complet. Le code de sortie 56 indique que le téléchargement lui-même a été interrompu, et le code de sortie 23 indique que curl n'a pas pu écrire ce qu'il a reçu dans le tuyau, généralement parce que Bash s'est fermé prématurément.418La commande `curl ... | bash` télécharge le script et le transmet à Bash pour exécution. Cette erreur, et l'erreur associée `curl: (23) Failure writing output to destination`, signifie que Bash n'a pas reçu le script complet. Le code de sortie 56 indique que le téléchargement lui-même a été interrompu, et le code de sortie 23 indique que curl n'a pas pu écrire ce qu'il a reçu dans le tuyau, généralement parce que Bash s'est fermé prématurément.

419 419 

420**Solutions :**420Testez que vous pouvez atteindre `downloads.claude.ai` avec la vérification dans [Vérifiez la connectivité réseau](#check-network-connectivity). Si vous avez atteint le serveur, l'échec d'origine était probablement intermittent ; réessayez la commande d'installation. Vous pouvez également [essayer une méthode d'installation alternative](/docs/fr/setup#install-claude-code).

421 

4221. **Vérifiez la stabilité du réseau** : les binaires Claude Code sont hébergés sur `downloads.claude.ai`. Testez que vous pouvez l'atteindre :

423 

424 ```bash theme={null}

425 curl -sI https://downloads.claude.ai/claude-code-releases/latest

426 ```

427 

428 Une ligne `HTTP/2 200` signifie que vous avez atteint le serveur et l'échec d'origine était probablement intermittent ; réessayez la commande d'installation. D'autres résultats pointent vers la cause :

429 

430 * `403` : généralement un proxy ou un filtre réseau bloquant l'hôte, ou Claude Code n'est [pas disponible dans votre région](https://www.anthropic.com/supported-countries)

431 * `5xx` : généralement un problème de service temporaire ; attendez quelques minutes et réessayez

432 * `Could not resolve host` ou un délai d'expiration de connexion : votre réseau bloque le téléchargement

433 

4342. **Essayez une méthode d'installation alternative** :

435 

436 Sur macOS :

437 

438 ```bash theme={null}

439 brew install --cask claude-code

440 ```

441 

442 Sur Windows :

443 

444 ```powershell theme={null}

445 winget install Anthropic.ClaudeCode

446 ```

447 

448 Puis exécutez `claude --version` pour confirmer : la commande affiche un numéro de version tel que `2.1.211 (Claude Code)`. Si le shell signale que `claude` n'est pas trouvé, ouvrez une nouvelle fenêtre de terminal et réessayez : la session à partir de laquelle vous avez installé conserve son ancien `PATH`.

449 421 

450<h3 id="homebrew-cask-unavailable-or-outdated">422<h3 id="homebrew-cask-unavailable-or-outdated">

451 Cask Homebrew indisponible ou obsolète423 Cask Homebrew indisponible ou obsolète

vs-code.md +18 −11

Details

58 58 

59 * **Barre d'activité** : cliquez sur l'icône Spark dans la barre latérale gauche pour ouvrir la liste des sessions. Cliquez sur n'importe quelle session pour l'ouvrir à votre [emplacement préféré](#extension-settings), ou démarrez-en une nouvelle. Cette icône est toujours visible dans la barre d'activité.59 * **Barre d'activité** : cliquez sur l'icône Spark dans la barre latérale gauche pour ouvrir la liste des sessions. Cliquez sur n'importe quelle session pour l'ouvrir à votre [emplacement préféré](#extension-settings), ou démarrez-en une nouvelle. Cette icône est toujours visible dans la barre d'activité.

60 * **Palette de commandes** : `Cmd+Shift+P` (Mac) ou `Ctrl+Shift+P` (Windows/Linux), tapez « Claude Code », et sélectionnez une option comme « Open in New Tab »60 * **Palette de commandes** : `Cmd+Shift+P` (Mac) ou `Ctrl+Shift+P` (Windows/Linux), tapez « Claude Code », et sélectionnez une option comme « Open in New Tab »

61 * **Barre d'état** : si vous avez défini [`preferredLocation`](#extension-settings) sur `sidebar`, ou ouvert Claude avec **Claude Code: Open in Side Bar**, cliquez sur **✱ Claude Code** dans le coin inférieur droit de la fenêtre. Cela fonctionne même quand aucun fichier n'est ouvert.61 * **Barre d'état** : si vous avez défini [`preferredLocation`](#extension-settings) sur `sidebar`, ou ouvert Claude avec **Claude Code: Open in Side Bar**, cliquez sur **✻ Claude Code** dans le coin inférieur droit de la fenêtre. Cela fonctionne même quand aucun fichier n'est ouvert.

62 62 

63 Vous pouvez faire glisser le panneau Claude pour le repositionner n'importe où dans VS Code. Consultez [Personnaliser votre flux de travail](#customize-your-workflow) pour plus de détails.63 Vous pouvez faire glisser le panneau Claude pour le repositionner n'importe où dans VS Code. Consultez [Personnaliser votre flux de travail](#customize-your-workflow) pour plus de détails.

64 </Step>64 </Step>


116 * Sélectionnez **Output styles** dans la section Customize pour choisir un [style de sortie](/docs/fr/output-styles), y compris vos styles personnalisés. Nécessite Claude Code v2.1.257 ou version ultérieure.116 * Sélectionnez **Output styles** dans la section Customize pour choisir un [style de sortie](/docs/fr/output-styles), y compris vos styles personnalisés. Nécessite Claude Code v2.1.257 ou version ultérieure.

117 117 

118 Pour créer un style personnalisé à la place, sélectionnez **Build a custom style** dans le menu **Output styles**. Claude Code écrit le [fichier de style](/docs/fr/output-styles#create-a-custom-output-style) pour vous au niveau du projet ou de l'utilisateur. Nécessite Claude Code v2.1.261 ou version ultérieure.118 Pour créer un style personnalisé à la place, sélectionnez **Build a custom style** dans le menu **Output styles**. Claude Code écrit le [fichier de style](/docs/fr/output-styles#create-a-custom-output-style) pour vous au niveau du projet ou de l'utilisateur. Nécessite Claude Code v2.1.261 ou version ultérieure.

119 * Sélectionnez **Hooks** dans la section Customize pour afficher les [hooks](/docs/fr/hooks) chargés dans la session, regroupés par événement. Vous pouvez ajouter, modifier ou supprimer les hooks enregistrés dans vos fichiers de paramètres utilisateur, projet et local. Les hooks provenant d'autres sources, telles que les paramètres gérés ou les plugins, sont en lecture seule. Nécessite Claude Code v2.1.269 ou version ultérieure.

120 * Sélectionnez **Permissions** dans la section Customize pour afficher les [règles de permission](/docs/fr/permissions) de la session, regroupées en Allow, Ask et Deny. Vous pouvez ajouter des règles à vos paramètres utilisateur, projet ou local et supprimer les règles enregistrées là. Les règles provenant d'autres sources, telles que les paramètres gérés ou les approbations effectuées pour cette session uniquement, sont en lecture seule. Nécessite Claude Code v2.1.269 ou version ultérieure.

119 * La section Settings inclut **Enable Remote Control for all sessions**, qui définit [`remoteControlAtStartup`](/docs/fr/settings-reference#remotecontrolatstartup) pour contrôler si les [nouvelles sessions interactives se connectent à Remote Control automatiquement](/docs/fr/remote-control#enable-remote-control-for-all-sessions). Nécessite Claude Code v2.1.203 ou version ultérieure.121 * La section Settings inclut **Enable Remote Control for all sessions**, qui définit [`remoteControlAtStartup`](/docs/fr/settings-reference#remotecontrolatstartup) pour contrôler si les [nouvelles sessions interactives se connectent à Remote Control automatiquement](/docs/fr/remote-control#enable-remote-control-for-all-sessions). Nécessite Claude Code v2.1.203 ou version ultérieure.

120 122 

121 Lorsque vous basculez le commutateur activé ou désactivé dans une fenêtre VS Code, la modification s'applique aux sessions déjà ouvertes dans cette fenêtre VS Code, pas seulement aux sessions que vous démarrez par la suite. Si vous le désactivez, les sessions ouvertes se déconnectent. Avec Claude Code v2.1.261 ou version ultérieure, la modification atteint également les sessions ouvertes dans vos autres fenêtres VS Code.123 Lorsque vous basculez le commutateur activé ou désactivé dans une fenêtre VS Code, la modification s'applique aux sessions déjà ouvertes dans cette fenêtre VS Code, pas seulement aux sessions que vous démarrez par la suite. Si vous le désactivez, les sessions ouvertes se déconnectent. Avec Claude Code v2.1.261 ou version ultérieure, la modification atteint également les sessions ouvertes dans vos autres fenêtres VS Code.

122 * La section Settings inclut également **Focus view**, qui masque les appels d'outils, les résultats d'outils et la réflexion derrière des lignes extensibles, laissant vos invites et les réponses de Claude. La dernière liste de tâches de Claude reste visible, tout comme le texte d'une question en attente que Claude pose ; cela nécessite Claude Code v2.1.225 ou version ultérieure. Basculez-le là, avec `Ctrl+Option+F` (Mac) / `Ctrl+Alt+F` (Windows/Linux), ou depuis la Palette de commandes avec **Claude Code: Toggle Focus view**. La modification s'applique à chaque session ouverte et persiste entre les sessions. Nécessite Claude Code v2.1.221 ou version ultérieure.124 * La section Settings inclut également **Focus view**, qui masque les appels d'outils, les résultats d'outils et la réflexion derrière des lignes extensibles, laissant vos invites et les réponses de Claude. Basculez-le là, avec `Ctrl+Option+F` (Mac) / `Ctrl+Alt+F` (Windows/Linux), ou depuis la Palette de commandes avec **Claude Code: Toggle Focus view**. La modification s'applique à chaque session ouverte et persiste entre les sessions. Nécessite Claude Code v2.1.221 ou version ultérieure.

125 

126 La dernière liste de tâches de Claude reste visible, tout comme le texte d'une question en attente que Claude pose ; cela nécessite Claude Code v2.1.225 ou version ultérieure. Pendant que Claude exécute les [sous-agents](/docs/fr/sub-agents), les lignes de progression en direct avec leur dernière activité apparaissent sous le groupe d'appels d'outils qui les a lancés. Cela nécessite Claude Code v2.1.269 ou version ultérieure.

123 * Pour signaler un bogue, cliquez sur **Report a problem** en bas du menu, ou tapez `/bug` ou `/feedback` avec une description facultative qui préremplira le rapport. Lorsque vous soumettez le rapport et que vous êtes connecté à Anthropic sur une connexion propriétaire, Claude Code l'envoie à Anthropic. Sur un fournisseur tiers, ou sans identifiants Anthropic, la boîte de dialogue s'ouvre toujours, mais la soumission affiche une erreur et n'envoie rien : contrairement au `/bug` de la CLI, l'extension n'écrit pas d'archive locale. Nécessite Claude Code v2.1.229 ou version ultérieure.127 * Pour signaler un bogue, cliquez sur **Report a problem** en bas du menu, ou tapez `/bug` ou `/feedback` avec une description facultative qui préremplira le rapport. Lorsque vous soumettez le rapport et que vous êtes connecté à Anthropic sur une connexion propriétaire, Claude Code l'envoie à Anthropic. Sur un fournisseur tiers, ou sans identifiants Anthropic, la boîte de dialogue s'ouvre toujours, mais la soumission affiche une erreur et n'envoie rien : contrairement au `/bug` de la CLI, l'extension n'écrit pas d'archive locale. Nécessite Claude Code v2.1.229 ou version ultérieure.

124* **Side questions** : tapez `/btw` suivi d'une question pour poser une question sur votre session [sans l'ajouter à la conversation](/docs/fr/interactive-mode#side-questions-with-%2Fbtw). La réponse s'ouvre dans un panneau à côté du chat, où vous pouvez poser des questions de suivi. Le fil persiste lors des rechargements de fenêtre. Claude Code conserve les 20 derniers échanges et expire les fils stockés selon le calendrier [`cleanupPeriodDays`](/docs/fr/settings-reference#cleanupperioddays), tant que Claude Code peut [déterminer en toute sécurité la période de rétention](/docs/fr/claude-directory#cleaned-up-automatically). Pour effacer un fil, cliquez sur l'icône de corbeille dans le panneau. Nécessite Claude Code v2.1.227 ou version ultérieure.128* **Side questions** : tapez `/btw` suivi d'une question pour poser une question sur votre session [sans l'ajouter à la conversation](/docs/fr/interactive-mode#side-questions-with-%2Fbtw). La réponse s'ouvre dans un panneau à côté du chat, où vous pouvez poser des questions de suivi. Le fil persiste lors des rechargements de fenêtre. Claude Code conserve les 20 derniers échanges et expire les fils stockés selon le calendrier [`cleanupPeriodDays`](/docs/fr/settings-reference#cleanupperioddays), tant que Claude Code peut [déterminer en toute sécurité la période de rétention](/docs/fr/claude-directory#cleaned-up-automatically). Pour effacer un fil, cliquez sur l'icône de corbeille dans le panneau. Nécessite Claude Code v2.1.227 ou version ultérieure.

125* **Context indicator** : la boîte de saisie affiche la quantité de fenêtre de contexte de Claude que vous utilisez. Claude se compacte automatiquement si nécessaire, ou vous pouvez exécuter `/compact` manuellement.129* **Context indicator** : la boîte de saisie affiche la quantité de fenêtre de contexte de Claude que vous utilisez. Claude se compacte automatiquement si nécessaire, ou vous pouvez exécuter `/compact` manuellement.

130* **Agent map** : lorsque la conversation inclut les [sous-agents](/docs/fr/sub-agents), un nombre d'agents tel que **2 agents** apparaît en bas de la boîte de saisie. Son point indique si un sous-agent travaille ou attend votre permission.

131 

132 Cliquez sur le nombre d'agents pour ouvrir la carte des agents, qui dessine les sous-agents de la conversation sous forme d'arbre sous l'agent principal, chacun avec son statut, son temps écoulé et son nombre de jetons. Cliquez sur un sous-agent pour voir son invite et ses appels d'outils, ouvrir sa transcription en lecture seule, ou l'arrêter pendant qu'il s'exécute. Nécessite Claude Code v2.1.269 ou version ultérieure.

126* **Extended thinking** : permet à Claude de consacrer plus de temps au raisonnement sur les problèmes complexes. Activez-le via le menu de commande (`/`). Le raisonnement de Claude apparaît dans la conversation sous forme de blocs réduits : cliquez sur un bloc pour le lire, ou appuyez sur `Ctrl+O` pour développer ou réduire chaque bloc de réflexion dans la session. Consultez [Extended thinking](/docs/fr/model-config#extended-thinking) pour plus de détails.133* **Extended thinking** : permet à Claude de consacrer plus de temps au raisonnement sur les problèmes complexes. Activez-le via le menu de commande (`/`). Le raisonnement de Claude apparaît dans la conversation sous forme de blocs réduits : cliquez sur un bloc pour le lire, ou appuyez sur `Ctrl+O` pour développer ou réduire chaque bloc de réflexion dans la session. Consultez [Extended thinking](/docs/fr/model-config#extended-thinking) pour plus de détails.

127* **Multi-line input** : appuyez sur `Shift+Enter` pour ajouter une nouvelle ligne sans envoyer. Cela fonctionne également dans l'entrée en texte libre « Other » des boîtes de dialogue de questions.134* **Multi-line input** : appuyez sur `Shift+Enter` pour ajouter une nouvelle ligne sans envoyer. Cela fonctionne également dans l'entrée en texte libre « Other » des boîtes de dialogue de questions.

128 135 


139 146 

140Pour les grands PDF, vous pouvez demander à Claude de lire des pages spécifiques au lieu du fichier entier : une seule page, une plage comme les pages 1-10, ou une plage ouverte comme la page 3 et au-delà.147Pour les grands PDF, vous pouvez demander à Claude de lire des pages spécifiques au lieu du fichier entier : une seule page, une plage comme les pages 1-10, ou une plage ouverte comme la page 3 et au-delà.

141 148 

142Lorsque vous sélectionnez du texte dans l'éditeur, Claude peut voir votre code en surbrillance automatiquement. Le pied de page de la boîte de saisie affiche le nombre de lignes sélectionnées. Appuyez sur `Option+K` (Mac) / `Alt+K` (Windows/Linux) pour insérer une mention @-mention avec le chemin du fichier et les numéros de ligne (par exemple, `@app.ts#5-10`). Cliquez sur l'indicateur de sélection pour basculer si Claude peut voir votre texte en surbrillance - l'icône en barre oblique signifie que la sélection est masquée à Claude.149Lorsque vous sélectionnez du texte dans l'éditeur, Claude peut voir votre code en surbrillance automatiquement. Le pied de page de la boîte de saisie affiche le nombre de lignes sélectionnées. Appuyez sur `Option+K` (Mac) / `Alt+K` (Windows/Linux) pour insérer une mention @-mention avec le chemin du fichier et les numéros de ligne (par exemple, `@app.ts#5-10`). Cliquez sur le **X** sur l'indicateur de sélection pour le supprimer afin que Claude ne reçoive pas la sélection. L'indicateur réapparaît lorsque vous sélectionnez un autre texte ou basculez vers un fichier différent.

143 150 

144Pour attacher une image, collez-la depuis votre presse-papiers dans la boîte de saisie. Vous pouvez également maintenir `Shift` enfoncé tout en faisant glisser des fichiers dans la boîte de saisie pour les ajouter en tant que pièces jointes. Cliquez sur le X sur n'importe quelle pièce jointe pour la supprimer du contexte.151Pour attacher une image, collez-la depuis votre presse-papiers dans la boîte de saisie. Vous pouvez également maintenir `Shift` enfoncé tout en faisant glisser des fichiers dans la boîte de saisie pour les ajouter en tant que pièces jointes. Cliquez sur le X sur n'importe quelle pièce jointe pour la supprimer du contexte.

145 152 


193 200 

194Exécutez `/usage` pour ouvrir la boîte de dialogue Account & usage. La boîte de dialogue nécessite une connexion claude.ai, elle n'est donc pas proposée sur un [fournisseur tiers](#use-third-party-providers). Elle affiche votre compte connecté, votre plan et les barres d'utilisation pour les limites de votre plan, telles que la session actuelle et la semaine. Chaque barre affiche le temps restant avant la réinitialisation de sa limite.201Exécutez `/usage` pour ouvrir la boîte de dialogue Account & usage. La boîte de dialogue nécessite une connexion claude.ai, elle n'est donc pas proposée sur un [fournisseur tiers](#use-third-party-providers). Elle affiche votre compte connecté, votre plan et les barres d'utilisation pour les limites de votre plan, telles que la session actuelle et la semaine. Chaque barre affiche le temps restant avant la réinitialisation de sa limite.

195 202 

196La boîte de dialogue détaille également ce qui contribue à vos limites de plan. Elle signale les comportements qui représentent 10 % ou plus de l'utilisation récente, tels que les défauts de cache, le contexte long et les sessions lourdes en sous-agents ou hautement parallèles, chacun avec un conseil pour le réduire. Les tableaux d'attribution montrent la quantité d'utilisation provenant de chaque skill, sous-agent, plugin et serveur MCP. Nécessite Claude Code v2.1.174 ou version ultérieure.203La boîte de dialogue détaille également ce qui contribue à vos limites de plan. Elle signale les comportements qui représentent 10 % ou plus de l'utilisation récente, tels que les défauts de cache, le contexte long et les sessions lourdes en sous-agents ou hautement parallèles, chacun avec un conseil pour le réduire. Les tableaux d'attribution montrent la quantité d'utilisation provenant de chaque skill, sous-agent, plugin et serveur MCP.

197 204 

198Utilisez le bouton bascule Day et Week pour basculer entre les 24 dernières heures et les 7 derniers jours. Les chiffres sont approximatifs et calculés à partir des sessions locales sur cette machine, donc l'utilisation d'autres appareils ou de claude.ai n'est pas incluse. Pour plus d'informations sur le suivi et la réduction de l'utilisation, consultez [Track your costs](/docs/fr/costs#track-your-costs).205Utilisez le bouton bascule Day et Week pour basculer entre les 24 dernières heures et les 7 derniers jours. Les chiffres sont approximatifs et calculés à partir des sessions locales sur cette machine, donc l'utilisation d'autres appareils ou de claude.ai n'est pas incluse. Pour plus d'informations sur le suivi et la réduction de l'utilisation, consultez [Track your costs](/docs/fr/costs#track-your-costs).

199 206 


238 245 

239* **Grouper ou dégrouper une session** : cliquez avec le bouton droit sur une session pour créer un groupe à partir de celle-ci, la déplacer dans un groupe existant ou la supprimer de son groupe. Chaque session appartient à un groupe à la fois, donc la déplacer dans un autre groupe la supprime du premier.246* **Grouper ou dégrouper une session** : cliquez avec le bouton droit sur une session pour créer un groupe à partir de celle-ci, la déplacer dans un groupe existant ou la supprimer de son groupe. Chaque session appartient à un groupe à la fois, donc la déplacer dans un autre groupe la supprime du premier.

240* **Déplacer plusieurs sessions à la fois** : `Cmd`-clic (Mac) / `Ctrl`-clic (Windows/Linux) sur chaque session, ou `Maj`-clic pour sélectionner une plage, puis cliquez avec le bouton droit sur la sélection.247* **Déplacer plusieurs sessions à la fois** : `Cmd`-clic (Mac) / `Ctrl`-clic (Windows/Linux) sur chaque session, ou `Maj`-clic pour sélectionner une plage, puis cliquez avec le bouton droit sur la sélection.

241* **Grouper une session à partir de son onglet** : exécutez **Claude Code : Ajouter l'onglet de session au groupe** depuis la Palette de commandes, ou cliquez avec le bouton droit sur l'onglet d'éditeur de la session, puis choisissez ou créez un groupe. Nécessite Claude Code v2.1.257 ou version ultérieure.248* **Grouper une session à partir de son onglet** : exécutez **Claude Code : Ajouter l'onglet de session au groupe** depuis la Palette de commandes, puis choisissez ou créez un groupe. Nécessite Claude Code v2.1.257 ou version ultérieure.

242* **Renommer ou supprimer un groupe** : cliquez avec le bouton droit sur un en-tête de groupe. La suppression d'un groupe supprime uniquement le groupe, et ses sessions reviennent à la liste non groupée.249* **Renommer ou supprimer un groupe** : cliquez avec le bouton droit sur un en-tête de groupe. La suppression d'un groupe supprime uniquement le groupe, et ses sessions reviennent à la liste non groupée.

243 250 

244L'extension enregistre les groupes par dossier d'espace de travail, ils survivent donc aux rechargements de fenêtre et apparaissent dans chaque fenêtre où vous ouvrez le même dossier. Lorsque vous recherchez dans la liste, l'extension affiche les correspondances dans une liste plate unique sur tous les groupes.251L'extension enregistre les groupes par dossier d'espace de travail, ils survivent donc aux rechargements de fenêtre et apparaissent dans chaque fenêtre où vous ouvrez le même dossier. Lorsque vous recherchez dans la liste, l'extension affiche les correspondances dans une liste plate unique sur tous les groupes.


349</Note>356</Note>

350 357 

351| Commande | Raccourci | Description |358| Commande | Raccourci | Description |

352| -------------------------- | -------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |359| -------------------------- | -------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

353| Focus Input | `Cmd+Échap` (Mac) / `Ctrl+Échap` (Windows/Linux) | Basculer le focus entre l'éditeur et Claude |360| Focus Input | `Cmd+Échap` (Mac) / `Ctrl+Échap` (Windows/Linux) | Basculer le focus entre l'éditeur et Claude |

354| Open in Side Bar | - | Ouvrir Claude dans la barre latérale |361| Open in Side Bar | - | Ouvrir Claude dans la barre latérale |

355| Open in Terminal | - | Ouvrir Claude en mode terminal |362| Open in Terminal | - | Ouvrir Claude en mode terminal |


359| Reopen Closed Session | `Cmd+Maj+T` (Mac) / `Ctrl+Maj+T` (Windows/Linux) | Rouvrir l'onglet de session Claude fermé le plus récemment. Bascule vers la réouverture normale d'éditeur fermé de VS Code lorsque le dernier onglet fermé n'était pas une session Claude. Désactiver avec `enableReopenClosedSessionShortcut` |366| Reopen Closed Session | `Cmd+Maj+T` (Mac) / `Ctrl+Maj+T` (Windows/Linux) | Rouvrir l'onglet de session Claude fermé le plus récemment. Bascule vers la réouverture normale d'éditeur fermé de VS Code lorsque le dernier onglet fermé n'était pas une session Claude. Désactiver avec `enableReopenClosedSessionShortcut` |

360| Insert @-Mention Reference | `Option+K` (Mac) / `Alt+K` (Windows/Linux) | Insérer une référence au fichier actuel et à la sélection (nécessite que l'éditeur soit actif) |367| Insert @-Mention Reference | `Option+K` (Mac) / `Alt+K` (Windows/Linux) | Insérer une référence au fichier actuel et à la sélection (nécessite que l'éditeur soit actif) |

361| Toggle Focus view | `Ctrl+Option+F` (Mac) / `Ctrl+Alt+F` (Windows/Linux) | Masquer ou afficher l'activité des outils dans la conversation. Fonctionne lorsqu'un panneau Claude ou une barre latérale est visible. Nécessite Claude Code v2.1.221 ou version ultérieure |368| Toggle Focus view | `Ctrl+Option+F` (Mac) / `Ctrl+Alt+F` (Windows/Linux) | Masquer ou afficher l'activité des outils dans la conversation. Fonctionne lorsqu'un panneau Claude ou une barre latérale est visible. Nécessite Claude Code v2.1.221 ou version ultérieure |

362| Rename Session Tab | - | Renommer la session dans l'onglet Claude actif. La commande apparaît également dans le menu contextuel de l'onglet. Nécessite Claude Code v2.1.257 ou version ultérieure |369| Rename Session Tab | - | Renommer la session dans l'onglet Claude actif. Nécessite Claude Code v2.1.257 ou version ultérieure |

363| Add Session Tab to Group | - | Ajouter la session dans l'onglet Claude actif à un [groupe de sessions](#organize-sessions-into-groups) que vous choisissez ou créez. La commande apparaît également dans le menu contextuel de l'onglet. Nécessite Claude Code v2.1.257 ou version ultérieure |370| Add Session Tab to Group | - | Ajouter la session dans l'onglet Claude actif à un [groupe de sessions](#organize-sessions-into-groups) que vous choisissez ou créez. Nécessite Claude Code v2.1.257 ou version ultérieure |

364| Mark Session as Unread | - | Marquer la session dans l'onglet Claude actif comme non lue dans la liste des sessions. La commande apparaît également dans le menu contextuel de l'onglet. Nécessite Claude Code v2.1.257 ou version ultérieure |371| Mark Session as Unread | - | Marquer la session dans l'onglet Claude actif comme non lue dans la liste des sessions. Nécessite Claude Code v2.1.257 ou version ultérieure |

365| Show Logs | - | Afficher les journaux de débogage de l'extension |372| Show Logs | - | Afficher les journaux de débogage de l'extension |

366| Logout | - | Se déconnecter de votre compte Anthropic |373| Logout | - | Se déconnecter de votre compte Anthropic |

367 374 


424 431 

425L'extension a deux types de paramètres :432L'extension a deux types de paramètres :

426 433 

427* **Paramètres de l'extension** dans VS Code : contrôlent le comportement de l'extension dans VS Code. Ouvrez avec `Cmd+,` (Mac) ou `Ctrl+,` (Windows/Linux), puis allez à Extensions → Claude Code. Vous pouvez également taper `/` et sélectionner **General Config** pour ouvrir les paramètres.434* **Paramètres de l'extension** dans VS Code : contrôlent le comportement de l'extension dans VS Code. Ouvrez avec `Cmd+,` (Mac) ou `Ctrl+,` (Windows/Linux), puis allez à Extensions → Claude Code. Vous pouvez également taper `/` et sélectionner **General config…** pour ouvrir les paramètres.

428* **Paramètres Claude Code** dans `~/.claude/settings.json` : partagés entre l'extension et CLI. Utilisez-le pour les commandes autorisées, les variables d'environnement, les hooks et les serveurs MCP. Sur les plans Pro, Max et Team, c'est aussi l'une des entrées du mode de permission avec lequel les conversations commencent. [Switch permission modes](/docs/fr/permission-modes#switch-permission-modes) énumère l'ordre. Voir [Settings](/docs/fr/settings) pour plus de détails.435* **Paramètres Claude Code** dans `~/.claude/settings.json` : partagés entre l'extension et CLI. Utilisez-le pour les commandes autorisées, les variables d'environnement, les hooks et les serveurs MCP. Sur les plans Pro, Max et Team, c'est aussi l'une des entrées du mode de permission avec lequel les conversations commencent. [Switch permission modes](/docs/fr/permission-modes#switch-permission-modes) énumère l'ordre. Voir [Settings](/docs/fr/settings) pour plus de détails.

429 436 

430<Tip>437<Tip>


6594. **Désactivez les extensions conflictuelles** : Désactivez temporairement les autres extensions IA (Cline, Continue, etc.)6664. **Désactivez les extensions conflictuelles** : Désactivez temporairement les autres extensions IA (Cline, Continue, etc.)

6605. **Vérifiez la confiance de l'espace de travail** : L'extension ne fonctionne pas en mode restreint6675. **Vérifiez la confiance de l'espace de travail** : L'extension ne fonctionne pas en mode restreint

661 668 

662Sinon, si vous avez défini [`preferredLocation`](#extension-settings) sur `sidebar`, ou ouvert Claude avec **Claude Code: Open in Side Bar**, cliquez sur « ✱ Claude Code » dans la **Barre d'état** (coin inférieur droit). Cela fonctionne même sans fichier ouvert. Vous pouvez également utiliser la **Palette de commandes** (`Cmd+Shift+P` / `Ctrl+Shift+P`) et taper « Claude Code ».669Sinon, si vous avez défini [`preferredLocation`](#extension-settings) sur `sidebar`, ou ouvert Claude avec **Claude Code: Open in Side Bar**, cliquez sur « ✻ Claude Code » dans la **Barre d'état** (coin inférieur droit). Cela fonctionne même sans fichier ouvert. Vous pouvez également utiliser la **Palette de commandes** (`Cmd+Shift+P` / `Ctrl+Shift+P`) et taper « Claude Code ».

663 670 

664<h3 id="cmd-esc-does-nothing-on-macos">671<h3 id="cmd-esc-does-nothing-on-macos">

665 Cmd+Esc ne fait rien sur macOS672 Cmd+Esc ne fait rien sur macOS

Details

93 Connecter depuis votre terminal93 Connecter depuis votre terminal

94</h3>94</h3>

95 95 

96Si vous utilisez déjà la CLI GitHub (`gh`), vous pouvez configurer Claude Code sur le web sans ouvrir un navigateur. Cela nécessite la [CLI Claude Code](/docs/fr/quickstart). Sur les plans Team et Enterprise, `/web-setup` n'est disponible qu'après qu'un Propriétaire active [Configuration web rapide](/docs/fr/claude-code-on-the-web#github-authentication-options).96Si vous utilisez déjà la CLI GitHub (`gh`), vous pouvez configurer Claude Code sur le web depuis votre terminal. Cela nécessite la [CLI Claude Code](/docs/fr/quickstart). Sur les plans Team et Enterprise, `/web-setup` n'est disponible qu'après qu'un Propriétaire active [Configuration web rapide](/docs/fr/claude-code-on-the-web#github-authentication-options).

97 97 

98Lorsque vous exécutez `/web-setup`, Claude Code lit le jeton que `gh auth token` affiche, vous demande de confirmer, et envoie le jeton à Anthropic. Anthropic le stocke chiffré avec votre compte claude.ai, et vos sessions cloud l'utilisent pour l'accès GitHub jusqu'à ce que vous [le supprimiez](#remove-the-web-setup-token). Une session cloud peut alors accéder à n'importe quel référentiel que ce jeton peut accéder, sans installation de l'application Claude GitHub.98Lorsque vous exécutez `/web-setup`, Claude Code lit le jeton que `gh auth token` affiche, vous demande de confirmer, et envoie le jeton à Anthropic. Anthropic le stocke chiffré avec votre compte claude.ai, et vos sessions cloud l'utilisent pour l'accès GitHub jusqu'à ce que vous [le supprimiez](#remove-the-web-setup-token). Une session cloud peut alors accéder à n'importe quel référentiel que ce jeton peut accéder, sans installation de l'application Claude GitHub.

99 99 

worktrees.md +1 −1

Details

9Un [git worktree](https://git-scm.com/docs/git-worktree) est un répertoire de travail séparé avec ses propres fichiers et branche, partageant le même historique de dépôt et la même télécommande que votre extraction principale. Exécuter chaque session Claude Code dans son propre worktree signifie que les modifications dans une session ne touchent jamais les fichiers d'une autre, vous pouvez donc avoir Claude construisant une fonctionnalité dans un terminal tout en corrigeant un bug dans un second.9Un [git worktree](https://git-scm.com/docs/git-worktree) est un répertoire de travail séparé avec ses propres fichiers et branche, partageant le même historique de dépôt et la même télécommande que votre extraction principale. Exécuter chaque session Claude Code dans son propre worktree signifie que les modifications dans une session ne touchent jamais les fichiers d'une autre, vous pouvez donc avoir Claude construisant une fonctionnalité dans un terminal tout en corrigeant un bug dans un second.

10 10 

11<Note>11<Note>

12 Les worktrees nécessitent un dépôt git ; pour les autres systèmes de contrôle de version, [configurez des hooks pour remplacer la logique git](#non-git-version-control). Dans l'[application de bureau](/docs/fr/desktop#work-in-parallel-with-sessions), chaque nouvelle session obtient automatiquement son propre worktree.12 Les worktrees nécessitent un dépôt git ; pour les autres systèmes de contrôle de version, [configurez des hooks pour remplacer la logique git](#non-git-version-control). Dans l'[application de bureau](/docs/fr/desktop#work-in-parallel-with-sessions), sélectionnez l'option **worktree** quand vous démarrez une session pour lui donner son propre worktree.

13</Note>13</Note>

14 14 

15Les worktrees sont l'une des plusieurs façons d'exécuter Claude en parallèle. Ils isolent les modifications de fichiers. Les [subagents](/docs/fr/sub-agents) divisent le travail à l'intérieur d'une session, et la [messagerie entre sessions](/docs/fr/cross-session-messaging) permet à Claude de transmettre les résultats entre les sessions dans vos worktrees. Voir [Exécuter les agents en parallèle](/docs/fr/agents) pour comparer les approches, ou passez directement à [Isoler les subagents avec worktrees](#isolate-subagents-with-worktrees) pour utiliser les worktrees et les subagents ensemble.15Les worktrees sont l'une des plusieurs façons d'exécuter Claude en parallèle. Ils isolent les modifications de fichiers. Les [subagents](/docs/fr/sub-agents) divisent le travail à l'intérieur d'une session, et la [messagerie entre sessions](/docs/fr/cross-session-messaging) permet à Claude de transmettre les résultats entre les sessions dans vos worktrees. Voir [Exécuter les agents en parallèle](/docs/fr/agents) pour comparer les approches, ou passez directement à [Isoler les subagents avec worktrees](#isolate-subagents-with-worktrees) pour utiliser les worktrees et les subagents ensemble.