SpyBara
Go Premium

Documentation 2026-10-08 22:58 UTC to 2026-10-09 22:01 UTC

64 files changed +1,522 −667. View all changes and history on the product overview
2026
Fri 9 23:02 Thu 8 22:58 Wed 7 23:59 Tue 6 23:59 Mon 5 23:58 Sun 4 23:58 Sat 3 23:57 Fri 2 22:59 Thu 1 23:59
Details

216| Option | Ce qu'elle contrôle | Valeur par défaut |216| Option | Ce qu'elle contrôle | Valeur par défaut |

217| :- | :- | :- |217| :- | :- | :- |

218| Tours max (`max_turns` / `maxTurns`) | Aller-retours maximum d'utilisation d'outils | Pas de limite |218| Tours max (`max_turns` / `maxTurns`) | Aller-retours maximum d'utilisation d'outils | Pas de limite |

219| Budget max (`max_budget_usd` / `maxBudgetUsd`) | Coût maximum avant arrêt | Pas de limite |219| Budget max (`max_budget_usd` / `maxBudgetUsd`) | Dépense estimée à partir de laquelle la boucle s'arrête | Pas de limite |

220 220 

221Lorsque l'une de ces limites est atteinte, le SDK retourne un `ResultMessage` avec un sous-type d'erreur correspondant (`error_max_turns` ou `error_max_budget_usd`). Voir [Gérer le résultat](#handle-the-result) pour savoir comment vérifier ces sous-types et [`ClaudeAgentOptions`](/docs/fr/agent-sdk/python#claudeagentoptions) / [`Options`](/docs/fr/agent-sdk/typescript#options) pour la syntaxe.221Lorsque l'une de ces limites est atteinte, le SDK retourne un `ResultMessage` avec un sous-type d'erreur correspondant (`error_max_turns` ou `error_max_budget_usd`). Voir [Gérer le résultat](#handle-the-result) pour savoir comment vérifier ces sous-types et [`ClaudeAgentOptions`](/docs/fr/agent-sdk/python#claudeagentoptions) / [`Options`](/docs/fr/agent-sdk/typescript#options) pour la syntaxe.

222 222 


224 224 

225Avec [l'entrée en streaming](/docs/fr/agent-sdk/streaming-vs-single-mode), un message qui est toujours en attente lorsqu'un tour se termine à la limite de tours max reste en attente. Claude Code ne l'ajoute pas à l'appel du modèle final de ce tour. Il démarre un nouveau tour pour le message, et le compte de tours max recommence pour ce tour. Le total budgétaire continue de s'accumuler entre les messages, et une fois que les dépenses atteignent `maxBudgetUsd`, les messages ultérieurs dans la même conversation se terminent avec le résultat `error_max_budget_usd`. Un [`/clear`](/docs/fr/agent-sdk/cost-tracking) recommence le budget.225Avec [l'entrée en streaming](/docs/fr/agent-sdk/streaming-vs-single-mode), un message qui est toujours en attente lorsqu'un tour se termine à la limite de tours max reste en attente. Claude Code ne l'ajoute pas à l'appel du modèle final de ce tour. Il démarre un nouveau tour pour le message, et le compte de tours max recommence pour ce tour. Le total budgétaire continue de s'accumuler entre les messages, et une fois que les dépenses atteignent `maxBudgetUsd`, les messages ultérieurs dans la même conversation se terminent avec le résultat `error_max_budget_usd`. Un [`/clear`](/docs/fr/agent-sdk/cost-tracking) recommence le budget.

226 226 

227<h4 id="budget-headroom">

228 Marge budgétaire

229</h4>

230 

231Claude Code compare les dépenses au plafond `max_budget_usd` / `maxBudgetUsd` après l'arrivée des réponses du modèle, car le coût de chaque réponse provient de l'utilisation de tokens que l'API renvoie avec elle. La réponse qui atteint le plafond se termine quand même et compte dans [`total_cost_usd`](/docs/fr/agent-sdk/cost-tracking#get-the-total-cost-of-a-query). Les dépenses peuvent donc dépasser le plafond jusqu'à concurrence du coût de cette réponse, plus tout ce que les sous-agents encore en cours d'exécution à ce moment-là dépensent avant de s'arrêter. Prévoyez une marge en conséquence lorsque vous définissez le plafond.

232 

227<h3 id="effort-level">233<h3 id="effort-level">

228 Niveau d'effort234 Niveau d'effort

229</h3>235</h3>

Details

78 78 

79Vous pouvez configurer les serveurs MCP dans le code lors de l'appel de `query()`, ou dans un fichier `.mcp.json` chargé via [`settingSources`](#from-a-config-file).79Vous pouvez configurer les serveurs MCP dans le code lors de l'appel de `query()`, ou dans un fichier `.mcp.json` chargé via [`settingSources`](#from-a-config-file).

80 80 

81<h3 id="in-code">81<span id="in-code" />

82 Dans le code82 

83<h3 id="add-a-server-in-code">

84 Ajouter un serveur dans le code

83</h3>85</h3>

84 86 

85Transmettez les serveurs MCP directement dans l'option `mcpServers`. Cet exemple démarre un serveur MCP de système de fichiers local pour `/Users/me/projects`. Remplacez ce chemin par un répertoire sur votre machine :87Transmettez les serveurs MCP directement dans l'option `mcpServers`. Cet exemple démarre un serveur MCP de système de fichiers local pour `/Users/me/projects`. Remplacez ce chemin par un répertoire sur votre machine :


135 ```137 ```

136</CodeGroup>138</CodeGroup>

137 139 

138<h3 id="from-a-config-file">140<span id="from-a-config-file" />

139 À partir d'un fichier de configuration141 

142<h3 id="add-a-server-from-a-config-file">

143 Ajouter un serveur à partir d'un fichier de configuration

140</h3>144</h3>

141 145 

142Créez un fichier `.mcp.json` à la racine de votre projet. Le fichier est détecté 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 `settingSources` explicitement, incluez `"project"` pour que ce fichier soit chargé. Remplacez `/Users/me/projects` par un répertoire sur votre machine :146Créez un fichier `.mcp.json` à la racine de votre projet. Le fichier est détecté 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 `settingSources` explicitement, incluez `"project"` pour que ce fichier soit chargé. Remplacez `/Users/me/projects` par un répertoire sur votre machine :

Details

28 Étapes de migration28 Étapes de migration

29</h2>29</h2>

30 30 

31<h3 id="for-typescript/javascript-projects">31<span id="for-typescript/javascript-projects" />

32 Pour les projets TypeScript/JavaScript32 

33<h3 id="migrate-a-typescript-or-javascript-project">

34 Migrer un projet TypeScript ou JavaScript

33</h3>35</h3>

34 36 

35**1. Désinstallez l'ancien package :**37**1. Désinstallez l'ancien package :**


64 66 

65Effectuez les modifications de code nécessaires pour terminer la migration.67Effectuez les modifications de code nécessaires pour terminer la migration.

66 68 

67<h3 id="for-python-projects">69<span id="for-python-projects" />

68 Pour les projets Python70 

71<h3 id="migrate-a-python-project">

72 Migrer un projet Python

69</h3>73</h3>

70 74 

71**1. Désinstallez l'ancien package :**75**1. Désinstallez l'ancien package :**

Details

146| `auto` | Approbations classées par le modèle | Un classificateur de modèle examine les actions telles que les commandes shell et les demandes réseau, en approuvant ou en bloquant chacune qu'il examine. Voir [Mode Auto](/docs/fr/permission-modes#eliminate-prompts-with-auto-mode) pour la disponibilité et l'ordre de décision |146| `auto` | Approbations classées par le modèle | Un classificateur de modèle examine les actions telles que les commandes shell et les demandes réseau, en approuvant ou en bloquant chacune qu'il examine. Voir [Mode Auto](/docs/fr/permission-modes#eliminate-prompts-with-auto-mode) pour la disponibilité et l'ordre de décision |

147 147 

148<Warning>148<Warning>

149 **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.149 **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"`, et n'applique une valeur `"auto"` que lorsque le [mode auto est disponible](/docs/fr/permission-modes#eliminate-prompts-with-auto-mode) pour ce sous-agent. 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.

150 150 

151 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.151 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.

152</Warning>152</Warning>

Details

928| `resume` | `str \| None` | `None` | ID de session à reprendre |928| `resume` | `str \| None` | `None` | ID de session à reprendre |

929| `session_id` | `str \| None` | `None` | Utilisez un ID de session spécifique au lieu d'un généré automatiquement. Doit être un UUID valide. Ne peut pas être combiné avec `continue_conversation` ou `resume` sauf si `fork_session` est également défini |929| `session_id` | `str \| None` | `None` | Utilisez un ID de session spécifique au lieu d'un généré automatiquement. Doit être un UUID valide. Ne peut pas être combiné avec `continue_conversation` ou `resume` sauf si `fork_session` est également défini |

930| `max_turns` | `int \| None` | `None` | Nombre maximum de tours d'agent (allers-retours d'utilisation d'outils) |930| `max_turns` | `int \| None` | `None` | Nombre maximum de tours d'agent (allers-retours d'utilisation d'outils) |

931| `max_budget_usd` | `float \| None` | `None` | Arrêter la requête quand l'estimation du coût côté client atteint cette valeur en USD. Compte uniquement les dépenses de l'appel lui-même ; les totaux restaurés à partir d'une session reprise ne comptent pas. Pour les avertissements de précision et le comportement de réinitialisation, voir [Suivre le coût et l'utilisation](/docs/fr/agent-sdk/cost-tracking) |931| `max_budget_usd` | `float \| None` | `None` | Arrêter la requête quand l'estimation du coût côté client atteint cette valeur en USD. L'estimation peut dépasser cette valeur, donc [prévoyez une marge](/docs/fr/agent-sdk/agent-loop#budget-headroom). Compte uniquement les dépenses de l'appel lui-même ; les totaux restaurés à partir d'une session reprise ne comptent pas. Pour les avertissements de précision et le comportement de réinitialisation, voir [Suivre le coût et l'utilisation](/docs/fr/agent-sdk/cost-tracking) |

932| `disallowed_tools` | `list[str]` | `[]` | 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) |932| `disallowed_tools` | `list[str]` | `[]` | 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) |

933| `enable_file_checkpointing` | `bool` | `False` | Activer le suivi des modifications de fichiers pour le rembobinage. Voir [Checkpointing de fichiers](/docs/fr/agent-sdk/file-checkpointing) |933| `enable_file_checkpointing` | `bool` | `False` | Activer le suivi des modifications de fichiers pour le rembobinage. Voir [Checkpointing de fichiers](/docs/fr/agent-sdk/file-checkpointing) |

934| `model` | `str \| None` | `None` | Alias de modèle Claude ou nom de modèle complet. Voir [valeurs acceptées et IDs spécifiques au fournisseur](/docs/fr/model-config#available-models) |934| `model` | `str \| None` | `None` | Alias de modèle Claude ou nom de modèle complet. Voir [valeurs acceptées et IDs spécifiques au fournisseur](/docs/fr/model-config#available-models) |


987```987```

988 988 

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

990* `CLAUDE_CODE_MAX_RETRIES` : nombre maximum de nouvelles tentatives d'API. Par défaut `10`, plafonné à `15`. Chaque tentative obtient sa propre fenêtre `API_TIMEOUT_MS`, donc le pire cas de temps mural est à peu près `API_TIMEOUT_MS × (CLAUDE_CODE_MAX_RETRIES + 1)` plus le backoff. Pour les exécutions sans surveillance qui doivent attendre la fin de pannes plus longues, définissez [`CLAUDE_CODE_RETRY_WATCHDOG=1`](/docs/fr/errors#tune-retry-behavior) : il réessaie les erreurs de capacité transitoires indéfiniment et, sur Claude Code v2.1.199 ou ultérieur, augmente la valeur par défaut pour les autres erreurs transitoires à `300` et supprime le plafond sur cette variable.990* `CLAUDE_CODE_MAX_RETRIES` : nombre maximum de nouvelles tentatives d'API. Par défaut `10`, plafonné à `15`. Chaque tentative obtient sa propre fenêtre `API_TIMEOUT_MS`.

991 

992 Pour les exécutions sans surveillance qui doivent attendre la fin de pannes plus longues, définissez [`CLAUDE_CODE_RETRY_WATCHDOG=1`](/docs/fr/errors#tune-retry-behavior) : il réessaie les erreurs de capacité transitoires indéfiniment et, sur Claude Code v2.1.199 ou ultérieur, augmente la valeur par défaut pour les autres erreurs transitoires à `300` et supprime le plafond sur cette variable.

991* `CLAUDE_ASYNC_AGENT_STALL_TIMEOUT_MS` : chien de garde de blocage pour les sous-agents. Pendant que le chien de garde de flux est activé, la valeur par défaut est `CLAUDE_STREAM_IDLE_TIMEOUT_MS` plus 5 minutes, ce qui donne `600000` sauf si vous augmentez cette variable. Avec le chien de garde de flux désactivé, la valeur par défaut est `600000`. Avant v2.1.257, la valeur par défaut était toujours `600000`.993* `CLAUDE_ASYNC_AGENT_STALL_TIMEOUT_MS` : chien de garde de blocage pour les sous-agents. Pendant que le chien de garde de flux est activé, la valeur par défaut est `CLAUDE_STREAM_IDLE_TIMEOUT_MS` plus 5 minutes, ce qui donne `600000` sauf si vous augmentez cette variable. Avec le chien de garde de flux désactivé, la valeur par défaut est `600000`. Avant v2.1.257, la valeur par défaut était toujours `600000`.

992 994 

993 Le minuteur se réinitialise à chaque événement de flux. En cas de blocage, Claude Code abandonne le sous-agent et signale le blocage au parent. Pour un sous-agent en arrière-plan, il marque également la tâche comme échouée et joint tout résultat partiel.995 Le minuteur se réinitialise à chaque événement de flux. En cas de blocage, Claude Code abandonne le sous-agent et signale le blocage au parent. Pour un sous-agent en arrière-plan, il marque également la tâche comme échouée et joint tout résultat partiel.


3327{3329{

3328 "url": str, # The URL to fetch content from3330 "url": str, # The URL to fetch content from

3329 "prompt": str, # The prompt to run on the fetched content3331 "prompt": str, # The prompt to run on the fetched content

3332 "offset": int | None, # Number of characters to skip from the start of the page. Requires Python Agent SDK 0.2.164 or later

3330}3333}

3331```3334```

3332 3335 

Details

323 Détecter l'invocation d'un sous-agent323 Détecter l'invocation d'un sous-agent

324</h2>324</h2>

325 325 

326Claude invoque les sous-agents via l'outil Agent. Pour détecter quand un sous-agent est invoqué, recherchez les blocs `tool_use` où `name` est `"Agent"`. Les messages provenant du contexte d'un sous-agent incluent un champ `parent_tool_use_id`.326Claude invoque les sous-agents via l'outil Agent. Pour détecter quand un sous-agent est invoqué, recherchez les blocs `tool_use` où `name` est `"Agent"`.

327 

328Les messages provenant du contexte d'un sous-agent incluent un champ `parent_tool_use_id`. En TypeScript, chaque message assistant et utilisateur produit par un sous-agent comporte également [`agent_id`](/docs/fr/agent-sdk/typescript#sdkassistantmessage) : le `task_id` des [événements de tâche](/docs/fr/agent-sdk/typescript#sdktaskstartedmessage) de ce sous-agent. `agent_id` nécessite le SDK Agent TypeScript v0.3.292 ou une version ultérieure.

327 329 

328<Note>330<Note>

329 L'outil apparaît comme `"Agent"` dans les blocs `tool_use` mais comme `"Task"` dans la liste des outils `system:init`. Avant Claude Code v2.1.63, les blocs `tool_use` le nommaient également `"Task"`. Pour que la détection fonctionne sur les versions du SDK, faites correspondre les deux valeurs dans `block.name`.331 L'outil apparaît comme `"Agent"` dans les blocs `tool_use` mais comme `"Task"` dans la liste des outils `system:init`. Avant Claude Code v2.1.63, les blocs `tool_use` le nommaient également `"Task"`. Pour que la détection fonctionne sur les versions du SDK, faites correspondre les deux valeurs dans `block.name`.


331 333 

332La structure du message diffère entre les SDK. En Python, vous accédez directement aux blocs de contenu via `message.content`. En TypeScript, `SDKAssistantMessage` enveloppe le message de l'API Claude, vous accédez donc au contenu via `message.message.content`.334La structure du message diffère entre les SDK. En Python, vous accédez directement aux blocs de contenu via `message.content`. En TypeScript, `SDKAssistantMessage` enveloppe le message de l'API Claude, vous accédez donc au contenu via `message.message.content`.

333 335 

334Cet exemple itère à travers les messages en flux, enregistrant quand un sous-agent est invoqué et quand les messages suivants proviennent du contexte d'exécution de ce sous-agent.336Cet exemple itère à travers les messages en flux, journalisant quand un sous-agent est invoqué et quand les messages suivants proviennent du contexte d'exécution de ce sous-agent. La version TypeScript journalise également l'`agent_id` de chaque message de sous-agent qui en comporte un.

335 337 

336<CodeGroup>338<CodeGroup>

337 ```python Python theme={null}339 ```python Python theme={null}


403 // Check if this message is from within a subagent's context405 // Check if this message is from within a subagent's context

404 if (msg.parent_tool_use_id) {406 if (msg.parent_tool_use_id) {

405 console.log(" (running inside subagent)");407 console.log(" (running inside subagent)");

408 // On assistant and user messages, agent_id matches the task_id

409 // on that subagent's task_started and other task events

410 if (msg.agent_id) {

411 console.log(` agent_id: ${msg.agent_id}`);

412 }

406 }413 }

407 414 

408 if ("result" in message) {415 if ("result" in message) {

Details

569| `includePartialMessages` | `boolean` | `false` | Inclure les événements de messages partiels |569| `includePartialMessages` | `boolean` | `false` | Inclure les événements de messages partiels |

570| `loadTimeoutMs` | `number` | `60000` | *Alpha.* Délai d'expiration en millisecondes pour chaque appel à `sessionStore.load()` et `sessionStore.listSubkeys()` lors de la matérialisation de la reprise. Si l'adaptateur ne se résout pas dans ce délai, la requête échoue au lieu de rester bloquée. Ignoré lorsque `sessionStore` n'est pas défini |570| `loadTimeoutMs` | `number` | `60000` | *Alpha.* Délai d'expiration en millisecondes pour chaque appel à `sessionStore.load()` et `sessionStore.listSubkeys()` lors de la matérialisation de la reprise. Si l'adaptateur ne se résout pas dans ce délai, la requête échoue au lieu de rester bloquée. Ignoré lorsque `sessionStore` n'est pas défini |

571| `managedSettings` | `Settings` | `undefined` | Paramètres de niveau stratégie que votre processus hôte fournit à la session lancée. Sur les machines disposant de paramètres gérés déployés par un administrateur, Claude Code les ignore sauf si la source gérée de priorité la plus élevée de l'administrateur définit `parentSettingsBehavior: 'merge'`, et ne les fusionne jamais lorsqu'un [`policyHelper`](/docs/fr/settings-reference#policyhelper) fournit des paramètres gérés. Les valeurs fusionnées passent par un filtre uniquement restrictif ; [Restreindre les paramètres parents](/docs/fr/claude-apps-gateway#restrict-parent-settings) décrit ce que le filtre admet et les verrous `allowManaged*Only`. Pour un hôte qui définit [`CLAUDE_CODE_PROVIDER_MANAGED_BY_HOST`](/docs/fr/env-vars), trois clés sont lues directement depuis ce payload à la place : sa [configuration de modèle](/docs/fr/model-config#restrict-model-selection) sur Claude Code v2.1.222 ou ultérieure, [`modelPricing`](/docs/fr/settings-reference#modelpricing) lorsqu'aucune source gérée ne le définit sur v2.1.246 ou ultérieure, et son entrée env `ENABLE_TOOL_SEARCH` sur v2.1.247 ou ultérieure |571| `managedSettings` | `Settings` | `undefined` | Paramètres de niveau stratégie que votre processus hôte fournit à la session lancée. Sur les machines disposant de paramètres gérés déployés par un administrateur, Claude Code les ignore sauf si la source gérée de priorité la plus élevée de l'administrateur définit `parentSettingsBehavior: 'merge'`, et ne les fusionne jamais lorsqu'un [`policyHelper`](/docs/fr/settings-reference#policyhelper) fournit des paramètres gérés. Les valeurs fusionnées passent par un filtre uniquement restrictif ; [Restreindre les paramètres parents](/docs/fr/claude-apps-gateway#restrict-parent-settings) décrit ce que le filtre admet et les verrous `allowManaged*Only`. Pour un hôte qui définit [`CLAUDE_CODE_PROVIDER_MANAGED_BY_HOST`](/docs/fr/env-vars), trois clés sont lues directement depuis ce payload à la place : sa [configuration de modèle](/docs/fr/model-config#restrict-model-selection) sur Claude Code v2.1.222 ou ultérieure, [`modelPricing`](/docs/fr/settings-reference#modelpricing) lorsqu'aucune source gérée ne le définit sur v2.1.246 ou ultérieure, et son entrée env `ENABLE_TOOL_SEARCH` sur v2.1.247 ou ultérieure |

572| `maxBudgetUsd` | `number` | `undefined` | Arrêter la requête lorsque l'estimation des coûts côté client atteint cette valeur en USD. Ne compte que les dépenses propres à l'appel ; les totaux restaurés depuis une session reprise ne sont pas comptés. Pour les réserves sur la précision et le comportement de réinitialisation, consultez [Suivre les coûts et l'utilisation](/docs/fr/agent-sdk/cost-tracking) |572| `maxBudgetUsd` | `number` | `undefined` | Arrêter la requête lorsque l'estimation des coûts côté client atteint cette valeur en USD. L'estimation peut dépasser cette valeur, donc [prévoyez une marge](/docs/fr/agent-sdk/agent-loop#budget-headroom). Ne compte que les dépenses propres à l'appel ; les totaux restaurés depuis une session reprise ne comptent pas. Pour les réserves sur la précision et le comportement de réinitialisation, consultez [Suivre les coûts et l'utilisation](/docs/fr/agent-sdk/cost-tracking) |

573| `maxThinkingTokens` | `number` | `undefined` | *Obsolète :* Utilisez `thinking` à la place. Nombre maximal de tokens pour le processus de réflexion |573| `maxThinkingTokens` | `number` | `undefined` | *Obsolète :* Utilisez `thinking` à la place. Nombre maximal de tokens pour le processus de réflexion |

574| `maxTurns` | `number` | `undefined` | Nombre maximal de tours agentiques (allers-retours d'utilisation d'outils) |574| `maxTurns` | `number` | `undefined` | Nombre maximal de tours agentiques (allers-retours d'utilisation d'outils) |

575| `mcpServers` | `Record<string, [`McpServerConfig`](#mcpserverconfig)>` | `{}` | Configurations des serveurs MCP |575| `mcpServers` | `Record<string, [`McpServerConfig`](#mcpserverconfig)>` | `{}` | Configurations des serveurs MCP |


631```631```

632 632 

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

634* `CLAUDE_CODE_MAX_RETRIES` : nombre maximal de nouvelles tentatives d'API. Par défaut `10`, plafonné à `15`. Chaque nouvelle tentative dispose de sa propre fenêtre `API_TIMEOUT_MS`, de sorte que la durée totale dans le pire des cas est d'environ `API_TIMEOUT_MS × (CLAUDE_CODE_MAX_RETRIES + 1)` plus le backoff. Pour les exécutions sans surveillance qui doivent patienter pendant des pannes plus longues, définissez [`CLAUDE_CODE_RETRY_WATCHDOG=1`](/docs/fr/errors#tune-retry-behavior) : il réessaie indéfiniment en cas d'erreurs de capacité transitoires et, sur Claude Code v2.1.199 ou ultérieure, porte la valeur par défaut pour les autres erreurs transitoires à `300` et supprime le plafond de cette variable.634* `CLAUDE_CODE_MAX_RETRIES` : nombre maximal de nouvelles tentatives d'API. Valeur par défaut `10`, plafonnée à `15`. Chaque nouvelle tentative dispose de sa propre fenêtre `API_TIMEOUT_MS`.

635 

636 Pour les exécutions sans surveillance qui doivent attendre la fin de pannes plus longues, définissez [`CLAUDE_CODE_RETRY_WATCHDOG=1`](/docs/fr/errors#tune-retry-behavior) : cette variable réessaie indéfiniment en cas d'erreurs de capacité transitoires et, sur Claude Code v2.1.199 ou ultérieur, porte la valeur par défaut à `300` pour les autres erreurs transitoires et supprime le plafond de cette variable.

635* `CLAUDE_ASYNC_AGENT_STALL_TIMEOUT_MS` : watchdog de blocage pour les sous-agents. Tant que le watchdog de flux est actif, la valeur par défaut est `CLAUDE_STREAM_IDLE_TIMEOUT_MS` plus 5 minutes, soit `600000` sauf si vous augmentez cette variable. Lorsque le watchdog de flux est désactivé, la valeur par défaut est `600000`. Avant v2.1.257, la valeur par défaut était toujours `600000`.637* `CLAUDE_ASYNC_AGENT_STALL_TIMEOUT_MS` : watchdog de blocage pour les sous-agents. Tant que le watchdog de flux est actif, la valeur par défaut est `CLAUDE_STREAM_IDLE_TIMEOUT_MS` plus 5 minutes, soit `600000` sauf si vous augmentez cette variable. Lorsque le watchdog de flux est désactivé, la valeur par défaut est `600000`. Avant v2.1.257, la valeur par défaut était toujours `600000`.

636 638 

637 Le minuteur est réinitialisé à chaque événement de flux. En cas de blocage, Claude Code interrompt le sous-agent et signale le blocage au parent. Pour un sous-agent en arrière-plan, il marque également la tâche comme échouée et joint tout résultat partiel.639 Le minuteur est réinitialisé à chaque événement de flux. En cas de blocage, Claude Code interrompt le sous-agent et signale le blocage au parent. Pour un sous-agent en arrière-plan, il marque également la tâche comme échouée et joint tout résultat partiel.


1561 parent_tool_use_id: string | null;1563 parent_tool_use_id: string | null;

1562 error?: SDKAssistantMessageError;1564 error?: SDKAssistantMessageError;

1563 aborted?: true;1565 aborted?: true;

1566 agent_id?: string;

1564 timestamp?: string;1567 timestamp?: string;

1565 context_usage?: SDKContextUsage;1568 context_usage?: SDKContextUsage;

1569 usage_report?: SDKUsageReport;

1566 user_message_uuid?: string;1570 user_message_uuid?: string;

1567 user_message_uuids?: string[];1571 user_message_uuids?: string[];

1568 resume_reason?: string;1572 resume_reason?: string;


1580 1584 

1581`aborted` est `true` quand une interruption ou un abandon a tronqué le message de l'assistant avant la fin du flux : le message n'a pas de `stop_reason` et le contenu peut se terminer au milieu d'un mot. Le champ est absent sur les messages normalement complétés. Il nécessite Agent SDK v0.3.214 ou ultérieur.1585`aborted` est `true` quand une interruption ou un abandon a tronqué le message de l'assistant avant la fin du flux : le message n'a pas de `stop_reason` et le contenu peut se terminer au milieu d'un mot. Le champ est absent sur les messages normalement complétés. Il nécessite Agent SDK v0.3.214 ou ultérieur.

1582 1586 

1587`agent_id` identifie le sous-agent qui a produit le message et est absent des messages du fil principal. Sa valeur est égale au `task_id` présent dans l'événement [`task_started`](#sdktaskstartedmessage) et les autres événements de tâche de ce sous-agent, et reste inchangée lorsque le sous-agent est [repris](/docs/fr/agent-sdk/subagents#resume-subagents). Le champ nécessite l'Agent SDK v0.3.292 ou ultérieur.

1588 

1589Associez les messages d'un sous-agent à ses événements de tâche via `agent_id` plutôt qu'en appariant le `parent_tool_use_id` d'un message au `tool_use_id` d'un événement de tâche. Lorsqu'un appel d'outil reprend le sous-agent, les événements de tâche portent le `tool_use_id` de cet appel, tandis que les messages conservent le `parent_tool_use_id` de l'appel d'outil qui a démarré le sous-agent à l'origine, de sorte que les deux ne correspondent plus.

1590 

1583Claude Code définit `user_message_uuid` et `user_message_uuids` sur le premier message de l'assistant du tour, selon les conditions dans [`user_message_uuid`](#user_message_uuid). Quand Claude Code réexécute un tour qu'un redémarrage a interrompu, les messages d'assistant de la réexécution qui portent ces champs portent aussi [`resume_reason`](#resume_reason).1591Claude Code définit `user_message_uuid` et `user_message_uuids` sur le premier message de l'assistant du tour, selon les conditions dans [`user_message_uuid`](#user_message_uuid). Quand Claude Code réexécute un tour qu'un redémarrage a interrompu, les messages d'assistant de la réexécution qui portent ces champs portent aussi [`resume_reason`](#resume_reason).

1584 1592 

1585`timestamp` est l'heure ISO 8601 à laquelle le contenu du message a fini de générer sur le processus qui l'a produit. La valeur provient de l'horloge de cette machine, donc utilisez-la uniquement pour l'affichage et ne triez pas les messages par elle. Un tour API peut produire plusieurs messages d'assistant qui partagent un `message.id`, chacun avec son propre `timestamp`. Quand le champ est absent, revenez à l'heure à laquelle vous avez reçu le message.1593`timestamp` est l'heure ISO 8601 à laquelle le contenu du message a fini de générer sur le processus qui l'a produit. La valeur provient de l'horloge de cette machine, donc utilisez-la uniquement pour l'affichage et ne triez pas les messages par elle. Un tour API peut produire plusieurs messages d'assistant qui partagent un `message.id`, chacun avec son propre `timestamp`. Quand le champ est absent, revenez à l'heure à laquelle vous avez reçu le message.

1586 1594 

1587`context_usage` est une copie structurée du rapport `/context`, typée comme [`SDKContextUsage`](#sdkcontextusage), et nécessite Agent SDK v0.3.232 ou ultérieur. Quand vous envoyez `/context` comme prompt, Claude Code livre le rapport comme un message d'assistant dont `message.content` contient le tableau markdown, et attache `context_usage` à ce même message. Claude Code ne définit le champ sur aucun autre message d'assistant, et les versions antérieures livrent le tableau `/context` sans lui, donc lisez la ventilation du champ quand il est présent et revenez au texte markdown quand il ne l'est pas.1595`context_usage` est une copie structurée du rapport `/context`, typée comme [`SDKContextUsage`](#sdkcontextusage), et nécessite Agent SDK v0.3.232 ou ultérieur. Quand vous envoyez `/context` comme prompt, Claude Code livre le rapport comme un message d'assistant dont `message.content` contient le tableau markdown, et attache `context_usage` à ce même message. Claude Code ne définit le champ sur aucun autre message d'assistant, et les versions antérieures livrent le tableau `/context` sans lui, donc lisez la ventilation du champ quand il est présent et revenez au texte markdown quand il ne l'est pas.

1588 1596 

1597`usage_report` est une copie structurée du rapport `/usage`, typée [`SDKUsageReport`](#sdkusagereport), et nécessite l'Agent SDK v0.3.273 ou ultérieure. Lorsque vous envoyez `/usage` comme prompt, Claude Code livre le rapport sous la forme d'un message de l'assistant dont le `message.content` contient le texte. Il n'attache `usage_report` à ce même message que lorsque la session remplit toutes ces conditions :

1598 

1599* La session s'authentifie avec des identifiants claude.ai

1600* Les identifiants indiquent un type de forfait connu ou portent le scope `user:profile`

1601* Le compte n'est pas en facturation à l'usage

1602 

1603Un jeton `claude setup-token` transmis via `CLAUDE_CODE_OAUTH_TOKEN` ne remplit pas les conditions par défaut, car il ne porte que le scope `user:inference`. Les autres sessions, comme les sessions avec clé API, livrent le texte sans le champ, tout comme les versions antérieures. Lisez le rapport depuis le champ lorsqu'il est présent et rabattez-vous sur le texte dans le cas contraire.

1604 

1589<h3 id="sdkusermessage">1605<h3 id="sdkusermessage">

1590 `SDKUserMessage`1606 `SDKUserMessage`

1591</h3>1607</h3>


1597 type: "user";1613 type: "user";

1598 uuid?: UUID;1614 uuid?: UUID;

1599 session_id?: string;1615 session_id?: string;

1616 agent_id?: string;

1600 message: MessageParam; // From Anthropic SDK1617 message: MessageParam; // From Anthropic SDK

1601 pasted_content?: MessageParam["content"][];1618 pasted_content?: MessageParam["content"][];

1602 parent_tool_use_id: string | null;1619 parent_tool_use_id: string | null;


1636};1653};

1637```1654```

1638 1655 

1656Un message utilisateur produit par un sous-agent, comme le `tool_result` de l'un de ses propres appels d'outils, porte `agent_id`. Consultez [`SDKAssistantMessage`](#sdkassistantmessage), qui définit ce champ et la version requise.

1657 

1639Sur un message qui porte un bloc `tool_result`, `tool_use_result` est l'objet de sortie structurée de l'outil plutôt que le texte envoyé au modèle. Sa forme dépend de l'outil nommé par le bloc `tool_use` correspondant : le champ est donc typé `unknown` ; les formes intégrées sont répertoriées sous [Types de sortie des outils](#tool-output-types). Ces résultats nécessitent un traitement qui va au-delà de leur forme répertoriée :1658Sur un message qui porte un bloc `tool_result`, `tool_use_result` est l'objet de sortie structurée de l'outil plutôt que le texte envoyé au modèle. Sa forme dépend de l'outil nommé par le bloc `tool_use` correspondant : le champ est donc typé `unknown` ; les formes intégrées sont répertoriées sous [Types de sortie des outils](#tool-output-types). Ces résultats nécessitent un traitement qui va au-delà de leur forme répertoriée :

1640 1659 

1641* L'outil `Agent` : `tool_use_result` est [`AgentOutput`](#agent-2). Effectuez le rendu à partir de celui-ci plutôt que d'analyser le texte du `tool_result`. Le `content` d'un résultat `completed` contient le rapport du sous-agent ou, pour un sous-agent dont le rapport passe par un appel d'outil `SubagentHandback`, une courte note sur cette remise à la place du rapport. En [mode auto](/docs/fr/permission-modes#eliminate-prompts-with-auto-mode) sur Claude Code v2.1.271 ou version ultérieure, tout sous-agent qui produit un résultat `completed` fait son rapport de cette façon, sauf s'il s'agit d'un [fork](/docs/fr/sub-agents#fork-the-current-conversation), et Claude reçoit le rapport sous la forme d'un message distinct provenant du sous-agent.1660* L'outil `Agent` : `tool_use_result` est [`AgentOutput`](#agent-2). Effectuez le rendu à partir de celui-ci plutôt que d'analyser le texte du `tool_result`. Le `content` d'un résultat `completed` contient le rapport du sous-agent ou, pour un sous-agent dont le rapport passe par un appel d'outil `SubagentHandback`, une courte note sur cette remise à la place du rapport. En [mode auto](/docs/fr/permission-modes#eliminate-prompts-with-auto-mode) sur Claude Code v2.1.271 ou version ultérieure, tout sous-agent qui produit un résultat `completed` fait son rapport de cette façon, sauf s'il s'agit d'un [fork](/docs/fr/sub-agents#fork-the-current-conversation), et Claude reçoit le rapport sous la forme d'un message distinct provenant du sous-agent.


1992 `SDKPartialAssistantMessage`2011 `SDKPartialAssistantMessage`

1993</h3>2012</h3>

1994 2013 

1995Message partiel en streaming (uniquement quand `includePartialMessages` est true). Le champ `parent_tool_use_id` est toujours `null` : les événements de flux sont émis pour la session principale uniquement. Pour l'attribution de sous-agent, utilisez les messages complets, qui portent `parent_tool_use_id`, ou activez [`forwardSubagentText`](#options) pour recevoir le texte et la réflexion du sous-agent comme des messages complets.2014Message partiel en streaming (uniquement lorsque `includePartialMessages` vaut true).

2015 

2016Le champ `parent_tool_use_id` est toujours `null` : les événements de flux ne sont émis que pour la session principale. Pour l'attribution aux sous-agents, utilisez les messages complets, qui portent [`agent_id`](#sdkassistantmessage) et `parent_tool_use_id`, ou activez [`forwardSubagentText`](#options) pour recevoir le texte et la réflexion des sous-agents sous forme de messages complets.

1996 2017 

1997```typescript theme={null}2018```typescript theme={null}

1998type SDKPartialAssistantMessage = {2019type SDKPartialAssistantMessage = {


2229* `buffer` : la réserve de compaction2250* `buffer` : la réserve de compaction

2230* `deferred` : schémas d'outils que Claude Code tient hors de la fenêtre et exclut du calcul d'utilisation, listés à titre informatif2251* `deferred` : schémas d'outils que Claude Code tient hors de la fenêtre et exclut du calcul d'utilisation, listés à titre informatif

2231 2252 

2253<h3 id="sdkusagereport">

2254 `SDKUsageReport`

2255</h3>

2256 

2257Forme structurée du rapport `/usage`, transportée en tant que `usage_report` sur le [`SDKAssistantMessage`](#sdkassistantmessage) qui livre un résultat `/usage`. L'Agent SDK v0.3.273 et ultérieures exportent ce type. Le type est expérimental : sa forme peut changer.

2258 

2259```typescript theme={null}

2260type SDKUsageReport = {

2261 session: {

2262 total_cost_usd: number;

2263 total_api_duration_ms: number;

2264 total_duration_ms: number;

2265 total_lines_added: number;

2266 total_lines_removed: number;

2267 model_usage: { [modelName: string]: ModelUsage };

2268 };

2269 rate_limits: {

2270 limits:

2271 | {

2272 kind: string;

2273 group: string;

2274 percent: number;

2275 resets_at: string | null;

2276 scope?: {

2277 model?: { display_name: string } | null;

2278 surface?: { display_name: string } | null;

2279 } | null;

2280 severity: string;

2281 is_active: boolean;

2282 }[]

2283 | null;

2284 extra_usage?: {

2285 is_enabled: boolean;

2286 monthly_limit: number | null;

2287 used_credits: number | null;

2288 utilization: number | null;

2289 currency?: string | null;

2290 } | null;

2291 } | null;

2292};

2293```

2294 

2295Les champs de premier niveau sont `session` et `rate_limits` :

2296 

2297* `session` : les totaux courants de coût et d'utilisation de Claude Code, lus dans le même registre que `total_cost_usd` et `modelUsage` sur [`SDKResultMessage`](#sdkresultmessage). Chaque entrée de `model_usage` est un [`ModelUsage`](#modelusage).

2298* `rate_limits` : les lignes d'utilisation du forfait dans `limits` et les dépenses en crédits d'utilisation dans `extra_usage`. Vaut `null` lorsque Claude Code n'a pas pu obtenir l'utilisation du forfait, par exemple lorsque le jeton OAuth de la session ne dispose pas du scope `user:profile`.

2299 

2300Claude Code calcule `session.total_cost_usd` localement à partir du nombre de tokens : il s'agit donc d'une estimation, et non de ce que facture votre forfait. Les dépenses en crédits d'utilisation signalées par le serveur figurent dans le bloc distinct `extra_usage`. Consultez [Suivre les coûts et l'utilisation](/docs/fr/agent-sdk/cost-tracking) pour les réserves concernant la précision.

2301 

2302`limits` contient les lignes d'utilisation du serveur telles que le serveur les a envoyées : les compteurs applicables, leur portée, leurs libellés, leur gravité et leur ordre relèvent du serveur, affichez donc les lignes telles quelles.

2303 

2304* Un tableau vide signifie que le serveur n'a signalé aucun compteur.

2305* `null` signifie que Claude Code n'a aucune ligne à signaler.

2306 

2307Chaque ligne de `limits` décrit un compteur d'utilisation :

2308 

2309| Champ | Type | Description |

2310| - | - | - |

2311| `kind` | `string` | Le type de compteur du serveur, comme `session`, `weekly_all` ou `weekly_scoped`. Classez une ligne sur ce champ, jamais sur un libellé |

2312| `group` | `string` | Le groupe de lignes du serveur, comme `session` ou `weekly`. Les lignes s'affichent regroupées sous celui-ci, dans l'ordre du serveur |

2313| `percent` | `number` | Part de la fenêtre utilisée, de 0 à 100 |

2314| `resets_at` | `string \| null` | Horodatage ISO 8601 de la réinitialisation de la fenêtre |

2315| `scope` | `object \| null` | Facultatif. Ce à quoi s'applique une ligne à portée limitée, un modèle ou une surface, avec le libellé d'affichage du serveur |

2316| `severity` | `string` | L'interprétation de la ligne par le serveur pour la couleur d'un compteur, comme `normal`, `warning` ou `critical` |

2317| `is_active` | `boolean` | `true` sur la ligne que le serveur choisit pour un indicateur à valeur unique |

2318 

2319Avant l'Agent SDK v0.3.277, le type déclarait `severity` et `is_active` comme facultatifs et nullables, et une ligne pouvait arriver sans eux.

2320 

2321`extra_usage` correspond aux dépenses et au plafond de [crédits d'utilisation](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans) pour la période de facturation tels que le serveur les signale, présent lorsque le forfait dispose de crédits d'utilisation. Les montants sont exprimés dans les sous-unités de `currency`, les cents pour l'USD.

2322 

2323* `monthly_limit` vaut `null` lorsque ce compte n'a pas de plafond de dépenses propre. Sur les forfaits Team et Enterprise, n'affichez pas `null` comme illimité.

2324* `is_enabled` vaut `false` tant que les crédits d'utilisation ne peuvent pas payer les requêtes.

2325 

2232<h3 id="sdkmessageorigin">2326<h3 id="sdkmessageorigin">

2233 `SDKMessageOrigin`2327 `SDKMessageOrigin`

2234</h3>2328</h3>


3418type WebFetchInput = {3512type WebFetchInput = {

3419 url: string;3513 url: string;

3420 prompt: string;3514 prompt: string;

3515 offset?: number;

3421};3516};

3422```3517```

3423 3518 

3424Récupère le contenu d'une URL et le traite avec un modèle IA.3519Récupère le contenu d'une URL et le traite avec un modèle IA.

3425 3520 

3521`offset` est le nombre de caractères à ignorer depuis le début de la page. Claude le définit pour poursuivre la lecture d'une page longue. Le champ nécessite Agent SDK v0.3.290 ou version ultérieure.

3522 

3426<h3 id="websearch">3523<h3 id="websearch">

3427 WebSearch3524 WebSearch

3428</h3>3525</h3>


5605 task_id: string;5702 task_id: string;

5606 tool_use_id?: string;5703 tool_use_id?: string;

5607 status: "completed" | "failed" | "stopped";5704 status: "completed" | "failed" | "stopped";

5705 reason?: "worker_restart";

5608 output_file: string;5706 output_file: string;

5609 summary: string;5707 summary: string;

5610 ambient?: boolean;5708 ambient?: boolean;


5619};5717};

5620```5718```

5621 5719 

5720`reason` est défini lorsqu'une tâche se termine pour une cause autre que sa propre complétion, son échec ou son arrêt, et nécessite Agent SDK v0.3.273 ou version ultérieure. Claude Code le définit uniquement dans les sessions qui se connectent via claude.ai : les sessions cloud, y compris celles sur des runners auto-hébergés, et les sessions Remote Control. Un appel `query()` local ne le définit jamais. Son unique valeur, `worker_restart`, signifie que le processus Claude Code qui exécutait la tâche a redémarré. La notification porte l'état `"stopped"` ; ne traitez donc la tâche ni comme terminée ni comme échouée.

5721 

5622Lorsque Claude Code [déplace un long appel d'outil MCP en arrière-plan](/docs/fr/mcp#automatic-backgrounding-of-long-tool-calls), le bloc `tool_result` pour cet appel ne contient qu'un espace réservé et le résultat réel de l'appel arrive dans cette notification. Faites correspondre la notification à l'appel avec `tool_use_id`. Sur une notification `completed`, `resource_links` liste les fichiers que l'outil a renvoyés par référence comme entrées [`SDKMcpResourceLink`](#sdkmcpresourcelink), avec les mêmes limites de 50 liens et 64 KiB que [`tool_use_result.resourceLinks`](#sdkusermessage). Claude Code omet `resource_links` lorsque le résultat n'avait pas de liens et sur les notifications pour les tâches qui ne sont pas des appels d'outil MCP. `resource_links` nécessite Agent SDK v0.3.257 ou version ultérieure.5722Lorsque Claude Code [déplace un long appel d'outil MCP en arrière-plan](/docs/fr/mcp#automatic-backgrounding-of-long-tool-calls), le bloc `tool_result` pour cet appel ne contient qu'un espace réservé et le résultat réel de l'appel arrive dans cette notification. Faites correspondre la notification à l'appel avec `tool_use_id`. Sur une notification `completed`, `resource_links` liste les fichiers que l'outil a renvoyés par référence comme entrées [`SDKMcpResourceLink`](#sdkmcpresourcelink), avec les mêmes limites de 50 liens et 64 KiB que [`tool_use_result.resourceLinks`](#sdkusermessage). Claude Code omet `resource_links` lorsque le résultat n'avait pas de liens et sur les notifications pour les tâches qui ne sont pas des appels d'outil MCP. `resource_links` nécessite Agent SDK v0.3.257 ou version ultérieure.

5623 5723 

5624Claude Code ajoute un avis à chaque notification de tâche qu'il envoie au modèle, sauf les livraisons estampillées avec le sous-type [`scheduled-trigger`](#task-notification-subkinds), qui portent plutôt un cadrage de tâche assignée. L'avis indique qu'aucune entrée humaine n'a eu lieu, donc le modèle ne traite pas la notification comme une instruction ou une approbation de l'utilisateur.5724Claude Code ajoute un avis à chaque notification de tâche qu'il envoie au modèle, sauf les livraisons estampillées avec le sous-type [`scheduled-trigger`](#task-notification-subkinds), qui portent plutôt un cadrage de tâche assignée. L'avis indique qu'aucune entrée humaine n'a eu lieu, donc le modèle ne traite pas la notification comme une instruction ou une approbation de l'utilisateur.


5777 task_type?: string;5877 task_type?: string;

5778 is_backgrounded?: boolean;5878 is_backgrounded?: boolean;

5779 spawn_depth?: number;5879 spawn_depth?: number;

5880 parent_task_id?: string;

5780 ambient?: boolean;5881 ambient?: boolean;

5781 uuid: UUID;5882 uuid: UUID;

5782 session_id: string;5883 session_id: string;


5794 5895 

5795Un [sous-agent repris](/docs/fr/agent-sdk/subagents#resume-subagents) signale toujours `is_backgrounded: true`, car Claude Code exécute chaque sous-agent repris en arrière-plan. Lorsqu'une tâche au premier plan se déplace en arrière-plan plus tard, Claude Code signale la nouvelle valeur `is_backgrounded` dans un message [`task_updated`](#sdktaskupdatedmessage) plutôt que d'envoyer un second `task_started`.5896Un [sous-agent repris](/docs/fr/agent-sdk/subagents#resume-subagents) signale toujours `is_backgrounded: true`, car Claude Code exécute chaque sous-agent repris en arrière-plan. Lorsqu'une tâche au premier plan se déplace en arrière-plan plus tard, Claude Code signale la nouvelle valeur `is_backgrounded` dans un message [`task_updated`](#sdktaskupdatedmessage) plutôt que d'envoyer un second `task_started`.

5796 5897 

5898`parent_task_id` contient le `task_id` du sous-agent qui a lancé cette tâche. Utilisez-le pour regrouper chaque tâche sous le sous-agent qui l'a démarrée. Claude Code le définit sur les tâches de sous-agent, Bash et [Monitor](#monitor). Le champ nécessite Agent SDK v0.3.292 ou version ultérieure. Il est absent lorsque :

5899 

5900* Le thread principal a lancé la tâche

5901* Claude Code ne suit plus la tâche parente

5902* Un [coéquipier](/docs/fr/agent-teams) ou un agent à l'intérieur d'un workflow a lancé la tâche

5903 

5904Le parent peut être une tâche au premier plan ou une tâche déjà terminée ; traitez donc un ID que vous ne reconnaissez pas comme l'absence de parent.

5905 

5797<h3 id="sdktaskprogressmessage">5906<h3 id="sdktaskprogressmessage">

5798 `SDKTaskProgressMessage`5907 `SDKTaskProgressMessage`

5799</h3>5908</h3>


5850 `SDKBackgroundTasksChangedMessage`5959 `SDKBackgroundTasksChangedMessage`

5851</h3>5960</h3>

5852 5961 

5853Émis chaque fois que l'ensemble des tâches en arrière-plan en direct change : une tâche démarre, se termine, est tuée, un agent au premier plan est mis en arrière-plan, ou le champ `description` ou `ambient` d'une tâche change.5962Émis chaque fois que l'ensemble des tâches en arrière-plan en direct change : une tâche démarre, se termine ou est tuée ; un agent au premier plan est mis en arrière-plan ; ou le champ `description`, `ambient` ou `parent_task_id` d'une tâche change. Pour le champ `parent_task_id` de chaque entrée, consultez [`SDKTaskStartedMessage`](#sdktaskstartedmessage), qui le définit et son exigence de version.

5854 5963 

5855Le tableau `tasks` est l'ensemble en direct complet. Remplacez tout ensemble mis en cache par chaque payload au lieu d'appairer les événements `task_started` et `task_notification`, afin que le prochain changement d'appartenance corrige tout événement que vous avez manqué.5964Le tableau `tasks` est l'ensemble en direct complet. Remplacez tout ensemble mis en cache par chaque payload au lieu d'appairer les événements `task_started` et `task_notification`, afin que le prochain changement d'appartenance corrige tout événement que vous avez manqué.

5856 5965 

5857L'ordre relatif à ces événements par tâche n'est pas spécifié, donc ne corrélez pas les deux flux.5966Lorsqu'une tâche se termine, ses messages [`task_updated`](#sdktaskupdatedmessage) et [`task_notification`](#sdktasknotificationmessage) arrivent avant le `background_tasks_changed` qui la retire de la liste. L'ordre relatif aux événements par tâche n'est sinon pas spécifié.

5858 5967 

5859Rien n'est émis au démarrage. Réinitialisez à un ensemble vide chaque fois que le processus CLI de la session démarre ou redémarre et laissez le prochain changement d'appartenance le repeupler.5968Rien n'est émis au démarrage. Réinitialisez à un ensemble vide chaque fois que le processus CLI de la session démarre ou redémarre et laissez le prochain changement d'appartenance le repeupler.

5860 5969 


5871 task_type: string;5980 task_type: string;

5872 subagent_type?: string;5981 subagent_type?: string;

5873 description: string;5982 description: string;

5983 parent_task_id?: string;

5874 ambient?: boolean;5984 ambient?: boolean;

5875 }[];5985 }[];

5876 uuid: UUID;5986 uuid: UUID;

Details

36 ```36 ```

37 37 

38 ```typescript TypeScript theme={null}38 ```typescript TypeScript theme={null}

39 async function handleToolRequest(toolName, input, options) {39 import type { CanUseTool } from "@anthropic-ai/claude-agent-sdk";

40 

41 const handleToolRequest: CanUseTool = async (toolName, input, options) => {

40 // options includes { signal: AbortSignal, suggestions?: PermissionUpdate[] }42 // options includes { signal: AbortSignal, suggestions?: PermissionUpdate[] }

41 // Inviter l'utilisateur et retourner allow ou deny43 // Inviter l'utilisateur ici, puis retourner allow ou deny

42 }44 return { behavior: "deny", message: "User declined" };

45 };

43 46 

44 const options = { canUseTool: handleToolRequest };47 const options = { canUseTool: handleToolRequest };

45 ```48 ```


440 // Inclure AskUserQuestion dans votre liste d'outils443 // Inclure AskUserQuestion dans votre liste d'outils

441 tools: ["Read", "Glob", "Grep", "AskUserQuestion"],444 tools: ["Read", "Glob", "Grep", "AskUserQuestion"],

442 canUseTool: async (toolName, input) => {445 canUseTool: async (toolName, input) => {

443 // Gérer les questions de clarification ici446 // Espace réservé qui approuve chaque appel. L'étape Détecter AskUserQuestion le remplace.

447 return { behavior: "allow", updatedInput: input };

444 }448 }

445 }449 }

446 })) {450 })) {


763 767 

764 ```typescript TypeScript theme={null}768 ```typescript TypeScript theme={null}

765 import { query } from "@anthropic-ai/claude-agent-sdk";769 import { query } from "@anthropic-ai/claude-agent-sdk";

770 import type { PermissionResult } from "@anthropic-ai/claude-agent-sdk";

766 import * as readline from "readline/promises";771 import * as readline from "readline/promises";

767 772 

768 // Helper to prompt user for input in the terminal773 // Helper to prompt user for input in the terminal


783 }788 }

784 789 

785 // Display Claude's questions and collect user answers790 // Display Claude's questions and collect user answers

786 async function handleAskUserQuestion(input: any) {791 async function handleAskUserQuestion(input: any): Promise<PermissionResult> {

787 const answers: Record<string, string> = {};792 const answers: Record<string, string> = {};

788 793 

789 for (const q of input.questions) {794 for (const q of input.questions) {

agent-view.md +21 −12

Details

391 391 

392Vous pouvez lancer de nouvelles sessions en arrière-plan à partir de la vue agent, envoyer ou copier une session interactive existante en arrière-plan, ou en démarrer une directement depuis le shell.392Vous pouvez lancer de nouvelles sessions en arrière-plan à partir de la vue agent, envoyer ou copier une session interactive existante en arrière-plan, ou en démarrer une directement depuis le shell.

393 393 

394<h3 id="from-agent-view">394<span id="from-agent-view" />

395 À partir de la vue agent395 

396<h3 id="dispatch-an-agent-from-agent-view">

397 Lancer un agent à partir de la vue agent

396</h3>398</h3>

397 399 

398Tapez un prompt dans l'entrée en bas de la vue agent et appuyez sur `Entrée` pour démarrer une nouvelle session en arrière-plan. La session est nommée automatiquement à partir du prompt ; renommez-la plus tard avec `Ctrl+R`.400Tapez un prompt dans l'entrée en bas de la vue agent et appuyez sur `Entrée` pour démarrer une nouvelle session en arrière-plan. La session est nommée automatiquement à partir du prompt ; renommez-la plus tard avec `Ctrl+R`.


446 448 

447Quand la vue agent est groupée par répertoire, le lancement envoie le prompt au répertoire de la ligne sélectionnée, vous pouvez donc sélectionner un groupe et y lancer une session sans retaper le chemin.449Quand la vue agent est groupée par répertoire, le lancement envoie le prompt au répertoire de la ligne sélectionnée, vous pouvez donc sélectionner un groupe et y lancer une session sans retaper le chemin.

448 450 

449<h3 id="from-inside-a-session">451<span id="from-inside-a-session" />

450 À partir d'une session452 

453<h3 id="send-or-copy-a-session-to-the-background">

454 Envoyer ou copier une session en arrière-plan

451</h3>455</h3>

452 456 

453Deux commandes déplacent le travail de la session dans laquelle vous êtes vers l'arrière-plan : `/background` y envoie la conversation actuelle et libère votre terminal, et `/fork` envoie une copie tandis que vous continuez à travailler là où vous êtes.457Deux commandes déplacent le travail de la session dans laquelle vous êtes vers l'arrière-plan : `/background` y envoie la conversation actuelle et libère votre terminal, et `/fork` envoie une copie tandis que vous continuez à travailler là où vous êtes.


511 515 

512Les répertoires que vous avez ajoutés pendant la session avec [`/add-dir`](/docs/fr/permissions#additional-directories-grant-file-access-not-configuration) sont également reportés. Reporter `--allow-dangerously-skip-permissions` maintient `bypassPermissions` accessible dans la session mise en arrière-plan, mais n'accorde rien de nouveau : le mode nécessite toujours l'acceptation interactive unique décrite dans [Mode de permission, modèle et effort](#permission-mode-model-and-effort).516Les répertoires que vous avez ajoutés pendant la session avec [`/add-dir`](/docs/fr/permissions#additional-directories-grant-file-access-not-configuration) sont également reportés. Reporter `--allow-dangerously-skip-permissions` maintient `bypassPermissions` accessible dans la session mise en arrière-plan, mais n'accorde rien de nouveau : le mode nécessite toujours l'acceptation interactive unique décrite dans [Mode de permission, modèle et effort](#permission-mode-model-and-effort).

513 517 

514<h3 id="from-your-shell">518<span id="from-your-shell" />

515 À partir du shell519 

520<h3 id="dispatch-an-agent-from-your-shell">

521 Lancer un agent à partir de votre shell

516</h3>522</h3>

517 523 

518Passez `--bg` ou sa forme longue `--background` pour démarrer une session qui passe directement en arrière-plan :524Passez `--bg` ou sa forme longue `--background` pour démarrer une session qui passe directement en arrière-plan :


603 609 

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

605 611 

606Quand le hook échoue dans un répertoire qui n'est pas un dépôt git, Claude renonce à l'isolation pour ce répertoire et modifie le répertoire de travail sur place. À l'intérieur d'un dépôt git, une session que Claude déplace dans un worktree avant de modifier des fichiers ne peut pas modifier de fichiers dans le checkout partagé tant que ce déplacement n'a pas eu lieu.612Quand le hook échoue dans un répertoire qui n'est pas un dépôt git, Claude renonce à l'isolation pour ce répertoire et modifie le répertoire de travail sur place. À l'intérieur d'un dépôt git, une session que Claude déplace dans un worktree avant de modifier des fichiers ne peut pas utiliser les outils `Edit`, `Write` ou `NotebookEdit` sur le checkout partagé tant que ce déplacement n'a pas eu lieu.

607 613 

608Pour trouver le chemin du worktree d'une session, attachez-vous-y et vérifiez son répertoire de travail.614Pour trouver le chemin du worktree d'une session, attachez-vous-y et vérifiez son répertoire de travail.

609 615 


825| `claude daemon logs` | Suivre le fichier de log du superviseur, [`~/.claude/daemon.log`](#where-state-is-stored), en affichant les nouvelles lignes à mesure qu'elles arrivent jusqu'à ce que vous appuyiez sur `Ctrl+C` |831| `claude daemon logs` | Suivre le fichier de log du superviseur, [`~/.claude/daemon.log`](#where-state-is-stored), en affichant les nouvelles lignes à mesure qu'elles arrivent jusqu'à ce que vous appuyiez sur `Ctrl+C` |

826| `claude daemon stop --any` | Arrêter le processus superviseur et les sessions en arrière-plan qu'il héberge. Passez `--keep-workers` pour laisser les sessions en arrière-plan en cours d'exécution afin que le superviseur suivant se reconnecte à elles. Le prochain `claude agents` ou `claude --bg` démarre un nouveau superviseur |832| `claude daemon stop --any` | Arrêter le processus superviseur et les sessions en arrière-plan qu'il héberge. Passez `--keep-workers` pour laisser les sessions en arrière-plan en cours d'exécution afin que le superviseur suivant se reconnecte à elles. Le prochain `claude agents` ou `claude --bg` démarre un nouveau superviseur |

827 833 

828`claude attach` et `claude logs` peuvent prendre une partie du nom d'une session en cours d'exécution à la place de l'ID, comme dans `claude logs "auth refactor"`. Passer un nom nécessite Claude Code v2.1.290 ou ultérieur.834`claude attach` et `claude logs` peuvent prendre une partie du nom d'une session à la place de l'ID, comme dans `claude logs "auth refactor"`. Passer un nom nécessite Claude Code v2.1.290 ou ultérieur.

829 835 

830<h3 id="list-sessions-as-json">836<h3 id="list-sessions-as-json">

831 Afficher les sessions en tant que JSON837 Afficher les sessions en tant que JSON


979 L'ouverture d'une session indique qu'elle n'a pas de transcription enregistrée985 L'ouverture d'une session indique qu'elle n'a pas de transcription enregistrée

980</h3>986</h3>

981 987 

982Une session arrêtée qui a été [mise en arrière-plan depuis une autre conversation](#from-inside-a-session) et s'est arrêtée avant la fin de sa première réponse n'a rien à reprendre : jusqu'à ce que cette première réponse se termine, la conversation vit toujours uniquement dans la session à partir de laquelle elle a été mise en arrière-plan. `claude attach` refuse de l'ouvrir avec `This session has no saved transcript`.988Quand vous ouvrez une session que vous avez [mise en arrière-plan depuis une autre conversation](#from-inside-a-session) et qui s'est arrêtée avant d'avoir exécuté un tour qui lui soit propre, Claude Code reprend cette conversation. Si Claude Code ne trouve pas la conversation, il refuse d'ouvrir la session :

989 

990* `claude attach` affiche `This session has no saved transcript`.

991* La vue agent affiche `Press enter again to restart this session fresh` sous la liste.

983 992 

984Dans la vue agent, l'ouverture de cette ligne affiche `Press enter again to restart this session fresh` sous la liste. Appuyez sur `Enter` sur la même ligne à nouveau pour redémarrer la session avec une conversation vide, ou exécutez `claude respawn <id>` depuis le shell.993Appuyez sur `Enter` sur la même ligne à nouveau pour redémarrer la session avec une conversation vide, ou exécutez `claude respawn <id>` depuis le shell.

985 994 

986La conversation d'origine est intacte ; reprenez-la avec `claude --resume` ou continuez à y travailler. Consultez la [référence des erreurs](/docs/fr/errors#this-session-has-no-saved-transcript) pour plus de détails.995Consultez la [référence des erreurs](/docs/fr/errors#this-session-has-no-saved-transcript) pour plus de détails.

987 996 

988<h3 id="the-terminal-host-died-or-the-session-stopped-responding">997<h3 id="the-terminal-host-died-or-the-session-stopped-responding">

989 L'hôte du terminal est mort ou la session a cessé de répondre998 L'hôte du terminal est mort ou la session a cessé de répondre


1095 1104 

1096| Version | Changement |1105| Version | Changement |

1097| - | - |1106| - | - |

1098| v2.1.290 | [`claude attach` et `claude logs`](#manage-sessions-from-the-shell) peuvent prendre une partie du nom d'une session en cours d'exécution à la place de l'ID. |1107| v2.1.290 | [`claude attach` et `claude logs`](#manage-sessions-from-the-shell) peuvent prendre une partie du nom d'une session à la place de l'ID. |

1099| v2.1.290 | `/model`, `/effort`, `/rename` et `/usage` envoyées comme [réponse depuis le panneau d'aperçu](#peek-and-reply) à une session en cours de travail s'exécutent immédiatement. |1108| v2.1.290 | `/model`, `/effort`, `/rename` et `/usage` envoyées comme [réponse depuis le panneau d'aperçu](#peek-and-reply) à une session en cours de travail s'exécutent immédiatement. |

1100| v2.1.290 | Une [réponse depuis le panneau d'aperçu](#peek-and-reply) qui ne peut pas être livrée n'est plus enregistrée pour le prochain redémarrage quand elle commence par `/`, ou quand elle répond à une question à choix prédéfinis tandis que le processus de la session est en cours d'exécution. |1109| v2.1.290 | Une [réponse depuis le panneau d'aperçu](#peek-and-reply) qui ne peut pas être livrée n'est plus enregistrée pour le prochain redémarrage quand elle commence par `/`, ou quand elle répond à une question à choix prédéfinis tandis que le processus de la session est en cours d'exécution. |

1101| v2.1.288 | `Ctrl+F` trouve les sessions par nom, et `Alt+↑` / `Alt+↓` sautent d'un en-tête de groupe à l'autre. Ces deux raccourcis, ainsi que `Ctrl+R`, peuvent être [réassignés](/docs/fr/keybindings#agents-actions). |1110| v2.1.288 | `Ctrl+F` trouve les sessions par nom, et `Alt+↑` / `Alt+↓` sautent d'un en-tête de groupe à l'autre. Ces deux raccourcis, ainsi que `Ctrl+R`, peuvent être [réassignés](/docs/fr/keybindings#agents-actions). |

artifacts.md +38 −10

Details

51Build a dashboard artifact of last week's deploy failures by service and keep it updated as you investigate.51Build a dashboard artifact of last week's deploy failures by service and keep it updated as you investigate.

52```52```

53 53 

54Sauf si vous nommez un emplacement, Claude écrit la page dans un fichier HTML ou Markdown dans un répertoire temporaire en dehors de votre projet, puis la publie. En dehors du [mode plan](/docs/fr/permission-modes#analyze-before-you-edit-with-plan-mode), un nouvel artifact que Claude publie en réponse à une invite que vous tapez passe sans invite de permission ou examen du classificateur, sauf si cette publication déclare des capacités d'exécution pour la page, comme les [appels de connecteur](#pull-live-data-with-mcp-connectors) ou les [téléchargements de fichiers](#offer-a-file-download). En mode plan, Claude Code vous demande avant la première publication de chaque artifact.54Sauf si vous indiquez un emplacement, Claude écrit la page dans un fichier HTML ou Markdown situé dans un répertoire temporaire en dehors de votre projet, puis la publie. L'artefact reste privé jusqu'à ce que vous le [partagiez](#share-an-artifact).

55 55 

56L'artifact reste privé pour vous jusqu'à ce que vous le [partagiez](#share-an-artifact). Après l'avoir partagé publiquement, Claude Code demande votre approbation une fois par conversation avant de le modifier, ou en [mode auto](/docs/fr/permission-modes#eliminate-prompts-with-auto-mode) fait examiner la modification par le classificateur.56Après la première publication, Claude affiche l'URL, et votre navigateur s'ouvre sur la nouvelle page.

57 57 

58Si vous avez désactivé la [récupération de drapeaux de fonctionnalité](/docs/fr/env-vars#features-that-need-feature-flag-fetching), Claude Code demande avant la première publication de chaque artifact, ou en mode auto fait examiner par le classificateur.58* **Rouvrir la page** : appuyez sur `Ctrl+]` à tout moment pour rouvrir l'artefact le plus récent de la session

59* **Voir les artefacts de cette session** : une pastille `⧉` sous le prompt affiche le nom de l'artefact, ou un nombre lorsque la session en contient plusieurs. En [rendu plein écran](/docs/fr/fullscreen), cliquez dessus pour ouvrir la liste [`/artifacts`](#find-an-artifact-again)

60* **Empêcher l'ouverture du navigateur** : définissez `CLAUDE_CODE_ARTIFACT_AUTO_OPEN=0` dans votre environnement

61* **Remote Control** : si vous avez envoyé le prompt via [Remote Control](/docs/fr/remote-control) depuis claude.ai, Claude Desktop ou l'application mobile Claude, aucun onglet ne s'ouvre sur la machine qui exécute la session. Le navigateur s'y ouvre la prochaine fois que Claude publie l'artefact à partir d'un prompt que vous tapez dans le terminal

59 62 

60Après la première publication, Claude imprime l'URL, et votre navigateur s'ouvre sur la nouvelle page. Si vous avez envoyé l'invite via [Contrôle à distance](/docs/fr/remote-control) depuis claude.ai, Claude Desktop ou l'application mobile Claude, aucun onglet ne s'ouvre sur la machine exécutant la session. Le navigateur s'ouvre là la prochaine fois que Claude publie l'artifact à partir d'une invite que vous tapez au terminal. Appuyez sur `Ctrl+]` à tout moment pour rouvrir l'artifact le plus récent de la session.63Claude choisit le titre de l'artefact et une icône d'onglet de navigateur qui correspond à la nature de la page, comme un graphique ou un calendrier. Le titre apparaît dans votre [galerie d'artefacts](#share-an-artifact) sur claude.ai et dans les liens partagés. Demandez à Claude un titre ou une icône d'onglet spécifique si vous le souhaitez.

61 64 

62Claude choisit le titre de l'artifact et un emoji, et les deux apparaissent dans votre [galerie d'artifacts](#share-an-artifact) sur claude.ai et dans les liens partagés. Claude peut également choisir une icône d'onglet de navigateur qui correspond à ce que la page est, comme un graphique ou un calendrier. Demandez à Claude un titre, un emoji ou une icône d'onglet spécifique si vous en voulez un.65Si Claude répond qu'il ne peut pas publier, ou écrit un fichier HTML local sans lien, les artefacts ne sont pas activés pour votre session. Vérifiez les exigences de [Disponibilité](#availability). Si le terminal affiche `Artifacts need a claude.ai login`, consultez [l'entrée de cette erreur](/docs/fr/errors#artifacts-need-a-claude-ai-login) pour savoir comment vous connecter.

63 66 

64Pour empêcher le navigateur de s'ouvrir automatiquement lors de la publication d'un nouvel artifact, définissez `CLAUDE_CODE_ARTIFACT_AUTO_OPEN=0` dans votre environnement.67<h3 id="when-claude-code-asks-before-publishing">

68 Quand Claude Code demande avant de publier

69</h3>

70 

71Un nouvel artefact que Claude publie en réponse à un prompt que vous tapez est publié sans demande de permission ni examen par le classifieur. Dans les cas suivants, Claude Code vous demande d'abord, ou en [mode auto](/docs/fr/permission-modes#eliminate-prompts-with-auto-mode) fait examiner la publication par le classifieur :

65 72 

66Si Claude répond qu'il ne peut pas publier, ou écrit un fichier HTML local sans lien, l'outil n'est pas activé pour votre session. Vérifiez les exigences de [Disponibilité](#availability).73| Quand | Ce que fait Claude Code |

74| :- | :- |

75| La session est en [mode plan](/docs/fr/permission-modes#analyze-before-you-edit-with-plan-mode) | Demande avant la première publication de chaque artefact |

76| La publication déclare des capacités d'exécution pour la page, comme des [appels de connecteur](#pull-live-data-with-mcp-connectors) ou des [téléchargements de fichiers](#offer-a-file-download) | Demande avant cette publication |

77| Vous avez partagé l'artefact publiquement | Demande une fois par conversation avant de le modifier |

78| Vous avez désactivé la [récupération des feature flags](/docs/fr/env-vars#features-that-need-feature-flag-fetching) | Demande avant la première publication de chaque artefact |

79| Claude publie lors d'un tour déclenché par une [tâche planifiée](/docs/fr/scheduled-tasks) s'exécutant dans votre session, plutôt que par un prompt que vous avez tapé | Demande avant la première publication de chaque artefact |

80| Claude ne peut pas lire le fichier sans votre approbation | Demande avant de le publier. Une règle d'autorisation pour l'outil `Artifact` ne permet pas d'ignorer cette demande |

81 

82Claude lit sans demander les fichiers situés dans les [répertoires de travail](/docs/fr/permissions#working-directories) de votre session, ainsi que dans le répertoire temporaire où il écrit les pages. Pour permettre à Claude de publier depuis un autre dossier sans demande, ajoutez ce dossier comme répertoire de travail avec [`--add-dir`](/docs/fr/cli-reference#cli-flags) au lancement ou `/add-dir` pendant la session.

67 83 

68<h2 id="update-an-artifact">84<h2 id="update-an-artifact">

69 Mettre à jour un artifact85 Mettre à jour un artifact


87 Retrouver un artifact103 Retrouver un artifact

88</h2>104</h2>

89 105 

90Exécutez `/artifacts` dans Claude Code pour lister chaque artifact que vous possédez et chaque artifact partagé avec vous. Sélectionnez-en un et appuyez sur `o` pour l'ouvrir dans votre navigateur ou `c` pour copier son lien. Appuyez sur `Entrée` pour l'attacher à la session actuelle ; avant la v2.1.216, `Entrée` l'ouvrait dans votre navigateur. Claude Code lit la liste à partir de votre compte claude.ai, donc cela fonctionne dans une nouvelle session et après `/clear`, quand le lien a disparu du terminal. Nécessite Claude Code v2.1.208 ou version ultérieure.106Exécutez `/artifacts` dans Claude Code pour lister les artefacts que vous possédez et ceux partagés avec vous. Les artefacts de la session actuelle apparaissent en premier, sous **This session**. Nécessite Claude Code v2.1.208 ou version ultérieure.

107 

108Sélectionnez un artefact, puis appuyez sur l'une de ces touches :

109 

110* **`Enter`** : l'ouvre dans votre navigateur lorsqu'il est déjà attaché à la session actuelle, et l'attache dans le cas contraire. Avant la v2.1.216, `Enter` l'ouvrait dans votre navigateur

111* **`o`** : l'ouvre dans votre navigateur

112* **`c`** : copie son lien

113 

114Claude Code lit la liste à partir de votre compte claude.ai, donc cela fonctionne dans une nouvelle session et après `/clear`, quand le lien a disparu du terminal.

91 115 

92<h2 id="share-an-artifact">116<h2 id="share-an-artifact">

93 Partager un artifact117 Partager un artifact


110 134 

111Un éditeur publie de nouvelles versions de la même manière que vous [mettez à jour l'artifact à partir d'une autre session](#update-an-artifact) : il donne à Claude l'URL de l'artifact, ou l'attache à partir de [`/artifacts`](#find-an-artifact-again), et Claude récupère le contenu actuel et le republish avec ses modifications. Tous les utilisateurs ayant la page ouverte voient chaque mise à jour en direct.135Un éditeur publie de nouvelles versions de la même manière que vous [mettez à jour l'artifact à partir d'une autre session](#update-an-artifact) : il donne à Claude l'URL de l'artifact, ou l'attache à partir de [`/artifacts`](#find-an-artifact-again), et Claude récupère le contenu actuel et le republish avec ses modifications. Tous les utilisateurs ayant la page ouverte voient chaque mise à jour en direct.

112 136 

137Si un éditeur publie alors que Claude détient une copie plus ancienne de la page, Claude Code refuse toute publication fondée sur cette copie. Claude fusionne alors ses modifications avec la version plus récente et publie à nouveau.

138 

113<h2 id="read-an-artifact-shared-with-you">139<h2 id="read-an-artifact-shared-with-you">

114 Lire un artifact partagé avec vous140 Lire un artifact partagé avec vous

115</h2>141</h2>


168 194 

169Claude cesse également de répondre de lui-même sur un artefact après avoir traité 60 commentaires envoyés ou activations de fils de discussion sur cet artefact en l'espace d'une heure. Vous voyez `Comments are waiting on Artifact: <name>` une seule fois, et Claude reprend à mesure que les commentaires de cette heure sortent de la fenêtre.195Claude cesse également de répondre de lui-même sur un artefact après avoir traité 60 commentaires envoyés ou activations de fils de discussion sur cet artefact en l'espace d'une heure. Vous voyez `Comments are waiting on Artifact: <name>` une seule fois, et Claude reprend à mesure que les commentaires de cette heure sortent de la fenêtre.

170 196 

171Exécutez `/tasks` pour voir chaque artefact que votre session surveille, listé comme une tâche de mises à jour en direct. Vous pouvez empêcher Claude de répondre de lui-même de l'une des manières suivantes :197Exécutez `/tasks` pour voir les artefacts que votre session surveille. `/tasks` regroupe les surveillances que Claude Code a démarrées de lui-même sous la ligne **System tasks**. Appuyez sur `Enter` sur cette ligne pour les lister. Une surveillance que vous avez demandé à Claude de démarrer apparaît sous **Monitors**.

198 

199Vous pouvez empêcher Claude de répondre de lui-même de l'une des manières suivantes :

172 200 

173* **Appuyez une fois sur Ctrl+C à un prompt inactif** : Claude met en pause ses réponses sur tous les artefacts que votre session surveille. Les réponses reprennent après l'envoi de votre prochain message.201* **Appuyez une fois sur Ctrl+C à un prompt inactif** : Claude met en pause ses réponses sur tous les artefacts que votre session surveille. Les réponses reprennent après l'envoi de votre prochain message.

174* **Arrêtez la tâche dans `/tasks`** : Claude cesse de répondre sur cet artefact jusqu'à ce que vous lui demandiez de reprendre les réponses à cet endroit. Republier l'artefact ne relance pas les réponses, et l'arrêt s'applique toujours lorsque vous reprenez la session ultérieurement.202* **Arrêtez la tâche dans `/tasks`** : Claude cesse de répondre sur cet artefact jusqu'à ce que vous lui demandiez de reprendre les réponses à cet endroit. Republier l'artefact ne relance pas les réponses, et l'arrêt s'applique toujours lorsque vous reprenez la session ultérieurement.


391| Authentification | La session est sauvegardée par un compte claude.ai : connectez-vous avec `/login` dans la CLI ou l'application de bureau. Les sessions Claude Tag sont connectées via l'identité de l'agent, donc aucune étape n'est nécessaire. Les sessions utilisant une clé API, un [jeton de passerelle](/docs/fr/llm-gateway) ou une identifiant de fournisseur cloud ne peuvent pas publier. |419| Authentification | La session est sauvegardée par un compte claude.ai : connectez-vous avec `/login` dans la CLI ou l'application de bureau. Les sessions Claude Tag sont connectées via l'identité de l'agent, donc aucune étape n'est nécessaire. Les sessions utilisant une clé API, un [jeton de passerelle](/docs/fr/llm-gateway) ou une identifiant de fournisseur cloud ne peuvent pas publier. |

392| Fournisseur de modèle | API Anthropic. Non disponible sur [Amazon Bedrock](/docs/fr/amazon-bedrock), [Google Cloud's Agent Platform](/docs/fr/google-vertex-ai) ou [Microsoft Foundry](/docs/fr/microsoft-foundry). |420| Fournisseur de modèle | API Anthropic. Non disponible sur [Amazon Bedrock](/docs/fr/amazon-bedrock), [Google Cloud's Agent Platform](/docs/fr/google-vertex-ai) ou [Microsoft Foundry](/docs/fr/microsoft-foundry). |

393| Politique organisationnelle | Les clés de chiffrement gérées par le client (CMEK), HIPAA et [Zéro rétention de données](/docs/fr/zero-data-retention) ne sont pas activées pour l'organisation. |421| Politique organisationnelle | Les clés de chiffrement gérées par le client (CMEK), HIPAA et [Zéro rétention de données](/docs/fr/zero-data-retention) ne sont pas activées pour l'organisation. |

394| Surface | Claude Code CLI, ou l'application de bureau Claude version 1.13576.0 ou ultérieure. Les sessions [Claude Tag](https://claude.com/docs/claude-tag/overview) peuvent également publier des artefacts lorsque Claude Tag et les artefacts sont activés pour l'organisation. Désactivé par défaut dans les contextes [Agent SDK](/docs/fr/agent-sdk/overview), GitHub Action et MCP-server, lorsque vous exécutez Claude Code avec [`-p`](/docs/fr/headless) depuis votre propre terminal ou vos scripts, et lorsque [`CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`](/docs/fr/env-vars) est défini. |422| Surface | Claude Code CLI, ou l'application de bureau Claude version 1.13576.0 ou ultérieure. Les sessions [Claude Tag](https://claude.com/docs/claude-tag/overview) peuvent également publier des artefacts lorsque Claude Tag et les artefacts sont activés pour l'organisation. Les sessions servies par [`claude remote-control`](/docs/fr/remote-control) peuvent publier des artefacts lorsque vous avez démarré la session vous-même. Nécessite Claude Code v2.1.281 ou ultérieur. Désactivé par défaut dans les contextes [Agent SDK](/docs/fr/agent-sdk/overview), GitHub Action et MCP-server, lorsque vous exécutez Claude Code avec [`-p`](/docs/fr/headless) depuis votre propre terminal ou vos scripts, et lorsque [`CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`](/docs/fr/env-vars) est défini. |

395 423 

396La disponibilité des artefacts pour votre organisation provient de la politique de votre organisation, que Claude Code charge depuis `api.anthropic.com`. Lorsque Claude Code ne peut pas charger la politique, les artefacts ne sont pas disponibles. Lorsque vous en demandez un, Claude explique pourquoi.424La disponibilité des artefacts pour votre organisation provient de la politique de votre organisation, que Claude Code charge depuis `api.anthropic.com`. Lorsque Claude Code ne peut pas charger la politique, les artefacts ne sont pas disponibles. Lorsque vous en demandez un, Claude explique pourquoi.

397 425 

chrome.md +39 −2

Details

202and attach logs/session.log to it202and attach logs/session.log to it

203```203```

204 204 

205Trois restrictions s'appliquent aux téléchargements :205Si Claude refuse de joindre un fichier ou si un téléchargement échoue, vérifiez les causes suivantes :

206 206 

207* **Autorisations** : Claude ne peut télécharger un fichier que lorsque la session est autorisée à le lire, donc les [règles de permission](/docs/fr/settings-reference#permission-settings) qui refusent l'accès `Read` à un fichier bloquent également son téléchargement.207* **Autorisations** : Claude ne peut télécharger un fichier que lorsque la session est autorisée à le lire, donc les [règles de permission](/docs/fr/settings-reference#permission-settings) qui refusent l'accès `Read` à un fichier bloquent également son téléchargement.

208* **Taille** : un seul téléchargement peut inclure jusqu'à 10 Mo de fichiers au total.208* **Taille** : un seul téléchargement peut inclure jusqu'à 10 Mo de fichiers au total.

209* **Liens physiques** : Claude refuse les fichiers qui ont plusieurs liens physiques, ce qui est courant dans les magasins de gestionnaires de paquets comme `node_modules`. Copiez le fichier et téléchargez la copie.209* **Liens physiques** : Claude refuse les fichiers qui ont plusieurs liens physiques, ce qui est courant dans les magasins de gestionnaires de paquets comme `node_modules`. Copiez le fichier et téléchargez la copie.

210* **Noms associés aux identifiants** : Claude refuse un fichier dont le nom ou le dossier correspond à un emplacement où sont conservés des identifiants, comme `.env`, un fichier `.pem` ou `.key`, ou tout élément situé sous `.ssh`. Nécessite Claude Code v2.1.293 ou version ultérieure.

210 211 

211<h3 id="draft-content-in-google-docs">212<h3 id="draft-content-in-google-docs">

212 Rédiger du contenu dans Google Docs213 Rédiger du contenu dans Google Docs


309 310 

310Les autres navigateurs basés sur Chromium lisent le même fichier à partir de leur propre répertoire de configuration, nommé d'après le navigateur. Par exemple, Brave sur macOS utilise `~/Library/Application Support/BraveSoftware/Brave-Browser/NativeMessagingHosts/`, et sur Windows, chaque navigateur a sa propre clé de registre, comme `HKCU\Software\BraveSoftware\Brave-Browser\NativeMessagingHosts\`.311Les autres navigateurs basés sur Chromium lisent le même fichier à partir de leur propre répertoire de configuration, nommé d'après le navigateur. Par exemple, Brave sur macOS utilise `~/Library/Application Support/BraveSoftware/Brave-Browser/NativeMessagingHosts/`, et sur Windows, chaque navigateur a sa propre clé de registre, comme `HKCU\Software\BraveSoftware\Brave-Browser\NativeMessagingHosts\`.

311 312 

313<h3 id="project-settings-can’t-turn-on-chrome">

314 Les paramètres du projet ne peuvent pas activer Chrome

315</h3>

316 

317Cet avertissement dans votre terminal signifie que le projet dans lequel vous travaillez a tenté d'activer l'intégration Chrome, et que Claude Code ne l'a pas autorisé :

318 

319```text wrap theme={null}

320Claude Code ignored CLAUDE_CODE_ENABLE_CFC in this project's settings: a project can't turn on Claude in Chrome. To turn it on yourself, run /chrome or start with --chrome.

321```

322 

323Le fichier `.claude/settings.json` ou `.claude/settings.local.json` du projet définit [`CLAUDE_CODE_ENABLE_CFC`](/docs/fr/env-vars#variables) sur `1` dans son bloc `env` pour activer l'intégration Chrome. Claude Code n'a pas appliqué ce paramètre, donc l'intégration Chrome est désactivée dans cette session et Claude ne dispose d'aucun outil de navigateur.

324 

325Claude Code ignore ce paramètre car ces fichiers sont stockés dans le répertoire du projet, et un dépôt que vous récupérez ne doit pas pouvoir connecter Claude à votre navigateur.

326 

327Vous pouvez continuer à travailler tel quel. Si vous voulez les outils de navigateur, ou si vous voulez faire disparaître l'avertissement, choisissez l'une de ces options :

328 

329* **Pour obtenir les outils de navigateur maintenant** : quittez et relancez avec `claude --chrome` dans votre shell.

330* **Pour obtenir les outils de navigateur dans les sessions suivantes** : exécutez `/chrome` dans le prompt de Claude Code et sélectionnez [**Enabled by default**](#enable-chrome-by-default). Cela s'applique aux sessions que vous démarrez ensuite, et non à celle en cours.

331* **Pour supprimer l'avertissement sans outils de navigateur** : supprimez la ligne `CLAUDE_CODE_ENABLE_CFC` du fichier de paramètres du projet.

332 

312<h3 id="browser-not-responding">333<h3 id="browser-not-responding">

313 Le navigateur ne répond pas334 Le navigateur ne répond pas

314</h3>335</h3>


325 346 

326Le service worker de l'extension Chrome peut devenir inactif lors de sessions prolongées, ce qui rompt la connexion. Si les outils du navigateur cessent de fonctionner après une période d'inactivité, exécutez `/chrome` et sélectionnez « Reconnect extension ».347Le service worker de l'extension Chrome peut devenir inactif lors de sessions prolongées, ce qui rompt la connexion. Si les outils du navigateur cessent de fonctionner après une période d'inactivité, exécutez `/chrome` et sélectionnez « Reconnect extension ».

327 348 

349Lorsque vous exécutez `/chrome`, vérifiez sa ligne `Status`. Si elle indique « Not connected », la connexion propre de la session en cours à Chrome a échoué. Sélectionnez « Reconnect extension » pour redémarrer cette connexion. Une fois la connexion établie, la page de reconnexion de l'extension s'ouvre dans Chrome. Avant la v2.1.290, « Reconnect extension » ouvrait uniquement cette page et ne redémarrait pas une connexion échouée ; si les outils de navigateur ne reviennent pas sur une version antérieure, mettez donc à jour Claude Code.

350 

351<h3 id="extension-signed-in-to-a-different-organization">

352 Extension connectée à une organisation différente

353</h3>

354 

355Si vous appartenez à plusieurs organisations claude.ai, l'extension doit être connectée à la même organisation que Claude Code. Si elles diffèrent, les outils de navigateur de Claude renvoient « Browser extension is not connected », même lorsque les deux utilisent le même compte claude.ai.

356 

357Pour voir à quelle organisation Claude Code est connecté, exécutez [`/status`](/docs/fr/commands) dans le prompt de Claude Code et lisez la ligne `Organization`.

358 

359<Warning>

360 Si vous vous déconnectez de l'extension, vous perdez les raccourcis et les tâches planifiées qui y sont enregistrés. Essayez d'abord les autres solutions de la section [Messages d'erreur courants](#common-error-messages).

361</Warning>

362 

363Pour changer l'organisation de l'extension, déconnectez-vous dans les paramètres de l'extension, puis reconnectez-vous et sélectionnez l'organisation qu'affiche `/status`.

364 

328<h3 id="windows-specific-issues">365<h3 id="windows-specific-issues">

329 Problèmes spécifiques à Windows366 Problèmes spécifiques à Windows

330</h3>367</h3>


343 380 

344| Erreur | Cause | Solution |381| Erreur | Cause | Solution |

345| - | - | - |382| - | - | - |

346| « Browser extension is not connected » | L'hôte de messagerie native ne peut pas atteindre l'extension, ou la liste d'adresses IP autorisées de votre organisation rejette la connexion à `bridge.claudeusercontent.com` | Vérifiez que l'extension est connectée au même compte claude.ai que Claude Code, redémarrez Chrome et Claude Code, puis exécutez `/chrome` pour reconnecter. Si votre organisation utilise une liste d'adresses IP autorisées et que l'erreur persiste, consultez [Listes d'adresses IP autorisées et sortie proxy de l'organisation](/docs/fr/network-config#organization-ip-allowlists-and-proxy-egress) |383| « Browser extension is not connected » | L'extension n'est pas installée et en cours d'exécution dans Chrome, l'extension est connectée à un compte ou une organisation claude.ai différents de ceux de Claude Code, ou la liste d'autorisation d'adresses IP de votre organisation rejette la connexion à `bridge.claudeusercontent.com` | Vérifiez que l'extension est connectée au même compte claude.ai et à la même [organisation](#extension-signed-in-to-a-different-organization) que Claude Code, redémarrez Chrome et Claude Code, puis exécutez `/chrome` pour reconnecter. Si votre organisation utilise une liste d'autorisation d'adresses IP et que l'erreur persiste, consultez [Listes d'adresses IP autorisées et sortie proxy de l'organisation](/docs/fr/network-config#organization-ip-allowlists-and-proxy-egress) |

347| Extension shows "Not detected" in `/chrome` | L'extension Chrome n'est pas installée ou est désactivée | Installez ou activez l'extension dans `chrome://extensions` |384| Extension shows "Not detected" in `/chrome` | L'extension Chrome n'est pas installée ou est désactivée | Installez ou activez l'extension dans `chrome://extensions` |

348| « No tab available » | Claude a tenté d'agir avant qu'un onglet soit prêt | Demandez à Claude de créer un nouvel onglet et réessayez |385| « No tab available » | Claude a tenté d'agir avant qu'un onglet soit prêt | Demandez à Claude de créer un nouvel onglet et réessayez |

349| « Receiving end does not exist » | Le service worker de l'extension est devenu inactif | Exécutez `/chrome` et sélectionnez « Reconnect extension » |386| « Receiving end does not exist » | Le service worker de l'extension est devenu inactif | Exécutez `/chrome` et sélectionnez « Reconnect extension » |

Details

1237 1237 

1238Le CLI envoie des métriques, des logs et, lorsqu'elles sont activées, 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.1238Le CLI envoie des métriques, des logs et, lorsqu'elles sont activées, 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.

1239 1239 

1240Dans les sessions connectées via `/login`, le CLI marque 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 des coûts et de l'utilisation par développeur fonctionne donc sans configuration côté développeur.1240Dans les sessions connectées via `/login`, le CLI marque chaque exportation avec l'identité de l'utilisateur authentifié, lue dans le JWT émis par la passerelle : les attributs `user.id`, `user.email` et `user.groups`. L'attribution des coûts et de l'utilisation par développeur fonctionne donc sans aucune configuration côté développeur. Les événements que Claude Code consigne avant que le développeur ne se connecte [ne portent pas cette identité](/docs/fr/monitoring-usage#standard-attributes). Pour savoir quel attribut suit une modification des groupes d'un développeur, consultez [Modifications de groupes pendant une session ouverte](#group-changes-during-an-open-session).

1241 1241 

1242[Claude Desktop](#claude-desktop-overlay) et les sessions Cowork connectées via la passerelle marquent 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, de Desktop et de Cowork avec une seule requête sur `user.email` ou `user.groups`. `user.groups` est la liste des groupes IdP séparés par des virgules.1242[Claude Desktop](#claude-desktop-overlay) et les sessions Cowork connectées via la passerelle marquent 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, de Desktop et de Cowork avec une seule requête sur `user.email` ou `user.groups`. `user.groups` est la liste des groupes IdP séparés par des virgules.

1243 1243 


1347 1347 

1348Claude Code copie également chaque étiquette sur chaque point de données de métrique, afin que vous puissiez filtrer les métriques par celle-ci dans un backend qui n'indexe pas les attributs de ressource. Pour désactiver cette copie, consultez [Contrôle de la cardinalité des métriques](/docs/fr/monitoring-usage#metrics-cardinality-control).1348Claude Code copie également chaque étiquette sur chaque point de données de métrique, afin que vous puissiez filtrer les métriques par celle-ci dans un backend qui n'indexe pas les attributs de ressource. Pour désactiver cette copie, consultez [Contrôle de la cardinalité des métriques](/docs/fr/monitoring-usage#metrics-cardinality-control).

1349 1349 

1350<h4 id="group-changes-during-an-open-session">

1351 Modifications de groupes pendant une session ouverte

1352</h4>

1353 

1354Les sessions de terminal placent `user.groups` sur la ressource OTLP, ainsi que sur chaque point de données de métrique et chaque événement. Si les groupes d'un développeur changent pendant qu'une session est ouverte, les points de données et les événements relatifs à l'utilisation postérieure au prochain [rafraîchissement silencieux](#session) portent les nouveaux groupes. La ressource conserve les anciens groupes jusqu'à ce que le développeur redémarre Claude Code ; regroupez donc par l'attribut du point de données ou de l'événement.

1355 

1356Si vous activez `resource_to_telemetry_conversion` dans l'exportateur Prometheus remote write de l'OpenTelemetry Collector, l'exportateur remplace le `user.groups` de chaque point de données par celui de la ressource, de sorte que chaque point de données affiche les anciens groupes. Pour conserver la valeur du point de données, supprimez `user.groups` de la ressource en amont de cet exportateur.

1357 

1358Ce processeur `resource` de l'OpenTelemetry Collector supprime l'attribut dans les pipelines qui le listent :

1359 

1360```yaml theme={null}

1361processors:

1362 resource/drop-user-groups:

1363 attributes:

1364 - key: user.groups

1365 action: delete

1366```

1367 

1368Après avoir ajouté `resource/drop-user-groups` aux `processors` du pipeline de métriques, chaque série porte le libellé `user_groups` issu de son propre point de données.

1369 

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

1351 Exporter directement vers votre collecteur1371 Exporter directement vers votre collecteur

1352</h4>1372</h4>

Details

516 Télémétrie516 Télémétrie

517</h2>517</h2>

518 518 

519La passerelle vous donne des métriques d'utilisation par développeur sans aucune configuration OTEL par machine. Claude Code émet des métriques, des journaux et des traces OpenTelemetry (OTLP) optionnelles ; [Monitoring usage](/docs/fr/monitoring-usage) couvre tout ce que le CLI rapporte. Dans les sessions connectées via `/login`, le CLI marque chaque export avec les attributs d'identité IdP authentifiés `user.id`, `user.email` et `user.groups`, de sorte que l'utilisation s'accumule par développeur.519La passerelle vous donne des métriques d'utilisation par développeur sans aucune configuration OTEL par machine. Claude Code émet des métriques, des journaux et des traces OpenTelemetry (OTLP) optionnelles ; [Monitoring usage](/docs/fr/monitoring-usage) couvre tout ce que le CLI rapporte. Dans les sessions connectées via `/login`, le CLI [marque chaque export](/docs/fr/monitoring-usage#standard-attributes) avec les attributs d'identité IdP authentifiés `user.id`, `user.email` et `user.groups`, de sorte que l'utilisation s'accumule par développeur.

520 520 

521La passerelle elle-même est un relais OTLP authentifié. Définissez [`telemetry.forward_to`](/docs/fr/claude-apps-gateway-config#telemetry) avec `listen.public_url`, et elle pousse les paramètres de l'exportateur OTEL à chaque client connecté et transfère leur trafic OTLP verbatim à chaque destination que vous listez. Chaque destination opte pour les métriques, les journaux et les traces indépendamment, et la valeur par défaut est les métriques uniquement ; consultez la [référence `telemetry`](/docs/fr/claude-apps-gateway-config#telemetry) pour les champs par signal et leurs compromis de sensibilité. La passerelle ne met pas en buffer, n'agrège pas et ne stocke pas la télémétrie, donc l'endroit où les données arrivent dépend entièrement de la configuration de l'exportateur du collecteur.521La passerelle elle-même est un relais OTLP authentifié. Définissez [`telemetry.forward_to`](/docs/fr/claude-apps-gateway-config#telemetry) avec `listen.public_url`, et elle pousse les paramètres de l'exportateur OTEL à chaque client connecté et transfère leur trafic OTLP verbatim à chaque destination que vous listez. Chaque destination opte pour les métriques, les journaux et les traces indépendamment, et la valeur par défaut est les métriques uniquement ; consultez la [référence `telemetry`](/docs/fr/claude-apps-gateway-config#telemetry) pour les champs par signal et leurs compromis de sensibilité. La passerelle ne met pas en buffer, n'agrège pas et ne stocke pas la télémétrie, donc l'endroit où les données arrivent dépend entièrement de la configuration de l'exportateur du collecteur.

522 522 

Details

91 Depuis le CLI, le transfert de session est unidirectionnel : vous pouvez extraire des sessions cloud dans votre terminal avec `--teleport`, mais vous ne pouvez pas envoyer une session terminal existante vers le cloud. Le flag `--cloud` avec une description de tâche crée une nouvelle session cloud pour votre dépôt actuel ; avec `-p` et un ID de session ou une URL claude.ai/code, il [met plutôt en file d'attente un message dans cette session existante](/docs/fr/claude-code-on-the-web#send-follow-ups-from-the-cli). L'[application de bureau](/docs/fr/desktop#continue-in-another-surface) peut envoyer vers le cloud une session locale de son onglet Code depuis son menu **Ouvrir dans**.91 Depuis le CLI, le transfert de session est unidirectionnel : vous pouvez extraire des sessions cloud dans votre terminal avec `--teleport`, mais vous ne pouvez pas envoyer une session terminal existante vers le cloud. Le flag `--cloud` avec une description de tâche crée une nouvelle session cloud pour votre dépôt actuel ; avec `-p` et un ID de session ou une URL claude.ai/code, il [met plutôt en file d'attente un message dans cette session existante](/docs/fr/claude-code-on-the-web#send-follow-ups-from-the-cli). L'[application de bureau](/docs/fr/desktop#continue-in-another-surface) peut envoyer vers le cloud une session locale de son onglet Code depuis son menu **Ouvrir dans**.

92</Note>92</Note>

93 93 

94<h3 id="from-terminal-to-cloud">94<span id="from-terminal-to-cloud" />

95 Du terminal vers le cloud95 

96<h3 id="start-a-cloud-session-from-your-terminal">

97 Démarrer une session cloud depuis votre terminal

96</h3>98</h3>

97 99 

98Démarrez une session cloud depuis la ligne de commande avec le flag `--cloud` :100Démarrez une session cloud depuis la ligne de commande avec le flag `--cloud` :


215 217 

216Si l'envoi échoue, consultez [Erreurs lors de l'envoi vers une session cloud](#errors-when-sending-to-a-cloud-session).218Si l'envoi échoue, consultez [Erreurs lors de l'envoi vers une session cloud](#errors-when-sending-to-a-cloud-session).

217 219 

218<h3 id="from-cloud-to-terminal">220<span id="from-cloud-to-terminal" />

219 Du cloud vers le terminal221 

222<h3 id="continue-a-cloud-session-in-your-terminal">

223 Continuer une session cloud dans votre terminal

220</h3>224</h3>

221 225 

222Extrayez une session cloud dans votre terminal en utilisant l'une de ces options :226Extrayez une session cloud dans votre terminal en utilisant l'une de ces options :


483Rouvrez la session à partir de [claude.ai/code](https://claude.ai/code) pour mettre en service une VM fraîche :487Rouvrez la session à partir de [claude.ai/code](https://claude.ai/code) pour mettre en service une VM fraîche :

484 488 

485* **Restauré** : votre historique de conversation489* **Restauré** : votre historique de conversation

486* **Non restauré** : le travail en arrière-plan qui était toujours en cours d'exécution lorsque la VM a été réclamée, comme les sous-agents et les commandes shell490* **Non restauré** : le travail en arrière-plan qui était toujours en cours d'exécution lorsque la VM a été réclamée, comme les sous-agents et les commandes shell, ainsi que le réveil en attente d'une [`/loop` à rythme autonome](/docs/fr/scheduled-tasks#let-claude-choose-the-interval). Pour relancer la boucle, exécutez à nouveau `/loop`.

487 491 

488<h2 id="limitations">492<h2 id="limitations">

489 Limitations493 Limitations

Details

489* **Routines** : quand vous demandez du travail programmé dans un projet, Claude crée une [routine](/docs/fr/routines) qui s'exécute en tant que threads dans ce projet et apparaît sur son onglet **Routines**. Les routines que vous créez en dehors d'un projet continuent à fonctionner seules.489* **Routines** : quand vous demandez du travail programmé dans un projet, Claude crée une [routine](/docs/fr/routines) qui s'exécute en tant que threads dans ce projet et apparaît sur son onglet **Routines**. Les routines que vous créez en dehors d'un projet continuent à fonctionner seules.

490* **Remote Control** : [Remote Control](/docs/fr/remote-control) connecte claude.ai à une session Claude Code s'exécutant sur votre machine. Quand vous demandez à Claude dans un projet d'exécuter un thread sur votre ordinateur, le projet [utilise Remote Control pour le faire](#run-a-thread-on-your-own-computer).490* **Remote Control** : [Remote Control](/docs/fr/remote-control) connecte claude.ai à une session Claude Code s'exécutant sur votre machine. Quand vous demandez à Claude dans un projet d'exécuter un thread sur votre ordinateur, le projet [utilise Remote Control pour le faire](#run-a-thread-on-your-own-computer).

491* **Sessions locales et agent view** : une session que vous démarrez vous-même dans votre terminal, IDE ou l'environnement local de l'application de bureau ne peut pas être ajoutée à un projet. [Agent view](/docs/fr/agent-view) est un écran pour suivre plusieurs sessions locales côte à côte, et vous démarrez toujours chacune et lui donnez sa tâche vous-même.491* **Sessions locales et agent view** : une session que vous démarrez vous-même dans votre terminal, IDE ou l'environnement local de l'application de bureau ne peut pas être ajoutée à un projet. [Agent view](/docs/fr/agent-view) est un écran pour suivre plusieurs sessions locales côte à côte, et vous démarrez toujours chacune et lui donnez sa tâche vous-même.

492* **Worktrees** : un [worktree](/docs/fr/worktrees) donne à chaque session locale sa propre copie de travail d'un référentiel pour que les sessions parallèles sur votre machine ne s'écrasent pas mutuellement. Les threads cloud n'en ont pas besoin : chacun clone ses référentiels dans son propre sandbox cloud et travaille sur sa propre branche.492* **Worktrees** : un [worktree](/docs/fr/worktrees) donne à chaque session locale sa propre copie de travail d'un dépôt. Les threads cloud n'en ont pas besoin : chacun clone ses dépôts dans son propre sandbox cloud et travaille sur sa propre branche.

493* **Équipes d'agents** : une [équipe d'agents](/docs/fr/agent-teams) est une session qui démarre des sessions de coéquipiers pour une seule tâche, sur votre machine ou à l'intérieur d'une session cloud, et se termine avec cette tâche.493* **Équipes d'agents** : une [équipe d'agents](/docs/fr/agent-teams) est une session qui démarre des sessions de coéquipiers pour une seule tâche, sur votre machine ou à l'intérieur d'une session cloud, et se termine avec cette tâche.

494* **Subagents** : un [subagent](/docs/fr/sub-agents) s'exécute à l'intérieur d'une session, effectue une tâche secondaire dans sa propre fenêtre de contexte, et retourne un résumé à cette session. Les threads d'un projet sont des sessions complètes que Claude démarre et qui rendent compte à la conversation du projet, et un thread peut toujours utiliser des subagents pour ses propres tâches secondaires.494* **Subagents** : un [subagent](/docs/fr/sub-agents) s'exécute à l'intérieur d'une session, effectue une tâche secondaire dans sa propre fenêtre de contexte, et retourne un résumé à cette session. Les threads d'un projet sont des sessions complètes que Claude démarre et qui rendent compte à la conversation du projet, et un thread peut toujours utiliser des subagents pour ses propres tâches secondaires.

495* **Projects dans le chat claude.ai et Cowork** : l'[expérience Projects antérieure](https://support.claude.com/en/articles/9517075-what-are-projects), qui groupe les conversations et les fichiers de référence sans threads ni coordinateur. Ces projets continuent à fonctionner comme ils le font aujourd'hui jusqu'à ce que l'expérience repensée les atteigne.495* **Projects dans le chat claude.ai et Cowork** : l'[expérience Projects antérieure](https://support.claude.com/en/articles/9517075-what-are-projects), qui groupe les conversations et les fichiers de référence sans threads ni coordinateur. Ces projets continuent à fonctionner comme ils le font aujourd'hui jusqu'à ce que l'expérience repensée les atteigne.

Details

28| `claude auth logout` | Se déconnecter de votre compte Anthropic | `claude auth logout` |28| `claude auth logout` | Se déconnecter de votre compte Anthropic | `claude auth logout` |

29| `claude auth status` | Afficher l'état d'authentification en JSON. Utilisez `--text` pour une sortie lisible par l'homme. Quitte avec le code 0 si connecté, 1 sinon. Le JSON inclut un champ `configDirectory` nommant le [répertoire de configuration](/docs/fr/claude-directory) que l'interface de ligne de commande utilise. Le champ nécessite Claude Code v2.1.268 ou ultérieur. Le champ `authMethod` du JSON prend l'une des valeurs `none`, `claude.ai`, `oauth_token`, `api_key`, `api_key_helper` ou `third_party` | `claude auth status` |29| `claude auth status` | Afficher l'état d'authentification en JSON. Utilisez `--text` pour une sortie lisible par l'homme. Quitte avec le code 0 si connecté, 1 sinon. Le JSON inclut un champ `configDirectory` nommant le [répertoire de configuration](/docs/fr/claude-directory) que l'interface de ligne de commande utilise. Le champ nécessite Claude Code v2.1.268 ou ultérieur. Le champ `authMethod` du JSON prend l'une des valeurs `none`, `claude.ai`, `oauth_token`, `api_key`, `api_key_helper` ou `third_party` | `claude auth status` |

30| `claude agents` | Ouvrir la [vue agent](/docs/fr/agent-view) pour surveiller et dispatcher les sessions d'arrière-plan parallèles. Utilisez `--cwd <path>` pour afficher uniquement les sessions démarrées sous ce répertoire, ou `--json` pour imprimer les sessions actives en tant que tableau JSON pour les scripts (`--json --all` inclut également les sessions d'arrière-plan terminées). Passez `--permission-mode`, `--model`, `--effort`, ou `--agent` pour définir les [valeurs par défaut pour les sessions dispatched](/docs/fr/agent-view#permission-mode-model-and-effort). Accepte `--settings`, `--add-dir`, `--plugin-dir`, et `--mcp-config` comme la commande `claude` de niveau supérieur. L'ouverture de la vue agent nécessite un terminal interactif | `claude agents --json` |30| `claude agents` | Ouvrir la [vue agent](/docs/fr/agent-view) pour surveiller et dispatcher les sessions d'arrière-plan parallèles. Utilisez `--cwd <path>` pour afficher uniquement les sessions démarrées sous ce répertoire, ou `--json` pour imprimer les sessions actives en tant que tableau JSON pour les scripts (`--json --all` inclut également les sessions d'arrière-plan terminées). Passez `--permission-mode`, `--model`, `--effort`, ou `--agent` pour définir les [valeurs par défaut pour les sessions dispatched](/docs/fr/agent-view#permission-mode-model-and-effort). Accepte `--settings`, `--add-dir`, `--plugin-dir`, et `--mcp-config` comme la commande `claude` de niveau supérieur. L'ouverture de la vue agent nécessite un terminal interactif | `claude agents --json` |

31| `claude attach <id\|name>` | Attacher à une [session d'arrière-plan](/docs/fr/agent-view#manage-sessions-from-the-shell) dans ce terminal. Passer une partie du nom d'une session en cours d'exécution à la place de l'ID nécessite Claude Code v2.1.290 ou ultérieur | `claude attach 7c5dcf5d` |31| `claude attach <id\|name>` | Attacher à une [session d'arrière-plan](/docs/fr/agent-view#manage-sessions-from-the-shell) dans ce terminal. Passer une partie du nom d'une session à la place de l'ID nécessite Claude Code v2.1.290 ou ultérieur | `claude attach 7c5dcf5d` |

32| `claude auto-mode defaults` | Imprimer les règles du classificateur [mode auto](/docs/fr/permission-modes#eliminate-prompts-with-auto-mode) intégrées en JSON. Utilisez `claude auto-mode config` pour voir votre configuration effective avec les paramètres appliqués. `--label <prefix>` imprime uniquement les règles dont l'étiquette commence par ce préfixe, correspondance insensible à la casse. Nécessite Claude Code v2.1.208 ou ultérieur | `claude auto-mode defaults --label 'Git Destructive'` |32| `claude auto-mode defaults` | Imprimer les règles du classificateur [mode auto](/docs/fr/permission-modes#eliminate-prompts-with-auto-mode) intégrées en JSON. Utilisez `claude auto-mode config` pour voir votre configuration effective avec les paramètres appliqués. `--label <prefix>` imprime uniquement les règles dont l'étiquette commence par ce préfixe, correspondance insensible à la casse. Nécessite Claude Code v2.1.208 ou ultérieur | `claude auto-mode defaults --label 'Git Destructive'` |

33| `claude auto-mode reset` | Restaurer la configuration [mode auto](/docs/fr/permission-modes#eliminate-prompts-with-auto-mode) par défaut en supprimant la section `autoMode` de votre fichier de paramètres utilisateur. Demande une confirmation avant d'écrire ; passez `-y`/`--yes` pour ignorer la demande. Les règles des [paramètres gérés](/docs/fr/server-managed-settings) ou du flag `--settings` s'appliquent toujours. Nécessite Claude Code v2.1.212 ou ultérieur. Voir [Inspecter les valeurs par défaut et votre configuration effective](/docs/fr/auto-mode-config#inspect-the-defaults-and-your-effective-config) | `claude auto-mode reset --yes` |33| `claude auto-mode reset` | Restaurer la configuration [mode auto](/docs/fr/permission-modes#eliminate-prompts-with-auto-mode) par défaut en supprimant la section `autoMode` de votre fichier de paramètres utilisateur. Demande une confirmation avant d'écrire ; passez `-y`/`--yes` pour ignorer la demande. Les règles des [paramètres gérés](/docs/fr/server-managed-settings) ou du flag `--settings` s'appliquent toujours. Nécessite Claude Code v2.1.212 ou ultérieur. Voir [Inspecter les valeurs par défaut et votre configuration effective](/docs/fr/auto-mode-config#inspect-the-defaults-and-your-effective-config) | `claude auto-mode reset --yes` |

34| `claude daemon logs` | Suivre le fichier de log du [superviseur](/docs/fr/agent-view#the-supervisor-process) de session d'arrière-plan, `~/.claude/daemon.log`, en imprimant les nouvelles lignes à mesure qu'elles arrivent jusqu'à ce que vous appuyiez sur `Ctrl+C` | `claude daemon logs` |34| `claude daemon logs` | Suivre le fichier de log du [superviseur](/docs/fr/agent-view#the-supervisor-process) de session d'arrière-plan, `~/.claude/daemon.log`, en imprimant les nouvelles lignes à mesure qu'elles arrivent jusqu'à ce que vous appuyiez sur `Ctrl+C` | `claude daemon logs` |


37| `claude daemon stop --any` | Arrêter le [superviseur](/docs/fr/agent-view#the-supervisor-process) de session d'arrière-plan et les sessions qu'il héberge. Passez `--keep-workers` pour laisser les sessions d'arrière-plan en cours d'exécution afin que le superviseur suivant se reconnecte à elles. `--any` confirme l'arrêt d'un superviseur à la demande, qui est la valeur par défaut. Utilisez ceci pour récupérer d'un [superviseur qui ne répond pas](/docs/fr/agent-view#agent-view-says-the-background-service-did-not-respond) | `claude daemon stop --any --keep-workers` |37| `claude daemon stop --any` | Arrêter le [superviseur](/docs/fr/agent-view#the-supervisor-process) de session d'arrière-plan et les sessions qu'il héberge. Passez `--keep-workers` pour laisser les sessions d'arrière-plan en cours d'exécution afin que le superviseur suivant se reconnecte à elles. `--any` confirme l'arrêt d'un superviseur à la demande, qui est la valeur par défaut. Utilisez ceci pour récupérer d'un [superviseur qui ne répond pas](/docs/fr/agent-view#agent-view-says-the-background-service-did-not-respond) | `claude daemon stop --any --keep-workers` |

38| `claude doctor` | Imprimer les diagnostics d'installation et de paramètres en lecture seule depuis le terminal sans démarrer une session, y compris la vérification de la santé de l'installation, les erreurs de validation du fichier de paramètres, et l'éligibilité à Remote Control. Pour la vérification de configuration en session qui peut également appliquer des correctifs, exécutez [`/doctor`](/docs/fr/commands#all-commands) | `claude doctor` |38| `claude doctor` | Imprimer les diagnostics d'installation et de paramètres en lecture seule depuis le terminal sans démarrer une session, y compris la vérification de la santé de l'installation, les erreurs de validation du fichier de paramètres, et l'éligibilité à Remote Control. Pour la vérification de configuration en session qui peut également appliquer des correctifs, exécutez [`/doctor`](/docs/fr/commands#all-commands) | `claude doctor` |

39| `claude import [source]` | Démarrer une session interactive qui exécute [`/import`](/docs/fr/commands#all-commands) pour apporter la configuration d'autres agents de codage dans Claude Code. Accepte les mêmes options `--dry-run` et `--yes` que la commande. Non disponible sur Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry, ou Claude Platform sur AWS. Également indisponible quand vous désactivez [la récupération des feature flags](/docs/fr/env-vars#features-that-need-feature-flag-fetching). Nécessite Claude Code v2.1.213 ou ultérieur | `claude import codex --dry-run` |39| `claude import [source]` | Démarrer une session interactive qui exécute [`/import`](/docs/fr/commands#all-commands) pour apporter la configuration d'autres agents de codage dans Claude Code. Accepte les mêmes options `--dry-run` et `--yes` que la commande. Non disponible sur Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry, ou Claude Platform sur AWS. Également indisponible quand vous désactivez [la récupération des feature flags](/docs/fr/env-vars#features-that-need-feature-flag-fetching). Nécessite Claude Code v2.1.213 ou ultérieur | `claude import codex --dry-run` |

40| `claude logs <id\|name>` | Imprimer la sortie récente d'une [session d'arrière-plan](/docs/fr/agent-view#manage-sessions-from-the-shell). Passer une partie du nom d'une session en cours d'exécution à la place de l'ID nécessite Claude Code v2.1.290 ou ultérieur | `claude logs 7c5dcf5d` |40| `claude logs <id\|name>` | Imprimer la sortie récente d'une [session d'arrière-plan](/docs/fr/agent-view#manage-sessions-from-the-shell). Passer une partie du nom d'une session à la place de l'ID nécessite Claude Code v2.1.290 ou ultérieur | `claude logs 7c5dcf5d` |

41| `claude mcp` | Configurer les serveurs Model Context Protocol (MCP) | Voir la [documentation Claude Code MCP](/docs/fr/mcp). |41| `claude mcp` | Configurer les serveurs Model Context Protocol (MCP) | Voir la [documentation Claude Code MCP](/docs/fr/mcp). |

42| `claude mcp login <name>` | Exécuter le flux OAuth d'un serveur MCP configuré sans ouvrir le panneau interactif `/mcp`. Fonctionne pour les serveurs HTTP, SSE et les connecteurs claude.ai. Ajoutez `--no-browser` sur SSH pour imprimer l'URL d'autorisation au lieu d'ouvrir un navigateur, puis collez l'URL de redirection à l'invite. Voir [S'authentifier à partir de la ligne de commande](/docs/fr/mcp#authenticate-from-the-command-line) | `claude mcp login sentry` |42| `claude mcp login <name>` | Exécuter le flux OAuth d'un serveur MCP configuré sans ouvrir le panneau interactif `/mcp`. Fonctionne pour les serveurs HTTP, SSE et les connecteurs claude.ai. Ajoutez `--no-browser` sur SSH pour imprimer l'URL d'autorisation au lieu d'ouvrir un navigateur. Pour un serveur HTTP ou SSE, collez l'URL de redirection à l'invite. Pour un connecteur claude.ai, voir [Autoriser à nouveau un connecteur depuis votre shell](/docs/fr/remote-control#authorize-a-connector-again-from-your-shell). Voir [S'authentifier à partir de la ligne de commande](/docs/fr/mcp#authenticate-from-the-command-line) | `claude mcp login sentry` |

43| `claude mcp logout <name>` | Effacer les identifiants OAuth stockés pour un serveur MCP | `claude mcp logout sentry` |43| `claude mcp logout <name>` | Effacer les identifiants OAuth stockés pour un serveur MCP | `claude mcp logout sentry` |

44| `claude plugin` | Gérer les [plugins](/docs/fr/plugins/overview) Claude Code. Alias : `claude plugins`. Voir la [référence des plugins](/docs/fr/plugins/cli-reference#claude-plugin-commands) pour les sous-commandes | `claude plugin install code-review@claude-plugins-official` |44| `claude plugin` | Gérer les [plugins](/docs/fr/plugins/overview) Claude Code. Alias : `claude plugins`. Voir la [référence des plugins](/docs/fr/plugins/cli-reference#claude-plugin-commands) pour les sous-commandes | `claude plugin install code-review@claude-plugins-official` |

45| `claude purge [path]` | Supprimer tout l'état local de Claude Code pour un projet : transcriptions, listes de tâches, journaux de débogage, historique des modifications de fichiers, lignes d'historique des prompts, et l'entrée du projet dans `~/.claude.json`. Omettez `[path]` pour choisir dans une liste interactive. Flags : `--dry-run` pour prévisualiser, `-y`/`--yes` pour ignorer la confirmation, `-i`/`--interactive` pour confirmer chaque élément, `--all` pour chaque projet. Voir [Effacer les données locales](/docs/fr/claude-directory#clear-local-data) | `claude purge ~/work/repo --dry-run` |45| `claude purge [path]` | Supprimer tout l'état local de Claude Code pour un projet : transcriptions, listes de tâches, journaux de débogage, historique des modifications de fichiers, lignes d'historique des prompts, et l'entrée du projet dans `~/.claude.json`. Omettez `[path]` pour choisir dans une liste interactive. Flags : `--dry-run` pour prévisualiser, `-y`/`--yes` pour ignorer la confirmation, `-i`/`--interactive` pour confirmer chaque élément, `--all` pour chaque projet. Voir [Effacer les données locales](/docs/fr/claude-directory#clear-local-data) | `claude purge ~/work/repo --dry-run` |


106| `--input-format` | Spécifier le format d'entrée pour le mode impression (options : `text`, `stream-json`) | `claude -p --output-format json --input-format stream-json` |106| `--input-format` | Spécifier le format d'entrée pour le mode impression (options : `text`, `stream-json`) | `claude -p --output-format json --input-format stream-json` |

107| `--json-schema` | Obtenir une sortie JSON validée correspondant à un JSON Schema après que l'agent ait terminé son flux de travail (mode impression uniquement). Voir [structured outputs](/docs/fr/agent-sdk/structured-outputs). Claude Code quitte avec une erreur sur un schéma invalide et accepte le mot-clé `format` comme annotation sans validation côté client | `claude -p --json-schema '{"type":"object","properties":{...}}' "query"` |107| `--json-schema` | Obtenir une sortie JSON validée correspondant à un JSON Schema après que l'agent ait terminé son flux de travail (mode impression uniquement). Voir [structured outputs](/docs/fr/agent-sdk/structured-outputs). Claude Code quitte avec une erreur sur un schéma invalide et accepte le mot-clé `format` comme annotation sans validation côté client | `claude -p --json-schema '{"type":"object","properties":{...}}' "query"` |

108| `--maintenance` | Exécuter les hooks d'[initialisation](/docs/fr/hooks#setup) avec le matcher `maintenance` avant la session (mode impression uniquement) | `claude -p --maintenance "query"` |108| `--maintenance` | Exécuter les hooks d'[initialisation](/docs/fr/hooks#setup) avec le matcher `maintenance` avant la session (mode impression uniquement) | `claude -p --maintenance "query"` |

109| `--max-budget-usd` | Montant maximum en dollars à dépenser en appels API avant l'arrêt (mode impression uniquement). Claude Code compare le plafond à son [estimation des coûts côté client](/docs/fr/agent-sdk/cost-tracking#estimates-not-billing), qui peut différer de votre facture. Les dépenses des [sous-agents](/docs/fr/sub-agents) comptent dans le plafond. Lorsque vous revenez à une conversation avec `--continue` ou `--resume`, les totaux [restaurés à partir des exécutions antérieures](/docs/fr/agent-sdk/cost-tracking#accumulate-costs-across-multiple-calls) n'y comptent pas. Une fois que les dépenses atteignent le plafond, le lancement d'un autre sous-agent échoue avec `Budget limit reached`, et Claude Code arrête les sous-agents en arrière-plan qui s'exécutent encore ; les comportements d'application du plafond nécessitent Claude Code v2.1.217 ou ultérieur | `claude -p --max-budget-usd 5.00 "query"` |109| `--max-budget-usd` | Arrêter l'exécution une fois que les dépenses estimées en appels API atteignent ce montant (mode impression uniquement). Claude Code compare le plafond à son [estimation des coûts côté client](/docs/fr/agent-sdk/cost-tracking#estimates-not-billing), qui peut différer de votre facture. Les dépenses des [sous-agents](/docs/fr/sub-agents) comptent dans le plafond. Les dépenses peuvent dépasser le plafond, donc [prévoyez une marge](/docs/fr/agent-sdk/agent-loop#budget-headroom). Lorsque vous revenez à une conversation avec `--continue` ou `--resume`, les totaux [restaurés à partir des exécutions antérieures](/docs/fr/agent-sdk/cost-tracking#accumulate-costs-across-multiple-calls) n'y comptent pas. Une fois que les dépenses atteignent le plafond, le lancement d'un autre sous-agent échoue avec `Budget limit reached`, et Claude Code arrête les sous-agents en arrière-plan qui s'exécutent encore ; les comportements d'application du plafond nécessitent Claude Code v2.1.217 ou ultérieur | `claude -p --max-budget-usd 5.00 "query"` |

110| `--max-turns` | Limiter le nombre de tours d'agent (mode impression uniquement). Quitte avec une erreur lorsque la limite est atteinte. Pas de limite par défaut. Avec `--input-format stream-json`, un message toujours en file d'attente lorsque la limite termine un tour reste en file d'attente et démarre un nouveau tour avec sa propre limite | `claude -p --max-turns 3 "query"` |110| `--max-turns` | Limiter le nombre de tours d'agent (mode impression uniquement). Quitte avec une erreur lorsque la limite est atteinte. Pas de limite par défaut. Avec `--input-format stream-json`, un message toujours en file d'attente lorsque la limite termine un tour reste en file d'attente et démarre un nouveau tour avec sa propre limite | `claude -p --max-turns 3 "query"` |

111| `--mcp-config` | Charger les serveurs MCP à partir de fichiers ou de chaînes JSON (séparés par des espaces). Lorsque vous transmettez ce drapeau avec `-p`, Claude Code attend que les serveurs toujours en attente se connectent avant d'exécuter le premier tour, jusqu'au délai d'expiration de démarrage [`MCP_TIMEOUT`](/docs/fr/env-vars), 30 secondes par défaut ; un serveur avec une [liste d'outils mise en cache](/docs/fr/mcp#managing-your-servers) ignore l'attente et se connecte à la première utilisation. L'attente nécessite Claude Code v2.1.221 ou ultérieur | `claude --mcp-config ./mcp.json` |111| `--mcp-config` | Charger les serveurs MCP à partir de fichiers ou de chaînes JSON (séparés par des espaces). Lorsque vous transmettez ce drapeau avec `-p`, Claude Code attend que les serveurs toujours en attente se connectent avant d'exécuter le premier tour, jusqu'au délai d'expiration de démarrage [`MCP_TIMEOUT`](/docs/fr/env-vars), 30 secondes par défaut ; un serveur avec une [liste d'outils mise en cache](/docs/fr/mcp#managing-your-servers) ignore l'attente et se connecte à la première utilisation. L'attente nécessite Claude Code v2.1.221 ou ultérieur | `claude --mcp-config ./mcp.json` |

112| `--model` | Définit le modèle pour la session actuelle avec un [alias de modèle](/docs/fr/model-config#model-aliases) tel que `sonnet`, `opus`, `haiku`, ou `fable`, ou le nom complet d'un modèle. Remplace le paramètre [`model`](/docs/fr/settings-reference#model) et [`ANTHROPIC_MODEL`](/docs/fr/model-config#environment-variables) | `claude --model claude-sonnet-5` |112| `--model` | Définit le modèle pour la session actuelle avec un [alias de modèle](/docs/fr/model-config#model-aliases) tel que `sonnet`, `opus`, `haiku`, ou `fable`, ou le nom complet d'un modèle. Remplace le paramètre [`model`](/docs/fr/settings-reference#model) et [`ANTHROPIC_MODEL`](/docs/fr/model-config#environment-variables) | `claude --model claude-sonnet-5` |

Details

307| | Disponible dans les sessions cloud | Pourquoi |307| | Disponible dans les sessions cloud | Pourquoi |

308| :- | :- | :- |308| :- | :- | :- |

309| Votre `CLAUDE.md` du dépôt | Oui | Partie du clone |309| Votre `CLAUDE.md` du dépôt | Oui | Partie du clone |

310| Vos hooks `.claude/settings.json` du dépôt et règles de permission | Oui, dans une session avec un seul dépôt | Partie du clone. Une session avec plusieurs dépôts, incluant un fil de [projet](/docs/fr/claude-projects#what-threads-pick-up-from-your-repositories), démarre au-dessus des clones et ne les lit pas |310| Vos hooks `.claude/settings.json` du dépôt et règles de permission | Oui, dans une session avec un seul dépôt | Partie du clone. Pour une session avec plusieurs dépôts, consultez [quels paramètres elle lit](/docs/fr/settings#settings-in-cloud-sessions) |

311| Vos serveurs MCP `.mcp.json` du dépôt | Oui, dans une session avec un seul dépôt | Partie du clone, trouvé à partir du répertoire de travail de la session |311| Vos serveurs MCP `.mcp.json` du dépôt | Oui, dans une session avec un seul dépôt | Partie du clone, trouvé à partir du répertoire de travail de la session. Pour un environnement auto-hébergé, consultez [quels paramètres de dépôt s'appliquent](/docs/fr/self-hosted-environments-configuration#repository-settings-in-sessions-with-several-repositories) |

312| Votre `.claude/rules/` du dépôt | Oui | Partie du clone |312| Votre `.claude/rules/` du dépôt | Oui | Partie du clone |

313| Votre `.claude/skills/`, `.claude/agents/`, `.claude/commands/` du dépôt | Oui | Partie du clone |313| Votre `.claude/skills/`, `.claude/agents/`, `.claude/commands/` du dépôt | Oui | Partie du clone |

314| Plugins et marketplaces déclarés dans le `.claude/settings.json` de votre dépôt | Non | Une session cloud n'installe pas les plugins qu'un dépôt active sous [`enabledPlugins`](/docs/fr/settings-reference#enabledplugins), y compris ceux des marketplaces qu'il liste sous [`extraKnownMarketplaces`](/docs/fr/settings-reference#extraknownmarketplaces) |314| Plugins et marketplaces déclarés dans le `.claude/settings.json` de votre dépôt | Non | Une session cloud n'installe pas les plugins qu'un dépôt active sous [`enabledPlugins`](/docs/fr/settings-reference#enabledplugins), y compris ceux des marketplaces qu'il liste sous [`extraKnownMarketplaces`](/docs/fr/settings-reference#extraknownmarketplaces) |


575 575 

576Les crochets SessionStart se comportent de la même manière dans le cloud qu'en local, avec ces mises en garde :576Les crochets SessionStart se comportent de la même manière dans le cloud qu'en local, avec ces mises en garde :

577 577 

578* **Un dépôt par session** : une session avec plusieurs dépôts ne charge pas les crochets du `.claude/settings.json` d'aucun dépôt, donc un crochet SessionStart que vous définissez là ne s'exécute pas. Installez les dépendances pour ces sessions avec un [script de configuration](#setup-scripts) à la place.578* **Un dépôt par session** : dans un environnement hébergé par Anthropic, une session avec plusieurs dépôts ne charge pas les hooks du `.claude/settings.json` d'aucun dépôt, donc un hook SessionStart que vous définissez là ne s'exécute pas. Installez les dépendances pour ces sessions avec un [script de configuration](#setup-scripts) à la place. Pour un environnement auto-hébergé, consultez [les paramètres de quel dépôt s'appliquent](/docs/fr/self-hosted-environments-configuration#repository-settings-in-sessions-with-several-repositories).

579* **Pas de limitation au cloud uniquement** : les crochets s'exécutent dans les sessions locales et cloud. Pour ignorer l'exécution locale, quittez tôt sauf si la variable d'environnement `CLAUDE_CODE_REMOTE` est `true`, de la même manière que le [script d'installation de dépendances](#install-dependencies-with-a-sessionstart-hook) le fait.579* **Pas de limitation au cloud uniquement** : les crochets s'exécutent dans les sessions locales et cloud. Pour ignorer l'exécution locale, quittez tôt sauf si la variable d'environnement `CLAUDE_CODE_REMOTE` est `true`, de la même manière que le [script d'installation de dépendances](#install-dependencies-with-a-sessionstart-hook) le fait.

580* **Nécessite un accès réseau** : les commandes d'installation doivent atteindre les registres de paquets. Si votre environnement utilise un accès réseau **None**, ces crochets échouent. La [liste d'autorisation par défaut](#default-allowed-domains) sous **Trusted** couvre npm, PyPI, RubyGems et crates.io.580* **Nécessite un accès réseau** : les commandes d'installation doivent atteindre les registres de paquets. Si votre environnement utilise un accès réseau **None**, ces crochets échouent. La [liste d'autorisation par défaut](#default-allowed-domains) sous **Trusted** couvre npm, PyPI, RubyGems et crates.io.

581* **Compatibilité proxy** : dans les environnements hébergés par Anthropic, tout le trafic sortant passe par un [proxy de sécurité](#security-proxy), et certains gestionnaires de paquets ne fonctionnent pas correctement avec lui ; Bun est un exemple connu. Dans un [environnement auto-hébergé](/docs/fr/self-hosted-environments-deploy#default-deny-egress), le trafic sortant va via votre propre limite réseau à la place.581* **Compatibilité proxy** : dans les environnements hébergés par Anthropic, tout le trafic sortant passe par un [proxy de sécurité](#security-proxy), et certains gestionnaires de paquets ne fonctionnent pas correctement avec lui ; Bun est un exemple connu. Dans un [environnement auto-hébergé](/docs/fr/self-hosted-environments-deploy#default-deny-egress), le trafic sortant va via votre propre limite réseau à la place.

commands.md +1 −1

Details

111| `/login` | Se connecter à votre compte Anthropic |111| `/login` | Se connecter à votre compte Anthropic |

112| `/logout` | Se déconnecter de votre compte Anthropic |112| `/logout` | Se déconnecter de votre compte Anthropic |

113| `/loop [interval] [prompt]` | **[Skill](/docs/fr/skills#bundled-skills).** Exécuter un prompt à plusieurs reprises pendant que la session reste ouverte. Omettez l'intervalle et Claude [s'auto-règle entre les itérations](/docs/fr/scheduled-tasks#let-claude-choose-the-interval). Omettez le prompt et Claude exécute le [prompt de maintenance intégré](/docs/fr/scheduled-tasks#run-the-built-in-maintenance-prompt) ou votre [`loop.md`](/docs/fr/scheduled-tasks#customize-the-default-prompt-with-loop-md). Exemple : `/loop 5m check if the deploy finished`. Consultez [Exécuter des prompts selon un calendrier](/docs/fr/scheduled-tasks). Alias : `/proactive` |113| `/loop [interval] [prompt]` | **[Skill](/docs/fr/skills#bundled-skills).** Exécuter un prompt à plusieurs reprises pendant que la session reste ouverte. Omettez l'intervalle et Claude [s'auto-règle entre les itérations](/docs/fr/scheduled-tasks#let-claude-choose-the-interval). Omettez le prompt et Claude exécute le [prompt de maintenance intégré](/docs/fr/scheduled-tasks#run-the-built-in-maintenance-prompt) ou votre [`loop.md`](/docs/fr/scheduled-tasks#customize-the-default-prompt-with-loop-md). Exemple : `/loop 5m check if the deploy finished`. Consultez [Exécuter des prompts selon un calendrier](/docs/fr/scheduled-tasks). Alias : `/proactive` |

114| `/mcp [reconnect (<server>\|all)\|enable\|disable [<server>\|all]]` | Gérer les connexions de serveur MCP et l'authentification OAuth. Exécutez sans argument pour ouvrir la liste interactive, ou passez `reconnect`, `enable` ou `disable` avec un nom de serveur ou `all` pour modifier l'état de la connexion sans l'ouvrir. `reconnect all` [réessaie chaque serveur qui a échoué ou nécessite une authentification](/docs/fr/mcp#retry-failed-servers-yourself). Également disponible en mode non interactif (`-p`), où l'exécuter sans argument affiche un résumé textuel de l'état du serveur au lieu d'ouvrir la liste ; nécessite Claude Code v2.1.205 ou ultérieur |114| `/mcp [reconnect (<server>\|all)\|enable\|disable [<server>\|all]]` | Gérer les connexions de serveur MCP et l'authentification OAuth. Exécutez sans argument pour ouvrir la liste interactive, ou passez `reconnect`, `enable` ou `disable` avec un nom de serveur ou `all` pour modifier l'état de la connexion sans l'ouvrir. `reconnect all` [réessaie chaque serveur qui a échoué ou nécessite une authentification](/docs/fr/mcp#retry-failed-servers-yourself). En mode non interactif (`-p`), l'exécuter sans argument affiche un résumé textuel de l'état des serveurs au lieu d'ouvrir la liste ; nécessite Claude Code v2.1.205 ou ultérieur |

115| `/memory` | Modifier les fichiers `CLAUDE.md`, activer ou désactiver la [mémoire automatique](/docs/fr/memory#auto-memory), et afficher les entrées de mémoire automatique |115| `/memory` | Modifier les fichiers `CLAUDE.md`, activer ou désactiver la [mémoire automatique](/docs/fr/memory#auto-memory), et afficher les entrées de mémoire automatique |

116| `/mobile` | Afficher le code QR pour télécharger l'application mobile Claude. Alias : `/ios`, `/android` |116| `/mobile` | Afficher le code QR pour télécharger l'application mobile Claude. Alias : `/ios`, `/android` |

117| `/model [model]` | Basculer le modèle d'IA et l'enregistrer comme votre défaut pour les nouvelles sessions. Pour les modèles qui le supportent, utilisez les flèches gauche/droite pour [ajuster le niveau d'effort](/docs/fr/model-config#adjust-effort-level). Sans argument, ouvre un sélecteur ; appuyez sur `s` sur une ligne pour basculer pour la session actuelle uniquement. Consultez [quand Claude Code vous demande de confirmer le basculement](/docs/fr/prompt-caching#switching-models). Une fois que vous confirmez le basculement, si Claude Code vous le demande, Claude Code applique la modification sans attendre la fin de la réponse actuelle. Avant la v2.1.242, Claude Code décidait à partir d'un feature flag qu'il récupérait d'Anthropic s'il fallait exécuter la commande en milieu de tour ou la mettre en file d'attente jusqu'à la fin du tour, et la mettait toujours en file d'attente dans une session qui ne [récupère pas les feature flags](/docs/fr/env-vars#features-that-need-feature-flag-fetching), comme sur un [fournisseur tiers](/docs/fr/third-party-integrations). Également disponible en mode non interactif (`-p`) avec un argument de modèle au lieu du sélecteur, où il s'applique à la session actuelle uniquement et n'est pas enregistré comme votre défaut ; nécessite Claude Code v2.1.205 ou ultérieur |117| `/model [model]` | Basculer le modèle d'IA et l'enregistrer comme votre défaut pour les nouvelles sessions. Pour les modèles qui le supportent, utilisez les flèches gauche/droite pour [ajuster le niveau d'effort](/docs/fr/model-config#adjust-effort-level). Sans argument, ouvre un sélecteur ; appuyez sur `s` sur une ligne pour basculer pour la session actuelle uniquement. Consultez [quand Claude Code vous demande de confirmer le basculement](/docs/fr/prompt-caching#switching-models). Une fois que vous confirmez le basculement, si Claude Code vous le demande, Claude Code applique la modification sans attendre la fin de la réponse actuelle. Avant la v2.1.242, Claude Code décidait à partir d'un feature flag qu'il récupérait d'Anthropic s'il fallait exécuter la commande en milieu de tour ou la mettre en file d'attente jusqu'à la fin du tour, et la mettait toujours en file d'attente dans une session qui ne [récupère pas les feature flags](/docs/fr/env-vars#features-that-need-feature-flag-fetching), comme sur un [fournisseur tiers](/docs/fr/third-party-integrations). Également disponible en mode non interactif (`-p`) avec un argument de modèle au lieu du sélecteur, où il s'applique à la session actuelle uniquement et n'est pas enregistré comme votre défaut ; nécessite Claude Code v2.1.205 ou ultérieur |

desktop.md +1 −1

Details

396 Travailler en parallèle avec les sessions396 Travailler en parallèle avec les sessions

397</h3>397</h3>

398 398 

399Cliquez 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 dépôts 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 commitiez.399Cliquez 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 dépôts 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).

400 400 

401Pour 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.401Pour 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.

402 402 

env-vars.md +318 −313

Details

21 21 

22Une variable que vous définissez dans votre shell dure pendant cette session de terminal, tandis qu'une variable dans un fichier de paramètres s'applique chaque fois que `claude` s'exécute.22Une variable que vous définissez dans votre shell dure pendant cette session de terminal, tandis qu'une variable dans un fichier de paramètres s'applique chaque fois que `claude` s'exécute.

23 23 

24<h3 id="in-your-shell">24<span id="in-your-shell" />

25 Dans votre shell25 

26<h3 id="set-variables-in-your-shell">

27 Définir les variables dans votre shell

26</h3>28</h3>

27 29 

28Définissez la variable avant de lancer `claude` :30Définissez la variable avant de lancer `claude` :


78 </Tab>80 </Tab>

79</Tabs>81</Tabs>

80 82 

81<h3 id="in-settings-files">83<span id="in-settings-files" />

82 Dans les fichiers de paramètres84 

85<h3 id="set-variables-in-settings-files">

86 Définir les variables dans les fichiers de paramètres

83</h3>87</h3>

84 88 

85Ajoutez les variables sous la clé `env` dans un fichier `settings.json`, en créant le fichier s'il n'existe pas. Claude Code les lit directement depuis le fichier, donc elles prennent effet peu importe comment `claude` a été lancé. Une session en cours applique les valeurs nouvelles et modifiées à son environnement lorsque vous enregistrez le fichier, mais une fonctionnalité qui lit ses variables une seule fois au démarrage, comme [la surveillance OpenTelemetry](/docs/fr/monitoring-usage), conserve ses valeurs de démarrage jusqu'à ce que vous relanciez. Retirer une variable du fichier ne la supprime pas d'une session en cours ; ce retrait prend effet la prochaine fois que vous lancez `claude`.89Ajoutez les variables sous la clé `env` dans un fichier `settings.json`, en créant le fichier s'il n'existe pas. Claude Code les lit directement depuis le fichier, donc elles prennent effet peu importe comment `claude` a été lancé. Une session en cours applique les valeurs nouvelles et modifiées à son environnement lorsque vous enregistrez le fichier, mais une fonctionnalité qui lit ses variables une seule fois au démarrage, comme [la surveillance OpenTelemetry](/docs/fr/monitoring-usage), conserve ses valeurs de démarrage jusqu'à ce que vous relanciez. Retirer une variable du fichier ne la supprime pas d'une session en cours ; ce retrait prend effet la prochaine fois que vous lancez `claude`.


120 124 

121La façon dont une variable d'environnement interagit avec les drapeaux CLI et les commandes en session varie selon la fonctionnalité : `--model` et `/model` remplacent `ANTHROPIC_MODEL`, tandis que `CLAUDE_CODE_EFFORT_LEVEL` remplace `--effort` et `/effort`. Lorsqu'une variable interagit avec une autre source de configuration, sa ligne dans la liste [Variables](#variables) indique la précédence ou établit un lien vers la page qui la documente.125La façon dont une variable d'environnement interagit avec les drapeaux CLI et les commandes en session varie selon la fonctionnalité : `--model` et `/model` remplacent `ANTHROPIC_MODEL`, tandis que `CLAUDE_CODE_EFFORT_LEVEL` remplace `--effort` et `/effort`. Lorsqu'une variable interagit avec une autre source de configuration, sa ligne dans la liste [Variables](#variables) indique la précédence ou établit un lien vers la page qui la documente.

122 126 

123Claude Code lit les variables d'environnement du shell au démarrage, de sorte que les modifications apportées à celles-ci prennent effet la prochaine fois que vous lancez `claude`. Les variables définies sous la clé `env` dans les fichiers de paramètres sont réappliquées à une session en cours lorsque le fichier change, à l'exception du démarrage uniquement décrite dans [Dans les fichiers de paramètres](#in-settings-files).127Claude Code lit les variables d'environnement du shell au démarrage, de sorte que les modifications apportées à celles-ci prennent effet la prochaine fois que vous lancez `claude`. Les variables définies sous la clé `env` dans les fichiers de paramètres sont réappliquées à une session en cours lorsque le fichier change, à l'exception du démarrage uniquement décrite dans [Définir des variables dans les fichiers de paramètres](#in-settings-files).

124 128 

125<h2 id="variables">129<h2 id="variables">

126 Variables130 Variables

127</h2>131</h2>

128 132 

129Les variables numériques telles que les délais d'expiration, les budgets de tokens et les nombres de nouvelles tentatives acceptent la notation scientifique et les séparateurs de chiffres en plus des chiffres simples, sauf lorsque la ligne d'une variable indique qu'elle n'accepte que des chiffres simples. Par exemple, Claude Code lit `2e3` comme 2 000 et `64_000` comme 64 000. Avant la v2.1.211, ces écritures pouvaient définir silencieusement une valeur bien plus petite, comme `1e6` qui définissait un délai d'expiration à 1.133Les variables numériques telles que les délais d'expiration, les budgets de tokens et les nombres de nouvelles tentatives acceptent la notation scientifique et les séparateurs de chiffres en plus des chiffres simples, sauf lorsque la ligne d'une variable indique qu'elle n'accepte que des chiffres simples. Par exemple, Claude Code lit `2e3` comme 2 000 et `64_000` comme 64 000. Avant la v2.1.211, ces écritures pouvaient silencieusement définir une valeur beaucoup plus petite, par exemple `1e6` qui définissait un délai d'expiration à 1.

130 134 

131<Note>135<Note>

132 Pour les variables qui activent ou désactivent un comportement, définissez `1`, `true`, `yes` ou `on` pour l'activer et `0`, `false`, `no` ou `off` pour le désactiver, quelle que soit la casse.136 Pour les variables qui activent ou désactivent un comportement, définissez `1`, `true`, `yes` ou `on` pour l'activer et `0`, `false`, `no` ou `off` pour le désactiver, quelle que soit la casse.

133 137 

134 Certaines variables vérifient uniquement si vous les avez définies ou non : toute valeur non vide, y compris `0`, active donc le comportement, et vous désactivez le comportement en supprimant la variable ou en lui attribuant une valeur vide. Ces variables fonctionnent de cette façon :138 Certaines variables vérifient uniquement si vous les avez définies ou non : toute valeur non vide, y compris `0`, active donc le comportement, et vous le désactivez en supprimant la variable ou en lui attribuant une valeur vide. Les variables suivantes fonctionnent ainsi :

135 139 

136 * `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`140 * `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`

137 * `DISABLE_TELEMETRY`141 * `DISABLE_TELEMETRY`


146| Variable | Objectif |150| Variable | Objectif |

147| :- | :- |151| :- | :- |

148| `ANTHROPIC_API_KEY` | Clé API envoyée dans l'en-tête `X-Api-Key`. Lorsqu'elle est définie, cette clé est utilisée à la place de votre abonnement Claude Pro, Max, Team ou Enterprise, même si vous êtes connecté. En mode non interactif (`-p`), la clé est toujours utilisée lorsqu'elle est présente. En mode interactif, il vous est demandé d'approuver la clé une fois avant qu'elle ne remplace votre abonnement. Pour utiliser plutôt votre abonnement, exécutez `unset ANTHROPIC_API_KEY` |152| `ANTHROPIC_API_KEY` | Clé API envoyée dans l'en-tête `X-Api-Key`. Lorsqu'elle est définie, cette clé est utilisée à la place de votre abonnement Claude Pro, Max, Team ou Enterprise, même si vous êtes connecté. En mode non interactif (`-p`), la clé est toujours utilisée lorsqu'elle est présente. En mode interactif, il vous est demandé d'approuver la clé une fois avant qu'elle ne remplace votre abonnement. Pour utiliser plutôt votre abonnement, exécutez `unset ANTHROPIC_API_KEY` |

149| `ANTHROPIC_AUTH_TOKEN` | Valeur personnalisée pour l'en-tête `Authorization` (la valeur que vous définissez ici sera préfixée par `Bearer `) |153| `ANTHROPIC_AUTH_TOKEN` | Valeur personnalisée pour l'en-tête `Authorization` (la valeur définie ici sera préfixée par `Bearer `) |

150| `ANTHROPIC_AWS_API_KEY` | Clé API d'espace de travail pour [Claude Platform on AWS](/docs/fr/claude-platform-on-aws), générée dans la console AWS. Envoyée en tant que `x-api-key` et prioritaire sur AWS SigV4 |154| `ANTHROPIC_AWS_API_KEY` | Clé API d'espace de travail pour [Claude Platform on AWS](/docs/fr/claude-platform-on-aws), générée dans la console AWS. Envoyée en tant que `x-api-key` et prioritaire sur AWS SigV4 |

151| `ANTHROPIC_AWS_BASE_URL` | Remplace l'URL de l'endpoint [Claude Platform on AWS](/docs/fr/claude-platform-on-aws). À utiliser pour des régions personnalisées ou lors du routage via une [passerelle LLM](/docs/fr/llm-gateway). Valeur par défaut : `https://aws-external-anthropic.{region}.api.aws`. Claude Code détermine la région selon la [même priorité que sur Amazon Bedrock](/docs/fr/amazon-bedrock#3-configure-claude-code) |155| `ANTHROPIC_AWS_BASE_URL` | Remplace l'URL de l'endpoint [Claude Platform on AWS](/docs/fr/claude-platform-on-aws). À utiliser pour des régions personnalisées ou lors du routage via une [passerelle LLM](/docs/fr/llm-gateway). Par défaut : `https://aws-external-anthropic.{region}.api.aws`. Claude Code résout la région avec la [même priorité que sur Amazon Bedrock](/docs/fr/amazon-bedrock#3-configure-claude-code) |

152| `ANTHROPIC_AWS_WORKSPACE_ID` | Requise pour [Claude Platform on AWS](/docs/fr/claude-platform-on-aws). Envoyée avec chaque requête dans l'en-tête `anthropic-workspace-id` |156| `ANTHROPIC_AWS_WORKSPACE_ID` | Requis pour [Claude Platform on AWS](/docs/fr/claude-platform-on-aws). Envoyé avec chaque requête dans l'en-tête `anthropic-workspace-id` |

153| `ANTHROPIC_BASE_URL` | Remplace l'endpoint de l'API pour acheminer les requêtes via un proxy ou une passerelle. Lorsqu'elle pointe vers un hôte qui n'est pas first-party, la [recherche d'outils MCP](/docs/fr/mcp#scale-with-mcp-tool-search) est désactivée par défaut. Définissez `ENABLE_TOOL_SEARCH=true` si votre proxy transmet les blocs `tool_reference`. Depuis la v2.1.196, [Remote Control](/docs/fr/remote-control#requirements) est désactivé lorsque cette variable pointe vers un hôte autre que `api.anthropic.com`, comme c'est le cas sur Amazon Bedrock, Google Cloud's Agent Platform et Microsoft Foundry |157| `ANTHROPIC_BASE_URL` | Remplace l'endpoint de l'API pour router les requêtes via un proxy ou une passerelle. Lorsqu'elle pointe vers un hôte qui n'est pas first-party, [la recherche d'outils MCP](/docs/fr/mcp#scale-with-mcp-tool-search) est désactivée par défaut. Définissez `ENABLE_TOOL_SEARCH=true` si votre proxy transmet les blocs `tool_reference`. Depuis la v2.1.196, [Remote Control](/docs/fr/remote-control#requirements) est désactivé lorsque cette variable pointe vers un hôte autre que `api.anthropic.com`, comme c'est le cas sur Amazon Bedrock, Google Cloud's Agent Platform et Microsoft Foundry |

154| `ANTHROPIC_BEDROCK_BASE_URL` | Remplace l'URL de l'endpoint Amazon Bedrock. À utiliser pour des endpoints Amazon Bedrock personnalisés ou lors du routage via une [passerelle LLM](/docs/fr/llm-gateway). Voir [Amazon Bedrock](/docs/fr/amazon-bedrock) |158| `ANTHROPIC_BEDROCK_BASE_URL` | Remplace l'URL de l'endpoint Amazon Bedrock. À utiliser pour des endpoints Amazon Bedrock personnalisés ou lors du routage via une [passerelle LLM](/docs/fr/llm-gateway). Voir [Amazon Bedrock](/docs/fr/amazon-bedrock) |

155| `ANTHROPIC_BEDROCK_MANTLE_BASE_URL` | Remplace l'URL de l'endpoint Amazon Bedrock Mantle. Voir [Endpoint Mantle](/docs/fr/amazon-bedrock#use-the-mantle-endpoint) |159| `ANTHROPIC_BEDROCK_MANTLE_BASE_URL` | Remplace l'URL de l'endpoint Amazon Bedrock Mantle. Voir [Endpoint Mantle](/docs/fr/amazon-bedrock#use-the-mantle-endpoint) |

156| `ANTHROPIC_BEDROCK_REGION_PREFIX` | Préfixe de profil d'inférence inter-régions (`us`, `eu`, `apac`, `jp`, `au` ou `global`) que Claude Code essaie en premier au lieu de celui dérivé de la région AWS. Ignorée dans les régions AWS GovCloud. Nécessite Claude Code v2.1.224 ou version ultérieure. Voir [Amazon Bedrock](/docs/fr/amazon-bedrock#cross-region-inference-profile-prefixes) |160| `ANTHROPIC_BEDROCK_REGION_PREFIX` | Préfixe de profil d'inférence interrégional (`us`, `eu`, `apac`, `jp`, `au` ou `global`) que Claude Code essaie en premier 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) |

157| `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é dans l'en-tête `X-Amzn-Bedrock-Service-Tier`. Voir [Amazon Bedrock](/docs/fr/amazon-bedrock#service-tiers) |161| `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é dans l'en-tête `X-Amzn-Bedrock-Service-Tier`. Voir [Amazon Bedrock](/docs/fr/amazon-bedrock#service-tiers) |

158| `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 cette variable pour activer une [bêta de l'API Anthropic](https://platform.claude.com/docs/en/api/beta-headers) avant que Claude Code n'en ajoute la prise en charge native. Contrairement au [flag `--betas`](/docs/fr/cli-reference#cli-flags), qui nécessite une authentification par clé API, cette variable fonctionne avec toutes les méthodes d'authentification, y compris l'abonnement Claude.ai |162| `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 cette variable pour activer une [bêta de l'API Anthropic](https://platform.claude.com/docs/en/api/beta-headers) avant que Claude Code n'en ajoute la prise en charge native. Contrairement au [flag `--betas`](/docs/fr/cli-reference#cli-flags), qui nécessite une authentification par clé API, cette variable fonctionne avec toutes les méthodes d'authentification, y compris l'abonnement Claude.ai |

159| `ANTHROPIC_CUSTOM_HEADERS` | En-têtes personnalisés à ajouter aux requêtes (format `Name: Value`, séparés par des retours à la 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 une espace de largeur nulle, la requête échoue avec une erreur qui identifie la paire par sa position. Nécessite Claude Code v2.1.227 ou version ultérieure. [Invalid request header value](/docs/fr/errors#invalid-request-header-value) indique le jeu de caractères exact et l'endroit où la vérification s'exécute. Une valeur qui définit un en-tête d'identifiants, d'organisation ou de tenant, de routage ou de comportement de l'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 des paramètres gérés par le serveur la fournissent. Depuis les paramètres de projet ou locaux, une telle valeur suit les [règles qui déterminent quand les valeurs `env` s'appliquent](/docs/fr/settings-reference#when-claude-code-applies-env-values) |163| `ANTHROPIC_CUSTOM_HEADERS` | En-têtes personnalisés à ajouter aux requêtes (format `Name: Value`, séparés par des retours à la 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 typographique ou une espace de largeur nulle, la requête échoue avec une erreur qui identifie la paire par sa position. Nécessite Claude Code v2.1.227 ou ultérieur. [Invalid request header value](/docs/fr/errors#invalid-request-header-value) indique le jeu de caractères exact et l'endroit où la vérification s'exécute. Une valeur qui définit un en-tête d'identifiants, d'organisation ou de tenant, de routage ou de comportement de l'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 des paramètres gérés par le serveur la fournissent. Depuis les paramètres de projet ou locaux, une telle valeur suit les [règles d'application des valeurs `env`](/docs/fr/settings-reference#when-claude-code-applies-env-values) |

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

161| `ANTHROPIC_CUSTOM_MODEL_OPTION_DESCRIPTION` | Description affichée pour l'entrée de modèle personnalisé dans le sélecteur `/model`. Valeur par défaut : `Custom model (<model-id>)` lorsqu'elle n'est pas définie |165| `ANTHROPIC_CUSTOM_MODEL_OPTION_DESCRIPTION` | Description affichée pour l'entrée de modèle personnalisé dans le sélecteur `/model`. Par défaut `Custom model (<model-id>)` si elle n'est pas définie |

162| `ANTHROPIC_CUSTOM_MODEL_OPTION_NAME` | Nom affiché pour l'entrée de modèle personnalisé dans le sélecteur `/model`. Lorsqu'elle n'est pas définie, l'entrée affiche le nom du modèle si Claude Code [reconnaît l'ID](/docs/fr/model-config#customize-pinned-model-display-and-capabilities), et l'ID du modèle sinon |166| `ANTHROPIC_CUSTOM_MODEL_OPTION_NAME` | Nom affiché pour l'entrée de modèle personnalisé dans le sélecteur `/model`. Si elle n'est pas définie, l'entrée affiche le nom du modèle si Claude Code [reconnaît l'ID](/docs/fr/model-config#customize-pinned-model-display-and-capabilities), et l'ID du modèle sinon |

163| `ANTHROPIC_CUSTOM_MODEL_OPTION_SUPPORTED_CAPABILITIES` | Liste, séparée par des virgules, des [capacités](/docs/fr/model-config#customize-pinned-model-display-and-capabilities) prises en charge par le modèle personnalisé, par exemple `effort,thinking`. Voir [Configuration du modèle](/docs/fr/model-config#customize-pinned-model-display-and-capabilities) |167| `ANTHROPIC_CUSTOM_MODEL_OPTION_SUPPORTED_CAPABILITIES` | Liste, séparée par des virgules, des [capacités](/docs/fr/model-config#customize-pinned-model-display-and-capabilities) prises en charge par le modèle personnalisé, par exemple `effort,thinking`. Voir [Configuration du modèle](/docs/fr/model-config#customize-pinned-model-display-and-capabilities) |

164| `ANTHROPIC_DEFAULT_FABLE_MODEL` | ID de modèle vers lequel l'alias `fable` est résolu, et ID que Claude Code reconnaît comme modèle Fable pour le [basculement automatique vers un modèle de secours](/docs/fr/model-config#automatic-model-fallback) chez les fournisseurs tiers. Voir [Configuration du modèle](/docs/fr/model-config#environment-variables) |168| `ANTHROPIC_DEFAULT_FABLE_MODEL` | ID de modèle vers lequel l'alias `fable` est résolu, et ID que Claude Code reconnaît comme un modèle Fable pour la [bascule automatique vers un modèle de secours](/docs/fr/model-config#automatic-model-fallback) chez les fournisseurs tiers. Voir [Configuration du modèle](/docs/fr/model-config#environment-variables) |

165| `ANTHROPIC_DEFAULT_FABLE_MODEL_DESCRIPTION` | Description affichée pour le modèle Fable épinglé dans le sélecteur `/model`. Lorsqu'elle n'est pas définie, la ligne affiche une description par défaut qui commence par `Custom Fable model`. Voir [Configuration du modèle](/docs/fr/model-config#customize-pinned-model-display-and-capabilities) |169| `ANTHROPIC_DEFAULT_FABLE_MODEL_DESCRIPTION` | Description affichée pour le modèle Fable épinglé dans le sélecteur `/model`. Si elle n'est pas définie, la ligne affiche une description par défaut qui commence par `Custom Fable model`. Voir [Configuration du modèle](/docs/fr/model-config#customize-pinned-model-display-and-capabilities) |

166| `ANTHROPIC_DEFAULT_FABLE_MODEL_NAME` | Nom affiché pour le modèle Fable épinglé dans le sélecteur `/model`. Lorsqu'elle n'est pas définie, la ligne affiche le nom du modèle si Claude Code reconnaît l'ID épinglé, et l'ID épinglé sinon. Voir [Configuration du modèle](/docs/fr/model-config#customize-pinned-model-display-and-capabilities) |170| `ANTHROPIC_DEFAULT_FABLE_MODEL_NAME` | Nom affiché pour le modèle Fable épinglé dans le sélecteur `/model`. Si elle n'est pas définie, la ligne affiche le nom du modèle si Claude Code reconnaît l'ID épinglé, et l'ID épinglé sinon. Voir [Configuration du modèle](/docs/fr/model-config#customize-pinned-model-display-and-capabilities) |

167| `ANTHROPIC_DEFAULT_FABLE_MODEL_SUPPORTED_CAPABILITIES` | Liste, séparée par des virgules, des [capacités](/docs/fr/model-config#customize-pinned-model-display-and-capabilities) prises en charge par le modèle Fable épinglé, par exemple `effort,thinking`. Voir [Configuration du modèle](/docs/fr/model-config#customize-pinned-model-display-and-capabilities) |171| `ANTHROPIC_DEFAULT_FABLE_MODEL_SUPPORTED_CAPABILITIES` | Liste, séparée par des virgules, des [capacités](/docs/fr/model-config#customize-pinned-model-display-and-capabilities) prises en charge par le modèle Fable épinglé, par exemple `effort,thinking`. Voir [Configuration du modèle](/docs/fr/model-config#customize-pinned-model-display-and-capabilities) |

168| `ANTHROPIC_DEFAULT_HAIKU_MODEL` | ID de modèle vers lequel l'alias `haiku` est résolu, également utilisé pour les [fonctionnalités en arrière-plan](/docs/fr/costs#background-token-usage). Voir [Configuration du modèle](/docs/fr/model-config#environment-variables) |172| `ANTHROPIC_DEFAULT_HAIKU_MODEL` | ID de modèle vers lequel l'alias `haiku` est résolu, également utilisé pour les [fonctionnalités en arrière-plan](/docs/fr/costs#background-token-usage). Voir [Configuration du modèle](/docs/fr/model-config#environment-variables) |

169| `ANTHROPIC_DEFAULT_HAIKU_MODEL_DESCRIPTION` | Description affichée pour le modèle Haiku épinglé dans le sélecteur `/model`. Lorsqu'elle n'est pas définie, la ligne affiche une description par défaut qui commence par `Custom Haiku model`. Voir [Configuration du modèle](/docs/fr/model-config#customize-pinned-model-display-and-capabilities) |173| `ANTHROPIC_DEFAULT_HAIKU_MODEL_DESCRIPTION` | Description affichée pour le modèle Haiku épinglé dans le sélecteur `/model`. Si elle n'est pas définie, la ligne affiche une description par défaut qui commence par `Custom Haiku model`. Voir [Configuration du modèle](/docs/fr/model-config#customize-pinned-model-display-and-capabilities) |

170| `ANTHROPIC_DEFAULT_HAIKU_MODEL_NAME` | Nom affiché pour le modèle Haiku épinglé dans le sélecteur `/model`. Lorsqu'elle n'est pas définie, la ligne affiche le nom du modèle si Claude Code reconnaît l'ID épinglé, et l'ID épinglé sinon. Voir [Configuration du modèle](/docs/fr/model-config#customize-pinned-model-display-and-capabilities) |174| `ANTHROPIC_DEFAULT_HAIKU_MODEL_NAME` | Nom affiché pour le modèle Haiku épinglé dans le sélecteur `/model`. Si elle n'est pas définie, la ligne affiche le nom du modèle si Claude Code reconnaît l'ID épinglé, et l'ID épinglé sinon. Voir [Configuration du modèle](/docs/fr/model-config#customize-pinned-model-display-and-capabilities) |

171| `ANTHROPIC_DEFAULT_HAIKU_MODEL_SUPPORTED_CAPABILITIES` | Liste, séparée par des virgules, des [capacités](/docs/fr/model-config#customize-pinned-model-display-and-capabilities) prises en charge par le modèle Haiku épinglé, par exemple `effort,thinking`. Voir [Configuration du modèle](/docs/fr/model-config#customize-pinned-model-display-and-capabilities) |175| `ANTHROPIC_DEFAULT_HAIKU_MODEL_SUPPORTED_CAPABILITIES` | Liste, séparée par des virgules, des [capacités](/docs/fr/model-config#customize-pinned-model-display-and-capabilities) prises en charge par le modèle Haiku épinglé, par exemple `effort,thinking`. Voir [Configuration du modèle](/docs/fr/model-config#customize-pinned-model-display-and-capabilities) |

172| `ANTHROPIC_DEFAULT_MODEL` | Modèle sur lequel les nouvelles sessions démarrent par défaut. Nécessite Claude Code v2.1.236 ou version ultérieure. Voir [Définir un modèle par défaut pour les nouvelles sessions](/docs/fr/model-config#set-a-default-model-for-new-sessions) |176| `ANTHROPIC_DEFAULT_MODEL` | Modèle sur lequel les nouvelles sessions démarrent par défaut. Nécessite Claude Code v2.1.236 ou ultérieur. Voir [Définir un modèle par défaut pour les nouvelles sessions](/docs/fr/model-config#set-a-default-model-for-new-sessions) |

173| `ANTHROPIC_DEFAULT_OPUS_MODEL` | ID de modèle vers lequel l'alias `opus` est résolu, et que `opusplan` utilise lorsque le mode plan est actif. Voir [Configuration du modèle](/docs/fr/model-config#environment-variables) |177| `ANTHROPIC_DEFAULT_OPUS_MODEL` | ID de modèle vers lequel l'alias `opus` est résolu, et que `opusplan` utilise lorsque le mode plan est actif. Voir [Configuration du modèle](/docs/fr/model-config#environment-variables) |

174| `ANTHROPIC_DEFAULT_OPUS_MODEL_DESCRIPTION` | Description affichée pour le modèle Opus épinglé dans le sélecteur `/model`. Lorsqu'elle n'est pas définie, la ligne affiche une description par défaut qui commence par `Custom Opus model`. Voir [Configuration du modèle](/docs/fr/model-config#customize-pinned-model-display-and-capabilities) |178| `ANTHROPIC_DEFAULT_OPUS_MODEL_DESCRIPTION` | Description affichée pour le modèle Opus épinglé dans le sélecteur `/model`. Si elle n'est pas définie, la ligne affiche une description par défaut qui commence par `Custom Opus model`. Voir [Configuration du modèle](/docs/fr/model-config#customize-pinned-model-display-and-capabilities) |

175| `ANTHROPIC_DEFAULT_OPUS_MODEL_NAME` | Nom affiché pour le modèle Opus épinglé dans le sélecteur `/model`. Lorsqu'elle n'est pas définie, la ligne affiche le nom du modèle si Claude Code reconnaît l'ID épinglé, et l'ID épinglé sinon. Voir [Configuration du modèle](/docs/fr/model-config#customize-pinned-model-display-and-capabilities) |179| `ANTHROPIC_DEFAULT_OPUS_MODEL_NAME` | Nom affiché pour le modèle Opus épinglé dans le sélecteur `/model`. Si elle n'est pas définie, la ligne affiche le nom du modèle si Claude Code reconnaît l'ID épinglé, et l'ID épinglé sinon. Voir [Configuration du modèle](/docs/fr/model-config#customize-pinned-model-display-and-capabilities) |

176| `ANTHROPIC_DEFAULT_OPUS_MODEL_SUPPORTED_CAPABILITIES` | Liste, séparée par des virgules, des [capacités](/docs/fr/model-config#customize-pinned-model-display-and-capabilities) prises en charge par le modèle Opus épinglé, par exemple `effort,thinking`. Voir [Configuration du modèle](/docs/fr/model-config#customize-pinned-model-display-and-capabilities) |180| `ANTHROPIC_DEFAULT_OPUS_MODEL_SUPPORTED_CAPABILITIES` | Liste, séparée par des virgules, des [capacités](/docs/fr/model-config#customize-pinned-model-display-and-capabilities) prises en charge par le modèle Opus épinglé, par exemple `effort,thinking`. Voir [Configuration du modèle](/docs/fr/model-config#customize-pinned-model-display-and-capabilities) |

177| `ANTHROPIC_DEFAULT_SONNET_MODEL` | ID de modèle vers lequel l'alias `sonnet` est résolu, et que `opusplan` utilise lorsque le mode plan n'est pas actif. Voir [Configuration du modèle](/docs/fr/model-config#environment-variables) |181| `ANTHROPIC_DEFAULT_SONNET_MODEL` | ID de modèle vers lequel l'alias `sonnet` est résolu, et que `opusplan` utilise lorsque le mode plan n'est pas actif. Voir [Configuration du modèle](/docs/fr/model-config#environment-variables) |

178| `ANTHROPIC_DEFAULT_SONNET_MODEL_DESCRIPTION` | Description affichée pour le modèle Sonnet épinglé dans le sélecteur `/model`. Lorsqu'elle n'est pas définie, la ligne affiche une description par défaut qui commence par `Custom Sonnet model`. Voir [Configuration du modèle](/docs/fr/model-config#customize-pinned-model-display-and-capabilities) |182| `ANTHROPIC_DEFAULT_SONNET_MODEL_DESCRIPTION` | Description affichée pour le modèle Sonnet épinglé dans le sélecteur `/model`. Si elle n'est pas définie, la ligne affiche une description par défaut qui commence par `Custom Sonnet model`. Voir [Configuration du modèle](/docs/fr/model-config#customize-pinned-model-display-and-capabilities) |

179| `ANTHROPIC_DEFAULT_SONNET_MODEL_NAME` | Nom affiché pour le modèle Sonnet épinglé dans le sélecteur `/model`. Lorsqu'elle n'est pas définie, la ligne affiche le nom du modèle si Claude Code reconnaît l'ID épinglé, et l'ID épinglé sinon. Voir [Configuration du modèle](/docs/fr/model-config#customize-pinned-model-display-and-capabilities) |183| `ANTHROPIC_DEFAULT_SONNET_MODEL_NAME` | Nom affiché pour le modèle Sonnet épinglé dans le sélecteur `/model`. Si elle n'est pas définie, la ligne affiche le nom du modèle si Claude Code reconnaît l'ID épinglé, et l'ID épinglé sinon. Voir [Configuration du modèle](/docs/fr/model-config#customize-pinned-model-display-and-capabilities) |

180| `ANTHROPIC_DEFAULT_SONNET_MODEL_SUPPORTED_CAPABILITIES` | Liste, séparée par des virgules, des [capacités](/docs/fr/model-config#customize-pinned-model-display-and-capabilities) prises en charge par le modèle Sonnet épinglé, par exemple `effort,thinking`. Voir [Configuration du modèle](/docs/fr/model-config#customize-pinned-model-display-and-capabilities) |184| `ANTHROPIC_DEFAULT_SONNET_MODEL_SUPPORTED_CAPABILITIES` | Liste, séparée par des virgules, des [capacités](/docs/fr/model-config#customize-pinned-model-display-and-capabilities) prises en charge par le modèle Sonnet épinglé, par exemple `effort,thinking`. Voir [Configuration du modèle](/docs/fr/model-config#customize-pinned-model-display-and-capabilities) |

181| `ANTHROPIC_FEDERATION_RULE_ID` | ID de règle de fédération pour [Workload Identity Federation](https://platform.claude.com/docs/en/manage-claude/workload-identity-federation). Lorsque vous la définissez avec `ANTHROPIC_ORGANIZATION_ID`, Claude Code sélectionne les identifiants de fédération, qui ont priorité sur vos identifiants `/login`. Voir [priorité d'authentification](/docs/fr/authentication#authentication-precedence) |185| `ANTHROPIC_FEDERATION_RULE_ID` | ID de règle de fédération pour la [Workload Identity Federation](https://platform.claude.com/docs/en/manage-claude/workload-identity-federation). Lorsque vous la définissez avec `ANTHROPIC_ORGANIZATION_ID`, Claude Code sélectionne les identifiants de fédération, qui ont priorité sur vos identifiants `/login`. Voir [priorité d'authentification](/docs/fr/authentication#authentication-precedence) |

182| `ANTHROPIC_FOUNDRY_API_KEY` | Clé API pour l'authentification Microsoft Foundry (voir [Microsoft Foundry](/docs/fr/microsoft-foundry)) |186| `ANTHROPIC_FOUNDRY_API_KEY` | Clé API pour l'authentification Microsoft Foundry (voir [Microsoft Foundry](/docs/fr/microsoft-foundry)) |

183| `ANTHROPIC_FOUNDRY_AUTH_TOKEN` | Jeton bearer pour l'authentification Microsoft Foundry, comme un jeton d'accès Microsoft Entra. Claude Code l'envoie dans l'en-tête `Authorization: Bearer`. Prioritaire sur `ANTHROPIC_FOUNDRY_API_KEY` et sur la chaîne d'identifiants par défaut d'Azure. Voir [Microsoft Foundry](/docs/fr/microsoft-foundry). Nécessite Claude Code v2.1.203 ou version ultérieure |187| `ANTHROPIC_FOUNDRY_AUTH_TOKEN` | Jeton Bearer pour l'authentification Microsoft Foundry, comme un jeton d'accès Microsoft Entra. Claude Code l'envoie dans l'en-tête `Authorization: Bearer`. Prioritaire sur `ANTHROPIC_FOUNDRY_API_KEY` et sur la chaîne d'identifiants par défaut d'Azure. Voir [Microsoft Foundry](/docs/fr/microsoft-foundry). Nécessite Claude Code v2.1.203 ou ultérieur |

184| `ANTHROPIC_FOUNDRY_BASE_URL` | URL de base complète de la ressource Microsoft Foundry (par exemple, `https://my-resource.services.ai.azure.com/anthropic`). Alternative à `ANTHROPIC_FOUNDRY_RESOURCE` (voir [Microsoft Foundry](/docs/fr/microsoft-foundry)) |188| `ANTHROPIC_FOUNDRY_BASE_URL` | URL de base complète de la ressource Microsoft Foundry (par exemple, `https://my-resource.services.ai.azure.com/anthropic`). Alternative à `ANTHROPIC_FOUNDRY_RESOURCE` (voir [Microsoft Foundry](/docs/fr/microsoft-foundry)) |

185| `ANTHROPIC_FOUNDRY_RESOURCE` | Nom de la ressource Microsoft Foundry (par exemple, `my-resource`). Claude Code [refuse une URL ou un nom d'hôte](/docs/fr/errors#anthropic-foundry-resource-must-be-a-foundry-resource-name). Requise si `ANTHROPIC_FOUNDRY_BASE_URL` n'est pas définie (voir [Microsoft Foundry](/docs/fr/microsoft-foundry)) |189| `ANTHROPIC_FOUNDRY_RESOURCE` | Nom de la ressource Microsoft Foundry (par exemple, `my-resource`). Claude Code [refuse une URL ou un nom d'hôte](/docs/fr/errors#anthropic-foundry-resource-must-be-a-foundry-resource-name). Requis si `ANTHROPIC_FOUNDRY_BASE_URL` n'est pas défini (voir [Microsoft Foundry](/docs/fr/microsoft-foundry)) |

186| `ANTHROPIC_MODEL` | Nom du paramètre de modèle à utiliser (voir [Configuration du modèle](/docs/fr/model-config#environment-variables)) |190| `ANTHROPIC_MODEL` | Nom du paramètre de modèle à utiliser (voir [Configuration du modèle](/docs/fr/model-config#environment-variables)) |

187| `ANTHROPIC_ORGANIZATION_ID` | ID d'organisation pour [Workload Identity Federation](https://platform.claude.com/docs/en/manage-claude/workload-identity-federation). Définissez-la avec `ANTHROPIC_FEDERATION_RULE_ID`. Voir [priorité d'authentification](/docs/fr/authentication#authentication-precedence) |191| `ANTHROPIC_ORGANIZATION_ID` | ID d'organisation pour la [Workload Identity Federation](https://platform.claude.com/docs/en/manage-claude/workload-identity-federation). À définir avec `ANTHROPIC_FEDERATION_RULE_ID`. Voir [priorité d'authentification](/docs/fr/authentication#authentication-precedence) |

188| `ANTHROPIC_PROFILE` | Nom du profil Anthropic avec lequel s'authentifier, comme un profil créé par [`ant auth login`](https://platform.claude.com/docs/en/cli-sdks-libraries/cli/authentication) ou en [vous connectant à un compte Console sans clé API](/docs/fr/authentication#sign-in-without-an-api-key). Voir [priorité d'authentification](/docs/fr/authentication#authentication-precedence) |192| `ANTHROPIC_PROFILE` | Nom du profil Anthropic avec lequel s'authentifier, comme un profil créé par [`ant auth login`](https://platform.claude.com/docs/en/cli-sdks-libraries/cli/authentication) ou en [se connectant à un compte Console sans clé API](/docs/fr/authentication#sign-in-without-an-api-key). Voir [priorité d'authentification](/docs/fr/authentication#authentication-precedence) |

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

190| `ANTHROPIC_SMALL_FAST_MODEL_AWS_REGION` | Remplace la région AWS pour le modèle de classe Haiku lors de l'utilisation d'Amazon Bedrock ou d'Amazon Bedrock Mantle. Sur Amazon Bedrock, cela ne prend effet que lorsque `ANTHROPIC_DEFAULT_HAIKU_MODEL` ou la variable dépréciée `ANTHROPIC_SMALL_FAST_MODEL` est également définie, car sinon Amazon Bedrock exécute les tâches en 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 |194| `ANTHROPIC_SMALL_FAST_MODEL_AWS_REGION` | Remplace la région AWS pour le modèle de classe Haiku lors de l'utilisation d'Amazon Bedrock ou d'Amazon Bedrock Mantle. Sur Amazon Bedrock, cela ne prend effet que si `ANTHROPIC_DEFAULT_HAIKU_MODEL` ou la variable dépréciée `ANTHROPIC_SMALL_FAST_MODEL` est également définie, car sinon Amazon Bedrock exécute les tâches en 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 |

191| `ANTHROPIC_VERTEX_BASE_URL` | Remplace l'URL de l'endpoint de Google Cloud's Agent Platform. À utiliser pour des endpoints 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) |195| `ANTHROPIC_VERTEX_BASE_URL` | Remplace l'URL de l'endpoint de Google Cloud's Agent Platform. À utiliser pour des endpoints 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) |

192| `ANTHROPIC_VERTEX_PROJECT_ID` | ID du projet GCP auquel les requêtes Google Cloud's Agent Platform sont adressées. Voir [Configurer les identifiants GCP](/docs/fr/google-vertex-ai#3-configure-gcp-credentials) |196| `ANTHROPIC_VERTEX_PROJECT_ID` | ID du projet GCP auquel les requêtes Google Cloud's Agent Platform sont adressées. Voir [Configurer les identifiants GCP](/docs/fr/google-vertex-ai#3-configure-gcp-credentials) |

193| `ANTHROPIC_WORKSPACE_ID` | ID d'espace de travail pour la [fédération d'identité de charge de travail](https://platform.claude.com/docs/en/manage-claude/workload-identity-federation). Définissez-la lorsque votre règle de fédération couvre plusieurs espaces de travail, afin que l'échange de jetons sache quel espace de travail cibler |197| `ANTHROPIC_WORKSPACE_ID` | ID d'espace de travail pour la [workload identity federation](https://platform.claude.com/docs/en/manage-claude/workload-identity-federation). Définissez-le lorsque votre règle de fédération couvre plusieurs espaces de travail, afin que l'échange de jetons sache quel espace de travail cibler |

194| `API_FORCE_IDLE_TIMEOUT` | Remplace le délai d'inactivité de 5 minutes sur le corps de la réponse, qui interrompt une réponse de modèle en streaming lorsqu'aucun octet n'arrive. Définissez `0` pour désactiver ce délai, par exemple lorsqu'une [passerelle](/docs/fr/llm-gateway) lente ou un modèle local marque une pause de plus de 5 minutes entre deux fragments, ou `1` pour le maintenir actif pour tous les fournisseurs. Lorsque la variable n'est pas définie, le délai est actif chez les fournisseurs autres que l'API Anthropic directe, [Claude Platform on AWS](/docs/fr/claude-platform-on-aws) et Amazon Bedrock avec `CLAUDE_ENABLE_BYTE_WATCHDOG_BEDROCK=1` défini. Les [watchdogs de streaming](/docs/fr/network-config#streaming-idle-watchdogs) fonctionnent indépendamment de ce délai et interrompent une longue pause silencieuse même si vous définissez `0` ici |198| `API_FORCE_IDLE_TIMEOUT` | Remplace le délai d'inactivité de 5 minutes sur le corps de la réponse, qui interrompt une réponse de modèle en streaming lorsqu'aucun octet n'arrive. Définissez `0` pour désactiver ce délai, par exemple lorsqu'une [passerelle](/docs/fr/llm-gateway) lente ou un modèle local marque des pauses de plus de 5 minutes entre les chunks, ou `1` pour le garder actif pour tous les fournisseurs. Si elle n'est pas définie, le délai est actif sur les fournisseurs autres que l'API Anthropic directe, [Claude Platform on AWS](/docs/fr/claude-platform-on-aws) et Amazon Bedrock avec `CLAUDE_ENABLE_BYTE_WATCHDOG_BEDROCK=1` défini. Les [watchdogs de flux](/docs/fr/network-config#streaming-idle-watchdogs) fonctionnent indépendamment et interrompent une longue pause silencieuse même si vous définissez `0` ici |

195| `API_TIMEOUT_MS` | Délai d'expiration des requêtes API en millisecondes (par défaut : 600 000, soit 10 minutes ; maximum : 2 147 483 647). Augmentez-le lorsque les requêtes expirent sur des réseaux lents ou lors du routage via un proxy. Les valeurs supérieures au maximum font déborder le minuteur sous-jacent et font échouer les requêtes immédiatement |199| `API_TIMEOUT_MS` | Délai d'expiration des requêtes API en millisecondes (par défaut : 600000, soit 10 minutes ; maximum : 2147483647). Augmentez-le lorsque les requêtes expirent sur des réseaux lents ou lors du routage via un proxy. Les valeurs supérieures au maximum font déborder le minuteur sous-jacent et provoquent l'échec immédiat des requêtes |

196| `AWS_BEARER_TOKEN_BEDROCK` | Clé API Amazon Bedrock pour l'authentification (voir [Clés API Amazon Bedrock](https://aws.amazon.com/blogs/machine-learning/accelerate-ai-development-with-amazon-bedrock-api-keys/)) |200| `AWS_BEARER_TOKEN_BEDROCK` | Clé API Amazon Bedrock pour l'authentification (voir [Clés API Amazon Bedrock](https://aws.amazon.com/blogs/machine-learning/accelerate-ai-development-with-amazon-bedrock-api-keys/)) |

197| `BASH_DEFAULT_TIMEOUT_MS` | Délai d'expiration par défaut d'une commande de l'outil Bash ou PowerShell au premier plan, en millisecondes (par défaut : 120 000, soit 2 minutes). Une valeur supérieure à la [limite de temps par défaut des commandes en arrière-plan](/docs/fr/tools-reference#time-limit-for-background-commands) remplace cette valeur par défaut dans les sessions sans surveillance. La limite de temps en arrière-plan nécessite Claude Code v2.1.285 ou version ultérieure |201| `BASH_DEFAULT_TIMEOUT_MS` | Délai d'expiration par défaut d'une commande d'outil Bash ou PowerShell au premier plan, en millisecondes (par défaut : 120000, soit 2 minutes). Une valeur supérieure à la [limite de temps par défaut des commandes en arrière-plan](/docs/fr/tools-reference#time-limit-for-background-commands) remplace cette valeur par défaut dans les sessions sans surveillance. La limite de temps en arrière-plan nécessite Claude Code v2.1.285 ou ultérieur |

198| `BASH_MAX_OUTPUT_LENGTH` | Nombre maximal de caractères de la sortie bash que Claude Code réintègre dans le résultat d'une commande (par défaut : 30 000 ; maximum : 150 000). 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) |202| `BASH_MAX_OUTPUT_LENGTH` | Nombre maximal de caractères de la sortie bash que Claude Code réinjecte 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) |

199| `BASH_MAX_TIMEOUT_MS` | Délai d'expiration maximal que le modèle peut définir pour une commande de l'outil Bash ou PowerShell au premier plan, en millisecondes (par défaut : 600 000, soit 10 minutes). Le plafond effectif correspond à la plus grande valeur entre celle-ci et `BASH_DEFAULT_TIMEOUT_MS`. Un plafond effectif supérieur à 2 heures devient également la [limite de temps des commandes en arrière-plan](/docs/fr/tools-reference#time-limit-for-background-commands) maximale dans les sessions sans surveillance. La limite de temps en arrière-plan nécessite Claude Code v2.1.285 ou version ultérieure |203| `BASH_MAX_TIMEOUT_MS` | Délai d'expiration maximal que le modèle peut définir pour une commande d'outil Bash ou PowerShell au premier plan, en millisecondes (par défaut : 600000, soit 10 minutes). Le plafond effectif est la plus grande valeur entre celle-ci et `BASH_DEFAULT_TIMEOUT_MS`. Un plafond effectif supérieur à 2 heures devient également la [limite de temps des commandes en arrière-plan](/docs/fr/tools-reference#time-limit-for-background-commands) maximale dans les sessions sans surveillance. La limite de temps en arrière-plan nécessite Claude Code v2.1.285 ou ultérieur |

200| `BETA_TRACING_ENDPOINT` | Endpoint OTLP/HTTP pour le [traçage bêta détaillé](/docs/fr/monitoring-usage#traces-beta) : avec `ENABLE_BETA_TRACING_DETAILED=1`, les logs et les traces y sont envoyés au lieu d'être envoyés aux exportateurs configurés. Définissez-la dans votre shell, vos paramètres utilisateur ou vos paramètres gérés. Ignorée dans les [paramètres de projet et locaux](/docs/fr/settings-reference#variables-claude-code-ignores-in-env) |204| `BETA_TRACING_ENDPOINT` | Endpoint OTLP/HTTP pour le [traçage bêta détaillé](/docs/fr/monitoring-usage#traces-beta) : avec `ENABLE_BETA_TRACING_DETAILED=1`, les logs et les traces y sont envoyés au lieu des exportateurs configurés. Définissez-la dans votre shell, vos paramètres utilisateur ou vos paramètres gérés. Ignorée dans les [paramètres de projet et locaux](/docs/fr/settings-reference#variables-claude-code-ignores-in-env) |

201| `CCR_FORCE_BUNDLE` | Définissez `1` pour forcer [`claude --cloud`](/docs/fr/claude-code-on-the-web#send-local-repositories-without-github) à empaqueter et téléverser votre dépôt local au lieu de le cloner depuis son dépôt distant |205| `CCR_FORCE_BUNDLE` | Définissez sur `1` pour forcer [`claude --cloud`](/docs/fr/claude-code-on-the-web#send-local-repositories-without-github) à empaqueter et téléverser votre dépôt local au lieu de le cloner depuis son dépôt distant |

202| `CLAUDECODE` | Définie à `1` dans les sous-processus lancés par Claude Code (outils Bash et PowerShell, sessions tmux, commandes de [hook](/docs/fr/hooks), commandes de [barre de statut](/docs/fr/statusline), sous-processus de [serveur MCP](/docs/fr/mcp) stdio). Les extensions IDE la définissent également dans leurs terminaux intégrés. À utiliser pour détecter quand un script s'exécute dans un sous-processus lancé par Claude Code. Pour vérifier si le processus actuel a été lancé directement par un appel d'outil ou un hook, plutôt qu'au sein d'un serveur MCP stdio démarré par Claude Code, utilisez plutôt `CLAUDE_CODE_CHILD_SESSION` |206| `CLAUDECODE` | Définie sur `1` dans les sous-processus lancés par Claude Code (outils Bash et PowerShell, sessions tmux, commandes de [hook](/docs/fr/hooks), commandes de [barre de statut](/docs/fr/statusline), sous-processus de [serveur MCP](/docs/fr/mcp) stdio). Les extensions IDE la définissent également dans leurs terminaux intégrés. Utilisez-la pour détecter qu'un script s'exécute dans un sous-processus lancé par Claude Code. Pour vérifier si le processus actuel a été lancé directement par un appel d'outil ou un hook, plutôt qu'à l'intérieur d'un serveur MCP stdio démarré par Claude Code, utilisez plutôt `CLAUDE_CODE_CHILD_SESSION` |

203| `CLAUDE_AFK_COUNTDOWN_MS` | Nombre de millisecondes avant la poursuite automatique à partir duquel le compte à rebours apparaît à l'écran sur une boîte de dialogue [`AskUserQuestion`](/docs/fr/tools-reference) sans réponse. Par défaut `20000` (20 secondes), plafonné au délai de poursuite automatique. Sans effet si la poursuite automatique n'est pas activée ; voir le paramètre [`askUserQuestionTimeout`](/docs/fr/settings-reference#askuserquestiontimeout) et `CLAUDE_AFK_TIMEOUT_MS`. Ignorée dans les [paramètres de projet et locaux](/docs/fr/settings-reference#variables-claude-code-ignores-in-env). Nécessite Claude Code v2.1.198 ou version ultérieure |207| `CLAUDE_AFK_COUNTDOWN_MS` | Nombre de millisecondes avant la poursuite automatique à partir duquel le compte à rebours apparaît à l'écran dans une boîte de dialogue [`AskUserQuestion`](/docs/fr/tools-reference) sans réponse. Par défaut `20000` (20 secondes), plafonné au délai de poursuite automatique. Sans effet si la poursuite automatique n'est pas activée ; voir le paramètre [`askUserQuestionTimeout`](/docs/fr/settings-reference#askuserquestiontimeout) et `CLAUDE_AFK_TIMEOUT_MS`. Ignorée dans les [paramètres de projet et locaux](/docs/fr/settings-reference#variables-claude-code-ignores-in-env). Nécessite Claude Code v2.1.198 ou ultérieur |

204| `CLAUDE_AFK_TIMEOUT_MS` | Nombre de millisecondes d'inactivité avant qu'une boîte de dialogue [`AskUserQuestion`](/docs/fr/tools-reference) sans réponse ne se poursuive automatiquement sans vous. La poursuite automatique est désactivée par défaut ; activez-la avec le paramètre [`askUserQuestionTimeout`](/docs/fr/settings-reference#askuserquestiontimeout). Cette variable sert de remplacement pour les démos et les tests automatisés : lorsqu'elle est définie, elle a priorité sur ce paramètre et active la poursuite automatique même lorsque le paramètre n'est pas défini ou vaut `never`. Définir `0` ne désactive pas le délai ; cela ferme immédiatement la boîte de dialogue. Ignorée dans les [paramètres de projet et locaux](/docs/fr/settings-reference#variables-claude-code-ignores-in-env). Avant la v2.1.200, la poursuite automatique était activée par défaut avec un délai de `60000` (60 secondes). Nécessite Claude Code v2.1.198 ou version ultérieure |208| `CLAUDE_AFK_TIMEOUT_MS` | Nombre de millisecondes d'inactivité avant qu'une boîte de dialogue [`AskUserQuestion`](/docs/fr/tools-reference) sans réponse ne se poursuive automatiquement sans vous. La poursuite automatique est désactivée par défaut ; activez-la avec le paramètre [`askUserQuestionTimeout`](/docs/fr/settings-reference#askuserquestiontimeout). Cette variable est un remplacement destiné aux démos et aux tests automatisés : lorsqu'elle est définie, elle a priorité sur ce paramètre et active la poursuite automatique même lorsque le paramètre n'est pas défini ou vaut `never`. Définir `0` ne désactive pas le délai ; cela ferme immédiatement la boîte de dialogue. Ignorée dans les [paramètres de projet et locaux](/docs/fr/settings-reference#variables-claude-code-ignores-in-env). Avant la v2.1.200, la poursuite automatique était activée par défaut avec un délai de `60000` (60 secondes). Nécessite Claude Code v2.1.198 ou ultérieur |

205| `CLAUDE_AGENT_SDK_DISABLE_BUILTIN_AGENTS` | Définissez `1` pour désactiver tous les types de [sous-agents](/docs/fr/sub-agents) intégrés, comme Explore et Plan. S'applique uniquement en mode non interactif (le flag `-p`). Utile pour les utilisateurs du SDK qui souhaitent partir de zéro. Cela supprime également `general-purpose`, le sous-agent que Claude Code exécute lorsqu'un appel à l'outil Agent omet `subagent_type`. Un tel appel échoue alors avec [`subagent_type is required`](/docs/fr/errors#subagent-type-is-required) |209| `CLAUDE_AGENT_SDK_DISABLE_BUILTIN_AGENTS` | Définissez sur `1` pour désactiver tous les types de [sous-agents](/docs/fr/sub-agents) intégrés tels que Explore et Plan. S'applique uniquement en mode non interactif (le flag `-p`). Utile pour les utilisateurs du SDK qui souhaitent partir de zéro. Cela supprime également `general-purpose`, le sous-agent que Claude Code exécute lorsqu'un appel de l'outil Agent omet `subagent_type`. Un tel appel échoue alors avec [`subagent_type is required`](/docs/fr/errors#subagent-type-is-required) |

206| `CLAUDE_AGENT_SDK_MCP_NO_PREFIX` | Définissez `1` pour ne pas ajouter le préfixe `mcp__<server>__` aux noms des outils des serveurs MCP créés par le SDK. Les outils utilisent leurs noms d'origine. Utilisation avec le SDK uniquement |210| `CLAUDE_AGENT_SDK_MCP_NO_PREFIX` | Définissez sur `1` pour omettre le préfixe `mcp__<server>__` des noms d'outils provenant des serveurs MCP créés par le SDK. Les outils utilisent leurs noms d'origine. Utilisation du SDK uniquement |

207| `CLAUDE_ASYNC_AGENT_STALL_TIMEOUT_MS` | Délai de blocage en millisecondes pour les sous-agents. Par défaut `600000` (10 minutes) ; si vous augmentez `CLAUDE_STREAM_IDLE_TIMEOUT_MS` alors que le watchdog de streaming est actif, la valeur par défaut augmente en conséquence, comme le décrit [Gérer les réponses API lentes ou bloquées](/docs/fr/agent-sdk/typescript#handle-slow-or-stalled-api-responses). Le minuteur est réinitialisé à chaque événement de progression du streaming ; si aucune progression n'arrive dans l'intervalle, Claude Code interrompt le sous-agent et signale le blocage au parent |211| `CLAUDE_ASYNC_AGENT_STALL_TIMEOUT_MS` | Délai de blocage en millisecondes pour les sous-agents. Couvre également les [agents de workflow](/docs/fr/workflows#when-an-agent-stalls-and-restarts) sur Claude Code v2.1.286 ou ultérieur. Par défaut `600000` (10 minutes) ; si vous augmentez `CLAUDE_STREAM_IDLE_TIMEOUT_MS` alors que le watchdog de flux est actif, la valeur par défaut augmente avec lui, comme le décrit [Gérer les réponses API lentes ou bloquées](/docs/fr/agent-sdk/typescript#handle-slow-or-stalled-api-responses) |

208| `CLAUDE_AUTOCOMPACT_PCT_OVERRIDE` | Définit le pourcentage (1-100) de la fenêtre de compaction automatique auquel la compaction automatique se déclenche. Utilisez des valeurs plus basses comme `50` pour compacter plus tôt ; la variable ne peut pas relever le seuil, donc les valeurs supérieures au pourcentage par défaut sont ignorées. Elle ne s'applique que dans les sessions qui [compactent avant la limite de contexte du modèle](/docs/fr/model-config#context-window-and-auto-compaction). S'applique à la fois aux conversations principales et aux sous-agents |212| `CLAUDE_AUTOCOMPACT_PCT_OVERRIDE` | Définit le pourcentage (1-100) de la fenêtre de compaction automatique à partir duquel la compaction automatique se déclenche. Utilisez des valeurs plus basses comme `50` pour compacter plus tôt ; la variable ne peut pas relever le seuil, donc les valeurs supérieures au pourcentage par défaut sont ignorées. Elle s'applique uniquement dans les sessions qui [compactent avant la limite de contexte du modèle](/docs/fr/model-config#context-window-and-auto-compaction). S'applique aussi bien aux conversations principales qu'aux sous-agents |

209| `CLAUDE_AUTO_BACKGROUND_TASKS` | Définissez `1` pour forcer l'activation de la mise en arrière-plan automatique des tâches d'agent de longue durée. Lorsqu'elle est activée, les sous-agents sont placés en arrière-plan après environ deux minutes d'exécution. Active également la [mise en arrière-plan automatique des appels d'outils MCP longs](/docs/fr/mcp#automatic-backgrounding-of-long-tool-calls) en mode non interactif sur Claude Code v2.1.212 ou version ultérieure |213| `CLAUDE_AUTO_BACKGROUND_TASKS` | Définissez sur `1` pour forcer l'activation de la mise en arrière-plan automatique des tâches d'agent de longue durée. Lorsqu'elle est activée, les sous-agents sont déplacés en arrière-plan après environ deux minutes d'exécution. Active également la [mise en arrière-plan automatique des appels d'outils MCP longs](/docs/fr/mcp#automatic-backgrounding-of-long-tool-calls) en mode non interactif sur Claude Code v2.1.212 ou ultérieur |

210| `CLAUDE_AX_PREPARK_MS` | En [mode lecteur d'écran](/docs/fr/accessibility), nombre de millisecondes que Claude Code attend avant d'écrire une ligne nouvelle ou modifiée. Par défaut `0`, donc Claude Code n'attend pas. Avant la v2.1.287, la valeur par défaut était `50`. Claude Code plafonne l'attente à `5000`. Nécessite Claude Code v2.1.233 ou version ultérieure |214| `CLAUDE_AX_PREPARK_MS` | En [mode lecteur d'écran](/docs/fr/accessibility), nombre de millisecondes que Claude Code attend avant d'écrire une ligne nouvelle ou modifiée. Par défaut `0`, donc Claude Code n'attend pas. Avant la v2.1.287, la valeur par défaut était `50`. Claude Code plafonne l'attente à `5000`. Nécessite Claude Code v2.1.233 ou ultérieur |

211| `CLAUDE_AX_SCREEN_READER` | Définissez `1` pour produire une sortie adaptée aux lecteurs d'écran : du texte brut sans bordures décoratives ni animations. Définissez `0` pour forcer la désactivation du mode lecteur d'écran même lorsque [`axScreenReader`](/docs/fr/settings-reference#axscreenreader) vaut `true`. Le flag [`--ax-screen-reader`](/docs/fr/cli-reference#cli-flags) est prioritaire. Nécessite Claude Code v2.1.181 ou version ultérieure |215| `CLAUDE_AX_SCREEN_READER` | Définissez sur `1` pour produire une sortie adaptée aux lecteurs d'écran : texte brut sans bordures décoratives ni animations. Définissez sur `0` pour forcer la désactivation du mode lecteur d'écran même lorsque [`axScreenReader`](/docs/fr/settings-reference#axscreenreader) vaut `true`. Le flag [`--ax-screen-reader`](/docs/fr/cli-reference#cli-flags) est prioritaire. Nécessite Claude Code v2.1.181 ou ultérieur |

212| `CLAUDE_AX_STARTUP_QUIET_MS` | En [mode lecteur d'écran](/docs/fr/accessibility), nombre de millisecondes pendant lesquelles Claude Code retient le premier rendu de l'interface après la ligne de confirmation de démarrage, afin que votre lecteur d'écran puisse lire la ligne en entier avant qu'une nouvelle sortie ne l'interrompe. Par défaut `3000`. Définissez `0` pour un rendu immédiat. Claude Code plafonne cette attente à `600000` (10 minutes). Votre première frappe au clavier met fin à l'attente plus tôt. Nécessite Claude Code v2.1.217 ou version ultérieure |216| `CLAUDE_AX_STARTUP_QUIET_MS` | En [mode lecteur d'écran](/docs/fr/accessibility), nombre de millisecondes pendant lesquelles Claude Code retient le premier rendu de l'interface après la ligne de confirmation de démarrage, afin que votre lecteur d'écran puisse lire la ligne en entier avant qu'une nouvelle sortie ne l'interrompe. Par défaut `3000`. Définissez `0` pour un rendu immédiat. Claude Code plafonne cette attente à `600000` (10 minutes). Votre première frappe au clavier met fin à l'attente plus tôt. Nécessite Claude Code v2.1.217 ou ultérieur |

213| `CLAUDE_BASH_MAINTAIN_PROJECT_WORKING_DIR` | Revenir au répertoire de travail d'origine après chaque commande Bash ou PowerShell dans la session principale |217| `CLAUDE_BASH_MAINTAIN_PROJECT_WORKING_DIR` | Revenir au répertoire de travail d'origine après chaque commande Bash ou PowerShell dans la session principale |

214| `CLAUDE_BYTE_STREAM_IDLE_TIMEOUT_MS` | Délai d'expiration en millisecondes du watchdog d'inactivité du streaming au niveau des octets ; lorsqu'elle est définie, cette variable a priorité sur `CLAUDE_STREAM_IDLE_TIMEOUT_MS` pour ce watchdog et laisse inchangé le watchdog au niveau des événements. Claude Code limite cette variable à une valeur comprise entre 10 secondes et 30 minutes. Nécessite Claude Code v2.1.210 ou version ultérieure |218| `CLAUDE_BYTE_STREAM_IDLE_TIMEOUT_MS` | Délai d'expiration en millisecondes pour le watchdog d'inactivité du streaming au niveau des octets ; lorsqu'elle est définie, elle a priorité sur `CLAUDE_STREAM_IDLE_TIMEOUT_MS` pour ce watchdog et laisse inchangé le watchdog au niveau des événements. Claude Code limite cette variable à une valeur comprise entre 10 secondes et 30 minutes. Nécessite Claude Code v2.1.210 ou ultérieur |

215| `CLAUDE_CLIENT_PRESENCE_FILE` | Chemin vers un fichier qu'un outil externe, comme un écouteur de verrouillage d'écran, crée lorsque vous déverrouillez votre écran et supprime lorsque vous le verrouillez. Tant que le fichier existe, Claude Code n'envoie pas les [notifications push mobiles de Remote Control](/docs/fr/remote-control#mobile-push-notifications), afin que vous ne receviez plus de notifications pendant que vous utilisez activement l'ordinateur. Lorsque le fichier est absent ou illisible, les notifications sont envoyées normalement. Claude Code vérifie le fichier une fois par événement déclenchant une notification push plutôt que de l'interroger en continu. Nécessite Claude Code v2.1.181 ou version ultérieure |219| `CLAUDE_CLIENT_PRESENCE_FILE` | Chemin vers un fichier qu'un outil externe, comme un écouteur de verrouillage d'écran, crée lorsque vous déverrouillez votre écran et supprime lorsque vous le verrouillez. Tant que le fichier existe, Claude Code n'envoie pas les [notifications push mobiles de Remote Control](/docs/fr/remote-control#mobile-push-notifications), de sorte que vous ne recevez plus de notifications push pendant que vous utilisez activement l'ordinateur. Lorsque le fichier est absent ou illisible, les notifications sont envoyées normalement. Claude Code vérifie le fichier une fois par événement déclenchant une notification push plutôt que de l'interroger en continu. Nécessite Claude Code v2.1.181 ou ultérieur |

216| `CLAUDE_CODE_ACCESSIBILITY` | Définissez `1` pour garder le curseur natif du terminal visible et désactiver l'indicateur de curseur en texte inversé. Permet aux loupes d'écran comme le Zoom de macOS de suivre la position du curseur |220| `CLAUDE_CODE_ACCESSIBILITY` | Définissez sur `1` pour garder le curseur natif du terminal visible et désactiver l'indicateur de curseur en texte inversé. Permet aux loupes d'écran comme le Zoom de macOS de suivre la position du curseur |

217| `CLAUDE_CODE_ADDITIONAL_DIRECTORIES_CLAUDE_MD` | Définissez `1` pour charger les fichiers de mémoire des répertoires spécifiés avec `--add-dir`. Charge `CLAUDE.md`, `.claude/CLAUDE.md`, `.claude/rules/*.md` et `CLAUDE.local.md`. Par défaut, les répertoires supplémentaires ne chargent pas de fichiers de mémoire |221| `CLAUDE_CODE_ADDITIONAL_DIRECTORIES_CLAUDE_MD` | Définissez sur `1` pour charger les fichiers de mémoire depuis les répertoires spécifiés avec `--add-dir`. Charge `CLAUDE.md`, `.claude/CLAUDE.md`, `.claude/rules/*.md` et `CLAUDE.local.md`. Par défaut, les répertoires supplémentaires ne chargent pas de fichiers de mémoire |

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

219| `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 compatible avec l'effort. Utilisez-la lors du routage via une [passerelle LLM](/docs/fr/llm-gateway) ou un fournisseur tiers qui sert des modèles sous des identifiants personnalisés. Les modèles qui rejettent le paramètre effort au niveau de l'API, notamment les modèles Claude 3, Sonnet 4.0 et 4.5, Opus 4.0 et 4.1, et Haiku 4.5, restent exclus afin que les requêtes n'échouent pas |223| `CLAUDE_CODE_ALWAYS_ENABLE_EFFORT` | Définissez sur `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 prenant en charge l'effort. Utilisez cette option lors du routage via une [passerelle LLM](/docs/fr/llm-gateway) ou un fournisseur tiers qui sert des modèles sous des identifiants personnalisés. Les modèles qui rejettent le paramètre effort au niveau de l'API, notamment les modèles Claude 3, Sonnet 4.0 et 4.5, Opus 4.0 et 4.1 et Haiku 4.5, restent exclus afin que les requêtes n'échouent pas |

220| `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)) |224| `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)) |

221| `CLAUDE_CODE_ARTIFACT_AUTO_OPEN` | Définissez `0` pour empêcher Claude Code d'ouvrir automatiquement le navigateur lorsqu'un nouvel [artefact](/docs/fr/artifacts#create-an-artifact) est publié |225| `CLAUDE_CODE_ARTIFACT_AUTO_OPEN` | Définissez sur `0` pour empêcher Claude Code d'ouvrir automatiquement le navigateur lorsqu'un nouvel [artefact](/docs/fr/artifacts#create-an-artifact) est publié |

222| `CLAUDE_CODE_ARTIFACT_COMMENTS` | Définissez `0` pour que Claude cesse de lire les [commentaires sur un artefact](/docs/fr/artifacts#collect-comments-on-an-artifact) et d'y répondre. Sans effet lorsque `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` a [désactivé les artefacts](/docs/fr/artifacts#availability). Nécessite Claude Code v2.1.221 ou version ultérieure |226| `CLAUDE_CODE_ARTIFACT_COMMENTS` | Définissez sur `0` pour empêcher Claude de lire les [commentaires sur un artefact](/docs/fr/artifacts#collect-comments-on-an-artifact) et d'y répondre. Sans effet lorsque `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` a [désactivé les artefacts](/docs/fr/artifacts#availability). Nécessite Claude Code v2.1.221 ou ultérieur |

223| `CLAUDE_CODE_ARTIFACT_COMMENTS_AUTOREACT` | Définissez `0` pour que Claude cesse de [répondre de lui-même aux commentaires qui lui sont envoyés](/docs/fr/artifacts#let-claude-reply-to-comments-on-its-own). Nécessite Claude Code v2.1.228 ou version ultérieure |227| `CLAUDE_CODE_ARTIFACT_COMMENTS_AUTOREACT` | Définissez sur `0` pour empêcher Claude de [répondre de lui-même aux commentaires qui lui sont envoyés](/docs/fr/artifacts#let-claude-reply-to-comments-on-its-own). Nécessite Claude Code v2.1.228 ou ultérieur |

224| `CLAUDE_CODE_ATTRIBUTION_HEADER` | Définissez `0` pour omettre du début du prompt système le [bloc d'attribution](/docs/fr/llm-gateway-protocol#system-prompt-attribution-block), qui contient la version du client et une empreinte du prompt. La mise en cache sur une connexion directe à l'API Anthropic n'est affectée dans aucun des cas. Dans certaines configurations de connexion directe, Claude Code conserve le bloc sur les requêtes du classifieur du [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 quels identifiants cela concerne. Avant la v2.1.181, le bloc incluait un jeton propre à chaque requête sur les URL de base personnalisées et les connexions Microsoft Foundry ; sur ces versions, définissez-la donc à `0` lorsque votre passerelle LLM met en cache en fonction du corps de la requête ou transmet les requêtes à un fournisseur tiers, ou lorsque vous vous connectez directement à Microsoft Foundry |228| `CLAUDE_CODE_ATTRIBUTION_HEADER` | Définissez sur `0` pour omettre du début du prompt système le [bloc d'attribution](/docs/fr/llm-gateway-protocol#system-prompt-attribution-block), qui contient la version du client et une empreinte du prompt. La mise en cache sur une connexion directe à l'API Anthropic n'est pas affectée, dans un cas comme dans l'autre. Dans certaines configurations à connexion directe, Claude Code conserve le bloc sur les requêtes du classifieur du [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 quels identifiants sont concernés. Avant la v2.1.181, le bloc incluait un jeton par requête sur les URL de base personnalisées et les connexions Microsoft Foundry ; sur ces versions, définissez-la donc sur `0` lorsque votre passerelle LLM met en cache en fonction du corps de la requête ou transmet les requêtes à un fournisseur tiers, ou lorsque vous vous connectez directement à Microsoft Foundry |

225| `CLAUDE_CODE_AUTO_BACKGROUND_WORKER_CHECKIN_SECONDS` | Supprimée dans la v2.1.283. Utilisez plutôt `CLAUDE_CODE_WORKER_CHECKIN_SCHEDULE` |229| `CLAUDE_CODE_AUTO_BACKGROUND_WORKER_CHECKIN_SECONDS` | Supprimée dans la v2.1.283. Utilisez `CLAUDE_CODE_WORKER_CHECKIN_SCHEDULE` à la place |

226| `CLAUDE_CODE_AUTO_COMPACT_WINDOW` | Définit la [fenêtre de compaction automatique](/docs/fr/model-config#set-the-auto-compact-window) en tokens, de `100000` à `1000000`. N'accepte qu'un entier simple comme `500000` : une valeur comme `500k` est lue comme `500` et ramenée au minimum de 100K. La fenêtre effective est également plafonnée à la fenêtre de contexte du modèle. Prioritaire sur la commande `/autocompact`, le flag `--autocompact` et le paramètre `autoCompactWindow`. Le `used_percentage` de la barre de statut se mesure toujours par rapport à la fenêtre de contexte complète du modèle ; une fois cette variable définie, ce pourcentage n'indique donc plus quand la compaction aura lieu |230| `CLAUDE_CODE_AUTO_COMPACT_WINDOW` | Définit la [fenêtre de compaction automatique](/docs/fr/model-config#set-the-auto-compact-window) en tokens, de `100000` à `1000000`. N'accepte qu'un entier simple comme `500000` : une valeur comme `500k` est lue comme `500` et ramenée au minimum de 100K. La fenêtre effective est également plafonnée à la fenêtre de contexte du modèle. Prioritaire sur la commande `/autocompact`, le flag `--autocompact` et le paramètre `autoCompactWindow`. Le `used_percentage` de la barre de statut se mesure toujours par rapport à la fenêtre de contexte complète du modèle ; une fois cette variable définie, ce pourcentage n'indique donc plus quand la compaction aura lieu |

227| `CLAUDE_CODE_AUTO_CONNECT_IDE` | Remplace la [connexion IDE](/docs/fr/vs-code) automatique. Par défaut, Claude Code se connecte automatiquement lorsqu'il est lancé dans le terminal intégré d'un IDE pris en charge. Définissez `false` pour l'empêcher. Définissez `true` pour forcer une tentative de connexion lorsque la détection automatique échoue, par exemple lorsque tmux masque le terminal parent. Prioritaire sur le paramètre de configuration globale [`autoConnectIde`](/docs/fr/settings-reference#autoconnectide) |231| `CLAUDE_CODE_AUTO_CONNECT_IDE` | Remplace la [connexion IDE](/docs/fr/vs-code) automatique. Par défaut, Claude Code se connecte automatiquement lorsqu'il est lancé dans le terminal intégré d'un IDE pris en charge. Définissez sur `false` pour l'empêcher. Définissez sur `true` pour forcer une tentative de connexion lorsque la détection automatique échoue, par exemple lorsque tmux masque le terminal parent. Prioritaire sur le paramètre de configuration globale [`autoConnectIde`](/docs/fr/settings-reference#autoconnectide) |

228| `CLAUDE_CODE_AUTO_MODE_SERVER` | Détermine si Claude Code demande au serveur d'[examiner les actions du mode auto](/docs/fr/permission-modes#server-side-classifier-review). Définissez `0` pour utiliser plutôt les propres requêtes de classifieur de Claude Code. Sur une connexion directe à l'API Anthropic, nécessite la v2.1.281 ou version ultérieure. La section liée indique quelles sessions interrogent le serveur lorsque la variable n'est pas définie, et à partir de quelle version. Nécessite Claude Code v2.1.271 ou version ultérieure |232| `CLAUDE_CODE_AUTO_MODE_SERVER` | Contrôle si Claude Code demande au serveur d'[examiner les actions du mode auto](/docs/fr/permission-modes#server-side-classifier-review). Définissez sur `0` pour utiliser à la place les propres requêtes de classifieur de Claude Code. Sur une connexion directe à l'API Anthropic, nécessite la v2.1.281 ou ultérieure. La section liée indique quelles sessions interrogent le serveur lorsque la variable n'est pas définie, et à partir de quelle version. Nécessite Claude Code v2.1.271 ou ultérieur |

229| `CLAUDE_CODE_AWS_CHAIN_RESOLVE_TIMEOUT_MS` | Durée en millisecondes pendant laquelle Claude Code attend que la chaîne de fournisseurs d'identifiants AWS par défaut produise des identifiants avant que la requête n'échoue avec [`AWS default-chain credential resolve timed out`](/docs/fr/errors#aws-default-chain-credential-resolve-timed-out) (par défaut : `60000`). Augmentez-la lorsqu'une étape de votre chaîne a légitimement besoin de plus de temps, comme une connexion SSO via le navigateur avec MFA passant par un wrapper tel que `aws-vault`. S'applique à Amazon Bedrock, à [Claude Platform on AWS](/docs/fr/claude-platform-on-aws) et à l'[endpoint Mantle](/docs/fr/amazon-bedrock#use-the-mantle-endpoint). Voir [mise en cache des identifiants et délai de résolution](/docs/fr/amazon-bedrock#credential-caching-and-resolution-timeout). Nécessite Claude Code v2.1.207 ou version ultérieure |233| `CLAUDE_CODE_AWS_CHAIN_RESOLVE_TIMEOUT_MS` | Temps en millisecondes pendant lequel Claude Code attend que la chaîne de fournisseurs d'identifiants AWS par défaut produise des identifiants avant que la requête n'échoue avec [`AWS default-chain credential resolve timed out`](/docs/fr/errors#aws-default-chain-credential-resolve-timed-out) (par défaut : `60000`). Augmentez-le lorsqu'une étape de votre chaîne a légitimement besoin de plus de temps, comme une connexion SSO via le navigateur avec MFA à travers un wrapper comme `aws-vault`. S'applique sur Amazon Bedrock, [Claude Platform on AWS](/docs/fr/claude-platform-on-aws) et l'[endpoint Mantle](/docs/fr/amazon-bedrock#use-the-mantle-endpoint). Voir [mise en cache des identifiants et délai de résolution](/docs/fr/amazon-bedrock#credential-caching-and-resolution-timeout). Nécessite Claude Code v2.1.207 ou ultérieur |

230| `CLAUDE_CODE_BASH_EDIT_DIFF` | Définissez `0` pour désactiver le [diff des fichiers modifiés pendant l'exécution d'une commande Bash](/docs/fr/hooks#bash), ou `1` pour l'enregistrer dans tous les modes de permission. Prioritaire sur le paramètre [`bashEditDiffEnabled`](/docs/fr/settings-reference#basheditdiffenabled). Nécessite Claude Code v2.1.269 ou version ultérieure |234| `CLAUDE_CODE_BASH_EDIT_DIFF` | Définissez sur `0` pour désactiver le [diff des fichiers modifiés pendant l'exécution d'une commande Bash](/docs/fr/hooks#bash), ou sur `1` pour l'enregistrer dans tous les modes de permission. Prioritaire sur le paramètre [`bashEditDiffEnabled`](/docs/fr/settings-reference#basheditdiffenabled). Nécessite Claude Code v2.1.269 ou ultérieur |

231| `CLAUDE_CODE_BG_TASKS_REPORT_RUNNING` | Définissez `0` pour qu'une session non interactive signale un statut inactif à son hôte à chaque fin de tour, même lorsque du travail en arrière-plan est encore en cours. Par défaut, la session continue de signaler un statut en cours d'exécution après la fin du tour tant qu'un travail en arrière-plan, comme un agent en arrière-plan ou une exécution de [workflow](/docs/fr/workflows), est toujours actif. Cela évite qu'un hôte qui surveille le statut, comme une liste de sessions distantes, n'annonce que Claude attend votre saisie en plein travail. Les commandes shell en arrière-plan, comme un serveur de développement, ne maintiennent pas le statut en cours d'exécution. Le statut en cours d'exécution par défaut et la désactivation via `0` nécessitent Claude Code v2.1.269 ou version ultérieure ; sur les versions antérieures, définissez `1` pour maintenir le statut en cours d'exécution |235| `CLAUDE_CODE_BG_TASKS_REPORT_RUNNING` | Définissez sur `0` pour qu'une session non interactive signale un statut inactif à son hôte à chaque fin de tour, même lorsque du travail en arrière-plan est encore en cours. Par défaut, la session continue de signaler un statut en cours d'exécution après la fin du tour tant qu'un travail en arrière-plan, comme un agent en arrière-plan ou l'exécution d'un [workflow](/docs/fr/workflows), est encore actif. Cela évite qu'un hôte qui surveille le statut, comme une liste de sessions distantes, n'annonce que Claude attend votre saisie en plein travail. Les commandes shell en arrière-plan, comme un serveur de développement, ne maintiennent pas le statut en cours d'exécution. Le statut en cours d'exécution par défaut et la désactivation via `0` nécessitent Claude Code v2.1.269 ou ultérieur ; sur les versions antérieures, définissez `1` pour maintenir le statut en cours d'exécution |

232| `CLAUDE_CODE_BRIDGE_SESSION_ID` | Définie automatiquement dans les sous-processus de l'outil Bash et des [commandes de hook](/docs/fr/hooks) lorsque la session dispose d'une connexion [Remote Control](/docs/fr/remote-control) active, et supprimée à la fin de la connexion. La valeur est l'ID de la session sous la forme `session_`, le même identifiant que celui qui apparaît dans l'URL `claude.ai/code` de la session, afin qu'un script puisse renvoyer vers la session qui l'a exécuté. Nécessite Claude Code v2.1.199 ou version ultérieure. Dans les [sessions cloud](/docs/fr/claude-code-on-the-web), lisez plutôt `CLAUDE_CODE_REMOTE_SESSION_ID` |236| `CLAUDE_CODE_BRIDGE_SESSION_ID` | Définie automatiquement dans les sous-processus de l'outil Bash et des [commandes de hook](/docs/fr/hooks) tant que la session dispose d'une connexion [Remote Control](/docs/fr/remote-control) active, et supprimée lorsque la connexion prend fin. La valeur est l'identifiant de la session sous la forme `session_`, le même identifiant que celui qui apparaît dans l'URL `claude.ai/code` de la session, afin qu'un script puisse renvoyer à la session qui l'a exécuté. Nécessite Claude Code v2.1.199 ou ultérieur. Dans les [sessions cloud](/docs/fr/claude-code-on-the-web), lisez plutôt `CLAUDE_CODE_REMOTE_SESSION_ID` |

233| `CLAUDE_CODE_BS_AS_CTRL_BACKSPACE` | Définissez `0` pour que Claude Code lise l'octet `0x08`, également écrit `^H`, comme un simple Backspace, ou `1` pour le lire comme Ctrl+Backspace. Chacune de ces valeurs remplace le comportement par défaut de la plateforme. Par défaut, Claude Code le lit comme Ctrl+Backspace sous Windows, sauf lorsque `TERM_PROGRAM` vaut `mintty` ou que `TERM` vaut `cygwin`, et comme un simple Backspace sous macOS et Linux. Définissez `0` dans un terminal Windows où [Backspace supprime un mot entier](/docs/fr/terminal-config#fix-backspace-deleting-a-whole-word-on-windows) |237| `CLAUDE_CODE_BS_AS_CTRL_BACKSPACE` | Définissez sur `0` pour que Claude Code lise l'octet `0x08`, également écrit `^H`, comme un simple Backspace, ou sur `1` pour le lire comme Ctrl+Backspace. Les deux valeurs remplacent la valeur par défaut de la plateforme. Par défaut, Claude Code le lit comme Ctrl+Backspace sous Windows, sauf lorsque `TERM_PROGRAM` vaut `mintty` ou que `TERM` vaut `cygwin`, et comme un simple Backspace sous macOS et Linux. Définissez `0` dans un terminal Windows où [Backspace supprime un mot entier](/docs/fr/terminal-config#fix-backspace-deleting-a-whole-word-on-windows) |

234| `CLAUDE_CODE_CERT_STORE` | Liste, séparée par des virgules, des sources de certificats CA pour les connexions TLS. `bundled` est l'ensemble de CA Mozilla fourni avec Claude Code. `system` est le magasin de confiance du système d'exploitation, lu uniquement sur les runtimes disposant de `tls.getCACertificates` : le binaire natif, ou Node 22.15 ou version ultérieure pour les installations npm. Voir [Magasin de certificats CA](/docs/fr/network-config#ca-certificate-store). Valeur par défaut : `bundled,system` |238| `CLAUDE_CODE_CERT_STORE` | Liste, séparée par des virgules, des sources de certificats CA pour les connexions TLS. `bundled` est l'ensemble de CA Mozilla fourni avec Claude Code. `system` est le magasin de confiance du système d'exploitation, lu uniquement sur les runtimes disposant de `tls.getCACertificates` : le binaire natif, ou Node 22.15 ou ultérieur pour les installations npm. Voir [Magasin de certificats CA](/docs/fr/network-config#ca-certificate-store). Par défaut : `bundled,system` |

235| `CLAUDE_CODE_CHILD_SESSION` | Définie à `1` dans les sous-processus que Claude Code lance via les outils Bash, PowerShell et Monitor, les commandes de [hook](/docs/fr/hooks) et les commandes de [barre de statut](/docs/fr/statusline). Non définie pour les sous-processus de [serveur MCP](/docs/fr/mcp) stdio, qui ont une longue durée de vie et survivent à la session qui les a lancés. Contrairement à `CLAUDECODE`, elle n'est définie que par Claude Code lui-même lorsqu'il lance un sous-processus, et non par les extensions IDE ; elle distingue donc de manière fiable une session imbriquée d'un `claude` de premier niveau lancé dans un terminal intégré à un IDE. Une TUI `claude` interactive imbriquée démarrée de cette façon est automatiquement exclue de `--resume`, de `--continue`, de l'historique accessible avec la flèche haut et de la liste `claude agents`. Les sessions `claude -p` non interactives restent persistantes. Définissez `CLAUDE_CODE_FORCE_SESSION_PERSISTENCE=1` pour lever cette exclusion. Nécessite Claude Code v2.1.172 ou version ultérieure |239| `CLAUDE_CODE_CHILD_SESSION` | Définie sur `1` dans les sous-processus que Claude Code lance via les outils Bash, PowerShell et Monitor, les commandes de [hook](/docs/fr/hooks) et les commandes de [barre de statut](/docs/fr/statusline). Non définie pour les sous-processus de [serveur MCP](/docs/fr/mcp) stdio, qui ont une longue durée de vie et survivent à la session qui les a lancés. Contrairement à `CLAUDECODE`, elle n'est définie que par Claude Code lui-même lorsqu'il lance un sous-processus, et non par les extensions IDE ; elle distingue donc de manière fiable une session imbriquée d'un `claude` de premier niveau lancé dans un terminal intégré à un IDE. Une TUI `claude` interactive imbriquée démarrée de cette façon est automatiquement exclue de `--resume`, `--continue`, de l'historique par flèche vers le haut et de la liste `claude agents`. Les sessions non interactives `claude -p` sont toujours conservées. Définissez `CLAUDE_CODE_FORCE_SESSION_PERSISTENCE=1` pour annuler cette exclusion. Nécessite Claude Code v2.1.172 ou ultérieur |

236| `CLAUDE_CODE_CLIENT_CERT` | Chemin vers le fichier de certificat client pour l'authentification mTLS |240| `CLAUDE_CODE_CLIENT_CERT` | Chemin vers le fichier de certificat client pour l'authentification mTLS |

237| `CLAUDE_CODE_CLIENT_KEY` | Chemin vers le fichier de clé privée client pour l'authentification mTLS |241| `CLAUDE_CODE_CLIENT_KEY` | Chemin vers le fichier de clé privée client pour l'authentification mTLS |

238| `CLAUDE_CODE_CLIENT_KEY_PASSPHRASE` | Phrase secrète pour la CLAUDE\_CODE\_CLIENT\_KEY chiffrée (facultatif) |242| `CLAUDE_CODE_CLIENT_KEY_PASSPHRASE` | Phrase secrète de la CLAUDE\_CODE\_CLIENT\_KEY chiffrée (facultatif) |

239| `CLAUDE_CODE_CONNECT_TIMEOUT_MS` | Supprimée dans la v2.1.186 et désormais sans effet. Définissait auparavant un délai d'expiration distinct pour la phase de connexion, TLS et en-têtes de réponse d'une requête API en streaming. Utilisez `API_TIMEOUT_MS` pour le délai d'expiration par requête. Pour la phase d'en-têtes de réponse d'une requête en streaming, voir `CLAUDE_STREAM_FIRST_BYTE_TIMEOUT_MS` |243| `CLAUDE_CODE_CONNECT_TIMEOUT_MS` | Supprimée dans la v2.1.186 et désormais sans effet. Définissait auparavant un délai d'expiration distinct pour la phase de connexion, TLS et en-têtes de réponse d'une requête API en streaming. Utilisez `API_TIMEOUT_MS` pour le délai d'expiration par requête. Pour la phase des en-têtes de réponse d'une requête en streaming, voir `CLAUDE_STREAM_FIRST_BYTE_TIMEOUT_MS` |

240| `CLAUDE_CODE_DEBUG_LOGS_DIR` | Remplace le chemin du fichier de log de débogage. Malgré son nom, il s'agit d'un chemin de fichier et non d'un répertoire. Nécessite d'activer séparément le mode débogage via `--debug`, `/debug` ou la variable d'environnement `DEBUG` : définir cette variable seule n'active pas la journalisation. Le flag [`--debug-file`](/docs/fr/cli-reference#cli-flags) fait les deux à la fois. Valeur par défaut : `~/.claude/debug/<session-id>.txt` |244| `CLAUDE_CODE_DEBUG_LOGS_DIR` | Remplace le chemin du fichier de log de débogage. Malgré son nom, il s'agit d'un chemin de fichier, pas d'un répertoire. Nécessite que le mode débogage soit activé séparément via `--debug`, `/debug` ou la variable d'environnement `DEBUG` : définir cette variable seule n'active pas la journalisation. Le flag [`--debug-file`](/docs/fr/cli-reference#cli-flags) fait les deux à la fois. Par défaut : `~/.claude/debug/<session-id>.txt` |

241| `CLAUDE_CODE_DEBUG_LOG_LEVEL` | Niveau de log minimal écrit dans le fichier de log de débogage. Valeurs : `verbose`, `debug` (par défaut), `info`, `warn`, `error`. Définissez `verbose` pour inclure des diagnostics volumineux comme la sortie complète de la commande de barre de statut, ou montez à `error` pour réduire le bruit |245| `CLAUDE_CODE_DEBUG_LOG_LEVEL` | Niveau de log minimal écrit dans le fichier de log de débogage. Valeurs : `verbose`, `debug` (par défaut), `info`, `warn`, `error`. Définissez sur `verbose` pour inclure des diagnostics volumineux comme la sortie complète de la commande de barre de statut, ou relevez-le à `error` pour réduire le bruit |

242| `CLAUDE_CODE_DISABLE_1M_CONTEXT` | Définissez `1` pour désactiver la prise en charge de la [fenêtre de contexte de 1M](/docs/fr/model-config#extended-context). Claude Code retire les variantes de modèle `[1m]` du sélecteur de modèles et limite à une fenêtre de 200K les modèles qui utilisent la fenêtre de 1M par défaut. Voir [Désactiver le contexte de 1M](/docs/fr/model-config#turn-off-1m-context). Utile pour les environnements d'entreprise soumis à des exigences de conformité. Pour son rôle dans la correction de la fenêtre d'un ID de modèle `[1m]` non reconnu, 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) |246| `CLAUDE_CODE_DISABLE_1M_CONTEXT` | Définissez sur `1` pour désactiver la prise en charge de la [fenêtre de contexte de 1M](/docs/fr/model-config#extended-context). Claude Code retire les variantes de modèle `[1m]` du sélecteur de modèle et limite à une fenêtre de 200K les modèles qui s'exécutent par défaut avec la fenêtre de 1M. Voir [Désactiver le contexte 1M](/docs/fr/model-config#turn-off-1m-context). Utile pour les environnements d'entreprise soumis à des exigences de conformité. Pour son rôle dans la correction de la fenêtre d'un ID de modèle `[1m]` non reconnu, 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) |

243| `CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING` | Définissez `1` pour désactiver le [raisonnement adaptatif](/docs/fr/model-config#adjust-effort-level) sur Opus 4.6 et Sonnet 4.6 et revenir au budget de réflexion fixe contrôlé par `MAX_THINKING_TOKENS`. Sans effet sur les [modèles Fable](/docs/fr/model-config#extended-thinking), Sonnet 5 et versions ultérieures, Haiku 5.5, ou Opus 4.7 et versions ultérieures, qui utilisent toujours le raisonnement adaptatif |247| `CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING` | Définissez sur `1` pour désactiver le [raisonnement adaptatif](/docs/fr/model-config#adjust-effort-level) sur Opus 4.6 et Sonnet 4.6 et revenir au budget de réflexion fixe contrôlé par `MAX_THINKING_TOKENS`. Sans effet sur les [modèles Fable](/docs/fr/model-config#extended-thinking), Sonnet 5 et ultérieurs, Haiku 5.5, ou Opus 4.7 et ultérieurs, qui utilisent toujours le raisonnement adaptatif |

244| `CLAUDE_CODE_DISABLE_ADMIN_ENV_UNION` | Définissez `1` pour empêcher Claude Code de fusionner clé par clé les blocs `env` des [paramètres gérés](/docs/fr/managed-settings#precedence-within-the-managed-tier) provenant des différentes sources d'administration, afin que seul le bloc `env` complet de la source la plus prioritaire s'applique, comme avant la v2.1.223. Définissez-la dans l'environnement qui lance Claude Code, car Claude Code ignore une copie fournie via le bloc `env` des paramètres. Nécessite Claude Code v2.1.223 ou version ultérieure |248| `CLAUDE_CODE_DISABLE_ADMIN_ENV_UNION` | Définissez sur `1` pour empêcher Claude Code de fusionner clé par clé les blocs `env` des [paramètres gérés](/docs/fr/managed-settings#precedence-within-the-managed-tier) provenant des différentes sources d'administration, de sorte que seul le bloc `env` complet de la source la plus prioritaire s'applique, comme avant la v2.1.223. Définissez-la dans l'environnement qui lance Claude Code, car Claude Code ignore une copie fournie via un bloc `env` de paramètres. Nécessite Claude Code v2.1.223 ou ultérieur |

245| `CLAUDE_CODE_DISABLE_ADVISOR_TOOL` | Définissez `1` pour désactiver l'[outil advisor](/docs/fr/advisor). La commande `/advisor` devient indisponible, tout `advisorModel` configuré est ignoré, et le flag `--advisor` est accepté mais sans effet, de sorte que les scripts existants qui le transmettent continuent de fonctionner sans erreur |249| `CLAUDE_CODE_DISABLE_ADVISOR_TOOL` | Définissez sur `1` pour désactiver l'[outil advisor](/docs/fr/advisor). La commande `/advisor` devient indisponible, tout `advisorModel` configuré est ignoré, et le flag `--advisor` est accepté mais sans effet, de sorte que les scripts existants qui le transmettent continuent de fonctionner sans erreur |

246| `CLAUDE_CODE_DISABLE_AGENT_VIEW` | Définissez `1` pour désactiver les [agents en arrière-plan et la vue des agents](/docs/fr/agent-view) : `claude agents`, `--bg`, `/background` et le superviseur à la demande. Équivalent au paramètre [`disableAgentView`](/docs/fr/settings-reference#disableagentview) |250| `CLAUDE_CODE_DISABLE_AGENT_VIEW` | Définissez sur `1` pour désactiver les [agents en arrière-plan et la vue des agents](/docs/fr/agent-view) : `claude agents`, `--bg`, `/background` et le superviseur à la demande. Équivalent au paramètre [`disableAgentView`](/docs/fr/settings-reference#disableagentview) |

247| `CLAUDE_CODE_DISABLE_ALTERNATE_SCREEN` | Définissez `1` pour désactiver le [rendu plein écran](/docs/fr/fullscreen) et utiliser le moteur de rendu classique sur l'écran principal. La conversation reste dans l'historique de défilement natif de votre terminal, de sorte que `Cmd+f` et le mode copie de tmux fonctionnent normalement. Prioritaire sur `CLAUDE_CODE_NO_FLICKER` et le paramètre [`tui`](/docs/fr/settings-reference#tui). Vous pouvez aussi basculer avec `/tui default`. Ne s'applique pas aux sessions en arrière-plan ouvertes depuis la [vue des agents](/docs/fr/agent-view), qui utilisent toujours le rendu plein écran |251| `CLAUDE_CODE_DISABLE_ALTERNATE_SCREEN` | Définissez sur `1` pour désactiver le [rendu plein écran](/docs/fr/fullscreen) et utiliser le moteur de rendu classique sur l'écran principal. La conversation reste dans l'historique de défilement natif de votre terminal, de sorte que `Cmd+f` et le mode copie de tmux fonctionnent normalement. Prioritaire sur `CLAUDE_CODE_NO_FLICKER` et le paramètre [`tui`](/docs/fr/settings-reference#tui). Vous pouvez également basculer avec `/tui default`. Ne s'applique pas aux sessions en arrière-plan ouvertes depuis la [vue des agents](/docs/fr/agent-view), qui utilisent toujours le rendu plein écran |

248| `CLAUDE_CODE_DISABLE_ARTIFACT` | Définissez `1` pour désactiver l'outil [Artifact](/docs/fr/artifacts), qui publie la sortie d'une session sous forme de page web privée sur claude.ai. Une fois cette variable définie, aucun fichier de paramètres ne peut réactiver l'outil. Pour désactiver plutôt l'outil depuis un fichier de paramètres, définissez [`enableArtifact`](/docs/fr/settings-reference#enableartifact) à `false` ; la clé dépréciée [`disableArtifact`](/docs/fr/settings-reference#disableartifact) le désactive également |252| `CLAUDE_CODE_DISABLE_ARTIFACT` | Définissez sur `1` pour désactiver l'outil [Artifact](/docs/fr/artifacts), qui publie la sortie de la session sous forme de page web privée sur claude.ai. Une fois cette variable définie, aucun fichier de paramètres ne peut réactiver l'outil. Pour désactiver plutôt l'outil depuis un fichier de paramètres, définissez [`enableArtifact`](/docs/fr/settings-reference#enableartifact) sur `false` ; la clé dépréciée [`disableArtifact`](/docs/fr/settings-reference#disableartifact) le désactive également |

249| `CLAUDE_CODE_DISABLE_ATTACHMENTS` | Définissez `1` pour désactiver le traitement des pièces jointes. Les mentions de fichiers avec la syntaxe `@` sont envoyées en texte brut au lieu d'être développées en contenu de fichier. Ignorée dans les [paramètres de projet et locaux](/docs/fr/settings-reference#variables-claude-code-ignores-in-env) |253| `CLAUDE_CODE_DISABLE_ATTACHMENTS` | Définissez sur `1` pour désactiver le traitement des pièces jointes. Les mentions de fichiers avec la syntaxe `@` sont envoyées en texte brut au lieu d'être développées en contenu de fichier. Ignorée dans les [paramètres de projet et locaux](/docs/fr/settings-reference#variables-claude-code-ignores-in-env) |

250| `CLAUDE_CODE_DISABLE_AUTH_REFRESH_LOCK` | Définissez `1` pour qu'un processus Claude Code exécute lui-même sa commande [`gcpAuthRefresh`](/docs/fr/settings-reference#gcpauthrefresh) ou [`awsAuthRefresh`](/docs/fr/settings-reference#awsauthrefresh) au lieu d'attendre pendant qu'un autre processus l'exécute. Nécessite Claude Code v2.1.286 ou version ultérieure |254| `CLAUDE_CODE_DISABLE_AUTH_REFRESH_LOCK` | Définissez sur `1` pour qu'un processus Claude Code exécute lui-même sa commande [`gcpAuthRefresh`](/docs/fr/settings-reference#gcpauthrefresh) ou [`awsAuthRefresh`](/docs/fr/settings-reference#awsauthrefresh) au lieu d'attendre pendant qu'un autre processus l'exécute. Nécessite Claude Code v2.1.286 ou ultérieur |

251| `CLAUDE_CODE_DISABLE_AUTO_MEMORY` | Définissez `1` pour désactiver la [mémoire automatique](/docs/fr/memory#auto-memory). Définissez `0` pour forcer l'activation de la mémoire automatique même lorsque le mode `--bare` ou [`autoMemoryEnabled: false`](/docs/fr/settings-reference#automemoryenabled) la désactiverait autrement. Lorsqu'elle est désactivée, Claude ne crée ni ne charge de fichiers de mémoire automatique |255| `CLAUDE_CODE_DISABLE_AUTO_MEMORY` | Définissez sur `1` pour désactiver la [mémoire automatique](/docs/fr/memory#auto-memory). Définissez sur `0` pour forcer l'activation de la mémoire automatique même lorsque le mode `--bare` ou [`autoMemoryEnabled: false`](/docs/fr/settings-reference#automemoryenabled) la désactiverait autrement. Lorsqu'elle est désactivée, Claude ne crée ni ne charge de fichiers de mémoire automatique |

252| `CLAUDE_CODE_DISABLE_BACKGROUND_TASKS` | Définissez `1` pour désactiver toutes les fonctionnalités de tâches en arrière-plan, y compris le paramètre `run_in_background` des outils Bash et de sous-agent, la mise en arrière-plan automatique et le raccourci Ctrl+B |256| `CLAUDE_CODE_DISABLE_BACKGROUND_TASKS` | Définissez sur `1` pour désactiver toutes les fonctionnalités de tâches en arrière-plan, y compris le paramètre `run_in_background` des outils Bash et de sous-agent, la mise en arrière-plan automatique et le raccourci Ctrl+B |

253| `CLAUDE_CODE_DISABLE_BEDROCK_CONTENT_TYPE_DEFAULT` | Définissez `1` pour que Claude Code cesse de traiter une réponse en streaming [Amazon Bedrock](/docs/fr/amazon-bedrock) dont l'en-tête `Content-Type` est absent ou vide comme le flux d'événements binaire d'Amazon Bedrock. Par défaut, Claude Code suppose qu'une passerelle a supprimé l'en-tête d'une réponse par ailleurs non modifiée ; il décode donc le corps et le streaming continue de fonctionner. Ne définissez cette variable que pour une passerelle qui réémet également le flux sous forme de server-sent events ; Claude Code lit alors le corps sans en-tête comme des server-sent events. Nécessite Claude Code v2.1.239 ou version ultérieure |257| `CLAUDE_CODE_DISABLE_BEDROCK_CONTENT_TYPE_DEFAULT` | Définissez sur `1` pour empêcher Claude Code de traiter une réponse en streaming [Amazon Bedrock](/docs/fr/amazon-bedrock) dont l'en-tête `Content-Type` est absent ou vide comme le flux d'événements binaire d'Amazon Bedrock. Par défaut, Claude Code suppose qu'une passerelle a supprimé l'en-tête d'une réponse par ailleurs non modifiée ; il décode donc le corps et le streaming continue de fonctionner. Ne définissez cette variable que pour une passerelle qui réémet également le flux sous forme de server-sent events ; Claude Code lit alors le corps sans en-tête comme des server-sent events. Nécessite Claude Code v2.1.239 ou ultérieur |

254| `CLAUDE_CODE_DISABLE_BEDROCK_CONTENT_TYPE_GUARD` | Définissez `1` pour ignorer la vérification selon laquelle une réponse en streaming [Amazon Bedrock](/docs/fr/amazon-bedrock) porte le content-type `application/vnd.amazon.eventstream`. Sans cette variable, lorsqu'une réponse porte un autre content-type, Claude Code fait échouer la requête avec une erreur indiquant ce type, ce qui signifie qu'une [passerelle ou un proxy transforme la réponse](/docs/fr/amazon-bedrock#streaming-errors-behind-a-gateway-or-proxy). Configurez la passerelle pour qu'elle transmette l'en-tête `Content-Type` et le corps sans modification plutôt que de définir cette variable. Nécessite Claude Code v2.1.208 ou version ultérieure |258| `CLAUDE_CODE_DISABLE_BEDROCK_CONTENT_TYPE_GUARD` | Définissez sur `1` pour ignorer la vérification selon laquelle une réponse en streaming [Amazon Bedrock](/docs/fr/amazon-bedrock) porte le content-type `application/vnd.amazon.eventstream`. Sans cette variable, lorsqu'une réponse porte un autre content-type, Claude Code fait échouer la requête avec une erreur indiquant ce type, ce qui signifie qu'une [passerelle ou un proxy transforme la réponse](/docs/fr/amazon-bedrock#streaming-errors-behind-a-gateway-or-proxy). Configurez la passerelle pour qu'elle transmette l'en-tête `Content-Type` et le corps sans modification plutôt que de définir cette variable. Nécessite Claude Code v2.1.208 ou ultérieur |

255| `CLAUDE_CODE_DISABLE_BG_EXIT_HANDOFF` | Définissez `1` pour arrêter les commandes shell en arrière-plan en cours d'exécution d'une [session en arrière-plan](/docs/fr/agent-view), ses workflows dynamiques et, depuis la v2.1.198, ses sous-agents en arrière-plan lorsque le [superviseur](/docs/fr/agent-view#the-supervisor-process) arrête, redémarre ou met à jour le processus de cette session, au lieu de les transmettre au processus suivant de la session. N'affecte que cette transmission : mettre une session en arrière-plan avec `←` ou [`/background`](/docs/fr/agent-view#from-inside-a-session) transfère toujours le travail en cours, et `CLAUDE_DISABLE_ADOPT` désactive les deux. Nécessite Claude Code v2.1.196 ou version ultérieure |259| `CLAUDE_CODE_DISABLE_BG_EXIT_HANDOFF` | Définissez sur `1` pour arrêter les commandes shell en arrière-plan en cours d'exécution d'une [session en arrière-plan](/docs/fr/agent-view), ses workflows dynamiques et, depuis la v2.1.198, ses sous-agents en arrière-plan lorsque le [superviseur](/docs/fr/agent-view#the-supervisor-process) arrête, redémarre ou met à jour le processus de cette session, au lieu de les transmettre au processus suivant de la session. N'affecte que cette transmission : mettre une session en arrière-plan avec `←` ou [`/background`](/docs/fr/agent-view#from-inside-a-session) transfère toujours le travail en cours, et `CLAUDE_DISABLE_ADOPT` désactive les deux. Nécessite Claude Code v2.1.196 ou ultérieur |

256| `CLAUDE_CODE_DISABLE_BG_SHELL_PRESSURE_REAP` | Définissez `1` pour empêcher Claude Code d'arrêter les [commandes shell en arrière-plan](/docs/fr/interactive-mode#background-bash-commands) en cas de pression mémoire. Par défaut, sous macOS et Linux, Claude Code arrête les shells en arrière-plan lorsque le système d'exploitation signale une pression mémoire critique et que la session est inactive depuis 30 minutes sans tour ni sous-agent en cours. Windows ne dispose pas de signal de pression mémoire ; cette variable n'y a donc aucun effet. Nécessite Claude Code v2.1.193 ou version ultérieure |260| `CLAUDE_CODE_DISABLE_BG_SHELL_PRESSURE_REAP` | Définissez sur `1` pour empêcher Claude Code de terminer les [commandes shell en arrière-plan](/docs/fr/interactive-mode#background-bash-commands) en cas de pression mémoire. Par défaut, sous macOS et Linux, Claude Code termine les shells en arrière-plan lorsque le système d'exploitation signale une pression mémoire critique et que la session est inactive depuis 30 minutes sans tour ni sous-agent en cours. Windows ne dispose d'aucun signal de pression mémoire ; cette variable n'y a donc aucun effet. Nécessite Claude Code v2.1.193 ou ultérieur |

257| `CLAUDE_CODE_DISABLE_BUNDLED_SKILLS` | Définissez `1` pour désactiver les [skills](/docs/fr/skills) et workflows inclus avec Claude Code : les skills et workflows fournis sont entièrement supprimés, tandis que les commandes intégrées comme `/init` peuvent toujours être saisies mais sont masquées pour le modèle. `/doctor` peut toujours être saisie comme les commandes intégrées ; masquez-la plutôt avec `DISABLE_DOCTOR_COMMAND`. Les skills provenant de plugins, de `.claude/skills/` et de `.claude/commands/` ne sont pas affectés. Équivalent au paramètre [`disableBundledSkills`](/docs/fr/settings-reference#disablebundledskills) |261| `CLAUDE_CODE_DISABLE_BUNDLED_SKILLS` | Définissez sur `1` pour désactiver les [skills](/docs/fr/skills) et workflows fournis avec Claude Code : les skills et workflows fournis sont entièrement supprimés, tandis que les commandes intégrées comme `/init` restent saisissables mais sont masquées au modèle. `/doctor` reste saisissable comme les commandes intégrées ; masquez-la plutôt avec `DISABLE_DOCTOR_COMMAND`. Les skills provenant des plugins, de `.claude/skills/` et de `.claude/commands/` ne sont pas affectés. Équivalent au paramètre [`disableBundledSkills`](/docs/fr/settings-reference#disablebundledskills) |

258| `CLAUDE_CODE_DISABLE_CFC_PROMPT` | Définissez `1` pour garder disponibles les outils de navigateur [Claude in Chrome](/docs/fr/chrome) tout en omettant la section Chrome du prompt système et le [skill fourni](/docs/fr/skills#bundled-skills) `/claude-in-chrome`. Destinée aux hôtes qui intègrent Claude Code et fournissent leurs propres consignes de navigation. Nécessite Claude Code v2.1.257 ou version ultérieure |262| `CLAUDE_CODE_DISABLE_CFC_PROMPT` | Définissez sur `1` pour garder disponibles les outils de navigateur [Claude in Chrome](/docs/fr/chrome) tout en omettant la section Chrome du prompt système et le [skill fourni](/docs/fr/skills#bundled-skills) `/claude-in-chrome`. Destinée aux hôtes qui intègrent Claude Code et fournissent leurs propres instructions pour le navigateur. Nécessite Claude Code v2.1.257 ou ultérieur |

259| `CLAUDE_CODE_DISABLE_CLAUDE_MDS` | Définissez `1` pour empêcher le chargement de tout fichier de mémoire CLAUDE.md dans le contexte, y compris les fichiers de mémoire utilisateur, de projet et de mémoire automatique |263| `CLAUDE_CODE_DISABLE_CLAUDE_MDS` | Définissez sur `1` pour empêcher le chargement de tout fichier de mémoire CLAUDE.md dans le contexte, y compris les fichiers de mémoire utilisateur, de projet et de mémoire automatique |

260| `CLAUDE_CODE_DISABLE_CRON` | Définissez `1` pour désactiver les [tâches planifiées](/docs/fr/scheduled-tasks). Le skill `/loop` et les outils cron deviennent indisponibles, et toutes les tâches déjà planifiées cessent de se déclencher, y compris celles déjà en cours d'exécution en pleine session |264| `CLAUDE_CODE_DISABLE_CRON` | Définissez sur `1` pour désactiver les [tâches planifiées](/docs/fr/scheduled-tasks). Le skill `/loop` et les outils cron deviennent indisponibles et toutes les tâches déjà planifiées cessent de se déclencher, y compris les tâches déjà en cours d'exécution au milieu d'une session |

261| `CLAUDE_CODE_DISABLE_DANGEROUS_RM_TIMEOUT` | Définissez `1` pour désactiver la limite de temps sur les demandes de permission de [suppression de chemins critiques](/docs/fr/permission-modes#critical-paths). En mode `auto`, Claude Code envoie alors ces suppressions au classifieur, et en mode `bypassPermissions`, la demande attend votre réponse. Définissez-la dans l'environnement qui lance Claude Code, car Claude Code ignore une copie fournie via le bloc `env` des paramètres. Nécessite Claude Code v2.1.281 ou version ultérieure |265| `CLAUDE_CODE_DISABLE_DANGEROUS_RM_TIMEOUT` | Définissez sur `1` pour désactiver la limite de temps des demandes de permission de [suppression de chemins critiques](/docs/fr/permission-modes#critical-paths). En mode `auto`, Claude Code envoie alors ces suppressions au classifieur, et en mode `bypassPermissions`, la demande attend votre réponse. Définissez-la dans l'environnement qui lance Claude Code, car Claude Code ignore une copie fournie via un bloc `env` de paramètres. Nécessite Claude Code v2.1.281 ou ultérieur |

262| `CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS` | Définissez `1` pour retirer des requêtes API les en-têtes `anthropic-beta` de préversion, les champs de corps qui les accompagnent et les champs bêta du schéma d'outils tels que `defer_loading` et `eager_input_streaming`. Utilisez-la lorsqu'une passerelle proxy rejette les requêtes avec une erreur `Unexpected value(s)` pour l'en-tête `anthropic-beta` ou une erreur `Extra inputs are not permitted`. [Désactiver les capacités de préversion](/docs/fr/llm-gateway-protocol#disable-pre-release-capabilities) indique ce que la variable supprime, y compris la [recherche d'outils MCP](/docs/fr/mcp#scale-with-mcp-tool-search), et ce que Claude Code continue d'envoyer |266| `CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS` | Définissez sur `1` pour supprimer des requêtes API les en-têtes de requête `anthropic-beta` en préversion, les champs du corps qui leur sont associés et les champs de schéma d'outil bêta tels que `defer_loading` et `eager_input_streaming`. Utilisez cette option lorsqu'une passerelle proxy rejette les requêtes avec une erreur `Unexpected value(s)` pour l'en-tête `anthropic-beta` ou une erreur `Extra inputs are not permitted`. [Désactiver les capacités en préversion](/docs/fr/llm-gateway-protocol#disable-pre-release-capabilities) indique ce que la variable supprime, y compris [la recherche d'outils MCP](/docs/fr/mcp#scale-with-mcp-tool-search), et ce que Claude Code continue d'envoyer |

263| `CLAUDE_CODE_DISABLE_EXPLORE_PLAN_AGENTS` | Définissez `1` pour désactiver les [sous-agents Explore et Plan](/docs/fr/sub-agents#built-in-subagents) intégrés. Claude explore alors avec ses outils de recherche ou le sous-agent général, et le [mode plan](/docs/fr/permission-modes#analyze-before-you-edit-with-plan-mode) lit directement les fichiers au lieu de lancer les agents Explore et Plan. Les sous-agents personnalisés nommés `Explore` ou `Plan` ne sont pas affectés. Pour supprimer tous les types de sous-agents intégrés dans l'Agent SDK ou en mode non interactif, utilisez plutôt `CLAUDE_AGENT_SDK_DISABLE_BUILTIN_AGENTS`. Nécessite Claude Code v2.1.198 ou version ultérieure |267| `CLAUDE_CODE_DISABLE_EXPLORE_PLAN_AGENTS` | Définissez sur `1` pour désactiver les [sous-agents Explore et Plan](/docs/fr/sub-agents#built-in-subagents) intégrés. Claude explore alors avec ses outils de recherche ou le sous-agent general-purpose, et le [mode plan](/docs/fr/permission-modes#analyze-before-you-edit-with-plan-mode) lit directement les fichiers au lieu de lancer les agents Explore et Plan. Les sous-agents personnalisés nommés `Explore` ou `Plan` ne sont pas affectés. Pour supprimer tous les types de sous-agents intégrés dans l'Agent SDK ou en mode non interactif, utilisez plutôt `CLAUDE_AGENT_SDK_DISABLE_BUILTIN_AGENTS`. Nécessite Claude Code v2.1.198 ou ultérieur |

264| `CLAUDE_CODE_DISABLE_FAST_MODE` | Définissez `1` pour désactiver le [mode rapide](/docs/fr/fast-mode) |268| `CLAUDE_CODE_DISABLE_FAST_MODE` | Définissez sur `1` pour désactiver le [mode rapide](/docs/fr/fast-mode) |

265| `CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY` | Définissez `1` pour désactiver les enquêtes de qualité de session « How is Claude doing? ». Les enquêtes sont également désactivées lorsque `DISABLE_TELEMETRY`, `DO_NOT_TRACK` ou `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` est définie, sauf si `CLAUDE_CODE_ENABLE_FEEDBACK_SURVEY_FOR_OTEL` les réactive. Pour définir un taux d'échantillonnage au lieu de les désactiver complètement, utilisez le paramètre [`feedbackSurveyRate`](/docs/fr/settings-reference#feedbacksurveyrate). Voir [Enquêtes de qualité de session](/docs/fr/data-usage#session-quality-surveys) |269| `CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY` | Définissez sur `1` pour désactiver les enquêtes de qualité de session « How is Claude doing? ». Les enquêtes sont également désactivées lorsque `DISABLE_TELEMETRY`, `DO_NOT_TRACK` ou `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` est défini, sauf si `CLAUDE_CODE_ENABLE_FEEDBACK_SURVEY_FOR_OTEL` les réactive. Pour définir un taux d'échantillonnage plutôt que de les désactiver complètement, utilisez le paramètre [`feedbackSurveyRate`](/docs/fr/settings-reference#feedbacksurveyrate). Voir [Enquêtes de qualité de session](/docs/fr/data-usage#session-quality-surveys) |

266| `CLAUDE_CODE_DISABLE_FILE_CHECKPOINTING` | Définissez `1` pour désactiver le [checkpointing](/docs/fr/checkpointing) des fichiers. La commande `/rewind` ne pourra pas restaurer les modifications de code. Remplace le paramètre [`fileCheckpointingEnabled`](/docs/fr/settings-reference#filecheckpointingenabled) |270| `CLAUDE_CODE_DISABLE_FILE_CHECKPOINTING` | Définissez sur `1` pour désactiver le [checkpointing](/docs/fr/checkpointing) des fichiers. La commande `/rewind` ne pourra pas restaurer les modifications de code. Remplace le paramètre [`fileCheckpointingEnabled`](/docs/fr/settings-reference#filecheckpointingenabled) |

267| `CLAUDE_CODE_DISABLE_GIT_INSTRUCTIONS` | Définissez `1` pour retirer du contexte de Claude les instructions intégrées relatives aux workflows de commit et de PR ainsi que l'instantané du statut git. Utile lorsque vous utilisez vos propres skills de workflow git. Lorsqu'elle est définie, elle a priorité sur le paramètre [`includeGitInstructions`](/docs/fr/settings-reference#includegitinstructions) |271| `CLAUDE_CODE_DISABLE_GIT_INSTRUCTIONS` | Définissez sur `1` pour retirer du contexte de Claude les instructions intégrées de workflow de commit et de PR ainsi que l'instantané du statut git. Utile lorsque vous utilisez vos propres skills de workflow git. Prioritaire sur le paramètre [`includeGitInstructions`](/docs/fr/settings-reference#includegitinstructions) lorsqu'elle est définie |

268| `CLAUDE_CODE_DISABLE_INLINE_SHELL_RM_PROMPT` | Définissez `1` pour que Claude Code cesse d'analyser les scripts passés à un shell avec `-c`, comme `bash -c 'rm -rf ~'`, à la recherche de suppressions de [chemins critiques](/docs/fr/permission-modes#removals-inside-nested-commands-and-inline-scripts). Claude Code vérifie toujours les cibles de variables shell et de paramètres positionnels dans ces scripts, et les autres vérifications de chemins critiques continuent de s'exécuter. Définissez-la dans l'environnement qui lance Claude Code, car Claude Code ignore une copie fournie via le bloc `env` des paramètres. Nécessite Claude Code v2.1.288 ou version ultérieure |272| `CLAUDE_CODE_DISABLE_INLINE_SHELL_RM_PROMPT` | Définissez sur `1` pour empêcher Claude Code d'analyser les scripts passés à un shell avec `-c`, comme `bash -c 'rm -rf ~'`, à la recherche de suppressions de [chemins critiques](/docs/fr/permission-modes#removals-inside-nested-commands-and-inline-scripts). Claude Code vérifie toujours les cibles de variables shell et de paramètres positionnels dans ces scripts, et les autres vérifications de chemins critiques continuent de s'exécuter. Définissez-la dans l'environnement qui lance Claude Code, car Claude Code ignore une copie fournie via un bloc `env` de paramètres. Nécessite Claude Code v2.1.288 ou ultérieur |

269| `CLAUDE_CODE_DISABLE_LEGACY_MODEL_REMAP` | Définissez `1` pour empêcher le remappage automatique d'Opus 4.0 et 4.1 vers la version actuelle d'Opus sur l'API Anthropic. À utiliser lorsque vous souhaitez délibérément épingler un modèle plus ancien. Le remappage ne s'exécute pas sur Amazon Bedrock, Google Cloud's Agent Platform ou Microsoft Foundry |273| `CLAUDE_CODE_DISABLE_LEGACY_MODEL_REMAP` | Définissez sur `1` pour empêcher le remappage automatique d'Opus 4.0 et 4.1 vers la version actuelle d'Opus sur l'API Anthropic. À utiliser lorsque vous souhaitez intentionnellement épingler un modèle plus ancien. Le remappage ne s'exécute pas sur Amazon Bedrock, Google Cloud's Agent Platform ou Microsoft Foundry |

270| `CLAUDE_CODE_DISABLE_MODEL_ACCESS_FALLBACK` | Définissez `1` pour empêcher Claude Code, sur [Amazon Bedrock](/docs/fr/amazon-bedrock#when-a-model-is-disabled-mid-session) et [Google Cloud's Agent Platform](/docs/fr/google-vertex-ai#when-a-model-is-disabled-mid-session), de basculer vers un modèle plus ancien lorsque votre compte perd l'accès au modèle d'une session en cours de session ; la requête refusée échoue alors immédiatement. Une [chaîne de modèles de secours](/docs/fr/model-config#fallback-model-chains) que vous configurez bascule toujours lors de ce refus, et les [vérifications de modèle au démarrage](/docs/fr/amazon-bedrock#startup-model-checks) se rabattent toujours sur un autre modèle au lancement. Nécessite Claude Code v2.1.285 ou version ultérieure |274| `CLAUDE_CODE_DISABLE_MODEL_ACCESS_FALLBACK` | Définissez sur `1` pour empêcher Claude Code, sur [Amazon Bedrock](/docs/fr/amazon-bedrock#when-a-model-is-disabled-mid-session) et [Google Cloud's Agent Platform](/docs/fr/google-vertex-ai#when-a-model-is-disabled-mid-session), de basculer vers un modèle plus ancien lorsque votre compte perd l'accès au modèle d'une session en cours de session ; la requête refusée échoue alors immédiatement. Une [chaîne de modèles de secours](/docs/fr/model-config#fallback-model-chains) que vous configurez bascule toujours lors de ce refus, et les [vérifications de modèle au démarrage](/docs/fr/amazon-bedrock#startup-model-checks) se rabattent toujours sur un autre modèle au lancement. Nécessite Claude Code v2.1.285 ou ultérieur |

271| `CLAUDE_CODE_DISABLE_MOUSE` | Définissez `1` pour désactiver le suivi de la souris en [rendu plein écran](/docs/fr/fullscreen). Le défilement au clavier avec `PgUp` et `PgDn` fonctionne toujours. Utilisez-la pour conserver le comportement natif de copie à la sélection de votre terminal |275| `CLAUDE_CODE_DISABLE_MOUSE` | Définissez sur `1` pour désactiver le suivi de la souris en [rendu plein écran](/docs/fr/fullscreen). Le défilement au clavier avec `PgUp` et `PgDn` fonctionne toujours. Utilisez cette option pour conserver le comportement natif de copie à la sélection de votre terminal |

272| `CLAUDE_CODE_DISABLE_MOUSE_CLICKS` | Définissez `1` pour désactiver la gestion des clics, du glisser et du survol en [rendu plein écran](/docs/fr/fullscreen) tout en conservant le défilement à la molette. Utilisez-la lorsque vous souhaitez que le défilement à la molette fonctionne dans Claude Code sans que les clics positionnent le curseur, développent la sortie des outils ou ouvrent des liens. `CLAUDE_CODE_DISABLE_MOUSE` est prioritaire lorsque les deux sont définies. Nécessite Claude Code v2.1.195 ou version ultérieure |276| `CLAUDE_CODE_DISABLE_MOUSE_CLICKS` | Définissez sur `1` pour désactiver la gestion des clics, du glisser et du survol en [rendu plein écran](/docs/fr/fullscreen) tout en conservant le défilement à la molette. Utilisez cette option lorsque vous voulez que le défilement à la molette fonctionne dans Claude Code sans que les clics positionnent le curseur, développent la sortie des outils ou ouvrent des liens. `CLAUDE_CODE_DISABLE_MOUSE` est prioritaire lorsque les deux sont définies. Nécessite Claude Code v2.1.195 ou ultérieur |

273| `CLAUDE_CODE_DISABLE_MTLS_RELOAD_ON_STALE_CONNECTION` | Définissez `1` pour empêcher Claude Code de relire le [certificat et la clé client mTLS](/docs/fr/network-config#mtls-authentication) lorsqu'une requête API échoue avec une erreur au niveau de la connexion, comme une réinitialisation de connexion ou une erreur de handshake TLS. Lorsque le rechargement est désactivé, Claude Code ne charge les fichiers renouvelés que lors de la prochaine application des paramètres ou au prochain démarrage. Nécessite Claude Code v2.1.232 ou version ultérieure |277| `CLAUDE_CODE_DISABLE_MTLS_RELOAD_ON_STALE_CONNECTION` | Définissez sur `1` pour empêcher Claude Code de relire le [certificat et la clé client mTLS](/docs/fr/network-config#mtls-authentication) lorsqu'une requête API échoue avec une erreur au niveau de la connexion, comme une réinitialisation de connexion ou une erreur de handshake TLS. Avec le rechargement désactivé, Claude Code ne charge les fichiers renouvelés que lors de la prochaine application des paramètres ou au prochain démarrage. Nécessite Claude Code v2.1.232 ou ultérieur |

274| `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` | Définissez n'importe quelle valeur non vide, comme `1`, pour désactiver le trafic réseau non essentiel : mises à jour automatiques, télémétrie, rapports d'erreurs, la commande `/feedback`, le [feedback rédigé par Claude](/docs/fr/tools-reference#sendfeedback-tool-behavior), les notes de version, les vérifications du [badge de statut des PR et MR](/docs/fr/interactive-mode#pr-review-status) et les vérifications de disponibilité comme celle du [mode rapide](/docs/fr/fast-mode#use-fast-mode-behind-proxies-and-llm-gateways). Elle arrête également les [exécutions en arrière-plan des sources `command` des plugins](/docs/fr/plugins/loading#when-a-command-source-re-runs), qui sont des commandes locales plutôt que du trafic réseau, car elles peuvent déclencher des installations de dépendances. **La définir à `0` ou `false` désactive tout de même ce trafic**, contrairement à la plupart des variables d'activation ; supprimez la variable pour l'autoriser à nouveau. Désactive également la récupération des feature flags, ce qui rend indisponibles [Remote Control](/docs/fr/remote-control#requirements) et les autres [fonctionnalités qui nécessitent la récupération des feature flags](#features-that-need-feature-flag-fetching). L'installation automatique de la marketplace de plugins officielle n'est pas concernée ; désactivez-la avec `CLAUDE_CODE_DISABLE_OFFICIAL_MARKETPLACE_AUTOINSTALL`. N'affecte pas la [découverte des modèles de passerelle](/docs/fr/llm-gateway-connect#add-gateway-models-to-the-model-picker), qui dispose de sa propre activation |278| `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` | Définissez sur n'importe quelle valeur non vide, comme `1`, pour désactiver le trafic réseau non essentiel : mises à jour automatiques, télémétrie, rapports d'erreurs, la commande `/feedback`, les [retours rédigés par Claude](/docs/fr/tools-reference#sendfeedback-tool-behavior), les notes de version, les vérifications du [badge de statut des PR et MR](/docs/fr/interactive-mode#pr-review-status) et les vérifications de disponibilité comme celle du [mode rapide](/docs/fr/fast-mode#use-fast-mode-behind-proxies-and-llm-gateways). Elle arrête également les [exécutions en arrière-plan des sources `command` des plugins](/docs/fr/plugins/loading#when-a-command-source-re-runs), qui sont des commandes locales plutôt que du trafic réseau, car elles peuvent déclencher des installations de dépendances. **La définir sur `0` ou `false` désactive quand même ce trafic**, contrairement à la plupart des variables d'activation/désactivation ; supprimez la variable pour l'autoriser à nouveau. Désactive également la récupération des feature flags, ce qui rend indisponibles [Remote Control](/docs/fr/remote-control#requirements) et les autres [fonctionnalités qui nécessitent la récupération des feature flags](#features-that-need-feature-flag-fetching). L'installation automatique de la marketplace de plugins officielle n'est pas couverte ; désactivez-la avec `CLAUDE_CODE_DISABLE_OFFICIAL_MARKETPLACE_AUTOINSTALL`. N'affecte pas la [découverte des modèles de passerelle](/docs/fr/llm-gateway-connect#add-gateway-models-to-the-model-picker), qui dispose de sa propre activation |

275| `CLAUDE_CODE_DISABLE_NONSTREAMING_FALLBACK` | Définissez `1` pour désactiver la solution de repli sans streaming lorsqu'une requête en streaming échoue en cours de flux. Les erreurs de streaming sont alors propagées à la couche de nouvelles tentatives. Utile lorsqu'un proxy ou une passerelle amène la solution de repli à exécuter des outils en double |279| `CLAUDE_CODE_DISABLE_NONSTREAMING_FALLBACK` | Définissez sur `1` pour désactiver la solution de repli sans streaming lorsqu'une requête en streaming échoue en cours de flux. Les erreurs de streaming sont alors propagées à la couche de nouvelles tentatives. Utile lorsqu'un proxy ou une passerelle fait que la solution de repli provoque une exécution d'outil en double |

276| `CLAUDE_CODE_DISABLE_NOTIFICATION_PRESENCE_CHECK` | Définissez `1` pour envoyer la notification de bureau de l'outil `PushNotification` même lorsque vous tapez dans le terminal ou qu'il a le focus. Par défaut, l'outil ignore à la fois la notification de bureau et la [notification push mobile](/docs/fr/remote-control#mobile-push-notifications) lorsqu'il détecte une activité récente du clavier ou le focus du terminal. Cette variable ne désactive que cette vérification locale ; le serveur peut donc toujours supprimer la notification push mobile lorsqu'il détecte que vous êtes actif. Nécessite Claude Code v2.1.193 ou version ultérieure |280| `CLAUDE_CODE_DISABLE_NOTIFICATION_PRESENCE_CHECK` | Définissez sur `1` pour envoyer la notification de bureau de l'outil `PushNotification` même lorsque vous êtes en train de taper dans le terminal ou que celui-ci a le focus. Par défaut, l'outil n'envoie ni la notification de bureau ni la [notification push mobile](/docs/fr/remote-control#mobile-push-notifications) lorsqu'il détecte une activité clavier récente ou le focus du terminal. Cette variable désactive uniquement cette vérification locale ; le serveur peut donc toujours supprimer la notification push mobile lorsqu'il détecte que vous êtes actif. Nécessite Claude Code v2.1.193 ou ultérieur |

277| `CLAUDE_CODE_DISABLE_OFFICIAL_MARKETPLACE_AUTOINSTALL` | Définissez `1` pour désactiver l'enregistrement automatique de la marketplace de plugins officielle. Claude Code lit la variable au moment d'enregistrer la marketplace, généralement lors du premier lancement interactif sur une machine. Si la variable est définie à ce moment-là, Claude Code ignore définitivement l'enregistrement. Supprimer la variable par la suite n'annule pas cette décision. Exécutez `claude plugin marketplace add anthropics/claude-plugins-official` pour enregistrer la marketplace à tout moment |281| `CLAUDE_CODE_DISABLE_OFFICIAL_MARKETPLACE_AUTOINSTALL` | Définissez sur `1` pour désactiver l'enregistrement automatique de la marketplace de plugins officielle. Claude Code lit la variable au moment d'enregistrer la marketplace, généralement lors du premier lancement interactif sur une machine. Si la variable est définie à ce moment-là, Claude Code ignore définitivement l'enregistrement. Supprimer la variable ultérieurement n'annule pas cet effet. Exécutez `claude plugin marketplace add anthropics/claude-plugins-official` pour enregistrer la marketplace à tout moment |

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

279| `CLAUDE_CODE_DISABLE_POLICY_SKILLS` | Définissez `1` pour ne pas charger les skills depuis le répertoire de skills gérés à l'échelle du système. Utile pour les sessions de conteneur ou de CI qui ne doivent pas charger les skills provisionnés par l'opérateur |283| `CLAUDE_CODE_DISABLE_POLICY_SKILLS` | Définissez sur `1` pour ne pas charger les skills depuis le répertoire de skills gérés à l'échelle du système. Utile pour les sessions en conteneur ou en CI qui ne doivent pas charger les skills provisionnés par l'opérateur |

280| `CLAUDE_CODE_DISABLE_POWERSHELL_CMD_RM_DENY` | Définissez `1` pour désactiver la vérification de l'[outil PowerShell](/docs/fr/tools-reference#powershell-tool) qui refuse les commandes intégrées `rd`, `rmdir`, `del` et `erase` de `cmd` sur un [chemin système](/docs/fr/permission-modes#remove-item-in-powershell), comme la racine d'un lecteur ou votre répertoire personnel. Claude Code ignore cette variable dans le bloc `env` d'un fichier de paramètres. Nécessite Claude Code v2.1.283 ou version ultérieure |284| `CLAUDE_CODE_DISABLE_POWERSHELL_CMD_RM_DENY` | Définissez sur `1` pour désactiver la vérification de l'[outil PowerShell](/docs/fr/tools-reference#powershell-tool) qui refuse les commandes intégrées `cmd` `rd`, `rmdir`, `del` et `erase` sur un [chemin système](/docs/fr/permission-modes#remove-item-in-powershell), comme la racine d'un lecteur ou votre répertoire personnel. Claude Code ignore cette variable dans le bloc `env` d'un fichier de paramètres. Nécessite Claude Code v2.1.283 ou ultérieur |

281| `CLAUDE_CODE_DISABLE_REFUSAL_FALLBACK` | Définissez `1` pour désactiver le [changement automatique de modèle lorsqu'un classifieur de sécurité signale une requête](/docs/fr/model-config#automatic-model-fallback), le comportement que contrôle le paramètre [`switchModelsOnFlag`](/docs/fr/settings-reference#switchmodelsonflag) |285| `CLAUDE_CODE_DISABLE_REFUSAL_FALLBACK` | Définissez sur `1` pour désactiver le [changement automatique de modèle lorsqu'un classifieur de sécurité signale une requête](/docs/fr/model-config#automatic-model-fallback), comportement que contrôle le paramètre [`switchModelsOnFlag`](/docs/fr/settings-reference#switchmodelsonflag) |

282| `CLAUDE_CODE_DISABLE_STRUCTURED_OUTPUTS` | Définissez `1` pour que Claude Code cesse d'envoyer le champ de sortie structurée `output_config.format` et la valeur `anthropic-beta` qui l'accompagne, pour une [passerelle LLM](/docs/fr/llm-gateway-protocol#feature-pass-through) dont le service en amont les rejette. Les autres capacités de préversion que [`CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS`](/docs/fr/llm-gateway-protocol#disable-pre-release-capabilities) désactive restent ainsi actives. Nécessite Claude Code v2.1.288 ou version ultérieure |286| `CLAUDE_CODE_DISABLE_STRUCTURED_OUTPUTS` | Définissez sur `1` pour empêcher Claude Code d'envoyer le champ de sortie structurée `output_config.format` et la valeur `anthropic-beta` qui lui est associée, pour une [passerelle LLM](/docs/fr/llm-gateway-protocol#feature-pass-through) dont le service en amont les rejette. Les autres capacités en préversion que [`CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS`](/docs/fr/llm-gateway-protocol#disable-pre-release-capabilities) désactive restent actives. Nécessite Claude Code v2.1.288 ou ultérieur |

283| `CLAUDE_CODE_DISABLE_SUBSTITUTION_RM_PROMPT` | Définissez `1` pour désactiver la vérification de [chemin critique](/docs/fr/permission-modes#critical-paths) pour un `rm` récursif dont la cible est entièrement la sortie d'une substitution de commande, comme `rm -rf "$(pwd)"`. Les autres vérifications de chemins critiques continuent de s'exécuter. Définissez-la dans l'environnement qui lance Claude Code, car Claude Code ignore une copie fournie via le bloc `env` des paramètres. Nécessite Claude Code v2.1.281 ou version ultérieure |287| `CLAUDE_CODE_DISABLE_SUBSTITUTION_RM_PROMPT` | Définissez sur `1` pour désactiver la vérification de [chemin critique](/docs/fr/permission-modes#critical-paths) pour un `rm` récursif dont la cible est entièrement la sortie d'une substitution de commande, comme `rm -rf "$(pwd)"`. Les autres vérifications de chemins critiques continuent de s'exécuter. Définissez-la dans l'environnement qui lance Claude Code, car Claude Code ignore une copie fournie via un bloc `env` de paramètres. Nécessite Claude Code v2.1.281 ou ultérieur |

284| `CLAUDE_CODE_DISABLE_TERMINAL_TITLE` | Définissez `1` pour désactiver les mises à jour automatiques du titre du terminal basées sur le contexte de la conversation. Cela supprime également la requête en arrière-plan au modèle small/fast qui [génère un titre de session](/docs/fr/sessions#name-your-sessions) |288| `CLAUDE_CODE_DISABLE_TERMINAL_TITLE` | Définissez sur `1` pour désactiver les mises à jour automatiques du titre du terminal en fonction du contexte de la conversation. Cela supprime également la requête en arrière-plan au modèle small/fast qui [génère un titre de session](/docs/fr/sessions#name-your-sessions) |

285| `CLAUDE_CODE_DISABLE_THINKING` | Définissez `1` pour omettre entièrement le paramètre `thinking` des requêtes API. Il s'agit d'une option de compatibilité pour les proxys et passerelles qui rejettent ce paramètre. Sur les modèles qui réfléchissent par défaut, omettre le paramètre signifie que le modèle peut tout de même réfléchir. Pour désactiver explicitement la [réflexion étendue](https://platform.claude.com/docs/en/build-with-claude/extended-thinking) sur l'API Anthropic, utilisez plutôt `MAX_THINKING_TOKENS=0`. Aucune des deux variables ne désactive la réflexion sur Opus 5.5, Sonnet 5.5, Haiku 5.5 ou les modèles Fable, sur lesquels la réflexion ne peut pas être désactivée. Chez les [fournisseurs tiers](/docs/fr/third-party-integrations), `MAX_THINKING_TOKENS=0` omet également le paramètre ; les deux variables s'y comportent donc de la même façon |289| `CLAUDE_CODE_DISABLE_THINKING` | Définissez sur `1` pour omettre entièrement le paramètre `thinking` des requêtes API. Il s'agit d'une option de compatibilité pour les proxys et passerelles qui rejettent ce paramètre. Sur les modèles qui réfléchissent par défaut, omettre le paramètre signifie que le modèle peut toujours réfléchir. Pour désactiver explicitement la [réflexion étendue](https://platform.claude.com/docs/en/build-with-claude/extended-thinking) sur l'API Anthropic, utilisez plutôt `MAX_THINKING_TOKENS=0`. Aucune des deux variables ne désactive la réflexion sur Opus 5.5, Sonnet 5.5, Haiku 5.5 ou les modèles Fable, sur lesquels la réflexion ne peut pas être désactivée. Chez les [fournisseurs tiers](/docs/fr/third-party-integrations), `MAX_THINKING_TOKENS=0` omet également le paramètre ; les deux variables s'y comportent donc de la même manière |

286| `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 cet ID. `CLAUDE_CODE_MAX_CONTEXT_TOKENS` peut plutôt corriger la fenêtre supposée ; 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 version ultérieure |290| `CLAUDE_CODE_DISABLE_UNKNOWN_MODEL_WINDOW_ENFORCEMENT` | Définissez sur `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 cet ID. `CLAUDE_CODE_MAX_CONTEXT_TOKENS` peut plutôt corriger la fenêtre supposée ; 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 |

287| `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 de la transcription. Utilisez-la si le défilement en mode plein écran affiche des zones vides là où des messages devraient apparaître |291| `CLAUDE_CODE_DISABLE_VIRTUAL_SCROLL` | Définissez sur `1` pour désactiver le défilement virtuel en [rendu plein écran](/docs/fr/fullscreen) et afficher chaque message de la transcription. Utilisez cette option si le défilement en mode plein écran affiche des zones vides là où des messages devraient apparaître |

288| `CLAUDE_CODE_DISABLE_WEB_FETCH` | Définissez `1` pour désactiver l'outil [WebFetch](/docs/fr/tools-reference#webfetch-tool-behavior). L'outil [WebSearch](/docs/fr/tools-reference#websearch-tool-behavior) reste disponible. Nécessite Claude Code v2.1.285 ou version ultérieure |292| `CLAUDE_CODE_DISABLE_WEB_FETCH` | Définissez sur `1` pour désactiver l'outil [WebFetch](/docs/fr/tools-reference#webfetch-tool-behavior). L'outil [WebSearch](/docs/fr/tools-reference#websearch-tool-behavior) reste disponible. Nécessite Claude Code v2.1.285 ou ultérieur |

289| `CLAUDE_CODE_DISABLE_WINDOWS_SHELL_LAUNCHER` | Définissez `1` pour démarrer directement les commandes de l'[outil PowerShell](/docs/fr/tools-reference#powershell-tool) sous Windows au lieu de passer par le lanceur `cmd.exe`. Par défaut, le lanceur permet à une commande PowerShell [exécutée en arrière-plan](/docs/fr/tools-reference#background-commands) d'être [transférée au processus suivant de la session](/docs/fr/agent-view#the-supervisor-process), par exemple lorsque vous [mettez la session en arrière-plan](/docs/fr/agent-view#from-inside-a-session). Si vous définissez la variable, une commande PowerShell en arrière-plan s'arrête lorsque le processus de la session se termine. Les commandes Bash ne sont pas concernées. Nécessite Claude Code v2.1.269 ou version ultérieure |293| `CLAUDE_CODE_DISABLE_WINDOWS_SHELL_LAUNCHER` | Définissez sur `1` pour démarrer les commandes de l'[outil PowerShell](/docs/fr/tools-reference#powershell-tool) sous Windows directement plutôt que via le lanceur `cmd.exe`. Par défaut, le lanceur permet à une commande PowerShell [s'exécutant en arrière-plan](/docs/fr/tools-reference#background-commands) d'être [transférée au processus suivant de la session](/docs/fr/agent-view#the-supervisor-process), par exemple lorsque vous [mettez la session en arrière-plan](/docs/fr/agent-view#from-inside-a-session). Si vous définissez la variable, une commande PowerShell mise en arrière-plan s'arrête lorsque le processus de la session se termine. Les commandes Bash ne sont pas affectées. Nécessite Claude Code v2.1.269 ou ultérieur |

290| `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) |294| `CLAUDE_CODE_DISABLE_WORKFLOWS` | Définissez sur `1` pour désactiver les [workflows](/docs/fr/workflows#turn-workflows-off). Équivalent au paramètre [`disableWorkflows`](/docs/fr/settings-reference#disableworkflows) |

291| `CLAUDE_CODE_EFFORT_LEVEL` | Définit le niveau d'effort pour les modèles pris en charge. 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. Prioritaire 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) |295| `CLAUDE_CODE_EFFORT_LEVEL` | Définit le niveau d'effort pour les modèles pris en charge. 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. Prioritaire 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) |

292| `CLAUDE_CODE_EMIT_SESSION_STATE_EVENTS` | Définir sur `1` pour ajouter au flux de messages des messages [`session_state_changed`](/docs/fr/agent-sdk/typescript#sdksessionstatechangedmessage), qui transportent l'état de la session. Nécessite soit l'[Agent SDK](/docs/fr/agent-sdk/overview), soit `--print`, `--output-format stream-json` et `--verbose` |296| `CLAUDE_CODE_EMIT_SESSION_STATE_EVENTS` | Définir sur `1` pour ajouter au flux de messages les messages [`session_state_changed`](/docs/fr/agent-sdk/typescript#sdksessionstatechangedmessage), qui transportent l'état de la session. Nécessite soit l'[Agent SDK](/docs/fr/agent-sdk/overview), soit `--print`, `--output-format stream-json` et `--verbose` |

293| `CLAUDE_CODE_ENABLE_AUTO_MODE` | Acceptée pour la compatibilité avec les versions antérieures et sans effet. Le mode auto est disponible par défaut chez tous les fournisseurs, y compris Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry et les sessions [Claude apps gateway](/docs/fr/claude-apps-gateway) connectées. De la v2.1.158 à la v2.1.206, il fallait définir cette variable sur `1` pour rendre le [mode auto](/docs/fr/permission-modes#eliminate-prompts-with-auto-mode) disponible chez ces fournisseurs |297| `CLAUDE_CODE_ENABLE_AUTO_MODE` | Acceptée pour assurer la compatibilité avec les versions antérieures et sans effet. Le mode auto est disponible par défaut chez tous les fournisseurs, y compris Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry et les sessions [Claude apps gateway](/docs/fr/claude-apps-gateway) connectées. Des versions v2.1.158 à v2.1.206, il fallait définir cette variable sur `1` pour rendre le [mode auto](/docs/fr/permission-modes#eliminate-prompts-with-auto-mode) disponible chez ces fournisseurs |

294| `CLAUDE_CODE_ENABLE_AWAY_SUMMARY` | Remplace la disponibilité du [récapitulatif de session](/docs/fr/interactive-mode#session-recap). Définir sur `0` pour forcer la désactivation des récapitulatifs quel que soit le bouton de `/config`. Définir sur `1` pour forcer leur activation lorsque [`awaySummaryEnabled`](/docs/fr/settings-reference#awaysummaryenabled) vaut `false`. A priorité sur le paramètre et le bouton de `/config` |298| `CLAUDE_CODE_ENABLE_AWAY_SUMMARY` | Remplace la disponibilité du [récapitulatif de session](/docs/fr/interactive-mode#session-recap). Définir sur `0` pour forcer la désactivation des récapitulatifs quel que soit l'interrupteur de `/config`. Définir sur `1` pour forcer leur activation lorsque [`awaySummaryEnabled`](/docs/fr/settings-reference#awaysummaryenabled) vaut `false`. A priorité sur le paramètre et sur l'interrupteur de `/config` |

295| `CLAUDE_CODE_ENABLE_BACKGROUND_PLUGIN_REFRESH` | Définir sur `1` pour actualiser l'état des plugins entre les tours en [mode non interactif](/docs/fr/headless) après la fin d'une installation en arrière-plan. Désactivé par défaut, car l'actualisation modifie le prompt système en cours de session, ce qui invalide le [prompt caching](/docs/fr/prompt-caching) pour ce tour |299| `CLAUDE_CODE_ENABLE_BACKGROUND_PLUGIN_REFRESH` | Définir sur `1` pour actualiser l'état des plugins entre les tours en [mode non interactif](/docs/fr/headless) une fois qu'une installation en arrière-plan est terminée. Désactivée par défaut, car l'actualisation modifie le prompt système en cours de session, ce qui invalide le [prompt caching](/docs/fr/prompt-caching) pour ce tour |

296| `CLAUDE_CODE_ENABLE_FEEDBACK_SURVEY_FOR_OTEL` | Définir sur `1` pour acheminer l'enquête de qualité de session « How is Claude doing? » vers votre propre [collecteur OpenTelemetry](/docs/fr/monitoring-usage) lorsque le trafic non essentiel à destination d'Anthropic est bloqué. Les notes de l'enquête sont émises uniquement sous forme d'événements OTEL vers le collecteur configuré. Aucune donnée d'enquête n'est envoyée à Anthropic dans ce mode. S'applique lorsque `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`, `DISABLE_TELEMETRY` ou `DO_NOT_TRACK` est défini, et reste sans effet sinon. `CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY` et la politique de l'organisation en matière de retours sur le produit ont priorité |300| `CLAUDE_CODE_ENABLE_CFC` | Définir sur `1` pour démarrer une session CLI avec l'[intégration Chrome](/docs/fr/chrome) activée, ou sur `0` pour la démarrer désactivée. A priorité sur le paramètre [`claudeInChromeDefaultEnabled`](/docs/fr/settings-reference#claudeinchromedefaultenabled). Les flags `--chrome` et `--no-chrome` ont priorité sur les deux. Claude Code [ignore `1` dans les paramètres de projet et locaux](/docs/fr/chrome#project-settings-can’t-turn-on-chrome) |

297| `CLAUDE_CODE_ENABLE_FINE_GRAINED_TOOL_STREAMING` | Contrôle si les entrées des appels d'outils sont diffusées en streaming depuis l'API à mesure que Claude les génère. Lorsque cette option est désactivée, une entrée d'outil volumineuse, comme l'écriture d'un long fichier, n'arrive qu'une fois que Claude a fini de la générer, ce qui peut donner l'impression d'un blocage. Activé par défaut sur l'API Anthropic. Sur Amazon Bedrock et Google Cloud's Agent Platform, activé modèle par modèle lorsque le conteneur déployé le prend en charge. Définir sur `0` pour le désactiver. Définir sur `1` pour forcer l'activation lors d'un routage via un proxy avec `ANTHROPIC_BASE_URL`, `ANTHROPIC_VERTEX_BASE_URL` ou `ANTHROPIC_BEDROCK_BASE_URL`. Désactivé par défaut sur Microsoft Foundry et pour les connexions via une [passerelle](/docs/fr/llm-gateway) |301| `CLAUDE_CODE_ENABLE_FEEDBACK_SURVEY_FOR_OTEL` | Définir sur `1` pour acheminer l'enquête de qualité de session « How is Claude doing? » vers votre propre [collecteur OpenTelemetry](/docs/fr/monitoring-usage) lorsque le trafic non essentiel destiné à Anthropic est bloqué. Les notes de l'enquête sont émises uniquement sous forme d'événements OTEL vers votre collecteur configuré. Aucune donnée d'enquête n'est envoyée à Anthropic dans ce mode. S'applique lorsque `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`, `DISABLE_TELEMETRY` ou `DO_NOT_TRACK` est défini, et n'a aucun effet sinon. `CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY` et la politique de feedback produit de l'organisation ont priorité |

298| `CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY` | Définir sur `1` pour alimenter le sélecteur `/model` à partir de l'endpoint `/v1/models` de votre passerelle lorsque `ANTHROPIC_BASE_URL` pointe vers une passerelle compatible Anthropic comme LiteLLM, Kong ou un proxy interne. Désactivé par défaut, car les passerelles reposant sur une clé API partagée montreraient sinon à chaque utilisateur tous les modèles auxquels la clé donne accès. Les modèles découverts restent filtrés par une liste d'autorisation [`availableModels`](/docs/fr/settings-reference#availablemodels) que reçoit la session ; fournissez la liste via [MDM ou un fichier de paramètres gérés](/docs/fr/managed-settings#delivery-mechanisms), car [la distribution gérée par le serveur n'est pas disponible pour les configurations de passerelle](/docs/fr/server-managed-settings#platform-availability) |302| `CLAUDE_CODE_ENABLE_FINE_GRAINED_TOOL_STREAMING` | Contrôle si les entrées des appels d'outils sont diffusées en streaming depuis l'API au fur et à mesure que Claude les génère. Sans cela, une entrée d'outil volumineuse, comme l'écriture d'un long fichier, n'arrive qu'une fois que Claude a fini de la générer, ce qui peut donner l'impression d'un blocage. Activée par défaut sur l'API Anthropic. Sur Amazon Bedrock et Google Cloud's Agent Platform, activée par modèle lorsque le conteneur déployé la prend en charge. Définir sur `0` pour la désactiver. Définir sur `1` pour forcer l'activation lors du routage via un proxy avec `ANTHROPIC_BASE_URL`, `ANTHROPIC_VERTEX_BASE_URL` ou `ANTHROPIC_BEDROCK_BASE_URL`. Désactivée par défaut sur Microsoft Foundry et les connexions via une [passerelle](/docs/fr/llm-gateway) |

303| `CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY` | Définir sur `1` pour remplir le sélecteur `/model` à partir de l'endpoint `/v1/models` de votre passerelle lorsque `ANTHROPIC_BASE_URL` pointe vers une passerelle compatible Anthropic telle que LiteLLM, Kong ou un proxy interne. Désactivée par défaut, car sinon les passerelles reposant sur une clé API partagée montreraient à chaque utilisateur tous les modèles auxquels la clé donne accès. Les modèles découverts restent filtrés par une liste d'autorisation [`availableModels`](/docs/fr/settings-reference#availablemodels) reçue par la session ; fournissez cette liste via [MDM ou un fichier de paramètres gérés](/docs/fr/managed-settings#delivery-mechanisms), car [la distribution gérée par le serveur n'est pas disponible sur les configurations de passerelle](/docs/fr/server-managed-settings#platform-availability) |

299| `CLAUDE_CODE_ENABLE_OPUS_4_7_FAST_MODE` | Supprimée dans la v2.1.142, lorsque le modèle par défaut du [mode rapide](/docs/fr/fast-mode) est passé d'Opus 4.6 à Opus 4.7 |304| `CLAUDE_CODE_ENABLE_OPUS_4_7_FAST_MODE` | Supprimée dans la v2.1.142, lorsque le modèle par défaut du [mode rapide](/docs/fr/fast-mode) est passé d'Opus 4.6 à Opus 4.7 |

300| `CLAUDE_CODE_ENABLE_PROMPT_SUGGESTION` | Définir sur `false` pour désactiver les suggestions de prompt, les prédictions grisées qui apparaissent dans votre zone de saisie. A priorité sur le paramètre [`promptSuggestionEnabled`](/docs/fr/settings-reference#promptsuggestionenabled), qui est celui qu'écrit le bouton **Prompt suggestions** de `/config`. Claude Code [met également les suggestions en pause lorsque votre compte approche ou atteint sa limite d'utilisation](/docs/fr/interactive-mode#when-claude-code-skips-suggestions). Définir sur `true` pour les conserver 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) |305| `CLAUDE_CODE_ENABLE_PROMPT_SUGGESTION` | Définir sur `false` pour désactiver les suggestions de prompt, les prédictions grisées qui apparaissent dans votre zone de saisie. A priorité sur le paramètre [`promptSuggestionEnabled`](/docs/fr/settings-reference#promptsuggestionenabled), qui est celui qu'écrit l'interrupteur **Prompt suggestions** de `/config`. Claude Code [met également les suggestions en pause lorsque votre compte approche ou atteint sa limite d'utilisation](/docs/fr/interactive-mode#when-claude-code-skips-suggestions). Définir sur `true` pour les conserver 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) |

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

302| `CLAUDE_CODE_ENABLE_TELEMETRY` | Définir sur `1` pour activer la collecte de données OpenTelemetry pour les métriques et la journalisation. Requis avant de configurer les exportateurs OTel. Définissez-la dans votre shell, vos paramètres utilisateur ou vos paramètres gérés. Ignorée dans les [paramètres de projet et locaux](/docs/fr/settings-reference#variables-claude-code-ignores-in-env). Voir [Surveillance](/docs/fr/monitoring-usage) |307| `CLAUDE_CODE_ENABLE_TELEMETRY` | Définir sur `1` pour activer la collecte de données OpenTelemetry pour les métriques et les logs. Requise avant de configurer les exportateurs OTel. Définissez-la dans votre shell, vos paramètres utilisateur ou vos paramètres gérés. Ignorée dans les [paramètres de projet et locaux](/docs/fr/settings-reference#variables-claude-code-ignores-in-env). Voir [Surveillance](/docs/fr/monitoring-usage) |

303| `CLAUDE_CODE_ENABLE_TODO_TOOLS` | Définir sur `1` pour obtenir les outils de suivi des tâches sur tous les modèles. Sans cette variable, Claude Code ne les fournit par défaut que sur les modèles listés dans [Disponibilité de l'outil 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 |308| `CLAUDE_CODE_ENABLE_TODO_TOOLS` | Définir sur `1` pour obtenir les outils de suivi des tâches sur tous les modèles. Sans cela, Claude Code ne les fournit par défaut que sur les modèles listés dans [Disponibilité de l'outil 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 |

304| `CLAUDE_CODE_EXIT_AFTER_STOP_DELAY` | Durée en millisecondes à attendre après que la boucle de requêtes est devenue inactive avant de quitter automatiquement. Utile pour les workflows automatisés et les scripts utilisant le mode SDK |309| `CLAUDE_CODE_EXIT_AFTER_STOP_DELAY` | Durée en millisecondes à attendre après que la boucle de requêtes est devenue inactive avant de quitter automatiquement. Utile pour les workflows automatisés et les scripts utilisant le mode SDK |

305| `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS` | Définir sur `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 |310| `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS` | Définir sur `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 |

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

307| `CLAUDE_CODE_FILE_READ_MAX_OUTPUT_TOKENS` | Remplace la limite de tokens par défaut pour la lecture de fichiers. Utile lorsque vous devez lire des fichiers plus volumineux en entier |312| `CLAUDE_CODE_FILE_READ_MAX_OUTPUT_TOKENS` | Remplace la limite de tokens par défaut pour la lecture de fichiers. Utile lorsque vous devez lire intégralement des fichiers plus volumineux |

308| `CLAUDE_CODE_FORCE_SESSION_PERSISTENCE` | Définir sur `1` pour forcer la persistance des transcriptions, l'historique des prompts et l'enregistrement dans `claude agents`, même lorsque ce `claude` a été lancé depuis une autre session Claude Code. À utiliser lorsqu'une valeur `CLAUDE_CODE_CHILD_SESSION` héritée, par exemple d'une session `screen` ou d'un lanceur en arrière-plan démarré à l'origine par l'outil Bash de Claude Code, fait qu'une véritable session de premier niveau est classée à tort comme imbriquée. Depuis la v2.1.178, Claude Code détecte automatiquement le cas de tmux et ignore le marqueur hérité, si bien que tmux n'a plus besoin de cette variable. Également prise en compte en v2.1.169 et versions antérieures ; sans effet en v2.1.170 et v2.1.171, où la détection des sessions imbriquées qu'elle remplace avait été supprimée |313| `CLAUDE_CODE_FORCE_SESSION_PERSISTENCE` | Définir sur `1` pour forcer la persistance de la transcription, l'historique des prompts et l'enregistrement auprès de `claude agents`, même lorsque ce `claude` a été lancé depuis une autre session Claude Code. À utiliser lorsqu'une valeur `CLAUDE_CODE_CHILD_SESSION` héritée, par exemple d'une session `screen` ou d'un lanceur en arrière-plan démarré initialement par l'outil Bash de Claude Code, fait qu'une véritable session de premier niveau est classée à tort comme imbriquée. Depuis la v2.1.178, Claude Code détecte automatiquement le cas de tmux et ignore le marqueur hérité ; tmux n'a donc plus besoin de cette variable. Également prise en compte dans les versions v2.1.169 et antérieures ; sans effet dans les v2.1.170 et v2.1.171, où la détection des sessions imbriquées qu'elle contourne avait été supprimée |

309| `CLAUDE_CODE_FORCE_STRIKETHROUGH` | Définir sur `1` pour forcer le rendu barré de `~~text~~` dans les réponses de Claude lorsque votre terminal le prend en charge mais n'est pas détecté automatiquement, par exemple via SSH sans transmission de `TERM_PROGRAM`. Sans cette variable, les terminaux non détectés affichent les marqueurs `~~` littéraux au lieu de rendre le texte barré. Nécessite Claude Code v2.1.186 ou ultérieur |314| `CLAUDE_CODE_FORCE_STRIKETHROUGH` | Définir sur `1` pour forcer le rendu barré de `~~text~~` dans les réponses de Claude lorsque votre terminal le prend en charge sans être détecté automatiquement, par exemple via SSH sans transfert de `TERM_PROGRAM`. Sans cela, les terminaux non détectés affichent les marqueurs `~~` littéraux au lieu de rendre le texte barré. Nécessite Claude Code v2.1.186 ou ultérieur |

310| `CLAUDE_CODE_FORCE_SYNC_OUTPUT` | Définir sur `1` pour forcer l'activation du mode privé DEC 2026 de [sortie synchronisée](https://gist.github.com/christianparpart/d8a62cc1ab659194337d73e399004036) lorsque votre terminal le prend en charge mais n'est pas détecté automatiquement. Utile pour des émulateurs comme `eat` d'Emacs qui implémentent BSU/ESU mais ne répondent pas à la sonde de capacités. Sans effet sous tmux. Contrairement à `CLAUDE_CODE_NO_FLICKER`, qui bascule vers le [rendu plein écran](/docs/fr/fullscreen), cette variable ne change pas le moteur de rendu |315| `CLAUDE_CODE_FORCE_SYNC_OUTPUT` | Définir sur `1` pour forcer l'activation de la [sortie synchronisée](https://gist.github.com/christianparpart/d8a62cc1ab659194337d73e399004036) DEC private mode 2026 lorsque votre terminal la prend en charge sans être détecté automatiquement. Utile pour les émulateurs tels qu'Emacs `eat` qui implémentent BSU/ESU mais ne répondent pas à la sonde de capacités. Sans effet sous tmux. Contrairement à `CLAUDE_CODE_NO_FLICKER`, qui bascule vers le [rendu plein écran](/docs/fr/fullscreen), cette variable ne change pas le moteur de rendu |

311| `CLAUDE_CODE_FORCE_TERMINAL_IMAGES` | Définir sur `1` pour dessiner les [éléments `Image` des mods](/docs/fr/plugins/mods/reference#elements) sous forme d'images lorsque votre terminal affiche les images du protocole graphique kitty avec des espaces réservés Unicode mais n'est pas détecté automatiquement. Voir [quels terminaux Claude Code détecte](/docs/fr/plugins/mods/gallery#image-and-client) et pourquoi cela n'aide pas dans tmux ou screen |316| `CLAUDE_CODE_FORCE_TERMINAL_IMAGES` | Définir sur `1` pour dessiner les [éléments `Image` des mods](/docs/fr/plugins/mods/reference#elements) sous forme d'images lorsque votre terminal affiche les images du protocole graphique kitty avec des placeholders Unicode sans être détecté automatiquement. Voir [quels terminaux Claude Code détecte](/docs/fr/plugins/mods/gallery#image-and-client) et pourquoi cela n'aide pas dans tmux ou screen |

312| `CLAUDE_CODE_FORK_SUBAGENT` | Contrôle le [mode fork](/docs/fr/sub-agents#turn-fork-mode-on-or-off), qui permet à Claude de lancer lui-même des [sous-agents forkés](/docs/fr/sub-agents#fork-the-current-conversation) et qui est activé par défaut uniquement dans les sessions interactives. Définir sur `1` pour l'activer aussi dans `claude -p` et l'Agent SDK, ou sur `0` pour le désactiver dans tous les types de session. Vous pouvez exécuter `/subtask` que le mode fork soit activé ou non. Le comportement par défaut en mode interactif nécessite Claude Code v2.1.232 ou ultérieur ; dans les versions antérieures, définissez la variable sur `1` pour activer le mode fork |317| `CLAUDE_CODE_FORK_SUBAGENT` | Contrôle le [mode fork](/docs/fr/sub-agents#turn-fork-mode-on-or-off), qui permet à Claude de lancer lui-même des [sous-agents forkés](/docs/fr/sub-agents#fork-the-current-conversation) et qui est activé par défaut uniquement dans les sessions interactives. Définir sur `1` pour l'activer également dans `claude -p` et l'Agent SDK, ou sur `0` pour le désactiver dans tous les types de session. Vous pouvez exécuter `/subtask` que le mode fork soit activé ou non. La valeur par défaut interactive nécessite Claude Code v2.1.232 ou ultérieur ; dans les versions antérieures, définissez la variable sur `1` pour activer le mode fork |

313| `CLAUDE_CODE_FORWARD_SUBAGENT_TEXT` | Définir sur `1` pour émettre le texte et les blocs de réflexion des [sous-agents](/docs/fr/sub-agents) dans la sortie de `claude -p --output-format stream-json`, avec le même comportement que le flag [`--forward-subagent-text`](/docs/fr/cli-reference#cli-flags). Utilisez la variable lorsqu'un harnais invoque `claude` et ne peut pas transmettre le flag lui-même. Contrairement au flag, qui provoque une sortie en erreur hors du mode non interactif avec sortie stream-json, la variable y est ignorée afin que les invocations imbriquées continuent de fonctionner lorsqu'elle est définie pour l'ensemble du processus. Nécessite Claude Code v2.1.211 ou ultérieur |318| `CLAUDE_CODE_FORWARD_SUBAGENT_TEXT` | Définir sur `1` pour émettre le texte et les blocs de réflexion des [sous-agents](/docs/fr/sub-agents) dans la sortie de `claude -p --output-format stream-json`, avec le même comportement que le flag [`--forward-subagent-text`](/docs/fr/cli-reference#cli-flags). Utilisez la variable lorsqu'un harnais invoque `claude` et ne peut pas transmettre le flag lui-même. Contrairement au flag, qui termine avec une erreur en dehors du mode non interactif avec sortie stream-json, la variable y est ignorée afin que les invocations imbriquées continuent de fonctionner lorsqu'elle est définie pour l'ensemble du processus. Nécessite Claude Code v2.1.211 ou ultérieur |

314| `CLAUDE_CODE_GATEWAY_HINT_HEADERS` | Définir sur `1` pour envoyer les [en-têtes d'indication de passerelle](/docs/fr/llm-gateway-protocol#gateway-hint-headers), comme `x-claude-code-request-class` et `x-claude-code-compaction`, via un proxy personnalisé ou un fournisseur tiers comme Amazon Bedrock ou Claude Platform on AWS. Définir sur `0` pour cesser de les envoyer sur toutes les connexions, y compris une connexion directe à l'API Anthropic, où Claude Code les envoie par défaut. Nécessite Claude Code v2.1.273 ou ultérieur |319| `CLAUDE_CODE_GATEWAY_HINT_HEADERS` | Définir sur `1` pour envoyer les [en-têtes d'indication de passerelle](/docs/fr/llm-gateway-protocol#gateway-hint-headers), tels que `x-claude-code-request-class` et `x-claude-code-compaction`, vers un proxy personnalisé ou un fournisseur tiers tel qu'Amazon Bedrock ou Claude Platform on AWS. Définir sur `0` pour cesser de les envoyer sur toutes les connexions, y compris une connexion directe à l'API Anthropic, où Claude Code les envoie par défaut. Nécessite Claude Code v2.1.273 ou ultérieur |

315| `CLAUDE_CODE_GATEWAY_MODEL_DISCOVERY_TIMEOUT_MS` | Délai d'expiration en millisecondes de la requête de [découverte des modèles de la passerelle](/docs/fr/llm-gateway-protocol#model-discovery) qu'active `CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY` (par défaut : `3000`). Augmentez-le lorsque votre passerelle a besoin de plus de trois secondes pour répondre à `/v1/models` au démarrage. N'accepte que des chiffres simples ; `0`, les valeurs négatives et les autres écritures conservent la valeur par défaut. Nécessite Claude Code v2.1.269 ou ultérieur |320| `CLAUDE_CODE_GATEWAY_MODEL_DISCOVERY_TIMEOUT_MS` | Délai d'expiration en millisecondes de la requête de [découverte des modèles de la passerelle](/docs/fr/llm-gateway-protocol#model-discovery) activée par `CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY` (par défaut : `3000`). Augmentez-le lorsque votre passerelle met plus de trois secondes à répondre à `/v1/models` au démarrage. N'accepte que des chiffres simples ; `0`, les valeurs négatives et les autres écritures conservent la valeur par défaut. Nécessite Claude Code v2.1.269 ou ultérieur |

316| `CLAUDE_CODE_GIT_BASH_PATH` | Windows uniquement : chemin vers l'exécutable Git Bash (`bash.exe`). À utiliser lorsque Git Bash est installé mais absent de votre PATH. Si le chemin n'existe pas ou si le fichier ne s'appelle pas `bash.exe`, `sh.exe`, `bash` ou `sh`, Claude Code ignore la variable et détecte automatiquement Git Bash comme si elle n'était pas définie, en journalisant un avertissement visible avec `--debug`. Avant la v2.1.219, Claude Code quittait au démarrage lorsque le chemin n'existait pas, et utilisait n'importe quel fichier existant comme shell sans vérifier qu'il s'agissait de bash ou de sh. Voir [Configuration sous Windows](/docs/fr/setup#set-up-on-windows) |321| `CLAUDE_CODE_GIT_BASH_PATH` | Windows uniquement : chemin vers l'exécutable Git Bash (`bash.exe`). À utiliser lorsque Git Bash est installé mais absent de votre PATH. Si le chemin n'existe pas ou si le fichier ne s'appelle pas `bash.exe`, `sh.exe`, `bash` ou `sh`, Claude Code ignore la variable et détecte automatiquement Git Bash comme si elle n'était pas définie, en consignant un avertissement visible avec `--debug`. Avant la v2.1.219, Claude Code se fermait au démarrage lorsque le chemin n'existait pas, et utilisait n'importe quel fichier existant comme shell sans vérifier qu'il s'agissait de bash ou de sh. Voir [Configuration sous Windows](/docs/fr/setup#set-up-on-windows) |

317| `CLAUDE_CODE_GLOB_HIDDEN` | Définir sur `false` pour exclure les fichiers cachés (dotfiles) des résultats lorsque Claude invoque l'[outil Glob](/docs/fr/tools-reference#glob-tool-behavior). Inclus par défaut. N'affecte pas l'autocomplétion de fichiers `@`, `ls`, Grep ni Read |322| `CLAUDE_CODE_GLOB_HIDDEN` | Définir sur `false` pour exclure les dotfiles des résultats lorsque Claude invoque l'[outil Glob](/docs/fr/tools-reference#glob-tool-behavior). Inclus par défaut. N'affecte pas l'autocomplétion de fichiers `@`, `ls`, Grep ni Read |

318| `CLAUDE_CODE_GLOB_NO_IGNORE` | Définir sur `false` pour que l'[outil Glob](/docs/fr/tools-reference#glob-tool-behavior) respecte les motifs `.gitignore`. Par défaut, Glob renvoie tous les fichiers correspondants, y compris ceux ignorés par Git. N'affecte pas l'autocomplétion de fichiers `@`, qui dispose de son propre [paramètre `respectGitignore`](/docs/fr/settings-reference#respectgitignore) |323| `CLAUDE_CODE_GLOB_NO_IGNORE` | Définir sur `false` pour que l'[outil Glob](/docs/fr/tools-reference#glob-tool-behavior) respecte les motifs `.gitignore`. Par défaut, Glob renvoie tous les fichiers correspondants, y compris ceux ignorés par Git. N'affecte pas l'autocomplétion de fichiers `@`, qui possède son propre [paramètre `respectGitignore`](/docs/fr/settings-reference#respectgitignore) |

319| `CLAUDE_CODE_GLOB_TIMEOUT_SECONDS` | Délai d'expiration en secondes pour la découverte de fichiers par l'outil Glob. 20 secondes par défaut sur la plupart des plateformes et 60 secondes sur WSL |324| `CLAUDE_CODE_GLOB_TIMEOUT_SECONDS` | Délai d'expiration en secondes pour la découverte de fichiers par l'outil Glob. 20 secondes par défaut sur la plupart des plateformes et 60 secondes sur WSL |

320| `CLAUDE_CODE_GOAL_CHECKIN_MINUTES` | Nombre de minutes pendant lesquelles un travail en arrière-plan peut faire attendre un objectif actif avant que Claude Code [demande à Claude de vérifier où il en est](/docs/fr/goal#background-work-defers-evaluation). Par défaut `30`. Définir `0` pour désactiver ces vérifications. Indiquez un nombre entier de minutes en chiffres simples, au maximum `10080`, soit une semaine. Claude Code traite toute autre valeur comme non définie et utilise la valeur par défaut. Nécessite Claude Code v2.1.234 ou ultérieur |325| `CLAUDE_CODE_GOAL_CHECKIN_MINUTES` | Nombre de minutes pendant lesquelles un travail en arrière-plan peut faire attendre un objectif actif avant que Claude Code [demande à Claude de le vérifier](/docs/fr/goal#background-work-defers-evaluation). Par défaut `30`. Définir sur `0` pour désactiver les vérifications. Indiquez un nombre entier de minutes en chiffres simples, au maximum `10080`, soit une semaine. Claude Code traite toute autre valeur comme non définie et utilise la valeur par défaut. Nécessite Claude Code v2.1.234 ou ultérieur |

321| `CLAUDE_CODE_GZIP_REQUEST_BODIES` | Définir sur `0` pour désactiver la compression gzip des corps de requêtes de l'API Claude, de la télémétrie et de publication d'[artefacts](/docs/fr/artifacts) envoyés à `api.anthropic.com`. Par défaut, Claude Code compresse les corps de requêtes volumineux sur les connexions directes et ignore la compression lorsque vous envoyez des requêtes via un proxy, configurez un certificat client ou définissez `NODE_EXTRA_CA_CERTS`. Utilisez `0` si un [proxy d'inspection TLS](/docs/fr/network-config#ca-certificate-store) que Claude Code ne peut pas détecter gère mal les requêtes compressées |326| `CLAUDE_CODE_GZIP_REQUEST_BODIES` | Définir sur `0` pour désactiver la compression gzip des corps de requêtes de l'API Claude, de la télémétrie et de publication d'[artefacts](/docs/fr/artifacts) envoyés à `api.anthropic.com`. Par défaut, Claude Code compresse les corps de requête volumineux sur les connexions directes et ignore la compression lorsque vous envoyez des requêtes via un proxy, configurez un certificat client ou définissez `NODE_EXTRA_CA_CERTS`. Utilisez `0` si un [proxy d'inspection TLS](/docs/fr/network-config#ca-certificate-store) que Claude Code ne peut pas détecter gère mal les requêtes compressées |

322| `CLAUDE_CODE_HIDE_CWD` | Définir sur `1` pour masquer le répertoire de travail dans le logo de démarrage. Utile pour les partages d'écran ou les enregistrements où le chemin révèle votre nom d'utilisateur système |327| `CLAUDE_CODE_HIDE_CWD` | Définir sur `1` pour masquer le répertoire de travail dans le logo de démarrage. Utile pour les partages d'écran ou les enregistrements où le chemin révèle votre nom d'utilisateur du système d'exploitation |

323| `CLAUDE_CODE_IDE_HOST_OVERRIDE` | Remplace l'adresse d'hôte utilisée pour se connecter à l'extension IDE. Par défaut, Claude Code détecte automatiquement l'adresse correcte, y compris le routage de WSL vers Windows |328| `CLAUDE_CODE_IDE_HOST_OVERRIDE` | Remplace l'adresse d'hôte utilisée pour se connecter à l'extension IDE. Par défaut, Claude Code détecte automatiquement l'adresse correcte, y compris le routage de WSL vers Windows |

324| `CLAUDE_CODE_IDE_SKIP_AUTO_INSTALL` | Définir sur `1` pour ignorer l'installation automatique des extensions IDE. Équivaut à définir [`autoInstallIdeExtension`](/docs/fr/settings-reference#autoinstallideextension) sur `false` |329| `CLAUDE_CODE_IDE_SKIP_AUTO_INSTALL` | Définir sur `1` pour ignorer l'installation automatique des extensions IDE. Équivaut à définir [`autoInstallIdeExtension`](/docs/fr/settings-reference#autoinstallideextension) sur `false` |

325| `CLAUDE_CODE_IDE_SKIP_VALID_CHECK` | Définir sur `1` pour ignorer la validation des entrées du fichier de verrouillage de l'IDE lors de la connexion. À utiliser lorsque la connexion automatique ne trouve pas votre IDE alors qu'il est en cours d'exécution |330| `CLAUDE_CODE_IDE_SKIP_VALID_CHECK` | Définir sur `1` pour ignorer la validation des entrées du fichier de verrouillage de l'IDE lors de la connexion. À utiliser lorsque la connexion automatique ne trouve pas votre IDE alors qu'il est en cours d'exécution |

326| `CLAUDE_CODE_MAX_CONCURRENT_SUBAGENTS` | Nombre de [sous-agents](/docs/fr/sub-agents#concurrent-subagent-limit) pouvant s'exécuter dans une session avant que l'outil Agent refuse d'en lancer un autre (par défaut : 20). Accepte un nombre entier positif en chiffres simples ; toute autre valeur est ignorée, de sorte que la variable peut ajuster le plafond mais pas le désactiver. Nécessite Claude Code v2.1.217 ou ultérieur |331| `CLAUDE_CODE_MAX_CONCURRENT_SUBAGENTS` | Nombre de [sous-agents](/docs/fr/sub-agents#concurrent-subagent-limit) pouvant s'exécuter dans une session avant que l'outil Agent refuse d'en lancer un autre (par défaut : 20). Accepte un nombre entier positif en chiffres simples ; toute autre valeur est ignorée, de sorte que la variable peut ajuster le plafond mais pas le désactiver. Nécessite Claude Code v2.1.217 ou ultérieur |

327| `CLAUDE_CODE_MAX_CONTEXT_TOKENS` | Remplace la taille de fenêtre de contexte que Claude Code suppose pour le modèle actif. Depuis la v2.1.193, son application dépend de la manière dont Claude Code résout l'ID du modèle ; voir [Corriger la fenêtre pour une passerelle ou un ID de modèle personnalisé](/docs/fr/model-config#correct-the-window-for-a-gateway-or-custom-model-id). À utiliser lors du routage vers un modèle via `ANTHROPIC_BASE_URL` dont la fenêtre de contexte ne correspond pas à la taille intégrée associée à son nom |332| `CLAUDE_CODE_MAX_CONTEXT_TOKENS` | Remplace la taille de fenêtre de contexte que Claude Code suppose pour le modèle actif. Depuis la v2.1.193, son application dépend de la manière dont Claude Code résout l'ID du modèle ; voir [Corriger la fenêtre pour une passerelle ou un ID de modèle personnalisé](/docs/fr/model-config#correct-the-window-for-a-gateway-or-custom-model-id). À utiliser lors du routage vers un modèle via `ANTHROPIC_BASE_URL` dont la fenêtre de contexte ne correspond pas à la taille intégrée associée à son nom |

328| `CLAUDE_CODE_MAX_MCP_DESCRIPTION_LENGTH` | Longueur maximale en caractères de chaque description d'outil MCP et des instructions de chaque serveur MCP que Claude Code envoie au modèle (par défaut : 2048). Claude Code [tronque les textes plus longs](/docs/fr/mcp#for-mcp-server-authors). Accepte un nombre entier positif en chiffres simples. Toute autre valeur est ignorée et la valeur par défaut s'applique. Nécessite Claude Code v2.1.280 ou ultérieur |333| `CLAUDE_CODE_MAX_MCP_DESCRIPTION_LENGTH` | Longueur maximale en caractères de chaque description d'outil MCP et des instructions de chaque serveur MCP que Claude Code envoie au modèle (par défaut : 2048). Claude Code [tronque les textes plus longs](/docs/fr/mcp#for-mcp-server-authors). Accepte un nombre entier positif en chiffres simples. Toute autre valeur est ignorée et la valeur par défaut s'applique. Nécessite Claude Code v2.1.280 ou ultérieur |

329| `CLAUDE_CODE_MAX_OUTPUT_TOKENS` | Définit le nombre maximal de tokens de sortie pour la plupart des requêtes. Les valeurs par défaut et les plafonds varient selon le modèle ; voir [nombre maximal de tokens de sortie](https://platform.claude.com/docs/en/about-claude/models/overview#latest-models-comparison). Claude Code ramène au plafond une valeur qui dépasse le plafond d'un modèle. Pour un ID de modèle que Claude Code ne peut pas associer à un modèle connu, la valeur par défaut est 32000 et le plafond 128000. Augmenter cette valeur réduit la fenêtre de contexte effective disponible avant le déclenchement de la [compaction automatique](/docs/fr/costs#reduce-token-usage) |334| `CLAUDE_CODE_MAX_OUTPUT_TOKENS` | Définit le nombre maximal de tokens de sortie pour la plupart des requêtes. Les valeurs par défaut et les plafonds varient selon le modèle ; voir [max output tokens](https://platform.claude.com/docs/en/about-claude/models/overview#latest-models-comparison). Claude Code ramène une valeur supérieure au plafond d'un modèle à ce plafond. Pour un ID de modèle que Claude Code ne peut pas associer à un modèle connu, la valeur par défaut est 32000 et le plafond est 128000. Augmenter cette valeur réduit la fenêtre de contexte effective disponible avant le déclenchement de la [compaction automatique](/docs/fr/costs#reduce-token-usage) |

330| `CLAUDE_CODE_MAX_RETRIES` | Remplace le nombre de nouvelles tentatives pour les requêtes API ayant échoué (par défaut : 10). Plafonné à 15 depuis la v2.1.186 ; depuis la v2.1.199, `CLAUDE_CODE_RETRY_WATCHDOG` augmente la valeur par défaut et supprime le plafond. Pour les sessions sans surveillance qui doivent patienter pendant des pannes plus longues, définissez plutôt `CLAUDE_CODE_RETRY_WATCHDOG` |335| `CLAUDE_CODE_MAX_RETRIES` | Remplace le nombre de nouvelles tentatives pour les requêtes API ayant échoué (par défaut : 10). Plafonné à 15 depuis la v2.1.186 ; depuis la v2.1.199, `CLAUDE_CODE_RETRY_WATCHDOG` augmente la valeur par défaut et supprime le plafond. Pour les sessions sans surveillance qui doivent patienter pendant des pannes plus longues, définissez plutôt `CLAUDE_CODE_RETRY_WATCHDOG` |

331| `CLAUDE_CODE_MAX_SUBAGENTS_PER_SESSION` | Supprimée dans la v2.1.224 et désormais sans effet. Plafonnait auparavant le nombre total de [sous-agents](/docs/fr/sub-agents) que Claude pouvait lancer avec l'outil Agent dans une session (par défaut : 200) ; tout lancement au-delà du plafond échouait avec `Subagent spawn limit reached`. La [limite de sous-agents simultanés](/docs/fr/sub-agents#concurrent-subagent-limit) et la [limite de profondeur](/docs/fr/sub-agents#let-subagents-spawn-their-own-subagents) s'appliquent toujours |336| `CLAUDE_CODE_MAX_SUBAGENTS_PER_SESSION` | Supprimée dans la v2.1.224 et désormais sans effet. Plafonnait auparavant le nombre total de [sous-agents](/docs/fr/sub-agents) que Claude pouvait lancer avec l'outil Agent dans une session (par défaut : 200) ; tout lancement au-delà du plafond échouait avec `Subagent spawn limit reached`. La [limite de sous-agents simultanés](/docs/fr/sub-agents#concurrent-subagent-limit) et la [limite de profondeur](/docs/fr/sub-agents#let-subagents-spawn-their-own-subagents) s'appliquent toujours |

332| `CLAUDE_CODE_MAX_SUBAGENT_SPAWN_DEPTH` | Nombre de [niveaux de sous-agents](/docs/fr/sub-agents#let-subagents-spawn-their-own-subagents) autorisés sous la conversation principale (par défaut : 3). Avec la valeur par défaut, les sous-agents peuvent lancer leurs propres sous-agents, et un sous-agent du troisième niveau ne peut pas aller plus loin ; définir `1` pour désactiver l'imbrication. De la v2.1.217 à la v2.1.218, la valeur par défaut était 1, de sorte qu'un sous-agent ne pouvait pas lancer ses propres sous-agents à moins que vous n'augmentiez la limite ; la v2.1.219 a porté la valeur par défaut à 3. Accepte un nombre entier positif en chiffres simples ; toute autre valeur est ignorée, de sorte que la limite peut être ajustée mais pas supprimée. Nécessite Claude Code v2.1.217 ou ultérieur |337| `CLAUDE_CODE_MAX_SUBAGENT_SPAWN_DEPTH` | Nombre de [niveaux de sous-agents](/docs/fr/sub-agents#let-subagents-spawn-their-own-subagents) autorisés sous la conversation principale (par défaut : 3). Avec la valeur par défaut, les sous-agents peuvent lancer leurs propres sous-agents, et un sous-agent du troisième niveau ne peut pas en lancer d'autres ; définissez `1` pour désactiver l'imbrication. Des versions v2.1.217 à v2.1.218, la valeur par défaut était 1, de sorte qu'un sous-agent ne pouvait pas lancer les siens sauf si vous augmentiez la limite ; la v2.1.219 a porté la valeur par défaut à 3. Accepte un nombre entier positif en chiffres simples ; toute autre valeur est ignorée, de sorte que la limite peut être ajustée mais pas supprimée. Nécessite Claude Code v2.1.217 ou ultérieur |

333| `CLAUDE_CODE_MAX_TOOL_USE_CONCURRENCY` | Nombre maximal d'outils en lecture seule et de sous-agents pouvant s'exécuter en parallèle (par défaut : 10). Des valeurs plus élevées augmentent le parallélisme mais consomment davantage de ressources |338| `CLAUDE_CODE_MAX_TOOL_USE_CONCURRENCY` | Nombre maximal d'outils en lecture seule et de sous-agents pouvant s'exécuter en parallèle (par défaut : 10). Des valeurs plus élevées augmentent le parallélisme mais consomment davantage de ressources |

334| `CLAUDE_CODE_MAX_TURNS` | Plafonne le nombre de tours agentiques lorsqu'aucune limite explicite n'est transmise. Équivaut à transmettre [`--max-turns`](/docs/fr/cli-reference#cli-flags), qui a priorité lorsque les deux sont définis. Une valeur qui n'est pas un entier positif est rejetée au démarrage avec une erreur au lieu d'être traitée comme une absence de plafond |339| `CLAUDE_CODE_MAX_TURNS` | Plafonne le nombre de tours agentiques lorsqu'aucune limite explicite n'est transmise. Équivaut à transmettre [`--max-turns`](/docs/fr/cli-reference#cli-flags), qui a priorité lorsque les deux sont définis. Une valeur qui n'est pas un entier positif est rejetée au démarrage avec une erreur au lieu d'être traitée comme une absence de plafond |

335| `CLAUDE_CODE_MAX_WEB_SEARCHES_PER_SESSION` | Plafond d'appels [WebSearch](/docs/fr/tools-reference#session-search-limit) (par défaut : 200). Lorsque Claude atteint le plafond, les appels WebSearch suivants renvoient un avis lui indiquant de poursuivre avec les informations déjà recueillies. Accepte un nombre entier positif sans limite supérieure. Toute autre valeur est ignorée et la valeur par défaut s'applique, de sorte que le plafond peut être relevé mais pas désactivé. Nécessite Claude Code v2.1.212 ou ultérieur |340| `CLAUDE_CODE_MAX_WEB_SEARCHES_PER_SESSION` | Plafond des appels [WebSearch](/docs/fr/tools-reference#session-search-limit) (par défaut : 200). Lorsque Claude atteint le plafond, les appels WebSearch suivants renvoient un avis lui indiquant de continuer avec les informations déjà recueillies. Accepte un nombre entier positif sans borne supérieure. Toute autre valeur est ignorée et la valeur par défaut s'applique ; le plafond peut donc être relevé mais pas désactivé. Nécessite Claude Code v2.1.212 ou ultérieur |

336| `CLAUDE_CODE_MCP_ALLOWLIST_ENV` | Définir sur `1` pour lancer les serveurs MCP stdio avec uniquement un environnement de base sûr plus l'`env` configuré du serveur, au lieu d'hériter de l'environnement de votre shell |341| `CLAUDE_CODE_MCP_ALLOWLIST_ENV` | Définir sur `1` pour lancer les serveurs MCP stdio avec uniquement un environnement de base sûr plus l'`env` configuré du serveur, au lieu d'hériter de l'environnement de votre shell |

337| `CLAUDE_CODE_MCP_AUTO_BACKGROUND_MS` | Temps écoulé en millisecondes avant qu'un appel d'outil MCP toujours en cours [passe en tâche en arrière-plan](/docs/fr/mcp#automatic-backgrounding-of-long-tool-calls) (par défaut : 120000, soit 2 minutes). Définir sur `0` pour désactiver le passage automatique en arrière-plan. Nécessite Claude Code v2.1.212 ou ultérieur |342| `CLAUDE_CODE_MCP_AUTO_BACKGROUND_MS` | Temps écoulé en millisecondes avant qu'un appel d'outil MCP toujours en cours [soit déplacé vers une tâche en arrière-plan](/docs/fr/mcp#automatic-backgrounding-of-long-tool-calls) (par défaut : 120000, soit 2 minutes). Définir sur `0` pour désactiver la mise en arrière-plan automatique. Nécessite Claude Code v2.1.212 ou ultérieur |

338| `CLAUDE_CODE_MCP_STARTUP_WAIT_MS` | Durée en millisecondes pendant laquelle le premier tour d'une session [non interactive](/docs/fr/headless) attend les serveurs MCP encore en cours de connexion, à la place de l'[attente du premier tour](/docs/fr/agent-sdk/mcp#connection-timing) par défaut. Lorsqu'elle est définie, l'attente couvre tous les serveurs en attente. Définir sur `0` pour ignorer l'attente. Un serveur [`--permission-prompt-tool`](/docs/fr/cli-reference#cli-flags) conserve sa propre attente `MCP_TIMEOUT` quelle que soit la valeur. Nécessite Claude Code v2.1.274 ou ultérieur |343| `CLAUDE_CODE_MCP_STARTUP_WAIT_MS` | Durée en millisecondes pendant laquelle le premier tour d'une session [non interactive](/docs/fr/headless) attend les serveurs MCP encore en cours de connexion, à la place de l'[attente du premier tour](/docs/fr/agent-sdk/mcp#connection-timing) par défaut. Lorsqu'elle est définie, l'attente couvre tous les serveurs en attente. Définir sur `0` pour ignorer l'attente. Un serveur [`--permission-prompt-tool`](/docs/fr/cli-reference#cli-flags) conserve sa propre attente `MCP_TIMEOUT` quelle que soit la valeur. Nécessite Claude Code v2.1.274 ou ultérieur |

339| `CLAUDE_CODE_MCP_TOOL_IDLE_TIMEOUT` | Délai d'inactivité en millisecondes pour les appels d'outils MCP. Lorsqu'un serveur MCP stdio, HTTP, SSE, WebSocket ou [connecteur claude.ai](/docs/fr/mcp#use-mcp-servers-from-claude-ai) n'envoie ni réponse ni notification de progression pendant cette durée, l'appel d'outil est interrompu avec une erreur au lieu d'attendre le `MCP_TOOL_TIMEOUT` global. Remplace les valeurs par défaut propres à chaque transport, à savoir 300000 (5 minutes) pour les serveurs réseau et 1800000 (30 minutes) pour les serveurs stdio. Définir sur `0` pour désactiver la vérification d'inactivité. Les valeurs inférieures à 1000 sont portées à une seconde, et la valeur est plafonnée au `MCP_TOOL_TIMEOUT` effectif. Un `timeout` par serveur d'au moins 1000 dans `.mcp.json` porte la fenêtre d'inactivité de ce serveur à au moins la valeur de `timeout`. Ne s'applique pas aux serveurs IDE ni aux serveurs SDK intégrés au processus. Nécessite Claude Code v2.1.187 ou ultérieur. Avant la v2.1.203, les serveurs stdio étaient exemptés du délai d'inactivité |344| `CLAUDE_CODE_MCP_TOOL_IDLE_TIMEOUT` | Délai d'inactivité en millisecondes pour les appels d'outils MCP. Lorsqu'un serveur MCP stdio, HTTP, SSE, WebSocket ou [connecteur claude.ai](/docs/fr/mcp#use-mcp-servers-from-claude-ai) n'envoie ni réponse ni notification de progression pendant cette durée, l'appel d'outil s'interrompt avec une erreur au lieu d'attendre le `MCP_TOOL_TIMEOUT` global. Remplace les valeurs par défaut propres à chaque transport, à savoir 300000 (5 minutes) pour les serveurs réseau et 1800000 (30 minutes) pour les serveurs stdio. Définir sur `0` pour désactiver la vérification d'inactivité. Les valeurs inférieures à 1000 sont portées à une seconde, et la valeur est plafonnée au `MCP_TOOL_TIMEOUT` effectif. Un `timeout` par serveur d'au moins 1000 dans `.mcp.json` porte la fenêtre d'inactivité de ce serveur à au moins la valeur de `timeout`. Ne s'applique pas aux serveurs IDE ni aux serveurs SDK in-process. Nécessite Claude Code v2.1.187 ou ultérieur. Avant la v2.1.203, les serveurs stdio étaient exemptés du délai d'inactivité |

340| `CLAUDE_CODE_MESSAGING_SOCKET` | Définie par Claude Code, pas par vous : dans les sessions qui lient un [socket de boîte de réception](/docs/fr/cross-session-messaging#the-sessions-inbox-socket), Claude Code exporte le chemin de ce socket vers les hooks et les commandes Bash au moment où il lie le socket. Dans une session qui démarre avec la messagerie activée, Claude Code lie le socket avant l'exécution de tout hook. Les autres sessions de la machine remettent les messages à ce chemin. Chaque session exporte son propre socket plutôt qu'un socket hérité d'un parent, et les messages qui y arrivent passent par les [contrôles des messages entrants](/docs/fr/cross-session-messaging#control-inbound-messages) de la session. Les blocs `env` des paramètres ne peuvent pas la définir. Nécessite Claude Code v2.1.224 ou ultérieur |345| `CLAUDE_CODE_MESSAGING_SOCKET` | Définie par Claude Code, pas par vous : dans les sessions qui lient un [socket de boîte de réception](/docs/fr/cross-session-messaging#the-sessions-inbox-socket), Claude Code exporte le chemin de ce socket vers les hooks et les commandes Bash au moment où il lie le socket. Dans une session qui démarre avec la messagerie activée, Claude Code lie le socket avant l'exécution de tout hook. Les autres sessions de la machine livrent les messages à ce chemin. Chaque session exporte son propre socket plutôt qu'un socket hérité d'un parent, et les messages qui y arrivent passent par les [contrôles entrants](/docs/fr/cross-session-messaging#control-inbound-messages) de la session. Les blocs `env` des paramètres ne peuvent pas la définir. Nécessite Claude Code v2.1.224 ou ultérieur |

341| `CLAUDE_CODE_MESSAGING_TOKEN` | Définie par Claude Code, pas par vous : dans les sessions qui lient un [socket de boîte de réception](/docs/fr/cross-session-messaging#the-sessions-inbox-socket), Claude Code exporte ce jeton propre à la session vers les hooks et les commandes Bash, en plus de `CLAUDE_CODE_MESSAGING_SOCKET`. Un script qui publie sur le socket peut envoyer `{"type":"auth","token":"<token>"}` comme première ligne pour prouver qu'il appartient à la session. Sous Windows natif, Claude Code exige cette ligne et ferme toute connexion qui ne commence pas par une ligne valide. Les [règles relatives aux processus enfants propres](/docs/fr/cross-session-messaging#the-sessions-inbox-socket) indiquent quand Claude Code consulte le jeton. Chaque session exporte son propre jeton, jamais un jeton hérité d'une session parente. Les blocs `env` des paramètres ne peuvent pas la définir. Nécessite Claude Code v2.1.228 ou ultérieur |346| `CLAUDE_CODE_MESSAGING_TOKEN` | Définie par Claude Code, pas par vous : dans les sessions qui lient un [socket de boîte de réception](/docs/fr/cross-session-messaging#the-sessions-inbox-socket), Claude Code exporte ce jeton propre à la session vers les hooks et les commandes Bash, en plus de `CLAUDE_CODE_MESSAGING_SOCKET`. Un script qui publie sur le socket peut envoyer `{"type":"auth","token":"<token>"}` comme première ligne pour prouver qu'il appartient à la session. Sous Windows natif, Claude Code exige cette ligne et ferme toute connexion qui ne commence pas par une ligne valide. Les [règles relatives aux processus enfants propres](/docs/fr/cross-session-messaging#the-sessions-inbox-socket) indiquent quand Claude Code consulte le jeton. Chaque session exporte son propre jeton, jamais un jeton hérité d'une session parente. Les blocs `env` des paramètres ne peuvent pas la définir. Nécessite Claude Code v2.1.228 ou ultérieur |

342| `CLAUDE_CODE_NATIVE_CURSOR` | Définir sur `1` pour afficher le curseur propre au terminal au niveau du point d'insertion au lieu d'un bloc dessiné. Le curseur respecte les paramètres de clignotement, de forme et de focus du terminal. Définir `0` revient à laisser la variable non définie ; cela ne rétablit donc pas le bloc dessiné dans une session où le curseur propre au terminal est déjà activé |347| `CLAUDE_CODE_NATIVE_CURSOR` | Définir sur `1` pour afficher le curseur propre au terminal au niveau du point d'insertion au lieu d'un bloc dessiné. Le curseur respecte les paramètres de clignotement, de forme et de focus du terminal. Définir `0` équivaut à laisser la variable non définie ; cela ne rétablit donc pas le bloc dessiné dans une session où le curseur propre au terminal est déjà activé |

343| `CLAUDE_CODE_NEW_INIT` | Définir sur `1` pour que `/init` exécute un processus de configuration interactif. Ce processus demande quels fichiers générer, notamment CLAUDE.md, les skills et les hooks, avant d'explorer la base de code et de les écrire. Sans cette variable, `/init` génère automatiquement un CLAUDE.md sans rien demander |348| `CLAUDE_CODE_NEW_INIT` | Définir sur `1` pour que `/init` exécute un processus de configuration interactif. Ce processus demande quels fichiers générer, notamment CLAUDE.md, les skills et les hooks, avant d'explorer la base de code et de les écrire. Sans cette variable, `/init` génère automatiquement un CLAUDE.md sans rien demander |

344| `CLAUDE_CODE_NONBLOCKING_STDOUT` | Définir sur `1` pour écrire la sortie du terminal via un second descripteur de fichier non bloquant, afin qu'un terminal qui cesse de lire, comme un volet tmux en mode contrôle mis en pause ou une connexion SSH bloquée, ne puisse pas figer Claude Code en cours de session. S'applique sur macOS, Linux et WSL lorsque stdout est un terminal. Nécessite Claude Code v2.1.261 ou ultérieur |349| `CLAUDE_CODE_NONBLOCKING_STDOUT` | Définir sur `1` pour écrire la sortie du terminal via un second descripteur de fichier non bloquant, afin qu'un terminal qui cesse de lire, comme un volet tmux en mode contrôle mis en pause ou une connexion SSH bloquée, ne puisse pas figer Claude Code en cours de session. S'applique sur macOS, Linux et WSL lorsque stdout est un terminal. Nécessite Claude Code v2.1.261 ou ultérieur |

345| `CLAUDE_CODE_NONSTREAMING_TIMEOUT_RETRIES` | Limite le nombre de fois où Claude Code renvoie une [requête non streaming](/docs/fr/errors#streaming-response-ended-before-any-complete-data-was-received) qui expire. Avec `0`, la requête échoue dès la première expiration. Voir [Ajuster le comportement des nouvelles tentatives](/docs/fr/errors#tune-retry-behavior) pour le délai d'expiration. Nécessite Claude Code v2.1.285 ou ultérieur |350| `CLAUDE_CODE_NONSTREAMING_TIMEOUT_RETRIES` | Limite le nombre de fois où Claude Code renvoie une [requête sans streaming](/docs/fr/errors#streaming-response-ended-before-any-complete-data-was-received) qui expire. Avec `0`, la requête échoue dès la première expiration. Voir [Ajuster le comportement des nouvelles tentatives](/docs/fr/errors#tune-retry-behavior) pour le délai d'expiration. Nécessite Claude Code v2.1.285 ou ultérieur |

346| `CLAUDE_CODE_NO_FLICKER` | Définir sur `1` pour activer le [rendu plein écran](/docs/fr/fullscreen), en research preview, qui réduit le scintillement et maintient une consommation de mémoire stable dans les longues conversations. Remplace le paramètre [`tui`](/docs/fr/settings-reference#tui) ; vous pouvez aussi basculer avec `/tui fullscreen` |351| `CLAUDE_CODE_NO_FLICKER` | Définir sur `1` pour activer le [rendu plein écran](/docs/fr/fullscreen), une research preview qui réduit le scintillement et maintient une consommation mémoire stable dans les longues conversations. Remplace le paramètre [`tui`](/docs/fr/settings-reference#tui) ; vous pouvez également basculer avec `/tui fullscreen` |

347| `CLAUDE_CODE_OAUTH_REFRESH_TOKEN` | Jeton d'actualisation OAuth pour l'authentification Claude.ai. Lorsqu'il est défini, `claude auth login` échange directement ce jeton au lieu d'ouvrir un navigateur. Nécessite `CLAUDE_CODE_OAUTH_SCOPES`. Utile pour provisionner l'authentification dans les environnements automatisés |352| `CLAUDE_CODE_OAUTH_REFRESH_TOKEN` | Jeton d'actualisation OAuth pour l'authentification Claude.ai. Lorsqu'il est défini, `claude auth login` échange directement ce jeton au lieu d'ouvrir un navigateur. Nécessite `CLAUDE_CODE_OAUTH_SCOPES`. Utile pour provisionner l'authentification dans des environnements automatisés |

348| `CLAUDE_CODE_OAUTH_SCOPES` | Scopes OAuth, séparés par des espaces, avec lesquels 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 |353| `CLAUDE_CODE_OAUTH_SCOPES` | Scopes OAuth séparés par des espaces avec lesquels le jeton d'actualisation a été émis, par exemple `"user:profile user:inference user:sessions:claude_code"`. Requise lorsque `CLAUDE_CODE_OAUTH_REFRESH_TOKEN` est défini |

349| `CLAUDE_CODE_OAUTH_TOKEN` | Jeton d'accès OAuth pour l'authentification claude.ai. Alternative à `/login` pour le SDK et les environnements automatisés. A priorité sur les identifiants stockés dans le trousseau. Générez-en un avec [`claude setup-token`](/docs/fr/authentication#generate-a-long-lived-token). À moins que vous n'exécutiez [`/login`](/docs/fr/authentication#authentication-precedence), Claude Code utilise le jeton défini pendant toute la session. Pour remplacer un jeton expiré, générez-en un nouveau et redémarrez |354| `CLAUDE_CODE_OAUTH_TOKEN` | Jeton d'accès OAuth pour l'authentification claude.ai. Alternative à `/login` pour le SDK et les environnements automatisés. A priorité sur les identifiants stockés dans le trousseau. Générez-en un avec [`claude setup-token`](/docs/fr/authentication#generate-a-long-lived-token). Sauf si vous exécutez [`/login`](/docs/fr/authentication#authentication-precedence), Claude Code utilise le jeton que vous avez défini pendant toute la session. Pour remplacer un jeton expiré, générez-en un nouveau et redémarrez |

350| `CLAUDE_CODE_OPUS_4_6_FAST_MODE_OVERRIDE` | Supprimée dans la v2.1.160 et désormais sans effet. Épinglait auparavant le [mode rapide](/docs/fr/fast-mode) sur Claude Opus 4.6 au lieu du modèle par défaut actuel. Opus 4.6 ne prend plus en charge le mode rapide |355| `CLAUDE_CODE_OPUS_4_6_FAST_MODE_OVERRIDE` | Supprimée dans la v2.1.160 et désormais sans effet. Épinglait auparavant le [mode rapide](/docs/fr/fast-mode) sur Claude Opus 4.6 au lieu du modèle par défaut actuel. Opus 4.6 ne prend plus en charge le mode rapide |

351| `CLAUDE_CODE_OTEL_CONTENT_MAX_LENGTH` | Longueur maximale des attributs OpenTelemetry porteurs de contenu (réponses du modèle, contenu des outils, prompts système, corps bruts de l'API), marqueur de troncature inclus, en unités de code UTF-16 (par défaut : 61440, soit 60 Ko). Augmentez-la uniquement si votre backend de télémétrie accepte des valeurs d'attribut supérieures à 64 Ko, ou réduisez-la pour diminuer le volume de télémétrie. Nécessite Claude Code v2.1.214 ou ultérieur. Voir [Surveillance](/docs/fr/monitoring-usage) |356| `CLAUDE_CODE_OTEL_CONTENT_MAX_LENGTH` | Longueur maximale des attributs OpenTelemetry porteurs de contenu (réponses du modèle, contenu des outils, prompts système, corps bruts de l'API), marqueur de troncature inclus, en unités de code UTF-16 (par défaut : 61440, soit 60 Ko). Augmentez-la uniquement si votre backend de télémétrie accepte des valeurs d'attribut supérieures à 64 Ko, ou diminuez-la pour réduire le volume de télémétrie. Nécessite Claude Code v2.1.214 ou ultérieur. Voir [Surveillance](/docs/fr/monitoring-usage) |

352| `CLAUDE_CODE_OTEL_DIAG_STDERR` | Définir sur `1` pour écrire les erreurs de diagnostic de l'exportateur OpenTelemetry sur stderr. Par défaut, ces erreurs n'apparaissent qu'avec `--debug`, si bien qu'un exportateur mal configuré, par exemple en cas de conflit de port Prometheus, échoue sinon silencieusement. Nécessite Claude Code v2.1.179 ou ultérieur. Voir [Surveillance](/docs/fr/monitoring-usage) |357| `CLAUDE_CODE_OTEL_DIAG_STDERR` | Définir sur `1` pour écrire les erreurs de diagnostic de l'exportateur OpenTelemetry sur stderr. Par défaut, ces erreurs n'apparaissent qu'avec `--debug`, de sorte qu'un exportateur mal configuré, par exemple en cas de collision de port Prometheus, échoue sinon silencieusement. Nécessite Claude Code v2.1.179 ou ultérieur. Voir [Surveillance](/docs/fr/monitoring-usage) |

353| `CLAUDE_CODE_OTEL_FLUSH_TIMEOUT_MS` | Délai d'expiration en millisecondes pour le vidage des spans OpenTelemetry en attente (par défaut : 5000). Voir [Surveillance](/docs/fr/monitoring-usage) |358| `CLAUDE_CODE_OTEL_FLUSH_TIMEOUT_MS` | Délai d'expiration en millisecondes pour le vidage des spans OpenTelemetry en attente (par défaut : 5000). Voir [Surveillance](/docs/fr/monitoring-usage) |

354| `CLAUDE_CODE_OTEL_HEADERS_HELPER_DEBOUNCE_MS` | Intervalle d'actualisation des en-têtes OpenTelemetry dynamiques, en millisecondes (par défaut : 1740000 / 29 minutes). Voir [En-têtes dynamiques](/docs/fr/monitoring-usage#dynamic-headers) |359| `CLAUDE_CODE_OTEL_HEADERS_HELPER_DEBOUNCE_MS` | Intervalle d'actualisation des en-têtes OpenTelemetry dynamiques en millisecondes (par défaut : 1740000 / 29 minutes). Voir [En-têtes dynamiques](/docs/fr/monitoring-usage#dynamic-headers) |

355| `CLAUDE_CODE_OTEL_SHUTDOWN_TIMEOUT_MS` | Délai d'expiration en millisecondes accordé à l'exportateur OpenTelemetry pour terminer lors de l'arrêt (par défaut : 2000). Augmentez-le si des métriques sont perdues à la sortie. Voir [Surveillance](/docs/fr/monitoring-usage) |360| `CLAUDE_CODE_OTEL_SHUTDOWN_TIMEOUT_MS` | Délai d'expiration en millisecondes laissé à l'exportateur OpenTelemetry pour terminer lors de l'arrêt (par défaut : 2000). Augmentez-le si des métriques sont perdues à la sortie. Voir [Surveillance](/docs/fr/monitoring-usage) |

356| `CLAUDE_CODE_OVERLOADED_RETRY_BASE_DELAY_MS` | Délai initial en millisecondes, à la place des 500 par défaut, du backoff exponentiel entre les [nouvelles tentatives automatiques](/docs/fr/errors#tune-retry-behavior) d'une requête que l'API rejette avec une erreur de surcharge `529`. Augmentez-le pour étaler les nouvelles tentatives sur une plus longue période lorsque l'API est saturée. Indiquez un nombre entier de millisecondes entre 500 et 32000 en chiffres simples ; Claude Code traite toute autre valeur comme non définie. Sans effet lorsque `CLAUDE_CODE_RETRY_WATCHDOG` est défini sur `1`, ou lorsque la requête rejetée a été envoyée en [mode rapide](/docs/fr/fast-mode#handle-rate-limits). Nécessite Claude Code v2.1.292 ou ultérieur |361| `CLAUDE_CODE_OVERLOADED_RETRY_BASE_DELAY_MS` | Délai initial en millisecondes, à la place de la valeur par défaut de 500, du backoff exponentiel entre les [nouvelles tentatives automatiques](/docs/fr/errors#tune-retry-behavior) d'une requête que l'API rejette avec une erreur de surcharge `529`. Augmentez-le pour répartir les nouvelles tentatives sur une fenêtre plus longue lorsque l'API est à pleine capacité. Indiquez un nombre entier de millisecondes compris entre 500 et 32000 en chiffres simples ; Claude Code traite toute autre valeur comme non définie. Sans effet lorsque `CLAUDE_CODE_RETRY_WATCHDOG` est défini sur `1`, ou lorsque la requête rejetée a été envoyée en [mode rapide](/docs/fr/fast-mode#handle-rate-limits). Nécessite Claude Code v2.1.292 ou ultérieur |

357| `CLAUDE_CODE_PACKAGE_MANAGER_AUTO_UPDATE` | Définir sur `1` pour permettre à Claude Code d'exécuter la commande de mise à niveau de votre gestionnaire de paquets en arrière-plan lorsqu'une nouvelle version est disponible. S'applique aux installations Homebrew et WinGet. Les autres gestionnaires de paquets continuent d'afficher la commande de mise à niveau sans l'exécuter. Voir [Mises à jour automatiques](/docs/fr/setup#auto-updates) |362| `CLAUDE_CODE_PACKAGE_MANAGER_AUTO_UPDATE` | Définir sur `1` pour permettre à Claude Code d'exécuter en arrière-plan la commande de mise à niveau de votre gestionnaire de paquets lorsqu'une nouvelle version est disponible. S'applique aux installations Homebrew et WinGet. Les autres gestionnaires de paquets continuent d'afficher la commande de mise à niveau sans l'exécuter. Voir [Mises à jour automatiques](/docs/fr/setup#auto-updates) |

358| `CLAUDE_CODE_PERFORCE_MODE` | Définir sur `1` pour activer la protection en écriture compatible Perforce. Lorsqu'elle est définie, Edit, Write et NotebookEdit échouent avec une indication `p4 edit <file>` si le fichier cible n'a pas le bit d'écriture du propriétaire, que Perforce retire des fichiers synchronisés jusqu'à ce que `p4 edit` les ouvre. Cela empêche Claude Code de contourner le suivi des modifications de Perforce |363| `CLAUDE_CODE_PERFORCE_MODE` | Définir sur `1` pour activer la protection en écriture compatible Perforce. Lorsqu'elle est définie, Edit, Write et NotebookEdit échouent avec une indication `p4 edit <file>` si le fichier cible n'a pas le bit d'écriture propriétaire, que Perforce retire sur les fichiers synchronisés jusqu'à ce que `p4 edit` les ouvre. Cela empêche Claude Code de contourner le suivi des modifications de Perforce |

359| `CLAUDE_CODE_PLUGIN_CACHE_DIR` | Remplace le répertoire racine des plugins. Malgré son nom, cette variable définit le répertoire parent, et non le cache lui-même : les marketplaces et le cache des plugins se trouvent dans des sous-répertoires de ce chemin. Par défaut `~/.claude/plugins` |364| `CLAUDE_CODE_PLUGIN_CACHE_DIR` | Remplace le répertoire racine des plugins. Malgré son nom, cette variable définit le répertoire parent, et non le cache lui-même : les marketplaces et le cache des plugins se trouvent dans des sous-répertoires de ce chemin. Par défaut `~/.claude/plugins` |

360| `CLAUDE_CODE_PLUGIN_DIRS` | Répertoires de plugins à charger pour la session, chacun chargé comme le fait un flag [`--plugin-dir`](/docs/fr/plugins/cli-reference#flags-that-load-a-plugin-for-one-session). Séparez plusieurs chemins par `:` sous Unix ou `;` sous Windows. Indiquez chaque chemin sous forme de chemin absolu ou faites-le commencer par `~`, car Claude Code ignore les chemins relatifs. Nécessite Claude Code v2.1.280 ou ultérieur. Voir [Charger un plugin pour une session](/docs/fr/plugins/create#load-a-directory-or-archive-for-one-session) |365| `CLAUDE_CODE_PLUGIN_DIRS` | Répertoires de plugins à charger pour la session, chacun chargé comme le ferait un flag [`--plugin-dir`](/docs/fr/plugins/cli-reference#flags-that-load-a-plugin-for-one-session). Séparez plusieurs chemins par `:` sous Unix ou `;` sous Windows. Indiquez chaque chemin sous forme absolue ou faites-le commencer par `~`, car Claude Code ignore les chemins relatifs. Nécessite Claude Code v2.1.280 ou ultérieur. Voir [Charger un plugin pour une session](/docs/fr/plugins/create#load-a-directory-or-archive-for-one-session) |

361| `CLAUDE_CODE_PLUGIN_DIR_WATCH` | Contrôle si Claude Code recharge un [mod](/docs/fr/plugins/mods/overview) lorsque les fichiers du mod changent. Le rechargement s'applique à un mod que vous chargez depuis un répertoire avec `--plugin-dir`, et il est activé par défaut dans les sessions interactives. Définir sur `1` pour l'activer également dans les sessions non interactives, ou sur `0` pour le désactiver dans toutes les sessions. Nécessite Claude Code v2.1.287 ou ultérieur. Voir [paramètres et variables d'environnement des mods](/docs/fr/plugins/mods/reference#settings-and-environment-variables) |366| `CLAUDE_CODE_PLUGIN_DIR_WATCH` | Contrôle si Claude Code recharge un [mod](/docs/fr/plugins/mods/overview) lorsque les fichiers du mod changent. Le rechargement s'applique à un mod que vous chargez depuis un répertoire avec `--plugin-dir`, et il est activé par défaut dans les sessions interactives. Définir sur `1` pour l'activer également dans les sessions non interactives, ou sur `0` pour le désactiver dans toutes les sessions. Nécessite Claude Code v2.1.287 ou ultérieur. Voir [paramètres et variables d'environnement des mods](/docs/fr/plugins/mods/reference#settings-and-environment-variables) |

362| `CLAUDE_CODE_PLUGIN_GIT_TIMEOUT_MS` | Délai d'expiration en millisecondes pour le clonage ou l'actualisation d'une marketplace de plugins (par défaut : 120000). Augmentez cette valeur pour les dépôts volumineux ou les connexions réseau lentes. Voir [Git clone timed out](/docs/fr/plugins/troubleshooting#git-clone-timed-out-after-120s) |367| `CLAUDE_CODE_PLUGIN_GIT_TIMEOUT_MS` | Délai d'expiration en millisecondes pour le clonage ou l'actualisation d'une marketplace de plugins (par défaut : 120000). Augmentez cette valeur pour les dépôts volumineux ou les connexions réseau lentes. Voir [Git clone timed out](/docs/fr/plugins/troubleshooting#git-clone-timed-out-after-120s) |

363| `CLAUDE_CODE_PLUGIN_KEEP_MARKETPLACE_ON_FAILURE` | Définir sur `1` pour ignorer la tentative de reclonage et continuer à utiliser le checkout existant de la marketplace lorsqu'une actualisation de la marketplace ne parvient pas à joindre le dépôt distant ou à s'y authentifier. Utile dans les environnements hors ligne ou isolés (airgapped) où un reclonage échouerait de la même manière. Voir [Les mises à jour de marketplace échouent dans les environnements hors ligne](/docs/fr/plugins/troubleshooting#marketplace-updates-keep-failing-offline) |368| `CLAUDE_CODE_PLUGIN_KEEP_MARKETPLACE_ON_FAILURE` | Définir sur `1` pour ignorer la tentative de reclonage et continuer à utiliser le checkout existant de la marketplace lorsqu'une actualisation de la marketplace ne peut pas joindre le dépôt distant ou s'y authentifier. Utile dans les environnements hors ligne ou isolés (airgapped) où un reclonage échouerait de la même manière. Voir [Les mises à jour de marketplace échouent dans les environnements hors ligne](/docs/fr/plugins/troubleshooting#marketplace-updates-keep-failing-offline) |

364| `CLAUDE_CODE_PLUGIN_PREFER_HTTPS` | Définir sur `1` pour cloner les sources GitHub au format abrégé `owner/repo` via HTTPS plutôt que SSH. S'applique à l'installation et à la mise à jour des plugins, ainsi qu'à `/plugin marketplace add` et `update`. Utile dans les runners CI, les conteneurs ou tout environnement sans clé SSH configurée pour `github.com` |369| `CLAUDE_CODE_PLUGIN_PREFER_HTTPS` | Définir sur `1` pour cloner les sources GitHub au format abrégé `owner/repo` via HTTPS au lieu de SSH. S'applique à l'installation et à la mise à jour des plugins, ainsi qu'à `/plugin marketplace add` et `update`. Utile dans les runners CI, les conteneurs ou tout environnement sans clé SSH configurée pour `github.com` |

365| `CLAUDE_CODE_PLUGIN_SEED_DIR` | Chemin vers un ou plusieurs répertoires d'amorçage de plugins en lecture seule, séparés par `:` sous Unix ou `;` sous Windows. Utilisez-le pour intégrer un répertoire de plugins pré-rempli dans une image de conteneur. Claude Code enregistre les marketplaces de ces répertoires au démarrage et utilise les plugins déjà en cache sans les recloner. Voir [Pré-remplir les plugins pour les conteneurs](/docs/fr/plugins/org#seed-containers-and-ci) |370| `CLAUDE_CODE_PLUGIN_SEED_DIR` | Chemin vers un ou plusieurs répertoires d'amorçage de plugins en lecture seule, séparés par `:` sous Unix ou `;` sous Windows. Utilisez-la pour intégrer un répertoire de plugins pré-rempli dans une image de conteneur. Claude Code enregistre les marketplaces à partir de ces répertoires au démarrage et utilise les plugins pré-mis en cache sans les recloner. Voir [Pré-remplir les plugins pour les conteneurs](/docs/fr/plugins/org#seed-containers-and-ci) |

366| `CLAUDE_CODE_POWERSHELL_RESPECT_EXECUTION_POLICY` | Définir sur `1` pour empêcher Claude Code de transmettre `-ExecutionPolicy Bypass` lorsqu'il lance PowerShell pour les appels d'outils, les hooks et les commandes de barre de statut, et respecter à la place la stratégie d'exécution effective de la machine. Par défaut, Claude Code contourne la stratégie d'exécution au niveau du processus afin que les scripts `.ps1` et les importations de modules fonctionnent sur les installations Windows configurées par défaut en Restricted. Le contournement au niveau du processus ne remplace jamais les stratégies de groupe `MachinePolicy` ou `UserPolicy`, quel que soit ce paramètre |371| `CLAUDE_CODE_POWERSHELL_RESPECT_EXECUTION_POLICY` | Définir sur `1` pour empêcher Claude Code de transmettre `-ExecutionPolicy Bypass` lorsqu'il lance PowerShell pour les appels d'outils, les hooks et les commandes de barre de statut, et respecter à la place la stratégie d'exécution effective de la machine. Par défaut, Claude Code contourne la stratégie d'exécution à la portée du processus afin que les scripts `.ps1` et les imports de modules fonctionnent sur les installations Windows en mode Restricted par défaut. Le contournement à la portée du processus ne remplace jamais les stratégies de groupe `MachinePolicy` ou `UserPolicy`, quelle que soit la valeur de ce paramètre |

367| `CLAUDE_CODE_PRINT_BG_WAIT_CEILING_MS` | Plafond en millisecondes de l'attente inactive du travail en arrière-plan, comme les sous-agents et les workflows, après le dernier tour en [mode non interactif](/docs/fr/headless#background-tasks-at-exit) avec le flag `-p`. L'attente inactive repart de zéro chaque fois que Claude effectue un tour pour traiter un résultat en arrière-plan. Par défaut : `600000`, soit 10 minutes. Lorsque l'attente inactive atteint le plafond, Claude Code cesse d'attendre les tâches en arrière-plan restantes. Une commande en arrière-plan en cours d'exécution lancée par la conversation principale maintient l'exécution ouverte au-delà. Définir sur `0` pour attendre indéfiniment. Nécessite Claude Code v2.1.182 ou ultérieur |372| `CLAUDE_CODE_PRINT_BG_WAIT_CEILING_MS` | Plafond en millisecondes de l'attente inactive du travail en arrière-plan, comme les sous-agents et les workflows, après le dernier tour en [mode non interactif](/docs/fr/headless#background-tasks-at-exit) avec le flag `-p`. L'attente inactive repart de zéro chaque fois que Claude effectue un tour pour traiter un résultat en arrière-plan. Par défaut : `600000`, soit 10 minutes. Lorsque l'attente inactive atteint le plafond, Claude Code cesse d'attendre les tâches en arrière-plan restantes. Une commande en arrière-plan en cours d'exécution lancée par la conversation principale maintient l'exécution ouverte au-delà de ce plafond. Définir sur `0` pour attendre indéfiniment. Nécessite Claude Code v2.1.182 ou ultérieur |

368| `CLAUDE_CODE_PROCESS_WRAPPER` | Lance les processus que Claude Code démarre à partir de son propre binaire, comme le service en arrière-plan qui héberge les sessions de la [vue des agents](/docs/fr/agent-view), via un lanceur d'entreprise indiqué sous forme de préfixe argv, comme `/opt/corp/launcher`. Définissez-la dans le bloc `env` des paramètres utilisateur ou des [paramètres gérés](/docs/fr/managed-settings), et non comme un export du shell, afin que le service en arrière-plan détaché en hérite ; les paramètres de projet et locaux ne peuvent pas la définir. Équivaut au [paramètre `processWrapper`](/docs/fr/settings-reference#processwrapper), qui nécessite Claude Code v2.1.210 ou ultérieur ; cette variable a priorité lorsque les deux sont définis. L'extension VS Code configure son propre lanceur séparément via son paramètre `claudeProcessWrapper`. Ignorée sous Windows. Voir [Exécuter Claude Code derrière un lanceur d'entreprise](/docs/fr/corporate-launcher) pour le format de la valeur, ce que couvre le lanceur et le contrat qu'il doit respecter. Nécessite Claude Code v2.1.208 ou ultérieur |373| `CLAUDE_CODE_PROCESS_WRAPPER` | Lance les processus que Claude Code démarre à partir de son propre binaire, comme le service en arrière-plan qui héberge les sessions de la [vue des agents](/docs/fr/agent-view), via un lanceur d'entreprise indiqué sous forme de préfixe argv tel que `/opt/corp/launcher`. Définissez-la dans le bloc `env` des paramètres utilisateur ou des [paramètres gérés](/docs/fr/managed-settings), et non comme un export de shell, afin que le service en arrière-plan détaché en hérite ; les paramètres de projet et locaux ne peuvent pas la définir. Équivaut au [paramètre `processWrapper`](/docs/fr/settings-reference#processwrapper), qui nécessite Claude Code v2.1.210 ou ultérieur ; cette variable a priorité lorsque les deux sont définis. L'extension VS Code configure son propre lanceur séparément via son paramètre `claudeProcessWrapper`. Ignorée sous Windows. Voir [Exécuter Claude Code derrière un lanceur d'entreprise](/docs/fr/corporate-launcher) pour le format de la valeur, ce que couvre le lanceur et le contrat qu'il doit respecter. Nécessite Claude Code v2.1.208 ou ultérieur |

369| `CLAUDE_CODE_PROJECT_DIR_NAME` | À définir avec `CLAUDE_CONFIG_DIR` pour choisir le nom du répertoire `projects/` sous lequel Claude Code stocke les transcriptions et la mémoire automatique de cette session, à la place d'un nom dérivé du chemin du répertoire de travail. Par exemple, démarrer Claude Code avec `CLAUDE_CONFIG_DIR=/srv/tenant-a CLAUDE_CODE_PROJECT_DIR_NAME=work claude` les stocke sous `/srv/tenant-a/projects/work/`. Claude Code ignore cette variable lorsque `CLAUDE_CONFIG_DIR` n'est pas défini, et ne la lit que depuis l'environnement à partir duquel vous lancez `claude`, jamais depuis le [bloc `env` d'un fichier de paramètres](#in-settings-files). Voir [Nommer vous-même le répertoire du projet](/docs/fr/sessions#name-the-project-directory-yourself). Nécessite Claude Code v2.1.234 ou ultérieur |374| `CLAUDE_CODE_PROJECT_DIR_NAME` | À définir avec `CLAUDE_CONFIG_DIR` pour choisir le nom du répertoire `projects/` sous lequel Claude Code stocke les transcriptions et la mémoire automatique de cette session, à la place d'un nom dérivé du chemin du répertoire de travail. Par exemple, démarrer Claude Code avec `CLAUDE_CONFIG_DIR=/srv/tenant-a CLAUDE_CODE_PROJECT_DIR_NAME=work claude` les stocke sous `/srv/tenant-a/projects/work/`. Claude Code ignore cette variable lorsque `CLAUDE_CONFIG_DIR` n'est pas défini, et ne la lit que depuis l'environnement à partir duquel vous lancez `claude`, jamais depuis un [bloc `env` d'un fichier de paramètres](#in-settings-files). Voir [Nommer vous-même le répertoire du projet](/docs/fr/sessions#name-the-project-directory-yourself). Nécessite Claude Code v2.1.234 ou ultérieur |

370| `CLAUDE_CODE_PROMPT_CACHE_TTL` | Définir `5m` ou `1h`, les seules valeurs acceptées par Claude Code, pour choisir le [TTL du cache de prompts](/docs/fr/prompt-caching#cache-lifetime) de la conversation principale : vos tours interactifs, `-p` et SDK, ainsi que les assistants qui s'exécutent en ligne avec eux. A priorité sur le paramètre `promptCacheTtl` et sur `ENABLE_PROMPT_CACHING_1H`, et `FORCE_PROMPT_CACHING_5M` le remplace. L'API facture les écritures en cache d'une heure à un tarif plus élevé. Nécessite Claude Code v2.1.242 ou ultérieur |375| `CLAUDE_CODE_PROMPT_CACHE_TTL` | Définir sur `5m` ou `1h`, les seules valeurs acceptées par Claude Code, pour choisir le [TTL du cache de prompts](/docs/fr/prompt-caching#cache-lifetime) de la conversation principale : vos tours interactifs, `-p` et SDK, ainsi que les assistants qui s'exécutent en ligne avec eux. A priorité sur le paramètre `promptCacheTtl` et sur `ENABLE_PROMPT_CACHING_1H`, et `FORCE_PROMPT_CACHING_5M` la remplace. L'API facture les écritures de cache d'une heure à un tarif plus élevé. Nécessite Claude Code v2.1.242 ou ultérieur |

371| `CLAUDE_CODE_PROPAGATE_TRACEPARENT` | Définir sur `1` pour propager le contexte de trace W3C lorsque `ANTHROPIC_BASE_URL` pointe vers un proxy personnalisé. La propagation couvre l'en-tête `traceparent` sur les requêtes au modèle et aux serveurs MCP HTTP, ainsi que la variable d'environnement `TRACEPARENT` pour les sous-processus Bash, PowerShell et de hooks. Par défaut, la propagation n'est activée qu'en cas de connexion directe à l'API Anthropic. Ajoutée dans la v2.1.152. Voir [Traces (bêta)](/docs/fr/monitoring-usage#traces-beta) |376| `CLAUDE_CODE_PROPAGATE_TRACEPARENT` | Définir sur `1` pour propager le contexte de trace W3C lorsque `ANTHROPIC_BASE_URL` pointe vers un proxy personnalisé. La propagation couvre l'en-tête `traceparent` sur les requêtes de modèle et les requêtes MCP HTTP, ainsi que la variable d'environnement `TRACEPARENT` pour les sous-processus Bash, PowerShell et de hooks. Par défaut, la propagation n'est activée qu'en cas de connexion directe à l'API Anthropic. Ajoutée dans la v2.1.152. Voir [Traces (bêta)](/docs/fr/monitoring-usage#traces-beta) |

372| `CLAUDE_CODE_PROVIDER_MANAGED_BY_HOST` | Définie par les plateformes hôtes qui intègrent Claude Code et gèrent le routage vers le fournisseur de modèles à sa place. Lorsqu'elle est définie, Claude Code ignore les variables de sélection du fournisseur, d'endpoint et d'authentification comme `CLAUDE_CODE_USE_BEDROCK`, `ANTHROPIC_BASE_URL` et `ANTHROPIC_API_KEY` dans les fichiers de paramètres, de sorte que les paramètres utilisateur ne peuvent pas remplacer le routage de l'hôte. Claude Code ignore également les clés de sélection de modèle comme `model`, `fallbackModel` et `modelOverrides` dans les [paramètres gérés](/docs/fr/managed-settings), quelle que soit la source gérée qui les fournit, afin que la configuration de modèle de l'hôte ait priorité sur un modèle épinglé obsolète dans les paramètres gérés. Claude Code ignore aussi les variables de sélection de modèle comme `ANTHROPIC_MODEL` et la famille `ANTHROPIC_DEFAULT_*_MODEL` dans un bloc `env` géré ; une liste d'autorisation [`availableModels`](/docs/fr/model-config#restrict-model-selection) dans les paramètres gérés s'applique toujours, sauf si l'hôte fournit la sienne. Claude Code ignore également la désactivation automatique de la télémétrie qu'il applique sinon chez les fournisseurs tiers comme Amazon Bedrock, Claude Platform on AWS, Google Cloud's Agent Platform et Microsoft Foundry, de sorte que la télémétrie suit la désactivation standard `DISABLE_TELEMETRY`. Voir [Comportements par défaut selon le fournisseur d'API](/docs/fr/data-usage#default-behaviors-by-api-provider) |377| `CLAUDE_CODE_PROVIDER_MANAGED_BY_HOST` | Définie par les plateformes hôtes qui intègrent Claude Code et gèrent le routage du fournisseur de modèles pour son compte. Lorsqu'elle est définie, Claude Code ignore les variables de sélection du fournisseur, d'endpoint et d'authentification telles que `CLAUDE_CODE_USE_BEDROCK`, `ANTHROPIC_BASE_URL` et `ANTHROPIC_API_KEY` dans les fichiers de paramètres, de sorte que les paramètres utilisateur ne peuvent pas remplacer le routage de l'hôte. Claude Code ignore également les clés de sélection de modèle telles que `model`, `fallbackModel` et `modelOverrides` dans les [paramètres gérés](/docs/fr/managed-settings), quelle que soit la source gérée qui les fournit, afin que la configuration de modèle de l'hôte ait priorité sur un épinglage de modèle géré obsolète. Claude Code ignore aussi les variables de sélection de modèle telles que `ANTHROPIC_MODEL` et la famille `ANTHROPIC_DEFAULT_*_MODEL` dans un bloc `env` géré ; une liste d'autorisation [`availableModels`](/docs/fr/model-config#restrict-model-selection) dans les paramètres gérés s'applique toujours, sauf si l'hôte fournit la sienne. Claude Code ignore en outre la désactivation automatique de la télémétrie qu'il applique sinon chez les fournisseurs tiers tels qu'Amazon Bedrock, Claude Platform on AWS, Google Cloud's Agent Platform et Microsoft Foundry, de sorte que la télémétrie suit la désactivation standard `DISABLE_TELEMETRY`. Voir [Comportements par défaut selon le fournisseur d'API](/docs/fr/data-usage#default-behaviors-by-api-provider) |

373| `CLAUDE_CODE_PROXY_RESOLVES_HOSTS` | Définir sur `1` pour permettre au proxy d'effectuer la résolution DNS à la place de l'appelant. Option à activer pour les environnements où le proxy doit gérer la résolution des noms d'hôte |378| `CLAUDE_CODE_PROXY_RESOLVES_HOSTS` | Définir sur `1` pour permettre au proxy d'effectuer la résolution DNS à la place de l'appelant. Option à activer pour les environnements où le proxy doit gérer la résolution des noms d'hôte |

374| `CLAUDE_CODE_REMOTE` | Définie automatiquement sur `true` lorsque Claude Code s'exécute en tant que [session cloud](/docs/fr/claude-code-on-the-web). Lisez cette variable depuis un hook ou un script de configuration pour détecter si vous êtes dans une session cloud |379| `CLAUDE_CODE_REMOTE` | Définie automatiquement sur `true` lorsque Claude Code s'exécute en tant que [session cloud](/docs/fr/claude-code-on-the-web). Lisez-la depuis un hook ou un script de configuration pour détecter si vous êtes dans une session cloud |

375| `CLAUDE_CODE_REMOTE_SESSION_ID` | Définie automatiquement dans les [sessions cloud](/docs/fr/claude-code-on-the-web) sur l'ID de la session en cours. Lisez-la pour construire un lien vers la transcription de la session. Voir [Relier la sortie à la session](/docs/fr/cloud-environments#link-output-back-to-the-session) |380| `CLAUDE_CODE_REMOTE_SESSION_ID` | Définie automatiquement dans les [sessions cloud](/docs/fr/claude-code-on-the-web) sur l'ID de la session en cours. Lisez-la pour construire un lien vers la transcription de la session. Voir [Relier la sortie à la session](/docs/fr/cloud-environments#link-output-back-to-the-session) |

376| `CLAUDE_CODE_RESTRICTED` | Définir sur `1` pour démarrer la session en mode restreint, comme en passant [`--restricted`](/docs/fr/cli-reference#cli-flags). Claude Code ignore cette variable dans le bloc `env` d'un fichier de paramètres. Nécessite Claude Code v2.1.248 ou ultérieur |381| `CLAUDE_CODE_RESTRICTED` | Définir sur `1` pour démarrer la session en mode restreint, comme en transmettant [`--restricted`](/docs/fr/cli-reference#cli-flags). Claude Code ignore cette variable dans le bloc `env` d'un fichier de paramètres. Nécessite Claude Code v2.1.248 ou ultérieur |

377| `CLAUDE_CODE_RESUME_INTERRUPTED_TURN` | Définir sur `1` pour reprendre automatiquement si la session précédente s'est terminée en plein tour. Utilisé en mode SDK pour que le modèle continue sans que le SDK ait à renvoyer le prompt. Pour désactiver ce comportement, supprimez la variable ou définissez-la sur `0`. Pour le panneau de chat VS Code, voir [Poursuivre les conversations après un rechargement](/docs/fr/vs-code#continue-conversations-after-a-reload) |382| `CLAUDE_CODE_RESUME_INTERRUPTED_TURN` | Définir sur `1` pour reprendre automatiquement si la session précédente s'est terminée en cours de tour. Utilisée en mode SDK afin que le modèle continue sans que le SDK ait à renvoyer le prompt. Pour désactiver ce comportement, supprimez la variable ou définissez-la sur `0`. Pour le panneau de chat de VS Code, voir [Poursuivre les conversations après un rechargement](/docs/fr/vs-code#continue-conversations-after-a-reload) |

378| `CLAUDE_CODE_RESUME_INTERRUPTED_TURN_MAX_AGE_MS` | Âge maximal en millisecondes du dernier message de la transcription pour qu'une session terminée en plein tour se poursuive automatiquement à la reprise. Lorsque le dernier message est plus ancien que cette limite, Claude Code ignore la reprise automatique de `CLAUDE_CODE_RESUME_INTERRUPTED_TURN` et son message de continuation `CLAUDE_CODE_RESUME_PROMPT`, et la session démarre inactive pour que vous la poursuiviez explicitement. Non définie ou `0` signifie aucune limite, sauf qu'un tour dont la dernière requête a échoué avec une erreur d'API ne reprend que tant que cette erreur date de moins de six heures. Une valeur positive limite tous les tours, y compris ceux-là ; une valeur négative ou non numérique applique une limite d'une heure. Les scripts de lancement d'agents de longue durée peuvent la définir pour qu'un redémarrage sur une ancienne transcription ne réexécute pas un prompt obsolète. Claude Code définit lui-même une limite d'une heure lorsqu'il redémarre une session de la [vue des agents](/docs/fr/agent-view) ayant planté qui a hérité sa conversation d'une session interactive. Nécessite Claude Code v2.1.211 ou ultérieur |383| `CLAUDE_CODE_RESUME_INTERRUPTED_TURN_MAX_AGE_MS` | Âge maximal en millisecondes du dernier message de la transcription pour qu'une session terminée en cours de tour reprenne automatiquement. Lorsque le dernier message est plus ancien que cette limite, Claude Code ignore la reprise automatique `CLAUDE_CODE_RESUME_INTERRUPTED_TURN` et son message de continuation `CLAUDE_CODE_RESUME_PROMPT`, et la session démarre inactive afin que vous repreniez explicitement. Non définie ou `0` signifie aucune limite, sauf qu'un tour dont la dernière requête a échoué avec une erreur API ne reprend que tant que cette erreur date de moins de six heures. Une valeur positive limite tous les tours, y compris ceux-ci ; une valeur négative ou non numérique applique une limite d'une heure. Les scripts de lancement d'agents de longue durée peuvent la définir afin qu'un redémarrage sur une ancienne transcription ne réexécute pas un prompt obsolète. Claude Code fixe lui-même une limite d'une heure lorsqu'il redémarre une session de la [vue des agents](/docs/fr/agent-view) plantée qui a hérité de sa conversation d'une session interactive. Nécessite Claude Code v2.1.211 ou ultérieur |

379| `CLAUDE_CODE_RESUME_PROMPT` | Remplace le message de continuation que Claude Code envoie à Claude lorsque `CLAUDE_CODE_RESUME_INTERRUPTED_TURN` poursuit un tour interrompu au lieu de renvoyer son prompt, ou lorsque vous reprenez un [appel d'outil différé](/docs/fr/hooks#defer-a-tool-call-for-later) avec `-p`. Par défaut : `Continue from where you left off.`. Une chaîne vide utilise la valeur par défaut |384| `CLAUDE_CODE_RESUME_PROMPT` | Remplace le message de continuation que Claude Code envoie à Claude lorsque `CLAUDE_CODE_RESUME_INTERRUPTED_TURN` poursuit un tour interrompu au lieu de renvoyer son prompt, ou lorsque vous reprenez un [appel d'outil différé](/docs/fr/hooks#defer-a-tool-call-for-later) avec `-p`. Par défaut `Continue from where you left off.`. Une chaîne vide utilise la valeur par défaut |

380| `CLAUDE_CODE_RETRY_WATCHDOG` | Définir sur `1` pour les sessions sans surveillance comme les harnais d'évaluation, les jobs CI ou les workers distants. Réessaie indéfiniment en cas d'erreurs de capacité `429` et `529` au lieu d'échouer après `CLAUDE_CODE_MAX_RETRIES` tentatives. Claude Code échoue immédiatement lorsqu'une requête à vitesse standard reçoit un `429` signalant une limite de dépenses ou des crédits d'utilisation épuisés, même s'il provient d'un [plafond de dépenses de passerelle](/docs/fr/errors#spend-limit-reached) réinitialisé selon un calendrier. Avant la v2.1.239, le watchdog réessayait indéfiniment dans ces cas. Pour les requêtes en mode rapide, voir [Gérer les limites de débit](/docs/fr/fast-mode#handle-rate-limits). Le watchdog espace les tentatives jusqu'à 5 minutes, ou jusqu'à la réinitialisation de la limite lorsque la réponse indique une heure de réinitialisation de la limite de débit, de sorte qu'une session qui atteint une limite d'utilisation patiente jusqu'à la fin de la fenêtre restante. À partir de la v2.1.199, il porte également à 300 le nombre de nouvelles tentatives par défaut pour les autres erreurs transitoires, comme les erreurs serveur, les délais d'expiration et les connexions interrompues, soit environ trois heures de backoff, et supprime le plafond de 15 sur `CLAUDE_CODE_MAX_RETRIES` si vous définissez explicitement cette variable. Nécessite Claude Code v2.1.186 ou ultérieur |385| `CLAUDE_CODE_RETRY_WATCHDOG` | Définir sur `1` pour les sessions sans surveillance telles que les harnais d'évaluation, les jobs CI ou les workers distants. Réessaie indéfiniment en cas d'erreurs de capacité `429` et `529` au lieu d'échouer après `CLAUDE_CODE_MAX_RETRIES` tentatives. Claude Code échoue immédiatement lorsqu'une requête à vitesse standard reçoit une erreur `429` signalant une limite de dépenses ou des crédits d'utilisation épuisés, même si elle provient d'un [plafond de dépenses de passerelle](/docs/fr/errors#spend-limit-reached) qui se réinitialise selon un calendrier. Avant la v2.1.239, le watchdog réessayait indéfiniment dans ces cas. Pour les requêtes en mode rapide, voir [Gérer les limites de débit](/docs/fr/fast-mode#handle-rate-limits). Le watchdog espace les tentatives jusqu'à 5 minutes, ou jusqu'à la réinitialisation de la limite lorsque la réponse indique une heure de réinitialisation de la limite de débit, de sorte qu'une session qui atteint une limite d'utilisation attend la fin de la fenêtre restante. Dans la v2.1.199 ou ultérieure, il porte également à 300 le nombre de nouvelles tentatives par défaut pour les autres erreurs transitoires, telles que les erreurs serveur, les expirations et les connexions interrompues, soit environ trois heures de backoff, et supprime le plafond de 15 sur `CLAUDE_CODE_MAX_RETRIES` si vous définissez explicitement cette variable. Nécessite Claude Code v2.1.186 ou ultérieur |

381| `CLAUDE_CODE_SAFE_MODE` | Définir sur `1` pour démarrer en mode sans échec : CLAUDE.md, les skills, les plugins, les hooks, les serveurs MCP, les commandes et agents personnalisés, les styles de sortie, les workflows, les thèmes personnalisés, les raccourcis clavier personnalisés, les commandes de barre de statut et de suggestion de fichiers, les serveurs LSP et la mémoire automatique ne sont pas chargés, afin de dépanner une configuration défaillante. La politique des paramètres gérés s'applique toujours, y compris les hooks, la barre de statut et les commandes de suggestion de fichiers configurés par la politique ; ce n'est pas le cas des plugins gérés, des skills gérés, du CLAUDE.md géré et des serveurs MCP configurés par la politique. Équivaut à passer [`--safe-mode`](/docs/fr/cli-reference#cli-flags). Les processus enfants lancés directement héritent de la variable |386| `CLAUDE_CODE_RETRY_WATCHDOG_MAX_WAIT_MS` | Durée maximale en millisecondes que chaque requête API passe à attendre la fin des erreurs `429` et `529` lorsque `CLAUDE_CODE_RETRY_WATCHDOG` est défini. Une fois cette durée écoulée, l'erreur suivante de ce type met fin à la requête. Indiquez un nombre entier positif en chiffres simples, par exemple `1800000` pour 30 minutes. Lorsqu'elle n'est pas définie, l'attente n'a pas de limite. Nécessite Claude Code v2.1.295 ou ultérieur |

382| `CLAUDE_CODE_SCRIPT_CAPS` | Objet JSON limitant le nombre de fois où des scripts spécifiques peuvent être invoqués par session lorsque `CLAUDE_CODE_SUBPROCESS_ENV_SCRUB` est défini. Les clés sont des sous-chaînes comparées au texte de la commande ; les valeurs sont des limites d'appels entières. Par exemple, `{"deploy.sh": 2}` permet d'appeler `deploy.sh` au maximum deux fois. La correspondance repose sur les sous-chaînes, de sorte que les astuces d'expansion du shell comme `./scripts/deploy.sh $(evil)` sont tout de même comptabilisées. La démultiplication à l'exécution via `xargs` ou `find -exec` n'est pas détectée ; il s'agit d'un contrôle de défense en profondeur |387| `CLAUDE_CODE_SAFE_MODE` | Définir sur `1` pour démarrer en mode sans échec : CLAUDE.md, les skills, les plugins, les hooks, les serveurs MCP, les commandes et agents personnalisés, les styles de sortie, les workflows, les thèmes personnalisés, les raccourcis clavier personnalisés, les commandes de barre de statut et de suggestion de fichiers, les serveurs LSP et la mémoire automatique ne sont pas chargés, afin de dépanner une configuration défectueuse. La politique des paramètres gérés s'applique toujours, y compris les hooks, la barre de statut et les commandes de suggestion de fichiers configurés par la politique ; ce n'est pas le cas des plugins gérés, des skills gérés, du CLAUDE.md géré et des serveurs MCP configurés par la politique. Équivaut à transmettre [`--safe-mode`](/docs/fr/cli-reference#cli-flags). Les processus enfants lancés directement héritent de la variable |

383| `CLAUDE_CODE_SCROLL_SPEED` | Définit le multiplicateur de défilement de la molette de la souris en [rendu plein écran](/docs/fr/fullscreen#mouse-wheel-scrolling). Accepte toute valeur positive jusqu'à 20, y compris des valeurs fractionnaires inférieures à 1 comme `0.5` pour ralentir le défilement accéléré du trackpad et de la molette dans les terminaux qui amplifient déjà les événements de molette. Définir sur `3` pour reproduire le comportement de `vim` si votre terminal envoie un événement de molette par cran sans amplification. Ignorée dans le terminal des IDE JetBrains, où Claude Code utilise sa propre gestion du défilement |388| `CLAUDE_CODE_SCRIPT_CAPS` | Objet JSON limitant le nombre de fois où certains scripts peuvent être invoqués par session lorsque `CLAUDE_CODE_SUBPROCESS_ENV_SCRUB` est défini. Les clés sont des sous-chaînes comparées au texte de la commande ; les valeurs sont des limites d'appels entières. Par exemple, `{"deploy.sh": 2}` permet d'appeler `deploy.sh` au plus deux fois. La correspondance se fait par sous-chaîne, de sorte que les astuces d'expansion du shell comme `./scripts/deploy.sh $(evil)` sont tout de même comptabilisées. La démultiplication à l'exécution via `xargs` ou `find -exec` n'est pas détectée ; il s'agit d'un contrôle de défense en profondeur |

384| `CLAUDE_CODE_SEND_FEEDBACK` | Définir sur `0` pour désactiver les [retours rédigés par Claude](/docs/fr/tools-reference#sendfeedback-tool-behavior) pour une session. Définir sur `1` pour les activer lorsque votre compte y a déjà accès ; la variable ne peut pas accorder l'accès elle-même, et les autres commutateurs qui désactivent les retours, comme `DISABLE_FEEDBACK_COMMAND` et la valeur `off` du paramètre [`feedbackDrafts`](/docs/fr/settings-reference#feedbackdrafts), s'appliquent toujours |389| `CLAUDE_CODE_SCROLL_SPEED` | Définit le multiplicateur de défilement de la molette de la souris dans le [rendu plein écran](/docs/fr/fullscreen#mouse-wheel-scrolling). Accepte toute valeur positive jusqu'à 20, y compris des valeurs fractionnaires inférieures à 1 comme `0.5` pour ralentir le défilement accéléré du trackpad et de la molette dans les terminaux qui amplifient déjà les événements de molette. Définir sur `3` pour reproduire le comportement de `vim` si votre terminal envoie un événement de molette par cran sans amplification. Ignorée dans le terminal des IDE JetBrains, où Claude Code utilise sa propre gestion du défilement |

385| `CLAUDE_CODE_SESSIONEND_HOOKS_TIMEOUT_MS` | Remplace le budget de temps en millisecondes des hooks [SessionEnd](/docs/fr/hooks#sessionend). La valeur sert aussi de délai d'expiration pour chaque hook qui ne définit pas son propre `timeout`. S'applique à la sortie de session, à `/clear` et au changement de session via `/resume` en mode interactif. Par défaut, le budget est de 1,5 seconde, automatiquement porté au `timeout` par hook le plus élevé configuré dans les fichiers de paramètres, jusqu'à 60 secondes. Les délais d'expiration des hooks fournis par des plugins n'augmentent pas le budget |390| `CLAUDE_CODE_SEND_FEEDBACK` | Définir sur `0` pour désactiver le [feedback rédigé par Claude](/docs/fr/tools-reference#sendfeedback-tool-behavior) pour une session. Définir sur `1` pour l'activer lorsque votre compte y a déjà accès ; la variable ne peut pas accorder l'accès elle-même, et les autres commutateurs qui désactivent le feedback, comme `DISABLE_FEEDBACK_COMMAND` et la valeur `off` du paramètre [`feedbackDrafts`](/docs/fr/settings-reference#feedbackdrafts), s'appliquent toujours |

386| `CLAUDE_CODE_SESSION_ID` | Définie automatiquement sur l'ID de la session en cours dans les sous-processus des outils Bash et PowerShell, les sous-processus des [commandes de hook](/docs/fr/hooks) et les sous-processus des [serveurs MCP](/docs/fr/mcp) stdio. Pour Bash, PowerShell et les hooks, elle correspond au champ `session_id` de l'entrée JSON des hooks et est mise à jour lors de `/clear`. Un sous-processus de serveur MCP conserve l'ID avec lequel il a été lancé. Avec `--resume <session-id>`, il reçoit l'ID repris, comme les hooks et Bash. Avec `--continue` ou `--resume` sans ID explicite, il peut recevoir à la place l'ID initial du démarrage. À utiliser pour corréler les scripts et outils externes avec la session Claude Code qui les a lancés |391| `CLAUDE_CODE_SESSIONEND_HOOKS_TIMEOUT_MS` | Remplace le budget de temps en millisecondes des hooks [SessionEnd](/docs/fr/hooks#sessionend). La valeur sert également de délai d'expiration pour chaque hook qui ne définit pas son propre `timeout`. S'applique à la sortie de session, à `/clear` et au changement de session via `/resume` interactif. Par défaut, le budget est de 1,5 seconde, automatiquement porté au `timeout` par hook le plus élevé configuré dans les fichiers de paramètres, dans la limite de 60 secondes. Les délais d'expiration des hooks fournis par des plugins n'augmentent pas le budget |

387| `CLAUDE_CODE_SHELL` | Définit le shell que Claude Code utilise pour exécuter les commandes de l'outil Bash. Accepte un chemin vers un binaire `bash` ou `zsh`, par exemple `/opt/homebrew/bin/bash`. Les autres shells comme `fish` ne sont pas pris en charge. Si la valeur n'est pas un chemin `bash` ou `zsh` fonctionnel, Claude Code l'ignore et se rabat sur la détection automatique. La détection automatique utilise votre `$SHELL` lorsqu'il pointe vers `bash` ou `zsh` ; sinon, elle choisit le premier `zsh`, puis `bash`, fonctionnel trouvé dans votre `PATH` et les emplacements d'installation standard |392| `CLAUDE_CODE_SESSION_ID` | Définie automatiquement sur l'ID de la session en cours dans les sous-processus des outils Bash et PowerShell, les sous-processus de [commandes de hook](/docs/fr/hooks) et les sous-processus de [serveurs MCP](/docs/fr/mcp) stdio. Pour Bash, PowerShell et les hooks, elle correspond au champ `session_id` de l'entrée JSON du hook et est mise à jour lors de `/clear`. Un sous-processus de serveur MCP conserve l'ID avec lequel il a été lancé. Avec `--resume <session-id>`, il reçoit l'ID repris, comme les hooks et Bash. Avec `--continue` ou `--resume` sans ID explicite, il peut recevoir à la place l'ID initial du démarrage. À utiliser pour corréler les scripts et outils externes avec la session Claude Code qui les a lancés |

388| `CLAUDE_CODE_SHELL_PREFIX` | Préfixe de commande qui encapsule les commandes shell lancées par Claude Code : appels de l'outil Bash, commandes de [hook](/docs/fr/hooks), commandes de [barre de statut](/docs/fr/statusline) et commandes de démarrage des [serveurs MCP](/docs/fr/mcp) stdio. Les hooks PowerShell et les hooks au format exec s'exécutent sans le préfixe. Utile pour la journalisation ou l'audit. Définir un simple chemin d'exécutable comme `/path/to/logger.sh` exécute chaque commande sous la forme `/path/to/logger.sh '<command>'`. Le wrapper reçoit la ligne de commande sous forme d'un unique argument entre guillemets shell dans `$1` ; il doit donc réévaluer `$1` avec un shell, par exemple `exec bash -c "$1"`. Traiter `$1` comme un simple chemin d'exécutable casse les serveurs MCP stdio qui transmettent des arguments comme `npx -y <package>`. Pour les appels de l'outil Bash, `$1` contient l'invocation shell complète assemblée par Claude Code, y compris la configuration de l'environnement, et pas seulement la commande exécutée par Claude |393| `CLAUDE_CODE_SHELL` | Définit le shell que Claude Code utilise pour exécuter les commandes de l'outil Bash. Accepte un chemin vers un binaire `bash` ou `zsh`, par exemple `/opt/homebrew/bin/bash`. Les autres shells comme `fish` ne sont pas pris en charge. Si la valeur n'est pas un chemin `bash` ou `zsh` fonctionnel, Claude Code l'ignore et se rabat sur la détection automatique. La détection automatique utilise votre `$SHELL` lorsqu'il pointe vers `bash` ou `zsh` ; sinon, elle choisit le premier `zsh`, puis `bash`, fonctionnel trouvé dans votre `PATH` et dans les emplacements d'installation standard |

389| `CLAUDE_CODE_SIMPLE` | Définir sur `1` pour s'exécuter avec un prompt système minimal et uniquement les outils Bash, de lecture de fichiers et d'édition de fichiers. Les outils MCP de `--mcp-config` restent disponibles. Désactive la découverte automatique des hooks, des skills, des commandes personnalisées, des sous-agents, des plugins installés, des serveurs MCP, de la mémoire automatique et de CLAUDE.md. Les skills d'un répertoire transmis avec `--add-dir` sont toujours chargés. Les jetons OAuth et les identifiants du trousseau ne sont pas lus ; l'authentification Anthropic doit donc provenir de `ANTHROPIC_API_KEY` ou d'un `apiKeyHelper` dans `--settings`. Équivaut à passer [`--bare`](/docs/fr/headless#start-faster-with-bare-mode) |394| `CLAUDE_CODE_SHELL_PREFIX` | Préfixe de commande qui enveloppe les commandes shell lancées par Claude Code : les appels de l'outil Bash, les commandes de [hooks](/docs/fr/hooks), les commandes de [barre de statut](/docs/fr/statusline) et les commandes de démarrage des [serveurs MCP](/docs/fr/mcp) stdio. Les hooks PowerShell et les hooks au format exec s'exécutent sans le préfixe. Utile pour la journalisation ou l'audit. Définir un chemin d'exécutable seul tel que `/path/to/logger.sh` exécute chaque commande sous la forme `/path/to/logger.sh '<command>'`. Le wrapper reçoit la ligne de commande sous la forme d'un argument unique échappé pour le shell dans `$1` ; il doit donc réévaluer `$1` avec un shell, par exemple `exec bash -c "$1"`. Traiter `$1` comme un simple chemin d'exécutable casse les serveurs MCP stdio qui transmettent des arguments tels que `npx -y <package>`. Pour les appels de l'outil Bash, `$1` contient l'invocation shell complète assemblée par Claude Code, y compris la configuration de l'environnement, et pas seulement la commande exécutée par Claude |

390| `CLAUDE_CODE_SIMPLE_SYSTEM_PROMPT` | Choisit entre le prompt système complet de Claude Code et une version plus courte aux descriptions d'outils abrégées. Lorsqu'elle n'est pas définie, Haiku 4.5, Sonnet 5, Opus 4.7 et les modèles antérieurs de ces familles utilisent le prompt complet par défaut, et les modèles plus récents la version courte. Définir sur `1` pour utiliser le prompt court sur n'importe quel modèle. Définir sur `0`, `false`, `no` ou `off` pour utiliser le prompt complet sur n'importe quel modèle, même lorsqu'une expérimentation ou une configuration serveur sélectionnerait sinon le prompt court. Les deux prompts conservent l'ensemble complet des outils, les hooks, les serveurs MCP et la découverte de CLAUDE.md |395| `CLAUDE_CODE_SIMPLE` | Définir sur `1` pour s'exécuter avec un prompt système minimal et uniquement les outils Bash, de lecture de fichiers et d'édition de fichiers. Les outils MCP provenant de `--mcp-config` restent disponibles. Désactive la découverte automatique des hooks, skills, commandes personnalisées, sous-agents, plugins installés, serveurs MCP, de la mémoire automatique et de CLAUDE.md. Les skills d'un répertoire que vous transmettez avec `--add-dir` sont toujours chargés. Les jetons OAuth et les identifiants du trousseau ne sont pas lus ; l'authentification Anthropic doit donc provenir de `ANTHROPIC_API_KEY` ou d'un `apiKeyHelper` dans `--settings`. Équivaut à transmettre [`--bare`](/docs/fr/headless#start-faster-with-bare-mode) |

396| `CLAUDE_CODE_SIMPLE_SYSTEM_PROMPT` | Permet de choisir entre le prompt système complet de Claude Code et une version plus courte avec des descriptions d'outils abrégées. Lorsqu'elle n'est pas définie, Haiku 4.5, Sonnet 5, Opus 4.7 et les modèles antérieurs de ces familles utilisent le prompt complet par défaut, et les modèles plus récents utilisent la version courte. Définir sur `1` pour utiliser le prompt court sur n'importe quel modèle. Définir sur `0`, `false`, `no` ou `off` pour utiliser le prompt complet sur n'importe quel modèle, même lorsqu'une expérimentation ou une configuration serveur sélectionnerait sinon la version courte. Les deux prompts conservent l'ensemble complet des outils, les hooks, les serveurs MCP et la découverte de CLAUDE.md |

391| `CLAUDE_CODE_SKIP_ANTHROPIC_AWS_AUTH` | Ignore l'authentification côté client pour [Claude Platform on AWS](/docs/fr/claude-platform-on-aws), pour les passerelles qui signent elles-mêmes les requêtes |397| `CLAUDE_CODE_SKIP_ANTHROPIC_AWS_AUTH` | Ignore l'authentification côté client pour [Claude Platform on AWS](/docs/fr/claude-platform-on-aws), pour les passerelles qui signent elles-mêmes les requêtes |

392| `CLAUDE_CODE_SKIP_AWS_CRED_CACHE` | Définir sur `1` pour désactiver le cache en mémoire du processus des identifiants résolus à partir de la chaîne de fournisseurs d'identifiants AWS par défaut, de sorte que Claude Code résout la chaîne à chaque requête API. Avec le cache désactivé, un profil basé sur SSO demande des identifiants à IAM Identity Center à chaque requête. Voir [mise en cache des identifiants et délai de résolution](/docs/fr/amazon-bedrock#credential-caching-and-resolution-timeout). Nécessite Claude Code v2.1.207 ou ultérieur |398| `CLAUDE_CODE_SKIP_AWS_CRED_CACHE` | Définir sur `1` pour désactiver le cache en mémoire du processus des identifiants résolus à partir de la chaîne de fournisseurs d'identifiants AWS par défaut, afin que Claude Code résolve la chaîne à chaque requête API. Avec le cache désactivé, un profil reposant sur SSO demande des identifiants à IAM Identity Center à chaque requête. Voir [mise en cache des identifiants et délai de résolution](/docs/fr/amazon-bedrock#credential-caching-and-resolution-timeout). Nécessite Claude Code v2.1.207 ou ultérieur |

393| `CLAUDE_CODE_SKIP_BEDROCK_AUTH` | Ignore l'authentification AWS pour Amazon Bedrock (par exemple, lors de l'utilisation d'une passerelle LLM) |399| `CLAUDE_CODE_SKIP_BEDROCK_AUTH` | Ignore l'authentification AWS pour Amazon Bedrock (par exemple, lors de l'utilisation d'une passerelle LLM) |

394| `CLAUDE_CODE_SKIP_FAST_MODE_NETWORK_ERRORS` | Définir sur `1` pour considérer comme disponible un échec de la vérification de disponibilité du [mode rapide](/docs/fr/fast-mode#use-fast-mode-behind-proxies-and-llm-gateways), pour les réseaux qui bloquent la requête directe de cette vérification vers `api.anthropic.com`. Claude Code respecte toujours une réponse « disabled by your organization » |400| `CLAUDE_CODE_SKIP_FAST_MODE_NETWORK_ERRORS` | Définir sur `1` pour considérer comme disponible le [mode rapide](/docs/fr/fast-mode#use-fast-mode-behind-proxies-and-llm-gateways) lorsque la vérification de disponibilité échoue, pour les réseaux qui bloquent la requête directe de cette vérification vers `api.anthropic.com`. Claude Code respecte toujours une réponse « disabled by your organization » |

395| `CLAUDE_CODE_SKIP_FAST_MODE_ORG_CHECK` | Définir sur `1` pour ignorer la vérification de disponibilité du [mode rapide](/docs/fr/fast-mode#use-fast-mode-behind-proxies-and-llm-gateways) côté client, pour les proxys qui interceptent la requête de vérification au lieu de la refuser. L'API rejette toujours les requêtes en mode rapide lorsque votre organisation a désactivé le mode rapide |401| `CLAUDE_CODE_SKIP_FAST_MODE_ORG_CHECK` | Définir sur `1` pour ignorer la vérification de disponibilité du [mode rapide](/docs/fr/fast-mode#use-fast-mode-behind-proxies-and-llm-gateways) côté client, pour les proxys qui interceptent la requête de vérification plutôt que de la refuser. L'API rejette toujours les requêtes en mode rapide lorsque votre organisation a désactivé le mode rapide |

396| `CLAUDE_CODE_SKIP_FOUNDRY_AUTH` | Ignore l'authentification Azure pour Microsoft Foundry, pour un proxy ou une passerelle qui injecte son propre en-tête `Authorization`. Claude Code envoie les requêtes sans identifiants Azure et conserve l'en-tête `Authorization` que vous fournissez, par exemple via `ANTHROPIC_CUSTOM_HEADERS`. Ignorée lorsque `ANTHROPIC_FOUNDRY_API_KEY` ou `ANTHROPIC_FOUNDRY_AUTH_TOKEN` est défini. Avant la v2.1.203, cette variable empêchait le client Microsoft Foundry d'envoyer des requêtes, sauf si une clé API était également définie |402| `CLAUDE_CODE_SKIP_FOUNDRY_AUTH` | Ignore l'authentification Azure pour Microsoft Foundry, pour un proxy ou une passerelle qui injecte son propre en-tête `Authorization`. Claude Code envoie les requêtes sans identifiant Azure et conserve l'en-tête `Authorization` que vous fournissez, par exemple via `ANTHROPIC_CUSTOM_HEADERS`. Ignorée lorsque `ANTHROPIC_FOUNDRY_API_KEY` ou `ANTHROPIC_FOUNDRY_AUTH_TOKEN` est défini. Avant la v2.1.203, cette variable empêchait le client Microsoft Foundry d'envoyer des requêtes sauf si une clé API était également définie |

397| `CLAUDE_CODE_SKIP_MANTLE_AUTH` | Ignore l'authentification AWS pour Amazon Bedrock Mantle (par exemple, lors de l'utilisation d'une passerelle LLM) |403| `CLAUDE_CODE_SKIP_MANTLE_AUTH` | Ignore l'authentification AWS pour Amazon Bedrock Mantle (par exemple, lors de l'utilisation d'une passerelle LLM) |

398| `CLAUDE_CODE_SKIP_MODEL_ACCESS_MEMORY` | Les [vérifications de modèles au démarrage](/docs/fr/amazon-bedrock#startup-model-checks) sur [Amazon Bedrock](/docs/fr/amazon-bedrock) et [Google Cloud's Agent Platform](/docs/fr/google-vertex-ai) mémorisent sur cette machine les modèles que votre compte ne peut pas invoquer, pendant une journée au maximum. Définir sur `1` pour désactiver cette mémorisation. Nécessite Claude Code v2.1.285 ou ultérieur |404| `CLAUDE_CODE_SKIP_MODEL_ACCESS_MEMORY` | Les [vérifications de modèles au démarrage](/docs/fr/amazon-bedrock#startup-model-checks) sur [Amazon Bedrock](/docs/fr/amazon-bedrock) et [Google Cloud's Agent Platform](/docs/fr/google-vertex-ai) mémorisent sur cette machine, pendant un jour au maximum, les modèles que votre compte ne peut pas invoquer. Définir sur `1` pour désactiver cette mémorisation. Nécessite Claude Code v2.1.285 ou ultérieur |

399| `CLAUDE_CODE_SKIP_PROMPT_HISTORY` | Définir sur `1` pour ne pas écrire l'historique des prompts ni les transcriptions de session sur le disque. Les sessions démarrées avec cette variable définie n'apparaissent pas dans `--resume`, `--continue` ni dans l'historique de la flèche haut. Utile pour les sessions scriptées éphémères |405| `CLAUDE_CODE_SKIP_PROMPT_HISTORY` | Définir sur `1` pour ne pas écrire l'historique des prompts ni les transcriptions de session sur le disque. Les sessions démarrées avec cette variable définie n'apparaissent pas dans `--resume`, `--continue` ni dans l'historique accessible avec la flèche haut. Utile pour les sessions scriptées éphémères |

400| `CLAUDE_CODE_SKIP_VERTEX_AUTH` | Ignore l'authentification Google pour Google Cloud's Agent Platform (par exemple, lors de l'utilisation d'une passerelle LLM) |406| `CLAUDE_CODE_SKIP_VERTEX_AUTH` | Ignore l'authentification Google pour Google Cloud's Agent Platform (par exemple, lors de l'utilisation d'une passerelle LLM) |

401| `CLAUDE_CODE_STARTUP_FAILURE_RESULTS` | Définir sur `1` pour qu'une session démarrée avec `--output-format stream-json` écrive un [message de résultat indiquant pourquoi Claude Code a refusé de démarrer](/docs/fr/agent-sdk/typescript#startup_failure_reason) pour les échecs de démarrage qui, sinon, se terminent uniquement par stderr. Nécessite Claude Code v2.1.274 ou ultérieur |407| `CLAUDE_CODE_STARTUP_FAILURE_RESULTS` | Définir sur `1` pour qu'une session démarrée avec `--output-format stream-json` écrive un [message de résultat indiquant pourquoi Claude Code a refusé de démarrer](/docs/fr/agent-sdk/typescript#startup_failure_reason) pour les échecs de démarrage qui, sinon, se terminent uniquement par un message sur stderr. Nécessite Claude Code v2.1.274 ou ultérieur |

402| `CLAUDE_CODE_STOP_HOOK_BLOCK_CAP` | Nombre maximal de fois consécutives où un hook [Stop](/docs/fr/hooks#stop) ou [SubagentStop](/docs/fr/hooks#subagentstop) peut empêcher la fin du tour avant que Claude Code passe outre et termine quand même le tour (par défaut : 8). Définir sur `0` pour désactiver le plafond. Augmentez cette valeur si votre hook a légitimement besoin de plus d'itérations pour aboutir |408| `CLAUDE_CODE_STOP_HOOK_BLOCK_CAP` | Nombre maximal de fois consécutives où un hook [Stop](/docs/fr/hooks#stop) ou [SubagentStop](/docs/fr/hooks#subagentstop) peut empêcher le tour de se terminer avant que Claude Code passe outre et termine le tour malgré tout (par défaut : 8). Définir sur `0` pour désactiver le plafond. Augmentez cette valeur si votre hook a légitimement besoin de plus d'itérations pour aboutir |

403| `CLAUDE_CODE_SUBAGENT_MODEL` | Modèle par défaut des [sous-agents](/docs/fr/sub-agents#choose-a-model), des coéquipiers des [équipes d'agents](/docs/fr/agent-teams#specify-teammates-and-models) et des agents de [workflow](/docs/fr/workflows) auxquels aucun modèle n'est attribué d'une autre manière. Accepte un alias comme `haiku` ou un nom de modèle complet. Deux sources ont priorité sur elle : un modèle que Claude transmet lorsqu'il lance l'agent, et un champ `model` dans la définition de l'agent, y compris `inherit`. Pour changer cela, définissez [`CLAUDE_CODE_SUBAGENT_MODEL_FORCE`](/docs/fr/sub-agents#run-every-subagent-on-one-model). Voir [Choisir un modèle](/docs/fr/sub-agents#choose-a-model) pour l'ordre complet. La définir sur `inherit` revient à la laisser non définie. Avant la v2.1.251, cette variable remplaçait à la fois le modèle par invocation et le champ `model` de la définition |409| `CLAUDE_CODE_SUBAGENT_MODEL` | Modèle par défaut pour les [sous-agents](/docs/fr/sub-agents#choose-a-model), les coéquipiers d'une [équipe d'agents](/docs/fr/agent-teams#specify-teammates-and-models) et les agents de [workflow](/docs/fr/workflows) auxquels aucun modèle n'est attribué d'une autre manière. Accepte un alias tel que `haiku` ou un nom de modèle complet. Deux sources ont priorité sur elle : un modèle que Claude transmet lorsqu'il lance l'agent, et un champ `model` dans la définition de l'agent, y compris `inherit`. Pour changer cela, définissez [`CLAUDE_CODE_SUBAGENT_MODEL_FORCE`](/docs/fr/sub-agents#run-every-subagent-on-one-model). Voir [Choisir un modèle](/docs/fr/sub-agents#choose-a-model) pour l'ordre complet. La définir sur `inherit` équivaut à la laisser non définie. Avant la v2.1.251, cette variable remplaçait à la fois le modèle par invocation et le champ `model` de la définition |

404| `CLAUDE_CODE_SUBAGENT_MODEL_FORCE` | Définir sur `1` pour imposer un seul modèle aux sous-agents, coéquipiers et agents de workflow. [Exécuter tous les sous-agents sur un seul modèle](/docs/fr/sub-agents#run-every-subagent-on-one-model) indique de quel modèle il s'agit. Nécessite Claude Code v2.1.257 ou ultérieur |410| `CLAUDE_CODE_SUBAGENT_MODEL_FORCE` | Définir sur `1` pour imposer un même modèle aux sous-agents, aux coéquipiers et aux agents de workflow. [Exécuter tous les sous-agents sur un même modèle](/docs/fr/sub-agents#run-every-subagent-on-one-model) indique de quel modèle il s'agit. Nécessite Claude Code v2.1.257 ou ultérieur |

405| `CLAUDE_CODE_SUBAGENT_PROMPT_CACHE_TTL` | Définir `5m` ou `1h`, les seules valeurs acceptées par Claude Code, pour choisir le [TTL du cache de prompts](/docs/fr/prompt-caching#cache-lifetime) des requêtes hors de la conversation principale, comme les [sous-agents](/docs/fr/sub-agents), les workflows et le travail en arrière-plan. A priorité sur le paramètre `subagentPromptCacheTtl` et sur `ENABLE_PROMPT_CACHING_1H`, et `FORCE_PROMPT_CACHING_5M` le remplace. L'API facture les écritures en cache d'une heure à un tarif plus élevé. Nécessite Claude Code v2.1.242 ou ultérieur |411| `CLAUDE_CODE_SUBAGENT_PROMPT_CACHE_TTL` | Définir sur `5m` ou `1h`, les seules valeurs acceptées par Claude Code, pour choisir le [TTL du cache de prompts](/docs/fr/prompt-caching#cache-lifetime) des requêtes hors de la conversation principale, comme les [sous-agents](/docs/fr/sub-agents), les workflows et le travail en arrière-plan. A priorité sur le paramètre `subagentPromptCacheTtl` et sur `ENABLE_PROMPT_CACHING_1H`, et `FORCE_PROMPT_CACHING_5M` la remplace. L'API facture les écritures de cache d'une heure à un tarif plus élevé. Nécessite Claude Code v2.1.242 ou ultérieur |

406| `CLAUDE_CODE_SUBPROCESS_ENV_SCRUB` | Définir sur `1` pour supprimer les identifiants des environnements des sous-processus lancés par Claude Code, comme les commandes Bash, les hooks et les serveurs MCP stdio. Le nettoyage reconnaît les identifiants par le nom de leur variable ou par leur valeur, et laisse en place les jetons GitHub et les paramètres de proxy. Voir [Ce que supprime le nettoyage de l'environnement des sous-processus](#what-the-subprocess-environment-scrub-removes). `claude-code-action` la définit automatiquement lorsque `allowed_non_write_users` est configuré |412| `CLAUDE_CODE_SUBPROCESS_ENV_SCRUB` | Définir sur `1` pour retirer les identifiants des environnements des sous-processus que Claude Code démarre, tels que les commandes Bash, les hooks et les serveurs MCP stdio. Le nettoyage reconnaît un identifiant à partir du nom de sa variable ou de sa valeur, et il conserve les jetons GitHub et les paramètres de proxy. Voir [Ce que supprime le nettoyage de l'environnement des sous-processus](#what-the-subprocess-environment-scrub-removes). `claude-code-action` la définit automatiquement lorsque `allowed_non_write_users` est configuré |

407| `CLAUDE_CODE_SYNC_PLUGIN_INSTALL` | Définir sur `1` en mode non interactif (le flag `-p`) pour attendre la fin de l'installation des plugins avant la première requête. Sans cela, les plugins s'installent en arrière-plan et peuvent ne pas être disponibles au premier tour. Combinez-la avec `CLAUDE_CODE_SYNC_PLUGIN_INSTALL_TIMEOUT_MS` pour limiter l'attente |413| `CLAUDE_CODE_SYNC_PLUGIN_INSTALL` | Définir sur `1` en mode non interactif (flag `-p`) pour attendre la fin de l'installation des plugins avant la première requête. Sans cela, les plugins s'installent en arrière-plan et peuvent ne pas être disponibles au premier tour. À combiner avec `CLAUDE_CODE_SYNC_PLUGIN_INSTALL_TIMEOUT_MS` pour borner l'attente |

408| `CLAUDE_CODE_SYNC_PLUGIN_INSTALL_TIMEOUT_MS` | Délai d'expiration en millisecondes pour l'installation synchrone des plugins. Une fois dépassé, Claude Code continue sans les plugins et journalise une erreur. Aucune valeur par défaut : sans cette variable, l'installation synchrone attend jusqu'à son achèvement |414| `CLAUDE_CODE_SYNC_PLUGIN_INSTALL_TIMEOUT_MS` | Délai d'expiration en millisecondes pour l'installation synchrone des plugins. Lorsqu'il est dépassé, Claude Code continue sans les plugins et consigne une erreur. Pas de valeur par défaut : sans cette variable, l'installation synchrone attend jusqu'à son achèvement |

409| `CLAUDE_CODE_SYNC_SKILLS` | Définir sur `1` en mode non interactif avec le flag `-p` pour que Claude Code télécharge les skills activés pour votre compte claude.ai lors de cette exécution et attende leur liste, jusqu'à `CLAUDE_CODE_SYNC_SKILLS_WAIT_TIMEOUT_MS`, avant d'exécuter la première requête. Nécessite une authentification claude.ai. Les sessions de terminal où vous vous connectez avec votre compte claude.ai [synchronisent ces skills](/docs/fr/skills#where-synced-skills-load) sans cette variable ; ne la définissez donc que lorsqu'une exécution `-p` a besoin de vos skills actuels dès sa première requête |415| `CLAUDE_CODE_SYNC_SKILLS` | Définir sur `1` en mode non interactif avec le flag `-p` pour que Claude Code télécharge les skills activés pour votre compte claude.ai lors de cette exécution et attende leur liste, jusqu'à `CLAUDE_CODE_SYNC_SKILLS_WAIT_TIMEOUT_MS`, avant d'exécuter la première requête. Nécessite une authentification claude.ai. Les sessions de terminal où vous vous connectez avec votre compte claude.ai [synchronisent ces skills](/docs/fr/skills#where-synced-skills-load) sans cette variable ; ne la définissez donc que lorsqu'une exécution `-p` a besoin de vos skills actuels dès sa première requête |

410| `CLAUDE_CODE_SYNC_SKILLS_INSTALL_TIMEOUT_MS` | Délai d'expiration en millisecondes de la resynchronisation des skills exécutée en cours de session lorsqu'une application construite sur l'[Agent SDK](/docs/fr/agent-sdk/typescript#query-object) recharge les skills (par défaut : 30000). Une fois dépassé, le rechargement se poursuit avec les skills déjà arrivés, et les téléchargements restants se terminent en arrière-plan |416| `CLAUDE_CODE_SYNC_SKILLS_INSTALL_TIMEOUT_MS` | Délai d'expiration en millisecondes de la resynchronisation des skills qui s'exécute en cours de session lorsqu'une application construite sur l'[Agent SDK](/docs/fr/agent-sdk/typescript#query-object) recharge les skills (par défaut : 30000). Lorsqu'il est dépassé, le rechargement se poursuit avec les skills déjà arrivés, et les téléchargements restants se terminent en arrière-plan |

411| `CLAUDE_CODE_SYNC_SKILLS_WAIT_TIMEOUT_MS` | Délai d'expiration en millisecondes pendant lequel la première requête attend la liste initiale des skills lorsque `CLAUDE_CODE_SYNC_SKILLS` est défini (par défaut : 5000). Une fois dépassé, la première requête s'exécute avec les skills déjà arrivés. Les téléchargements se terminent en arrière-plan dans tous les cas, et Claude attend le téléchargement d'un skill lorsqu'il invoque ce skill |417| `CLAUDE_CODE_SYNC_SKILLS_WAIT_TIMEOUT_MS` | Délai d'expiration en millisecondes pendant lequel la première requête attend la liste initiale des skills lorsque `CLAUDE_CODE_SYNC_SKILLS` est défini (par défaut : 5000). Lorsqu'il est dépassé, la première requête s'exécute avec les skills déjà arrivés. Dans tous les cas, les téléchargements se terminent en arrière-plan, et Claude attend le téléchargement d'un skill lorsqu'il invoque ce skill |

412| `CLAUDE_CODE_SYNTAX_HIGHLIGHT` | Définir sur `false` pour désactiver la coloration syntaxique dans la sortie des diffs. Utile lorsque les couleurs perturbent la configuration de votre terminal. Pour désactiver également la coloration dans les blocs de code et les aperçus de fichiers, utilisez le paramètre [`syntaxHighlightingDisabled`](/docs/fr/settings-reference#syntaxhighlightingdisabled) |418| `CLAUDE_CODE_SYNTAX_HIGHLIGHT` | Définir sur `false` pour désactiver la coloration syntaxique dans la sortie des diffs. Utile lorsque les couleurs interfèrent avec la configuration de votre terminal. Pour désactiver également la coloration dans les blocs de code et les aperçus de fichiers, utilisez le paramètre [`syntaxHighlightingDisabled`](/docs/fr/settings-reference#syntaxhighlightingdisabled) |

413| `CLAUDE_CODE_TASK_LIST_ID` | Partage une liste de tâches entre sessions. Définissez le même ID dans plusieurs instances de Claude Code pour vous coordonner sur une liste de tâches partagée, dans les [sessions disposant des outils Task](/docs/fr/tools-reference#task-tool-availability). Voir [Liste des tâches](/docs/fr/interactive-mode#task-list) |419| `CLAUDE_CODE_TASK_LIST_ID` | Partage une liste de tâches entre sessions. Définissez le même ID dans plusieurs instances de Claude Code pour vous coordonner sur une liste de tâches partagée, dans les [sessions qui disposent des outils Task](/docs/fr/tools-reference#task-tool-availability). Voir [Liste de tâches](/docs/fr/interactive-mode#task-list) |

414| `CLAUDE_CODE_TEAM_TEARDOWN_PARK_TIMEOUT_MS` | Remplace, en millisecondes, la durée pendant laquelle une session non interactive attend à la sortie que son [équipe d'agents](/docs/fr/agent-teams) ait fini de se démanteler. Accepte de 1000 à 60000 ; une valeur hors plage est ignorée et la valeur par défaut de 10000 s'applique. Nécessite Claude Code v2.1.206 ou ultérieur |420| `CLAUDE_CODE_TEAM_TEARDOWN_PARK_TIMEOUT_MS` | Remplace, en millisecondes, la durée pendant laquelle une session non interactive attend à la sortie que son [équipe d'agents](/docs/fr/agent-teams) ait fini de se démanteler. Accepte de 1000 à 60000 ; une valeur hors plage est ignorée et la valeur par défaut de 10000 s'applique. Nécessite Claude Code v2.1.206 ou ultérieur |

415| `CLAUDE_CODE_TMPDIR` | Remplace le répertoire temporaire utilisé pour les fichiers temporaires internes. Claude Code ajoute `/claude-{uid}/` à ce chemin sous Unix, ou `/claude/` sous Windows. Par défaut : `/tmp` sur macOS, `os.tmpdir()` sur Linux et Windows. Sur macOS et Linux, les sous-processus Bash [en sandbox](/docs/fr/sandboxing) reçoivent un `$TMPDIR` de secours court sous le répertoire système par défaut lorsque votre remplacement est un chemin long, car certains outils échouent lorsque les chemins temporaires deviennent trop longs. Les commandes Bash hors sandbox héritent du `$TMPDIR` de votre shell lorsqu'il est défini. Sous Windows natif, lorsque votre shell ne définit pas `$TMPDIR`, une commande Bash qui fait référence à `$TMPDIR` reçoit votre remplacement, ou `%TEMP%` si vous n'en avez pas défini. Les fichiers temporaires propres à Claude Code utilisent toujours votre remplacement. Définissez-la dans votre shell, vos paramètres utilisateur ou vos paramètres gérés. Ignorée dans les [paramètres de projet et locaux](/docs/fr/settings-reference#variables-claude-code-ignores-in-env) |421| `CLAUDE_CODE_TMPDIR` | Remplace le répertoire temporaire utilisé pour les fichiers temporaires internes. Claude Code ajoute `/claude-{uid}/` à ce chemin sous Unix, ou `/claude/` sous Windows. Par défaut : `/tmp` sur macOS, `os.tmpdir()` sur Linux et Windows. Sur macOS et Linux, les sous-processus Bash [en sandbox](/docs/fr/sandboxing) reçoivent un `$TMPDIR` de secours court sous le répertoire par défaut du système lorsque votre remplacement est un chemin long, car certains outils échouent lorsque les chemins temporaires sont trop longs. Les commandes Bash hors sandbox héritent du `$TMPDIR` de votre shell lorsqu'il est défini. Sous Windows natif, lorsque votre shell ne définit pas `$TMPDIR`, une commande Bash qui fait référence à `$TMPDIR` reçoit votre remplacement, ou `%TEMP%` si vous n'en avez pas défini. Les fichiers temporaires propres à Claude Code utilisent toujours votre remplacement. Définissez-la dans votre shell, vos paramètres utilisateur ou vos paramètres gérés. Ignorée dans les [paramètres de projet et locaux](/docs/fr/settings-reference#variables-claude-code-ignores-in-env) |

416| `CLAUDE_CODE_TMUX_TRUECOLOR` | Définir sur n'importe quelle valeur non vide, comme `1`, pour autoriser la sortie en couleurs 24 bits (truecolor) dans tmux. **La définir sur `0` ou `false` autorise tout de même le truecolor**, contrairement à la plupart des variables on/off ; supprimez la variable pour rétablir la limitation à 256 couleurs. Par défaut, Claude Code se limite à 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-la 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 |422| `CLAUDE_CODE_TMUX_TRUECOLOR` | Définir sur n'importe quelle valeur non vide, comme `1`, pour autoriser la sortie truecolor 24 bits dans tmux. **La définir sur `0` ou `false` autorise tout de même le truecolor**, contrairement à la plupart des variables activé/désactivé ; supprimez la variable pour rétablir la limitation à 256 couleurs. Par défaut, Claude Code se limite à 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-la 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 |

417| `CLAUDE_CODE_TOOL_MEMORY_CGROUP_EXCLUDE` | Sous Linux et WSL, définir sur une liste séparée par des virgules des types de processus que Claude Code [exclut du plafond de mémoire des outils](/docs/fr/tools-reference#memory-limit-on-linux-and-wsl), comme `mcp` ou `lsp`. Définir `none` pour plafonner tous les types, ou `all-new` pour ne plafonner que les commandes des outils Bash, PowerShell et Monitor. Claude Code maintient les commandes des outils Bash, PowerShell et Monitor sous le plafond quelle que soit la liste. Nécessite Claude Code v2.1.246 ou ultérieur |423| `CLAUDE_CODE_TOOL_MEMORY_CGROUP_EXCLUDE` | Sur Linux et WSL, à définir sur une liste séparée par des virgules des types de processus que Claude Code [exclut du plafond de mémoire des outils](/docs/fr/tools-reference#memory-limit-on-linux-and-wsl), comme `mcp` ou `lsp`. Définir `none` pour plafonner tous les types, ou `all-new` pour ne plafonner que les commandes des outils Bash, PowerShell et Monitor. Claude Code maintient les commandes des outils Bash, PowerShell et Monitor sous le plafond, quoi que vous listiez. Nécessite Claude Code v2.1.246 ou ultérieur |

418| `CLAUDE_CODE_TOOL_MEMORY_LIMIT` | Sous Linux et WSL, définir sur une taille comme `4G` pour [plafonner la mémoire que peuvent utiliser les commandes des outils Bash et PowerShell](/docs/fr/tools-reference#memory-limit-on-linux-and-wsl), ainsi que celles de l'outil Monitor en v2.1.246 ou ultérieur. Écrivez la taille en chiffres simples, seule pour un nombre d'octets ou avec un suffixe `K`, `M`, `G` ou `T`. Définir `0` ou `off` pour désactiver le plafond. Une fois que le premier processus lancé par Claude Code a activé ou désactivé le plafond, une valeur modifiée prend effet au prochain lancement de `claude`. Nécessite Claude Code v2.1.233 ou ultérieur |424| `CLAUDE_CODE_TOOL_MEMORY_LIMIT` | Sur Linux et WSL, à définir sur une taille telle que `4G` pour [plafonner la mémoire que peuvent utiliser les commandes des outils Bash et PowerShell](/docs/fr/tools-reference#memory-limit-on-linux-and-wsl), ainsi que les commandes de l'outil Monitor dans la v2.1.246 ou ultérieure. Écrivez la taille en chiffres simples, seuls pour un nombre d'octets ou avec un suffixe `K`, `M`, `G` ou `T`. Définir `0` ou `off` pour désactiver le plafond. Une fois que le premier processus démarré par Claude Code a activé ou désactivé le plafond, une valeur modifiée prend effet au prochain lancement de `claude`. Nécessite Claude Code v2.1.233 ou ultérieur |

419| `CLAUDE_CODE_TRANSCRIPT_LOCAL_GC` | Définir sur `1` pour limiter la taille du [fichier de transcription](/docs/fr/sessions#where-transcripts-are-stored) d'une longue session `-p` ou Agent SDK. Après chaque compaction, dès que le fichier dépasse 5 Mo, Claude Code supprime l'historique antérieur à cette compaction. La reprise de la session restaure la même conversation, que le fichier ait été réduit ou non. Définissez-la dans l'environnement à partir duquel vous lancez Claude Code, car un bloc `env` des paramètres ne peut pas l'activer. Nécessite Claude Code v2.1.287 ou ultérieur |425| `CLAUDE_CODE_TRANSCRIPT_LOCAL_GC` | Définir sur `1` pour limiter la taille que peut atteindre le [fichier de transcription](/docs/fr/sessions#where-transcripts-are-stored) d'une longue session `-p` ou Agent SDK. Après chaque compaction, dès que le fichier dépasse 5 Mo, Claude Code supprime l'historique antérieur à cette compaction. La reprise de la session restaure la même conversation, que le fichier ait été réduit ou non. Définissez-la dans l'environnement à partir duquel vous lancez Claude Code, car un bloc `env` des paramètres ne peut pas l'activer. Nécessite Claude Code v2.1.287 ou ultérieur |

420| `CLAUDE_CODE_USER_DIALOG_TIMEOUT_MS` | Délai en millisecondes avant que Claude Code annule une boîte de dialogue qu'il transmet à un client distant comme un hôte [Remote Control](/docs/fr/remote-control) ou SDK, ou la boîte de dialogue d'approbation d'un [message inter-sessions retenu](/docs/fr/cross-session-messaging#control-inbound-messages) ; les demandes de permission et les questions `AskUserQuestion` utilisent leurs propres flux et ne sont pas concernées. À partir de Claude Code v2.1.236, il limite également la [demande de consentement aux crédits d'utilisation Fable](/docs/fr/model-config#fable-and-usage-credits) en cours de session dans une session susceptible de s'exécuter sans surveillance. [Contrôler les messages entrants](/docs/fr/cross-session-messaging#control-inbound-messages) et [Sessions non interactives](/docs/fr/cross-session-messaging#non-interactive-sessions) décrivent l'ensemble des règles d'expiration 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. Ignorée dans les [paramètres de projet et locaux](/docs/fr/settings-reference#variables-claude-code-ignores-in-env) |426| `CLAUDE_CODE_USER_DIALOG_TIMEOUT_MS` | Délai en millisecondes avant que Claude Code n'annule une boîte de dialogue qu'il transmet à un client distant tel qu'un hôte [Remote Control](/docs/fr/remote-control) ou SDK, ou la boîte de dialogue d'approbation d'un [message intersession retenu](/docs/fr/cross-session-messaging#control-inbound-messages) ; les demandes de permission et les questions `AskUserQuestion` utilisent leurs propres flux et ne sont pas régies par cette variable. Sur Claude Code v2.1.236 ou ultérieur, elle limite également la [demande de consentement aux crédits d'utilisation Fable](/docs/fr/model-config#fable-and-usage-credits) affichée en cours de session, dans une session susceptible de s'exécuter sans surveillance. [Contrôler les messages entrants](/docs/fr/cross-session-messaging#control-inbound-messages) et [Sessions non interactives](/docs/fr/cross-session-messaging#non-interactive-sessions) détaillent l'ensemble des règles d'expiration 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. Ignorée dans les [paramètres de projet et locaux](/docs/fr/settings-reference#variables-claude-code-ignores-in-env) |

421| `CLAUDE_CODE_USE_ANTHROPIC_AWS` | Utiliser [Claude Platform on AWS](/docs/fr/claude-platform-on-aws) |427| `CLAUDE_CODE_USE_ANTHROPIC_AWS` | Utiliser [Claude Platform on AWS](/docs/fr/claude-platform-on-aws) |

422| `CLAUDE_CODE_USE_BEDROCK` | Utiliser [Amazon Bedrock](/docs/fr/amazon-bedrock) |428| `CLAUDE_CODE_USE_BEDROCK` | Utiliser [Amazon Bedrock](/docs/fr/amazon-bedrock) |

423| `CLAUDE_CODE_USE_FOUNDRY` | Utiliser [Microsoft Foundry](/docs/fr/microsoft-foundry) |429| `CLAUDE_CODE_USE_FOUNDRY` | Utiliser [Microsoft Foundry](/docs/fr/microsoft-foundry) |

424| `CLAUDE_CODE_USE_MANTLE` | Utiliser l'[endpoint Mantle](/docs/fr/amazon-bedrock#use-the-mantle-endpoint) d'Amazon Bedrock |430| `CLAUDE_CODE_USE_MANTLE` | Utiliser l'[endpoint Mantle](/docs/fr/amazon-bedrock#use-the-mantle-endpoint) d'Amazon Bedrock |

425| `CLAUDE_CODE_USE_NATIVE_FILE_SEARCH` | Définissez sur `1` pour découvrir les commandes personnalisées, les sous-agents et les styles de sortie à l'aide des API de fichiers de Node.js au lieu de ripgrep. Définissez cette variable si le binaire ripgrep intégré est indisponible ou bloqué dans votre environnement. N'affecte pas les outils Grep ou de recherche de fichiers |431| `CLAUDE_CODE_USE_NATIVE_FILE_SEARCH` | Définissez sur `1` pour découvrir les commandes personnalisées, les sous-agents et les styles de sortie à l'aide des API de fichiers de Node.js au lieu de ripgrep. Définissez-la si le binaire ripgrep intégré est indisponible ou bloqué dans votre environnement. N'affecte pas l'outil Grep ni les outils de recherche de fichiers |

426| `CLAUDE_CODE_USE_POWERSHELL_TOOL` | Contrôle l'outil PowerShell. Sous Windows sans Git Bash, l'outil est activé automatiquement ; définissez sur `0` pour le désactiver. Sous Windows avec Git Bash installé, l'outil est activé par défaut pour les comptes claude.ai et Console ; définissez sur `1` pour l'activer dans les sessions Amazon Bedrock, Google Cloud's Agent Platform et Microsoft Foundry, ou sur `0` pour le désactiver. Sous Linux, macOS et WSL, définissez sur `1` pour l'activer, ce qui nécessite `pwsh` dans votre `PATH`. Lorsqu'il est activé sous Windows, Claude peut exécuter des commandes PowerShell nativement au lieu de passer par Git Bash. Voir [Outil PowerShell](/docs/fr/tools-reference#powershell-tool) |432| `CLAUDE_CODE_USE_POWERSHELL_TOOL` | Contrôle l'outil PowerShell. Sous Windows sans Git Bash, l'outil est activé automatiquement ; définissez sur `0` pour le désactiver. Sous Windows avec Git Bash installé, l'outil est activé par défaut pour les comptes claude.ai et Console ; définissez sur `1` pour l'activer dans les sessions Amazon Bedrock, Google Cloud's Agent Platform et Microsoft Foundry, ou sur `0` pour le désactiver. Sous Linux, macOS et WSL, définissez sur `1` pour l'activer, ce qui nécessite `pwsh` dans votre `PATH`. Lorsqu'il est activé sous Windows, Claude peut exécuter des commandes PowerShell nativement au lieu de passer par Git Bash. Voir [Outil PowerShell](/docs/fr/tools-reference#powershell-tool) |

427| `CLAUDE_CODE_USE_VERTEX` | Utiliser [Google Cloud's Agent Platform](/docs/fr/google-vertex-ai) |433| `CLAUDE_CODE_USE_VERTEX` | Utiliser [Google Cloud's Agent Platform](/docs/fr/google-vertex-ai) |

428| `CLAUDE_CODE_WEBFETCH_CACHE_TTL_MS` | Définissez sur le nombre de millisecondes pendant lesquelles [WebFetch](/docs/fr/tools-reference#webfetch-tool-behavior) conserve en cache la réponse de chaque URL récupérée. La valeur par défaut est `900000`, soit 15 minutes. N'accepte que des chiffres simples ; `0`, un nombre décimal ou toute autre écriture conserve la valeur par défaut. Claude Code lit la valeur une fois par lancement, donc une modification dans un bloc `env` des paramètres s'applique au prochain lancement de `claude`. Nécessite Claude Code v2.1.233 ou ultérieur |434| `CLAUDE_CODE_WEBFETCH_CACHE_TTL_MS` | Définissez le nombre de millisecondes pendant lesquelles [WebFetch](/docs/fr/tools-reference#webfetch-tool-behavior) conserve en cache la réponse de chaque URL récupérée. La valeur par défaut est `900000`, soit 15 minutes. N'accepte que des chiffres simples ; `0`, un nombre décimal ou toute autre écriture conserve la valeur par défaut. Claude Code lit la valeur une fois par lancement, donc une modification dans un bloc `env` des paramètres s'applique au prochain lancement de `claude`. Nécessite Claude Code v2.1.233 ou ultérieur |

429| `CLAUDE_CODE_WEBFETCH_DEADLINE_MS` | Limite supérieure, en millisecondes, du temps pendant lequel [WebFetch](/docs/fr/tools-reference#webfetch-tool-behavior) attend le téléchargement d'une page, y compris les redirections qu'il suit. Un téléchargement qui n'est pas terminé à ce moment-là échoue avec une erreur d'échéance. La valeur par défaut est `300000`, soit cinq minutes. Définissez sur `0` pour supprimer la limite. N'accepte que des chiffres simples ; un nombre décimal ou toute autre écriture conserve la valeur par défaut. Nécessite Claude Code v2.1.268 ou ultérieur |435| `CLAUDE_CODE_WEBFETCH_DEADLINE_MS` | Limite supérieure, en millisecondes, du temps pendant lequel [WebFetch](/docs/fr/tools-reference#webfetch-tool-behavior) attend le téléchargement d'une page, y compris les redirections qu'il suit. Un téléchargement qui n'est pas terminé à ce moment-là échoue avec une erreur de délai. La valeur par défaut est `300000`, soit cinq minutes. Définissez sur `0` pour supprimer la limite. N'accepte que des chiffres simples ; un nombre décimal ou toute autre écriture conserve la valeur par défaut. Nécessite Claude Code v2.1.268 ou ultérieur |

430| `CLAUDE_CODE_WEB_SEARCH_REFILLS_PER_HOUR` | Rythme auquel la [limite WebSearch](/docs/fr/tools-reference#session-search-limit) d'une session se recharge, en appels par heure. La valeur par défaut est `100` dans une session de terminal interactive. Dans une session [non interactive](/docs/fr/headless), la valeur par défaut est `0`, ce qui désactive la recharge. N'accepte que des chiffres simples ; toute autre écriture est traitée comme non définie. Nécessite Claude Code v2.1.290 ou ultérieur |436| `CLAUDE_CODE_WEB_SEARCH_REFILLS_PER_HOUR` | Rythme auquel la [limite WebSearch](/docs/fr/tools-reference#session-search-limit) d'une session se recharge, en appels par heure. La valeur par défaut est `100` dans une session de terminal interactive. Dans une session [non interactive](/docs/fr/headless), la valeur par défaut est `0`, ce qui désactive la recharge. N'accepte que des chiffres simples ; toute autre écriture est considérée comme non définie. Nécessite Claude Code v2.1.290 ou ultérieur |

431| `CLAUDE_CODE_WORKER_CHECKIN_SCHEDULE` | Lorsque `CLAUDE_AUTO_BACKGROUND_TASKS` est défini sur `1`, durée pendant laquelle Claude Code attend avant chaque rappel invitant Claude à vérifier les [sous-agents en arrière-plan](/docs/fr/sub-agents#run-subagents-in-foreground-or-background) encore en cours d'exécution. Accepte une ou plusieurs attentes séparées par des virgules, en secondes entières de `1` à `86400`, comme `600` ou `600,1800,3600`. Chaque valeur correspond à l'attente avant le rappel suivant, et la dernière valeur se répète. N'accepte que des chiffres simples ; toute autre valeur ou écriture est traitée comme non définie. Lorsqu'elle n'est pas définie, il n'y a aucun rappel. Nécessite Claude Code v2.1.283 ou ultérieur |437| `CLAUDE_CODE_WORKER_CHECKIN_SCHEDULE` | Lorsque `CLAUDE_AUTO_BACKGROUND_TASKS` est défini sur `1`, durée pendant laquelle Claude Code attend avant chaque rappel invitant Claude à vérifier les [sous-agents en arrière-plan](/docs/fr/sub-agents#run-subagents-in-foreground-or-background) toujours en cours d'exécution. Accepte une ou plusieurs attentes séparées par des virgules, en secondes entières de `1` à `86400`, comme `600` ou `600,1800,3600`. Chaque valeur correspond à l'attente avant le rappel suivant, et la dernière valeur se répète. N'accepte que des chiffres simples ; toute autre valeur ou écriture est considérée comme non définie. Lorsqu'elle n'est pas définie, aucun rappel n'a lieu. Nécessite Claude Code v2.1.283 ou ultérieur |

432| `CLAUDE_CODE_WORKFLOW_MAX_CONCURRENT_AGENTS` | Nombre d'agents qu'une seule exécution de [workflow](/docs/fr/workflows) exécute simultanément, de `1` à `256`. Par défaut, une exécution lance jusqu'à 16 agents simultanément, moins lorsque Claude Code dispose de moins de processeurs ; les appels `agent()` en file d'attente attendent qu'un emplacement se libère. La transcription de chaque agent en cours reste dans la mémoire de Claude Code, donc des valeurs plus élevées augmentent l'utilisation de la mémoire. N'accepte que des chiffres simples ; les valeurs hors plage et les autres écritures conservent la valeur par défaut. Nécessite Claude Code v2.1.269 ou ultérieur |438| `CLAUDE_CODE_WORKFLOW_MAX_CONCURRENT_AGENTS` | Nombre d'agents qu'une seule exécution de [workflow](/docs/fr/workflows) exécute simultanément, de `1` à `256`. Par défaut, une exécution lance jusqu'à 16 agents simultanément, moins lorsque Claude Code dispose de moins de CPU ; les appels `agent()` en file d'attente attendent qu'un emplacement se libère. La transcription de chaque agent en cours d'exécution reste dans la mémoire de Claude Code, donc des valeurs plus élevées augmentent l'utilisation de la mémoire. N'accepte que des chiffres simples ; les valeurs hors plage et les autres écritures conservent la valeur par défaut. Nécessite Claude Code v2.1.269 ou ultérieur |

433| `CLAUDE_CODE_WORKFLOW_PREFIX_STAGGER_MS` | Limite supérieure, en millisecondes, du temps pendant lequel un agent de [workflow](/docs/fr/workflows) attend que la première réponse d'un agent frère partageant le même préfixe commence avant d'envoyer sa propre première requête. Lorsqu'un fan-out démarre plusieurs agents qui partagent un [préfixe de cache de prompt](/docs/fr/workflows#prompt-caching-in-a-fan-out), Claude Code retient tous les agents sauf le premier pendant au plus cette durée, afin que les autres lisent le préfixe mis en cache au lieu de le traiter chacun sans cache. Par défaut `5000`. Définissez sur `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 |439| `CLAUDE_CODE_WORKFLOW_PREFIX_STAGGER_MS` | Limite supérieure, en millisecondes, du temps pendant lequel un agent de [workflow](/docs/fr/workflows) attend que la première réponse d'un agent frère partageant le même préfixe commence avant d'envoyer sa propre première requête. Lorsqu'un fan-out lance plusieurs agents partageant un [préfixe de cache de prompt](/docs/fr/workflows#prompt-caching-in-a-fan-out), Claude Code retient tous les agents sauf le premier pendant au plus cette durée, afin que les autres lisent le préfixe mis en cache au lieu de le traiter chacun sans cache. Valeur par défaut : `5000`. Définissez sur `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 |

434| `CLAUDE_CONFIG_DIR` | Remplace 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-la dans votre shell, vos paramètres utilisateur ou vos paramètres gérés. Dans un fichier de paramètres, écrivez le [chemin absolu](#in-settings-files). Ignorée dans les [paramètres de projet et locaux](/docs/fr/settings-reference#variables-claude-code-ignores-in-env) |440| `CLAUDE_CONFIG_DIR` | Remplacer 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-la dans votre shell, vos paramètres utilisateur ou vos paramètres gérés. Dans un fichier de paramètres, indiquez le [chemin absolu](#in-settings-files). Ignorée dans les [paramètres de projet et locaux](/docs/fr/settings-reference#variables-claude-code-ignores-in-env) |

435| `CLAUDE_DISABLE_ADOPT` | Définissez sur `1` pour arrêter le travail en arrière-plan en cours au lieu de le reporter lorsque vous passez 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 le passage en arrière-plan, puis arrête les tâches qui seraient sinon reportées. Nécessite Claude Code v2.1.195 ou ultérieur |441| `CLAUDE_DISABLE_ADOPT` | Définissez sur `1` pour arrêter le travail en arrière-plan en cours au lieu de le reporter lorsque vous passez 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 passer en arrière-plan, puis arrête les tâches qui auraient sinon été reportées. Nécessite Claude Code v2.1.195 ou ultérieur |

436| `CLAUDE_EFFORT` | Défini automatiquement dans les sous-processus de l'outil Bash et les commandes de hook sur le [niveau d'effort](/docs/fr/model-config#adjust-effort-level) en vigueur au démarrage du sous-processus : `low`, `medium`, `high`, `xhigh` ou `max`. Correspond au champ `effort.level` transmis aux [hooks](/docs/fr/hooks). Défini uniquement lorsque le modèle actuel prend en charge le paramètre d'effort |442| `CLAUDE_EFFORT` | Définie automatiquement dans les sous-processus de l'outil Bash et les commandes de hook sur le [niveau d'effort](/docs/fr/model-config#adjust-effort-level) en vigueur au démarrage du sous-processus : `low`, `medium`, `high`, `xhigh` ou `max`. Correspond au champ `effort.level` transmis aux [hooks](/docs/fr/hooks). Définie uniquement lorsque le modèle actuel prend en charge le paramètre effort |

437| `CLAUDE_ENABLE_BYTE_WATCHDOG` | Définissez sur `1` pour forcer l'activation du watchdog d'inactivité de streaming au niveau des octets, ou sur `0` pour forcer sa désactivation. `0` désactive aussi l'[échéance du premier octet](/docs/fr/network-config#streaming-idle-watchdogs) sur les connexions où cette échéance s'applique. Lorsqu'elle n'est pas définie, le watchdog est activé par défaut pour les connexions directes à l'API Anthropic et à [Claude Platform on AWS](/docs/fr/claude-platform-on-aws), ainsi que pour les réponses en streaming sur les connexions via une [passerelle](/docs/fr/gateways) atteinte par `ANTHROPIC_BASE_URL` ou `ANTHROPIC_AWS_BASE_URL` ; avant la v2.1.222, il ne s'exécutait pas sur ces connexions de passerelle, de sorte que le watchdog au niveau des événements pouvait y signaler un blocage même lorsque des pings keep-alive arrivaient. Pour les délais d'expiration et l'interaction entre les minuteurs, voir [Watchdogs d'inactivité de streaming](/docs/fr/network-config#streaming-idle-watchdogs) |443| `CLAUDE_ENABLE_BYTE_WATCHDOG` | Définissez sur `1` pour forcer l'activation du watchdog d'inactivité de streaming au niveau des octets, ou sur `0` pour forcer sa désactivation. `0` désactive également le [délai du premier octet](/docs/fr/network-config#streaming-idle-watchdogs) sur les connexions où ce délai s'applique. Lorsqu'elle n'est pas définie, le watchdog est activé par défaut pour les connexions directes à l'API Anthropic et à [Claude Platform on AWS](/docs/fr/claude-platform-on-aws), ainsi que pour les réponses en streaming sur les connexions de [passerelle](/docs/fr/gateways) atteintes via `ANTHROPIC_BASE_URL` ou `ANTHROPIC_AWS_BASE_URL` ; avant la v2.1.222, il ne s'exécutait pas sur ces connexions de passerelle, de sorte que le watchdog au niveau des événements pouvait y signaler un blocage même pendant la réception de pings keep-alive. Pour les délais d'expiration et l'interaction entre les minuteurs, voir [Watchdogs d'inactivité de streaming](/docs/fr/network-config#streaming-idle-watchdogs) |

438| `CLAUDE_ENABLE_BYTE_WATCHDOG_BEDROCK` | Définissez sur `1` pour activer le watchdog d'inactivité de streaming au niveau des octets sur les réponses `vnd.amazon.eventstream` d'Amazon Bedrock, ce qui active aussi l'[échéance du premier octet](/docs/fr/network-config#streaming-idle-watchdogs) sur les requêtes de streaming Bedrock. Désactivé par défaut. Configurez le délai d'expiration avec `CLAUDE_STREAM_IDLE_TIMEOUT_MS` |444| `CLAUDE_ENABLE_BYTE_WATCHDOG_BEDROCK` | Définissez sur `1` pour activer le watchdog d'inactivité de streaming au niveau des octets sur les réponses `vnd.amazon.eventstream` d'Amazon Bedrock, ce qui active également le [délai du premier octet](/docs/fr/network-config#streaming-idle-watchdogs) sur les requêtes de streaming Bedrock. Désactivé par défaut. Configurez le délai d'expiration avec `CLAUDE_STREAM_IDLE_TIMEOUT_MS` |

439| `CLAUDE_ENABLE_STREAM_WATCHDOG` | Définissez sur `0` pour forcer la désactivation du watchdog d'inactivité de streaming au niveau des événements, ou sur `1` pour forcer son activation. Lorsqu'elle n'est pas définie, le watchdog est activé par défaut pour tous les fournisseurs. Avant la v2.1.196, la valeur par défaut en l'absence de définition était contrôlée par le serveur sur l'API Anthropic directe et désactivée chez les autres fournisseurs. Configurez le délai d'expiration avec `CLAUDE_STREAM_IDLE_TIMEOUT_MS` ; pour les autres minuteurs de blocage qui s'exécutent en parallèle de celui-ci, voir [Watchdogs d'inactivité de streaming](/docs/fr/network-config#streaming-idle-watchdogs) |445| `CLAUDE_ENABLE_STREAM_WATCHDOG` | Définissez sur `0` pour forcer la désactivation du watchdog d'inactivité de streaming au niveau des événements, ou sur `1` pour forcer son activation. Lorsqu'elle n'est pas définie, le watchdog est activé par défaut pour tous les fournisseurs. Avant la v2.1.196, la valeur par défaut était contrôlée par le serveur sur l'API Anthropic directe et désactivée chez les autres fournisseurs. Configurez le délai d'expiration avec `CLAUDE_STREAM_IDLE_TIMEOUT_MS` ; pour les autres minuteurs de blocage qui s'exécutent en parallèle, voir [Watchdogs d'inactivité de streaming](/docs/fr/network-config#streaming-idle-watchdogs) |

440| `CLAUDE_ENV_FILE` | Chemin vers un script shell dont Claude Code exécute le contenu avant chaque commande Bash dans le même processus shell, de sorte que les exports du fichier sont visibles par la commande. À utiliser pour conserver l'activation d'un virtualenv ou de conda d'une commande à l'autre. É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) |446| `CLAUDE_ENV_FILE` | Chemin vers un script shell dont Claude Code exécute le contenu avant chaque commande Bash dans le même processus shell, de sorte que les exports du fichier sont visibles par la commande. Utilisez-la pour conserver l'activation d'un virtualenv ou de conda d'une commande à l'autre. Également renseignée 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) |

441| `CLAUDE_JOB_DIR` | Défini par Claude Code dans chaque [session en arrière-plan](/docs/fr/agent-view) sur le répertoire `~/.claude/jobs/<id>` de cette session. Les commandes shell exécutées par la session en héritent. Écrivez les fichiers temporaires dans [`$CLAUDE_JOB_DIR/tmp`](/docs/fr/agent-view#where-state-is-stored). Les appels `Write` et `Edit` de Claude à cet emplacement ne demandent pas de permission, et le répertoire est supprimé lorsque la session est supprimée |447| `CLAUDE_JOB_DIR` | Définie par Claude Code dans chaque [session en arrière-plan](/docs/fr/agent-view) sur le répertoire `~/.claude/jobs/<id>` de cette session. Les commandes shell exécutées par la session en héritent. Écrivez les fichiers temporaires dans [`$CLAUDE_JOB_DIR/tmp`](/docs/fr/agent-view#where-state-is-stored). Les appels `Write` et `Edit` de Claude à cet emplacement ne demandent pas de permission, et le répertoire est supprimé lorsque la session est supprimée |

442| `CLAUDE_PID` | Claude Code définit cette variable sur son propre ID de processus dans les sous-processus qu'il lance : commandes des outils Bash et PowerShell et commandes de hook. Sous Linux, l'intégration shell de l'outil Bash l'utilise pour refuser un motif `pkill` qui correspondrait au processus Claude Code lui-même ; voir [la référence des erreurs](/docs/fr/errors#pkill-pattern-matches-the-claude-code-process). Lisez-la depuis 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 |448| `CLAUDE_PID` | Claude Code définit cette variable sur son propre identifiant de processus dans les sous-processus qu'il lance : les commandes des outils Bash et PowerShell et les commandes de hook. Sous Linux, l'intégration shell de l'outil Bash l'utilise pour refuser un motif `pkill` qui correspondrait au processus Claude Code lui-même ; voir [la référence des erreurs](/docs/fr/errors#pkill-pattern-matches-the-claude-code-process). Lisez-la depuis 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 |

443| `CLAUDE_REMOTE_CONTROL_SESSION_NAME_PREFIX` | Préfixe des noms de session [Remote Control](/docs/fr/remote-control) générés automatiquement lorsqu'aucun nom explicite n'est fourni. Par défaut, il s'agit du nom d'hôte de votre machine, ce qui produit des noms comme `myhost-graceful-unicorn`. Le flag CLI `--remote-control-session-name-prefix` définit la même valeur pour une seule invocation |449| `CLAUDE_REMOTE_CONTROL_SESSION_NAME_PREFIX` | Préfixe des 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, ce qui produit des noms comme `myhost-graceful-unicorn`. Le flag CLI `--remote-control-session-name-prefix` définit la même valeur pour une seule invocation |

444| `CLAUDE_STREAM_FIRST_BYTE_TIMEOUT_MS` | Échéance, en millisecondes, pour le premier octet de réponse d'une requête de streaming, sur les connexions où l'[échéance du premier octet](/docs/fr/network-config#streaming-idle-watchdogs) s'applique. Pour savoir comment Claude Code la borne, le temps supplémentaire qu'il ajoute pour les corps de requête volumineux et comment il choisit l'échéance lorsque cette variable n'est pas définie, voir [No response from API](/docs/fr/errors#no-response-from-api). Nécessite Claude Code v2.1.242 ou ultérieur |450| `CLAUDE_STREAM_FIRST_BYTE_TIMEOUT_MS` | Délai en millisecondes pour le premier octet de réponse d'une requête de streaming, sur les connexions où le [délai du premier octet](/docs/fr/network-config#streaming-idle-watchdogs) s'applique. Pour savoir comment Claude Code le borne, le temps supplémentaire qu'il ajoute pour les corps de requête volumineux et la manière dont il choisit le délai lorsque vous ne définissez pas cette variable, voir [No response from API](/docs/fr/errors#no-response-from-api). Nécessite Claude Code v2.1.242 ou ultérieur |

445| `CLAUDE_STREAM_IDLE_TIMEOUT_MS` | Délai d'expiration, en millisecondes, avant que les watchdogs d'inactivité de streaming au niveau des événements et des octets ferment une connexion bloquée. Lorsque vous définissez explicitement cette variable, le minimum est `300000` (5 minutes) ; les valeurs inférieures sont silencieusement ramenées à ce minimum pour absorber les pauses de réflexion étendue et la mise en mémoire tampon des proxys, et le watchdog au niveau des octets plafonne la valeur à 30 minutes. `CLAUDE_BYTE_STREAM_IDLE_TIMEOUT_MS` a priorité sur cette variable pour le watchdog au niveau des octets. Pour les valeurs par défaut de chaque watchdog lorsque la variable n'est pas définie, voir [Watchdogs d'inactivité de streaming](/docs/fr/network-config#streaming-idle-watchdogs) |451| `CLAUDE_STREAM_IDLE_TIMEOUT_MS` | Délai d'expiration en millisecondes avant que les watchdogs d'inactivité de streaming au niveau des événements et des octets ne ferment une connexion bloquée. Lorsque vous définissez explicitement cette variable, le minimum est `300000` (5 minutes) ; les valeurs inférieures sont silencieusement ramenées à ce minimum pour absorber les pauses de réflexion étendue et la mise en mémoire tampon des proxys, et le watchdog au niveau des octets plafonne la valeur à 30 minutes. `CLAUDE_BYTE_STREAM_IDLE_TIMEOUT_MS` a priorité sur cette variable pour le watchdog au niveau des octets. Pour les valeurs par défaut de chaque watchdog lorsqu'elle n'est pas définie, voir [Watchdogs d'inactivité de streaming](/docs/fr/network-config#streaming-idle-watchdogs) |

446| `CLAUDE_SUBAGENT_BG_SHELL_MAX_MS` | Supprimée dans la v2.1.260 et désormais sans effet. Limitait auparavant la durée d'exécution, en millisecondes, d'une [commande shell en arrière-plan](/docs/fr/interactive-mode#background-bash-commands) lancée par un [sous-agent](/docs/fr/sub-agents), avec une valeur par défaut de 60 minutes. Voir [les règles de durée de vie des commandes en arrière-plan](/docs/fr/tools-reference#background-commands) |452| `CLAUDE_SUBAGENT_BG_SHELL_MAX_MS` | Supprimée dans la v2.1.260 et désormais sans effet. Plafonnait auparavant la durée d'exécution, en millisecondes, d'une [commande shell en arrière-plan](/docs/fr/interactive-mode#background-bash-commands) lancée par un [sous-agent](/docs/fr/sub-agents), avec une valeur par défaut de 60 minutes. Voir [les règles de durée de vie des commandes en arrière-plan](/docs/fr/tools-reference#background-commands) |

447| `DEBUG` | Définissez sur `1` pour activer le mode débogage, équivalent à un lancement avec [`--debug`](/docs/fr/cli-reference#cli-flags). Les logs 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 vraies `1`, `true`, `yes` et `on` activent le mode débogage, de sorte que les motifs d'espace de noms comme `DEBUG=express:*` définis pour d'autres outils ne le déclenchent pas |453| `DEBUG` | Définissez sur `1` pour activer le mode debug, ce qui équivaut à un lancement avec [`--debug`](/docs/fr/cli-reference#cli-flags). Les logs de debug sont écrits dans `~/.claude/debug/<session-id>.txt`, ou dans le chemin défini par `CLAUDE_CODE_DEBUG_LOGS_DIR`. Seules les valeurs vraies `1`, `true`, `yes` et `on` activent le mode debug, de sorte que les motifs d'espace de noms comme `DEBUG=express:*` définis pour d'autres outils ne le déclenchent pas |

448| `DISABLE_AUTOUPDATER` | Définissez sur `1` pour désactiver les mises à jour automatiques en arrière-plan. La commande manuelle `claude update` fonctionne toujours. Utilisez `DISABLE_UPDATES` pour bloquer les deux |454| `DISABLE_AUTOUPDATER` | Définissez sur `1` pour désactiver les mises à jour automatiques en arrière-plan. La commande manuelle `claude update` fonctionne toujours. Utilisez `DISABLE_UPDATES` pour bloquer les deux |

449| `DISABLE_AUTO_COMPACT` | Définissez sur `1` pour désactiver la compaction automatique à l'approche de la limite de contexte. La commande manuelle `/compact` reste disponible. À utiliser lorsque vous souhaitez contrôler explicitement le moment de la compaction. Remplace le paramètre [`autoCompactEnabled`](/docs/fr/settings-reference#autocompactenabled) |455| `DISABLE_AUTO_COMPACT` | Définissez sur `1` pour désactiver la compaction automatique à l'approche de la limite de contexte. La commande manuelle `/compact` reste disponible. Utilisez-la lorsque vous souhaitez contrôler explicitement le moment de la compaction. Remplace le paramètre [`autoCompactEnabled`](/docs/fr/settings-reference#autocompactenabled) |

450| `DISABLE_COMPACT` | Définissez sur `1` pour désactiver toute compaction : la compaction automatique comme la commande manuelle `/compact` |456| `DISABLE_COMPACT` | Définissez sur `1` pour désactiver toute compaction : la compaction automatique comme la commande manuelle `/compact` |

451| `DISABLE_COST_WARNINGS` | Définissez sur `1` pour désactiver les messages d'avertissement de coût |457| `DISABLE_COST_WARNINGS` | Définissez sur `1` pour désactiver les messages d'avertissement sur les coûts |

452| `DISABLE_DOCTOR_COMMAND` | Définissez sur `1` pour masquer le skill de vérification de configuration [`/doctor`](/docs/fr/commands#all-commands) et son alias `/checkup`. Utile pour les déploiements gérés où les utilisateurs ne doivent pas exécuter de diagnostics de configuration depuis une session. N'affecte pas la commande de terminal `claude doctor`. Avant la v2.1.205, cette variable masquait la commande d'écran de diagnostic `/doctor` |458| `DISABLE_DOCTOR_COMMAND` | Définissez sur `1` pour masquer le skill de vérification de la configuration [`/doctor`](/docs/fr/commands#all-commands) et son alias `/checkup`. Utile pour les déploiements gérés où les utilisateurs ne doivent pas exécuter de diagnostics de configuration depuis une session. N'affecte pas la commande de terminal `claude doctor`. Avant la v2.1.205, cette variable masquait la commande d'écran de diagnostic `/doctor` |

453| `DISABLE_ERROR_REPORTING` | Définissez sur n'importe quelle valeur non vide, comme `1`, pour refuser le signalement des erreurs. **La définir sur `0` ou `false` désactive quand même le signalement**, contrairement à la plupart des variables on/off ; supprimez la variable pour réactiver le signalement des erreurs |459| `DISABLE_ERROR_REPORTING` | Définissez sur n'importe quelle valeur non vide, comme `1`, pour refuser le signalement des erreurs. **La définir sur `0` ou `false` entraîne tout de même le refus**, contrairement à la plupart des variables d'activation/désactivation ; supprimez la variable pour réactiver le signalement des erreurs |

454| `DISABLE_EXTRA_USAGE_COMMAND` | Définissez sur `1` pour masquer la commande `/usage-credits` qui permet aux utilisateurs d'acheter une utilisation supplémentaire au-delà des limites de débit |460| `DISABLE_EXTRA_USAGE_COMMAND` | Définissez sur `1` pour masquer la commande `/usage-credits` qui permet aux utilisateurs d'acheter de l'utilisation supplémentaire au-delà des limites de débit |

455| `DISABLE_FEEDBACK_COMMAND` | Définissez sur `1` pour désactiver la commande `/feedback` et les [commentaires rédigés par Claude](/docs/fr/tools-reference#sendfeedback-tool-behavior). Désactive aussi `/bug` et `/share`, qui passent par le même circuit de signalement ; avant la v2.1.212, il s'agissait d'alias de `/feedback`, donc la commande était désactivée sous tous ses noms. L'ancien nom `DISABLE_BUG_COMMAND` est également accepté |461| `DISABLE_FEEDBACK_COMMAND` | Définissez sur `1` pour désactiver la commande `/feedback` et les [retours rédigés par Claude](/docs/fr/tools-reference#sendfeedback-tool-behavior). Désactive également `/bug` et `/share`, qui transmettent leurs signalements par le même canal ; avant la v2.1.212, il s'agissait d'alias de `/feedback`, de sorte que la commande était désactivée sous tous ses noms. L'ancien nom `DISABLE_BUG_COMMAND` est également accepté |

456| `DISABLE_GROWTHBOOK` | Définissez sur `1` ou `true` pour désactiver la récupération des feature flags GrowthBook et utiliser les valeurs par défaut du code pour chaque flag. Cela rend [Remote Control](/docs/fr/remote-control#requirements) et les autres [fonctionnalités qui nécessitent la récupération des feature flags](#features-that-need-feature-flag-fetching) indisponibles. La définir sur `0` ou `false` laisse la récupération activée. La journalisation des événements de télémétrie reste activée, sauf si `DISABLE_TELEMETRY` est également défini |462| `DISABLE_GROWTHBOOK` | Définissez sur `1` ou `true` pour désactiver la récupération des feature flags GrowthBook et utiliser les valeurs par défaut du code pour chaque flag. Cela rend indisponibles [Remote Control](/docs/fr/remote-control#requirements) et les autres [fonctionnalités qui nécessitent la récupération des feature flags](#features-that-need-feature-flag-fetching). La définir sur `0` ou `false` laisse la récupération activée. La journalisation des événements de télémétrie reste active sauf si `DISABLE_TELEMETRY` est également défini |

457| `DISABLE_INSTALLATION_CHECKS` | Définissez sur `1` pour désactiver les avertissements d'installation. À utiliser uniquement lorsque vous gérez manuellement l'emplacement d'installation, car cela peut masquer des problèmes avec les installations standard |463| `DISABLE_INSTALLATION_CHECKS` | Définissez sur `1` pour désactiver les avertissements d'installation. À utiliser uniquement lorsque vous gérez manuellement l'emplacement d'installation, car cela peut masquer des problèmes avec les installations standard |

458| `DISABLE_INSTALL_GITHUB_APP_COMMAND` | Définissez sur `1` pour masquer la commande `/install-github-app`. Déjà masquée lors de l'utilisation de fournisseurs tiers (Amazon Bedrock, Google Cloud's Agent Platform ou Microsoft Foundry) |464| `DISABLE_INSTALL_GITHUB_APP_COMMAND` | Définissez sur `1` pour masquer la commande `/install-github-app`. Déjà masquée lors de l'utilisation de fournisseurs tiers (Amazon Bedrock, Google Cloud's Agent Platform ou Microsoft Foundry) |

459| `DISABLE_INTERLEAVED_THINKING` | Définissez sur `1` pour empêcher l'envoi de l'en-tête bêta interleaved-thinking. Utile lorsque votre passerelle LLM ou votre fournisseur ne prend pas en charge la [réflexion entrelacée](https://platform.claude.com/docs/en/build-with-claude/extended-thinking#interleaved-thinking) |465| `DISABLE_INTERLEAVED_THINKING` | Définissez sur `1` pour empêcher l'envoi de l'en-tête bêta interleaved-thinking. Utile lorsque votre passerelle LLM ou votre fournisseur ne prend pas en charge la [réflexion entrelacée](https://platform.claude.com/docs/en/build-with-claude/extended-thinking#interleaved-thinking) |


464| `DISABLE_PROMPT_CACHING_HAIKU` | Définissez sur `1` pour désactiver le prompt caching pour le [modèle Haiku par défaut](/docs/fr/prompt-caching#disable-prompt-caching), où qu'il s'exécute |470| `DISABLE_PROMPT_CACHING_HAIKU` | Définissez sur `1` pour désactiver le prompt caching pour le [modèle Haiku par défaut](/docs/fr/prompt-caching#disable-prompt-caching), où qu'il s'exécute |

465| `DISABLE_PROMPT_CACHING_OPUS` | Définissez sur `1` pour désactiver le prompt caching pour le [modèle Opus par défaut](/docs/fr/prompt-caching#disable-prompt-caching) |471| `DISABLE_PROMPT_CACHING_OPUS` | Définissez sur `1` pour désactiver le prompt caching pour le [modèle Opus par défaut](/docs/fr/prompt-caching#disable-prompt-caching) |

466| `DISABLE_PROMPT_CACHING_SONNET` | Définissez sur `1` pour désactiver le prompt caching pour le [modèle Sonnet par défaut](/docs/fr/prompt-caching#disable-prompt-caching) |472| `DISABLE_PROMPT_CACHING_SONNET` | Définissez sur `1` pour désactiver le prompt caching pour le [modèle Sonnet par défaut](/docs/fr/prompt-caching#disable-prompt-caching) |

467| `DISABLE_TELEMETRY` | Définissez sur n'importe quelle valeur non vide, comme `1`, pour refuser la télémétrie. **La définir sur `0` ou `false` désactive quand même la télémétrie**, contrairement à la plupart des variables on/off ; supprimez la variable pour réactiver la télémétrie. Les événements de télémétrie n'incluent pas de données utilisateur comme le code, les chemins de fichiers ou les commandes Bash. Désactive aussi la [récupération des feature flags](#features-that-need-feature-flag-fetching). Voir [Désactiver la télémétrie pour votre organisation](/docs/fr/managed-settings#turn-telemetry-off-for-your-organization) |473| `DISABLE_TELEMETRY` | Définissez sur n'importe quelle valeur non vide, comme `1`, pour refuser la télémétrie. **La définir sur `0` ou `false` entraîne tout de même le refus**, contrairement à la plupart des variables d'activation/désactivation ; supprimez la variable pour réactiver la télémétrie. Les événements de télémétrie n'incluent pas de données utilisateur comme le code, les chemins de fichiers ou les commandes Bash. Désactive également la [récupération des feature flags](#features-that-need-feature-flag-fetching). Voir [Désactiver la télémétrie pour votre organisation](/docs/fr/managed-settings#turn-telemetry-off-for-your-organization) |

468| `DISABLE_UPDATES` | Définissez sur `1` pour bloquer toutes les mises à jour, y compris les commandes manuelles `claude update` et `claude install`. Plus strict que `DISABLE_AUTOUPDATER`. À utiliser lorsque vous distribuez Claude Code via vos propres canaux et que les utilisateurs ne doivent pas se mettre à jour eux-mêmes |474| `DISABLE_UPDATES` | Définissez sur `1` pour bloquer toutes les mises à jour, y compris les commandes manuelles `claude update` et `claude install`. Plus strict que `DISABLE_AUTOUPDATER`. Utilisez-la lorsque vous distribuez Claude Code via vos propres canaux et que les utilisateurs ne doivent pas effectuer eux-mêmes les mises à jour |

469| `DISABLE_UPGRADE_COMMAND` | Définissez sur `1` pour masquer la commande `/upgrade` |475| `DISABLE_UPGRADE_COMMAND` | Définissez sur `1` pour masquer la commande `/upgrade` |

470| `DO_NOT_TRACK` | Définissez sur `1` pour refuser la télémétrie, avec le même effet que `DISABLE_TELEMETRY`, y compris sur la [récupération des feature flags](#features-that-need-feature-flag-fetching). Claude Code lit cette variable comme un booléen standard, donc `0` laisse la télémétrie activée, et la respecte en tant que convention inter-outils reconnue par de nombreux CLI de développement |476| `DO_NOT_TRACK` | Définissez sur `1` pour refuser la télémétrie, avec le même effet que `DISABLE_TELEMETRY`, y compris sur la [récupération des feature flags](#features-that-need-feature-flag-fetching). Claude Code lit cette variable comme un booléen standard, donc `0` laisse la télémétrie activée, et la respecte en tant que convention intertools reconnue par de nombreuses CLI de développement |

471| `ENABLE_BETA_TRACING_DETAILED` | Définissez sur `1`, et définissez `BETA_TRACING_ENDPOINT` sur l'endpoint de votre collecteur OTLP/HTTP, pour activer le [tracing bêta détaillé](/docs/fr/monitoring-usage#traces-beta), qui ajoute des attributs de span porteurs de contenu et le span `claude_code.hook`. Les sessions CLI interactives nécessitent aussi que votre organisation figure sur la liste d'autorisation de la bêta. Les deux variables sont ignorées dans les [paramètres de projet et locaux](/docs/fr/settings-reference#variables-claude-code-ignores-in-env) |477| `ENABLE_BETA_TRACING_DETAILED` | Définissez sur `1`, et définissez `BETA_TRACING_ENDPOINT` sur l'endpoint de votre collecteur OTLP/HTTP, pour activer le [traçage bêta détaillé](/docs/fr/monitoring-usage#traces-beta), qui ajoute des attributs de span contenant du contenu et le span `claude_code.hook`. Les sessions CLI interactives nécessitent également que votre organisation figure sur la liste d'autorisation de la bêta. Les deux variables sont ignorées dans les [paramètres de projet et locaux](/docs/fr/settings-reference#variables-claude-code-ignores-in-env) |

472| `ENABLE_CLAUDEAI_MCP_SERVERS` | Définissez sur `false` pour empêcher Claude Code de récupérer les [serveurs MCP claude.ai](/docs/fr/mcp#use-mcp-servers-from-claude-ai). Activé par défaut pour les utilisateurs connectés. Pour désactiver par projet ou par organisation, définissez plutôt [`disableClaudeAiConnectors`](/docs/fr/settings-reference#disableclaudeaiconnectors) dans les paramètres |478| `ENABLE_CLAUDEAI_MCP_SERVERS` | Définissez sur `false` pour empêcher Claude Code de récupérer les [serveurs MCP de claude.ai](/docs/fr/mcp#use-mcp-servers-from-claude-ai). Activée par défaut pour les utilisateurs connectés. Pour désactiver par projet ou par organisation, définissez plutôt [`disableClaudeAiConnectors`](/docs/fr/settings-reference#disableclaudeaiconnectors) dans les paramètres |

473| `ENABLE_PROMPT_CACHING_1H` | Définissez sur `1` pour demander un [TTL de cache de prompt](/docs/fr/prompt-caching#cache-lifetime) d'une heure au lieu des 5 minutes par défaut. Destiné aux utilisateurs de clé API, d'[Amazon Bedrock](/docs/fr/amazon-bedrock), de [Google Cloud's Agent Platform](/docs/fr/google-vertex-ai), de [Microsoft Foundry](/docs/fr/microsoft-foundry) et de [Claude Platform on AWS](/docs/fr/claude-platform-on-aws). Les utilisateurs disposant d'un abonnement, dans la limite de l'utilisation incluse, reçoivent automatiquement le TTL d'une heure sur la [conversation principale](/docs/fr/prompt-caching#which-ttl-each-request-gets). Les utilisateurs disposant d'un abonnement qui puisent dans leurs [crédits d'utilisation](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans) peuvent la définir pour conserver le TTL d'une heure. Les écritures de cache d'une heure sont facturées à un tarif plus élevé. Pour choisir plutôt le TTL par catégorie de requêtes, utilisez `CLAUDE_CODE_PROMPT_CACHE_TTL` et `CLAUDE_CODE_SUBAGENT_PROMPT_CACHE_TTL`, qui ont priorité sur cette variable |479| `ENABLE_PROMPT_CACHING_1H` | Définissez sur `1` pour demander un [TTL de cache de prompt](/docs/fr/prompt-caching#cache-lifetime) d'une heure au lieu des 5 minutes par défaut. Destinée aux utilisateurs de clés API, d'[Amazon Bedrock](/docs/fr/amazon-bedrock), de [Google Cloud's Agent Platform](/docs/fr/google-vertex-ai), de [Microsoft Foundry](/docs/fr/microsoft-foundry) et de [Claude Platform on AWS](/docs/fr/claude-platform-on-aws). Les utilisateurs disposant d'un abonnement qui restent dans l'utilisation incluse reçoivent automatiquement le TTL d'une heure sur la [conversation principale](/docs/fr/prompt-caching#which-ttl-each-request-gets). Les utilisateurs disposant d'un abonnement qui puisent dans leurs [crédits d'utilisation](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans) peuvent la définir pour conserver le TTL d'une heure. Les écritures en cache d'une heure sont facturées à un tarif plus élevé. Pour choisir plutôt le TTL par catégorie de requêtes, utilisez `CLAUDE_CODE_PROMPT_CACHE_TTL` et `CLAUDE_CODE_SUBAGENT_PROMPT_CACHE_TTL`, qui ont priorité sur cette variable |

474| `ENABLE_PROMPT_CACHING_1H_BEDROCK` | Dépréciée. Utilisez `ENABLE_PROMPT_CACHING_1H` à la place |480| `ENABLE_PROMPT_CACHING_1H_BEDROCK` | Dépréciée. Utilisez plutôt `ENABLE_PROMPT_CACHING_1H` |

475| `ENABLE_TOOL_SEARCH` | Contrôle la [recherche d'outils MCP](/docs/fr/mcp#scale-with-mcp-tool-search). Lorsqu'elle n'est pas définie, Claude Code diffère tous les outils MCP par défaut. Il les charge néanmoins dès le départ sur les modèles de Google Cloud's Agent Platform antérieurs à la génération Claude 4.5, sur un déploiement Microsoft Foundry hébergé sur Azure, et lorsque `ANTHROPIC_BASE_URL` pointe vers un hôte qui n'est pas first-party. `true` diffère toujours et envoie l'en-tête bêta, sauf sur ces mêmes modèles Agent Platform et déploiements Microsoft Foundry ; les requêtes échouent sur les proxys qui ne prennent pas en charge `tool_reference`. `auto` charge dès le départ lorsque les définitions d'outils tiennent dans 10 % du contexte. `auto:N` définit un seuil personnalisé, comme `auto:5` pour 5 %. `false` charge tous les outils dès le départ. Une valeur que vous définissez vous-même est ignorée lorsque `CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS` est défini. Avant la v2.1.221, Claude Code désactivait la recherche d'outils pour tous les modèles sur Google Cloud's Agent Platform, sauf si vous définissiez cette variable sur `true` |481| `ENABLE_TOOL_SEARCH` | Contrôle [MCP Tool Search](/docs/fr/mcp#scale-with-mcp-tool-search). Lorsqu'elle n'est pas définie, Claude Code diffère par défaut tous les outils MCP. Il les charge néanmoins dès le départ sur les modèles de Google Cloud's Agent Platform antérieurs à la génération Claude 4.5, sur un déploiement Microsoft Foundry hébergé sur Azure, et lorsque `ANTHROPIC_BASE_URL` pointe vers un hôte non first-party. `true` diffère toujours et envoie l'en-tête bêta, sauf sur ces mêmes modèles Agent Platform et déploiements Microsoft Foundry ; les requêtes échouent sur les proxys qui ne prennent pas en charge `tool_reference`. `auto` charge dès le départ lorsque les définitions d'outils tiennent dans 10 % du contexte. `auto:N` définit un seuil personnalisé, comme `auto:5` pour 5 %. `false` charge tous les outils dès le départ. Une valeur que vous définissez vous-même est ignorée lorsque `CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS` est défini. Avant la v2.1.221, Claude Code désactivait la recherche d'outils pour tous les modèles sur Google Cloud's Agent Platform, sauf si vous définissiez cette variable sur `true` |

476| `FALLBACK_FOR_ALL_PRIMARY_MODELS` | Définissez sur n'importe quelle valeur non vide, comme `1`, pour que Claude Code cesse de réessayer en cas d'erreurs de surcharge répétées pour chaque modèle lorsqu'aucun modèle de secours n'est configuré. **La définir sur `0` ou `false` active quand même ce comportement**, contrairement à la plupart des variables on/off ; supprimez la variable pour rétablir le comportement par défaut des nouvelles tentatives. Sans elle, Claude Code ne cesse de réessayer de cette façon que sur les modèles qu'il reconnaît comme des modèles Opus, Fable ou Mythos, lorsque vous vous authentifiez avec une clé API ou un [fournisseur tiers](/docs/fr/third-party-integrations) plutôt qu'avec un abonnement Claude. Sur Claude Code v2.1.160 ou ultérieur, Claude Code bascule sur votre [chaîne de modèles de secours](/docs/fr/model-config#fallback-model-chains) configurée en cas d'erreurs de surcharge répétées pour n'importe quel modèle principal, donc cette variable n'affecte pas le basculement vers un modèle de secours |482| `FALLBACK_FOR_ALL_PRIMARY_MODELS` | Définissez sur n'importe quelle valeur non vide, comme `1`, pour que Claude Code cesse de réessayer en cas d'erreurs de surcharge répétées pour tous les modèles lorsqu'aucun modèle de secours n'est configuré. **La définir sur `0` ou `false` active tout de même ce comportement**, contrairement à la plupart des variables d'activation/désactivation ; supprimez la variable pour rétablir le comportement par défaut des nouvelles tentatives. Sans elle, Claude Code cesse de réessayer de cette manière sur les modèles qu'il reconnaît comme des modèles Opus, Fable ou Mythos lorsque vous vous authentifiez avec une clé API ou un [fournisseur tiers](/docs/fr/third-party-integrations) plutôt qu'avec un abonnement Claude. Sur Claude Code v2.1.160 ou ultérieur, Claude Code bascule sur votre [chaîne de modèles de secours](/docs/fr/model-config#fallback-model-chains) configurée en cas d'erreurs de surcharge répétées pour n'importe quel modèle principal, donc cette variable n'affecte pas le basculement vers un modèle de secours |

477| `FORCE_AUTOUPDATE_PLUGINS` | Définissez sur `1` pour forcer les mises à jour automatiques des plugins même lorsque le programme de mise à jour automatique principal est désactivé via `DISABLE_AUTOUPDATER` |483| `FORCE_AUTOUPDATE_PLUGINS` | Définissez sur `1` pour forcer les mises à jour automatiques des plugins même lorsque le système de mise à jour automatique principal est désactivé via `DISABLE_AUTOUPDATER` |

478| `FORCE_HYPERLINK` | Définissez sur `1` pour activer les hyperliens OSC 8 cliquables lorsque votre terminal les prend en charge mais n'est pas détecté automatiquement, ou sur `0` pour les désactiver. Lorsqu'elle n'est pas définie, Claude Code n'active les hyperliens que s'il détecte leur prise en charge par le terminal. Claude Code analyse cette valeur comme un nombre et non comme un booléen, donc une valeur comme `false`, `no` ou `off` active les hyperliens au lieu de les désactiver. Le [badge de PR ou de merge request](/docs/fr/interactive-mode#pr-review-status) du pied de page s'affiche sous forme d'hyperlien même lorsque Claude Code ne peut pas détecter la prise en charge du terminal, par exemple via SSH. Définissez `0` pour afficher le badge en texte brut |484| `FORCE_HYPERLINK` | Définissez sur `1` pour activer les hyperliens OSC 8 cliquables lorsque votre terminal les prend en charge sans être détecté automatiquement, ou sur `0` pour les désactiver. Lorsqu'elle n'est pas définie, Claude Code n'active les hyperliens que s'il détecte leur prise en charge par le terminal. Claude Code analyse cette valeur comme un nombre et non comme un booléen, donc une valeur telle que `false`, `no` ou `off` active les hyperliens au lieu de les désactiver. Le [badge de PR ou de merge request](/docs/fr/interactive-mode#pr-review-status) du pied de page s'affiche sous forme d'hyperlien même lorsque Claude Code ne peut pas détecter la prise en charge par le terminal, par exemple via SSH. Définissez `0` pour afficher le badge en texte brut |

479| `FORCE_PROMPT_CACHING_5M` | Définissez sur `1` pour forcer le TTL de cache de prompt de 5 minutes même lorsque le TTL d'une heure s'appliquerait autrement. Remplace `CLAUDE_CODE_PROMPT_CACHE_TTL`, `CLAUDE_CODE_SUBAGENT_PROMPT_CACHE_TTL`, `ENABLE_PROMPT_CACHING_1H`, ainsi que les paramètres `promptCacheTtl` et `subagentPromptCacheTtl` |485| `FORCE_PROMPT_CACHING_5M` | Définissez sur `1` pour forcer le TTL de cache de prompt de 5 minutes même lorsque le TTL d'une heure s'appliquerait autrement. Remplace `CLAUDE_CODE_PROMPT_CACHE_TTL`, `CLAUDE_CODE_SUBAGENT_PROMPT_CACHE_TTL`, `ENABLE_PROMPT_CACHING_1H`, ainsi que les paramètres `promptCacheTtl` et `subagentPromptCacheTtl` |

480| `HTTP_PROXY` | Spécifie le serveur proxy HTTP pour les connexions réseau |486| `HTTP_PROXY` | Spécifier le serveur proxy HTTP pour les connexions réseau |

481| `HTTPS_PROXY` | Spécifie le serveur proxy HTTPS pour les connexions réseau |487| `HTTPS_PROXY` | Spécifier le serveur proxy HTTPS pour les connexions réseau |

482| `IS_DEMO` | Définissez sur n'importe quelle valeur non vide, comme `1`, pour activer le mode démo : masque votre e-mail et le nom de votre organisation dans l'en-tête et dans la sortie de `/status`, et ignore l'onboarding. **La définir sur `0` ou `false` active quand même le mode démo**, contrairement à la plupart des variables on/off ; supprimez la variable pour le désactiver. Utile lors de la diffusion en streaming ou de l'enregistrement d'une session |488| `IS_DEMO` | Définissez sur n'importe quelle valeur non vide, comme `1`, pour activer le mode démo : masque votre adresse e-mail et le nom de votre organisation dans l'en-tête et dans la sortie de `/status`, et ignore l'onboarding. **La définir sur `0` ou `false` active tout de même le mode démo**, contrairement à la plupart des variables d'activation/désactivation ; supprimez la variable pour le désactiver. Utile lors de la diffusion en streaming ou de l'enregistrement d'une session |

483| `MAX_MCP_OUTPUT_TOKENS` | Nombre maximal de tokens autorisés dans les réponses des outils MCP (par défaut : 25000). Claude Code affiche un avertissement lorsque la sortie dépasse 10 000 tokens. Les outils qui déclarent [`anthropic/maxResultSizeChars`](/docs/fr/mcp#raise-the-limit-for-a-specific-tool) utilisent plutôt cette limite de caractères pour le contenu textuel, mais le contenu image de ces outils reste soumis à cette variable. Un résultat textuel réussi de plus de 50 000 caractères provenant d'un outil sans cette annotation est [enregistré dans un fichier](/docs/fr/mcp#mcp-output-limits-and-warnings), quelle que soit cette variable |489| `MAX_MCP_OUTPUT_TOKENS` | Nombre maximal de tokens autorisés dans les réponses des outils MCP (par défaut : 25000). Claude Code affiche un avertissement lorsque la sortie dépasse 10 000 tokens. Les outils qui déclarent [`anthropic/maxResultSizeChars`](/docs/fr/mcp#raise-the-limit-for-a-specific-tool) utilisent plutôt cette limite de caractères pour le contenu textuel, mais le contenu image de ces outils reste soumis à cette variable. Un résultat textuel réussi de plus de 50 000 caractères provenant d'un outil sans cette annotation est [enregistré dans un fichier](/docs/fr/mcp#mcp-output-limits-and-warnings), quelle que soit cette variable |

484| `MAX_STRUCTURED_OUTPUT_RETRIES` | Nombre de tentatives que Claude Code autorise 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 flag `-p` ; après ce nombre de tentatives échouées sans sortie valide, l'exécution échoue. La même limite s'applique lorsque la sortie structurée d'un sous-agent de [workflow](/docs/fr/workflows) échoue à la validation. Par défaut 5, soit une première tentative plus quatre nouvelles tentatives |490| `MAX_STRUCTURED_OUTPUT_RETRIES` | Nombre de tentatives que Claude Code autorise 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 flag `-p` ; après ce nombre de tentatives infructueuses sans sortie valide, l'exécution échoue. Le même plafond s'applique lorsque la sortie structurée d'un sous-agent de [workflow](/docs/fr/workflows) échoue à la validation. La valeur par défaut est 5, soit une première tentative plus quatre nouvelles tentatives |

485| `MAX_THINKING_TOKENS` | Budget de tokens fixe pour la [réflexion étendue](https://platform.claude.com/docs/en/build-with-claude/extended-thinking). Claude Code le plafonne à un token en dessous du nombre maximal de tokens de sortie de la requête, et jamais en dessous de 1 024. Voir `CLAUDE_CODE_MAX_OUTPUT_TOKENS` pour savoir comment cette limite est définie. Lorsqu'elle n'est pas définie et que la réflexion est activée, les modèles dotés du [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 sur `0` pour désactiver la réflexion sur l'API Anthropic, sauf sur Opus 5.5, Sonnet 5.5, Haiku 5.5 et les modèles Fable, dont la réflexion ne peut pas être désactivée. Sur les [fournisseurs tiers](/docs/fr/third-party-integrations), `0` omet plutôt le paramètre `thinking`. Lorsque la réflexion est désactivée sur l'API Anthropic, Claude Code envoie l'effort `high` au lieu d'un niveau supérieur aux modèles dont il sait qu'ils [n'acceptent pas cette combinaison](/docs/fr/errors#effort-isnt-available-with-thinking-turned-off), comme Opus 5. Pour une valeur positive, Claude Code ignore le nombre lui-même sur les modèles à raisonnement adaptatif, sauf lorsque `CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING` désactive le raisonnement adaptatif |491| `MAX_THINKING_TOKENS` | Budget fixe de tokens pour la [réflexion étendue](https://platform.claude.com/docs/en/build-with-claude/extended-thinking). Claude Code le plafonne à un token de moins que le nombre maximal de tokens de sortie de la requête, et jamais en dessous de 1 024. Voir `CLAUDE_CODE_MAX_OUTPUT_TOKENS` pour savoir comment cette limite est définie. Lorsqu'elle n'est pas définie et que la réflexion est activée, les modèles dotés du [raisonnement adaptatif](/docs/fr/model-config#adjust-effort-level) choisissent eux-mêmes leur profondeur de réflexion, et les autres modèles utilisent le plafond. Définissez sur `0` pour désactiver la réflexion sur l'API Anthropic, sauf sur Opus 5.5, Sonnet 5.5, Haiku 5.5 et les modèles Fable, dont la réflexion ne peut pas être désactivée. Sur les [fournisseurs tiers](/docs/fr/third-party-integrations), `0` omet plutôt le paramètre `thinking`. Lorsque la réflexion est désactivée sur l'API Anthropic, Claude Code envoie l'effort `high` au lieu d'un niveau supérieur aux modèles dont il sait qu'ils [n'acceptent pas cette combinaison](/docs/fr/errors#effort-isnt-available-with-thinking-turned-off), comme Opus 5. Pour une valeur positive, Claude Code ignore le nombre lui-même sur les modèles à raisonnement adaptatif, sauf lorsque `CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING` désactive le raisonnement adaptatif |

486| `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 la demande interactive lors de l'ajout d'un serveur avec `--client-secret` |492| `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 la demande interactive lors de l'ajout d'un serveur avec `--client-secret` |

487| `MCP_CONNECTION_NONBLOCKING` | Contrôle si le démarrage attend la connexion des serveurs MCP 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 à mesure qu'ils terminent. Définissez sur `0` pour que Claude Code attende la connexion des serveurs avant la première requête. Les serveurs configurés avec [`alwaysLoad: true`](/docs/fr/mcp#exempt-a-server-from-deferral) font tout de même attendre le démarrage, sauf lorsqu'ils sont servis depuis le [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`) sans `--input-format stream-json`, Claude Code attend aussi les serveurs encore en attente avant le premier tour, quelle que soit cette variable. Lorsque vous passez explicitement [`--mcp-config`](/docs/fr/cli-reference#cli-flags), l'attente a une échéance plus longue ; voir l'entrée de ce flag pour l'exception concernant les serveurs en cache |493| `MCP_CONNECTION_NONBLOCKING` | Contrôle si le démarrage attend la connexion des serveurs MCP 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. Définissez sur `0` pour que Claude Code attende la connexion des serveurs 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, sauf lorsqu'ils sont servis depuis le [cache de découverte](/docs/fr/mcp#server-status-detail), car leurs outils doivent être présents lors de la construction du premier prompt. En mode non interactif (`-p`) sans `--input-format stream-json`, Claude Code attend également les serveurs encore en attente avant le premier tour, quelle que soit cette variable. Lorsque vous passez explicitement [`--mcp-config`](/docs/fr/cli-reference#cli-flags), l'attente a un délai plus long ; voir l'entrée de ce flag pour l'exception concernant les serveurs en cache |

488| `MCP_CONNECT_TIMEOUT_MS` | Durée, en millisecondes, pendant laquelle le démarrage MCP bloquant attend le lot de connexions avant de capturer la liste des 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 encore en attente à l'échéance continuent de se connecter en arrière-plan. Distinct de `MCP_TIMEOUT`, qui limite la tentative de connexion d'un serveur individuel |494| `MCP_CONNECT_TIMEOUT_MS` | Durée, en millisecondes, pendant laquelle le démarrage MCP bloquant attend le lot de connexions avant de figer la liste des 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 encore en attente à l'échéance continuent de se connecter en arrière-plan. Distincte de `MCP_TIMEOUT`, qui limite la tentative de connexion d'un serveur individuel |

489| `MCP_DISCOVERY_CACHE` | Active ou désactive le [cache de découverte MCP](/docs/fr/mcp#server-status-detail). Lorsque le cache est activé, un serveur HTTP ou SSE distant que vous avez déjà utilisé peut afficher le [statut `cached`](/docs/fr/mcp#server-status-detail), et Claude Code le connecte lors de son premier appel d'outil plutôt qu'au démarrage. Le cache est désactivé par défaut, sauf si un déploiement progressif l'a activé pour votre compte. Définissez sur `1` pour l'activer, ou sur `0` pour le laisser désactivé même lorsque le déploiement progressif l'a activé. Avant la v2.1.238, le cache était activé par défaut. Le statut `cached` nécessite Claude Code v2.1.221 ou ultérieur |495| `MCP_DISCOVERY_CACHE` | Active ou désactive le [cache de découverte MCP](/docs/fr/mcp#server-status-detail). Lorsque le cache est activé, un serveur HTTP ou SSE distant que vous avez déjà utilisé peut afficher le [statut `cached`](/docs/fr/mcp#server-status-detail), et Claude Code le connecte lors de son premier appel d'outil plutôt qu'au démarrage. Le cache est désactivé par défaut, sauf si un déploiement progressif l'a activé pour votre compte. Définissez sur `1` pour l'activer, ou sur `0` pour le maintenir désactivé même lorsque le déploiement progressif l'a activé. Avant la v2.1.238, le cache était activé par défaut. Le statut `cached` nécessite Claude Code v2.1.221 ou ultérieur |

490| `MCP_DISCOVERY_CACHE_MAX_STALE_S` | Âge maximal, en secondes, d'une entrée du [cache de découverte](/docs/fr/mcp#server-status-detail) (par défaut : 14400, soit 4 heures). Lors d'un démarrage où l'entrée est plus ancienne, Claude Code la supprime et connecte le serveur au démarrage, comme lorsque le cache est désactivé. Claude Code plafonne la valeur à 7 jours. Avant la v2.1.238, la valeur par défaut était 86400, soit 24 heures, et Claude Code ne plafonnait pas la valeur |496| `MCP_DISCOVERY_CACHE_MAX_STALE_S` | Âge maximal, en secondes, d'une entrée du [cache de découverte](/docs/fr/mcp#server-status-detail) (par défaut : 14400, soit 4 heures). Lors d'un démarrage où l'entrée est plus ancienne, Claude Code la supprime et connecte le serveur au démarrage, comme lorsque le cache est désactivé. Claude Code plafonne la valeur à 7 jours. Avant la v2.1.238, la valeur par défaut était 86400, soit 24 heures, et Claude Code ne plafonnait pas la valeur |

491| `MCP_DISCOVERY_CACHE_STRIKES` | Lors d'un démarrage où une entrée du [cache de découverte](/docs/fr/mcp#server-status-detail) est plus ancienne que `MCP_DISCOVERY_CACHE_TTL_S`, Claude Code l'actualise en arrière-plan. Cette variable définit combien d'actualisations consécutives peuvent échouer avant que Claude Code ne supprime l'entrée et connecte plutôt le serveur au démarrage suivant (par défaut : 1). Augmentez-la si votre connexion réseau se coupe occasionnellement, afin qu'une seule actualisation échouée ne supprime pas l'entrée. Nécessite Claude Code v2.1.238 ou ultérieur |497| `MCP_DISCOVERY_CACHE_STRIKES` | Lors d'un démarrage où une entrée du [cache de découverte](/docs/fr/mcp#server-status-detail) est plus ancienne que `MCP_DISCOVERY_CACHE_TTL_S`, Claude Code l'actualise en arrière-plan. Cette variable définit le nombre d'actualisations consécutives pouvant échouer avant que Claude Code ne supprime l'entrée et ne connecte plutôt le serveur au démarrage suivant (par défaut : 1). Augmentez-la si votre connexion réseau est parfois interrompue, afin qu'une seule actualisation échouée ne supprime pas l'entrée. Nécessite Claude Code v2.1.238 ou ultérieur |

492| `MCP_DISCOVERY_CACHE_TTL_S` | Nombre de secondes pendant lesquelles Claude Code utilise une entrée du [cache de découverte](/docs/fr/mcp#server-status-detail) sans l'actualiser (par défaut : 900). Lors d'un démarrage où l'entrée est plus ancienne, Claude Code l'utilise quand même mais l'actualise en arrière-plan. Une fois que l'entrée est plus ancienne que `MCP_DISCOVERY_CACHE_MAX_STALE_S`, Claude Code la supprime à la place. Claude Code plafonne la valeur à `MCP_DISCOVERY_CACHE_MAX_STALE_S`, soit 4 heures par défaut. Avant la v2.1.238, Claude Code ne plafonnait pas la valeur |498| `MCP_DISCOVERY_CACHE_TTL_S` | Nombre de secondes pendant lesquelles Claude Code utilise une entrée du [cache de découverte](/docs/fr/mcp#server-status-detail) sans l'actualiser (par défaut : 900). Lors d'un démarrage où l'entrée est plus ancienne, Claude Code l'utilise toujours mais l'actualise en arrière-plan. Une fois l'entrée plus ancienne que `MCP_DISCOVERY_CACHE_MAX_STALE_S`, Claude Code la supprime. Claude Code plafonne la valeur à `MCP_DISCOVERY_CACHE_MAX_STALE_S`, soit 4 heures par défaut. Avant la v2.1.238, Claude Code ne plafonnait pas la valeur |

493| `MCP_OAUTH_CALLBACK_PORT` | Port fixe pour le callback de redirection OAuth, comme alternative à `--callback-port` lors de l'ajout d'un serveur MCP avec des [identifiants préconfigurés](/docs/fr/mcp#use-pre-configured-oauth-credentials) |499| `MCP_OAUTH_CALLBACK_PORT` | Port fixe pour le callback de redirection OAuth, comme alternative à `--callback-port` lors de l'ajout d'un serveur MCP avec des [identifiants préconfigurés](/docs/fr/mcp#use-pre-configured-oauth-credentials) |

494| `MCP_PROTOCOL_NEGOTIATION` | Sur le [runtime client MCP v2](/docs/fr/mcp#mcp-client-runtimes) uniquement, indique si Claude Code sonde les serveurs pour la révision 2026-07-28 du protocole MCP. Définissez `auto` pour sonder les serveurs HTTP, de connecteur claude.ai et stdio, ou `legacy` pour n'en sonder aucun. Lorsque la variable n'est pas définie, Claude Code sonde les serveurs décrits dans [Runtimes client MCP](/docs/fr/mcp#mcp-client-runtimes). Toute autre valeur est ignorée avec un avertissement dans le log de débogage. Nécessite Claude Code v2.1.221 ou ultérieur |500| `MCP_PROTOCOL_NEGOTIATION` | Uniquement sur le [runtime client MCP v2](/docs/fr/mcp#mcp-client-runtimes), indique si Claude Code sonde les serveurs pour la révision 2026-07-28 du protocole MCP. Définissez `auto` pour sonder les serveurs HTTP, les connecteurs claude.ai et les serveurs stdio, ou `legacy` pour n'en sonder aucun. Lorsque la variable n'est pas définie, Claude Code sonde les serveurs décrits dans [Runtimes client MCP](/docs/fr/mcp#mcp-client-runtimes). Toute autre valeur est ignorée avec un avertissement dans le log de debug. Nécessite Claude Code v2.1.221 ou ultérieur |

495| `MCP_REMOTE_SERVER_CONNECTION_BATCH_SIZE` | Nombre maximal de serveurs MCP distants (HTTP/SSE) à connecter en parallèle au démarrage (par défaut : 20) |501| `MCP_REMOTE_SERVER_CONNECTION_BATCH_SIZE` | Nombre maximal de serveurs MCP distants (HTTP/SSE) à connecter en parallèle au démarrage (par défaut : 20) |

496| `MCP_SDK_GENERATION` | Fixe le [runtime client MCP](/docs/fr/mcp#mcp-client-runtimes) avec lequel ce processus se connecte aux serveurs MCP : `v1`, basé sur le SDK TypeScript MCP 1.x, ou `v2`, basé sur le [SDK TypeScript MCP 2.0](https://ts.sdk.modelcontextprotocol.io/v2/). Sans la variable, Claude Code utilise v2, à partir des versions indiquées dans cette section. Sur Claude Code v2.1.221 ou ultérieur, le runtime v2 vérifie l'émetteur qu'un serveur OAuth MCP renvoie dans sa réponse d'autorisation et fait échouer la connexion avec une erreur commençant par `Issuer mismatch in authorization response` lorsqu'il ne correspond pas. Le runtime v1 n'effectue pas cette vérification. Si vous définissez une valeur non reconnue, Claude Code l'ignore et écrit un avertissement dans le log de débogage. Claude Code lit la valeur une fois par processus. Nécessite Claude Code v2.1.218 ou ultérieur |502| `MCP_SDK_GENERATION` | Fixe le [runtime client MCP](/docs/fr/mcp#mcp-client-runtimes) avec lequel ce processus se connecte aux serveurs MCP : `v1`, basé sur le SDK TypeScript MCP 1.x, ou `v2`, basé sur le [SDK TypeScript MCP 2.0](https://ts.sdk.modelcontextprotocol.io/v2/). Sans la variable, Claude Code utilise v2, à partir des versions indiquées dans cette section. Sur Claude Code v2.1.221 ou ultérieur, le runtime v2 vérifie l'émetteur renvoyé par un serveur OAuth MCP dans sa réponse d'autorisation et fait échouer la connexion avec une erreur commençant par `Issuer mismatch in authorization response` lorsqu'il ne correspond pas. Le runtime v1 n'effectue pas cette vérification. Si vous définissez une valeur non reconnue, Claude Code l'ignore et écrit un avertissement dans le log de debug. Claude Code lit la valeur une fois par processus. Nécessite Claude Code v2.1.218 ou ultérieur |

497| `MCP_SERVER_CONNECTION_BATCH_SIZE` | Nombre maximal de serveurs MCP locaux (stdio) à connecter en parallèle au démarrage (par défaut : 3) |503| `MCP_SERVER_CONNECTION_BATCH_SIZE` | Nombre maximal de serveurs MCP locaux (stdio) à connecter en parallèle au démarrage (par défaut : 3) |

498| `MCP_TIMEOUT` | Délai d'expiration en millisecondes pour le démarrage des serveurs MCP (par défaut : 30000, soit 30 secondes) |504| `MCP_TIMEOUT` | Délai d'expiration en millisecondes pour le démarrage des serveurs MCP (par défaut : 30000, soit 30 secondes) |

499| `MCP_TOOL_TIMEOUT` | Délai d'expiration en millisecondes pour l'exécution des outils MCP (par défaut : 100000000, environ 28 heures). Pour un serveur HTTP, SSE ou de connecteur claude.ai, chaque requête expire aussi après 60 secondes par défaut ; définissez cette variable, ou le `timeout` par serveur, au-dessus de 60000 pour relever cette limite par requête. Une valeur inférieure raccourcit tout de même le délai d'expiration global d'exécution de l'outil, mais laisse la limite par requête à 60 secondes. Les serveurs stdio et WebSocket n'ont pas de minuteur par requête. Un champ `timeout` par serveur dans `.mcp.json` remplace cette valeur pour ce serveur. Un `timeout` par serveur d'au moins 1000 définit aussi la fenêtre d'inactivité minimale pour les appels d'outils de ce serveur, de sorte que `CLAUDE_CODE_MCP_TOOL_IDLE_TIMEOUT` ne les interrompt jamais plus tôt ; ce plancher nécessite Claude Code v2.1.203 ou ultérieur. Pour la variable d'environnement, les valeurs inférieures à 1000 sont ramenées à une seconde ; pour le champ par serveur, les valeurs inférieures à 1000 sont ignorées |505| `MCP_TOOL_TIMEOUT` | Délai d'expiration en millisecondes pour l'exécution des outils MCP (par défaut : 100000000, soit environ 28 heures). Pour un serveur HTTP, SSE ou un connecteur claude.ai, chaque requête expire également après 60 secondes par défaut ; définissez cette variable, ou le `timeout` par serveur, au-delà de 60000 pour relever cette limite par requête. Une valeur inférieure raccourcit tout de même le délai d'expiration global de l'exécution de l'outil, mais laisse la limite par requête à 60 secondes. Les serveurs stdio et WebSocket n'ont pas de minuteur par requête. Un champ `timeout` par serveur dans `.mcp.json` remplace cette variable pour ce serveur. Un `timeout` par serveur d'au moins 1000 définit également la fenêtre d'inactivité minimale pour les appels d'outils de ce serveur, de sorte que `CLAUDE_CODE_MCP_TOOL_IDLE_TIMEOUT` ne les interrompt jamais plus tôt ; ce plancher nécessite Claude Code v2.1.203 ou ultérieur. Pour la variable d'environnement, les valeurs inférieures à 1000 sont ramenées à une seconde ; pour le champ par serveur, les valeurs inférieures à 1000 sont ignorées |

500| `NO_PROXY` | Liste des domaines et des adresses IP vers lesquels les requêtes sont émises directement, en contournant le proxy |506| `NO_PROXY` | Liste des domaines et adresses IP vers lesquels les requêtes seront émises directement, en contournant le proxy |

501| `OTEL_ATTRIBUTE_VALUE_LENGTH_LIMIT` | Limite standard du SDK OpenTelemetry sur la longueur des valeurs d'attributs. Claude Code plafonne les attributs de télémétrie porteurs de contenu à la plus petite valeur entre celle-ci et `CLAUDE_CODE_OTEL_CONTENT_MAX_LENGTH`, afin que le marqueur de troncature reste dans la limite du SDK. Claude Code lit les variantes `OTEL_LOGRECORD_ATTRIBUTE_VALUE_LENGTH_LIMIT` et `OTEL_SPAN_ATTRIBUTE_VALUE_LENGTH_LIMIT` de la même façon, et la plus petite valeur définie s'applique à tous les signaux. Nécessite Claude Code v2.1.214 ou ultérieur. Voir [Surveillance](/docs/fr/monitoring-usage#common-configuration-variables) |507| `OTEL_ATTRIBUTE_VALUE_LENGTH_LIMIT` | Limite standard du SDK OpenTelemetry sur la longueur des valeurs d'attributs. Claude Code plafonne les attributs de télémétrie contenant du contenu à la plus petite valeur entre celle-ci et `CLAUDE_CODE_OTEL_CONTENT_MAX_LENGTH`, afin que le marqueur de troncature reste dans la limite du SDK. Claude Code lit de la même manière les variantes `OTEL_LOGRECORD_ATTRIBUTE_VALUE_LENGTH_LIMIT` et `OTEL_SPAN_ATTRIBUTE_VALUE_LENGTH_LIMIT`, et la plus petite valeur définie s'applique à tous les signaux. Nécessite Claude Code v2.1.214 ou ultérieur. Voir [Surveillance](/docs/fr/monitoring-usage#common-configuration-variables) |

502| `OTEL_LOG_ASSISTANT_RESPONSES` | Définissez sur `1` pour inclure le texte de réponse du modèle dans les événements de log OpenTelemetry `assistant_response`. Lorsqu'elle n'est pas définie, Claude Code utilise plutôt la valeur de `OTEL_LOG_USER_PROMPTS`. Définissez sur `0` pour garder les réponses masquées même lorsque `OTEL_LOG_USER_PROMPTS` est défini. Définissez-la dans votre shell, vos paramètres utilisateur ou vos paramètres gérés. Ignorée dans les [paramètres de projet et locaux](/docs/fr/settings-reference#variables-claude-code-ignores-in-env). Nécessite Claude Code v2.1.193 ou ultérieur. Voir [Surveillance](/docs/fr/monitoring-usage#assistant-response-event) |508| `OTEL_LOG_ASSISTANT_RESPONSES` | Définissez sur `1` pour inclure le texte de réponse du modèle dans les événements de log OpenTelemetry `assistant_response`. Lorsqu'elle n'est pas définie, Claude Code utilise plutôt la valeur de `OTEL_LOG_USER_PROMPTS`. Définissez sur `0` pour que les réponses restent masquées même lorsque `OTEL_LOG_USER_PROMPTS` est défini. Définissez-la dans votre shell, vos paramètres utilisateur ou vos paramètres gérés. Ignorée dans les [paramètres de projet et locaux](/docs/fr/settings-reference#variables-claude-code-ignores-in-env). Nécessite Claude Code v2.1.193 ou ultérieur. Voir [Surveillance](/docs/fr/monitoring-usage#assistant-response-event) |

503| `OTEL_LOG_MANAGED_SETTINGS` | Définissez sur `1` pour ajouter les paramètres gérés masqués, ainsi qu'un condensé SHA-256 des paramètres avant masquage, aux événements de log OpenTelemetry `managed_settings_resolved`. Désactivé par défaut. Définissez-la dans votre shell, vos paramètres utilisateur ou vos paramètres gérés ; une valeur dans les paramètres de projet ou locaux ne l'active pas. Nécessite Claude Code v2.1.274 ou ultérieur. Voir [Surveillance](/docs/fr/monitoring-usage#managed-settings-resolved-event) |509| `OTEL_LOG_MANAGED_SETTINGS` | Définissez sur `1` pour ajouter les paramètres gérés masqués, ainsi qu'un condensé SHA-256 des paramètres avant masquage, aux événements de log OpenTelemetry `managed_settings_resolved`. Désactivée par défaut. Définissez-la dans votre shell, vos paramètres utilisateur ou vos paramètres gérés ; une valeur dans les paramètres de projet ou locaux ne l'active pas. Nécessite Claude Code v2.1.274 ou ultérieur. Voir [Surveillance](/docs/fr/monitoring-usage#managed-settings-resolved-event) |

504| `OTEL_LOG_RAW_API_BODIES` | Émet le JSON des requêtes et des réponses de l'API Messages d'Anthropic sous forme d'événements de log `api_request_body` / `api_response_body`. Définissez sur `1` pour des corps inline tronqués à la limite de contenu, ou sur `file:<dir>` pour écrire les corps non tronqués sur le disque et émettre plutôt un chemin `body_ref`. `CLAUDE_CODE_OTEL_CONTENT_MAX_LENGTH` configure la limite de contenu, 60 Ko par défaut. Désactivé par défaut ; les corps incluent l'intégralité de l'historique de la conversation. Définissez-la dans votre shell, vos paramètres utilisateur ou vos paramètres gérés. Ignorée dans les [paramètres de projet et locaux](/docs/fr/settings-reference#variables-claude-code-ignores-in-env). Voir [Surveillance](/docs/fr/monitoring-usage#api-request-body-event) |510| `OTEL_LOG_RAW_API_BODIES` | Émet le JSON des requêtes et réponses de l'API Messages d'Anthropic sous forme d'événements de log `api_request_body` / `api_response_body`. Définissez sur `1` pour des corps intégrés tronqués à la limite de contenu, ou sur `file:<dir>` pour écrire les corps non tronqués sur le disque et émettre plutôt un chemin `body_ref`. `CLAUDE_CODE_OTEL_CONTENT_MAX_LENGTH` configure la limite de contenu, 60 Ko par défaut. Désactivée par défaut ; les corps incluent l'intégralité de l'historique de la conversation. Définissez-la dans votre shell, vos paramètres utilisateur ou vos paramètres gérés. Ignorée dans les [paramètres de projet et locaux](/docs/fr/settings-reference#variables-claude-code-ignores-in-env). Voir [Surveillance](/docs/fr/monitoring-usage#api-request-body-event) |

505| `OTEL_LOG_TOOL_CONTENT` | Définissez sur `1` pour inclure le contenu des outils dans l'événement de span OpenTelemetry `tool.output`. Les attributs de span portent le contenu des outils selon [leurs propres conditions](/docs/fr/monitoring-usage#new-context-gates). Nécessite le [tracing](/docs/fr/monitoring-usage#traces-beta). Désactivé par défaut pour protéger les données sensibles. Définissez-la dans votre shell, vos paramètres utilisateur ou vos paramètres gérés. Ignorée dans les [paramètres de projet et locaux](/docs/fr/settings-reference#variables-claude-code-ignores-in-env), hormis les valeurs de désactivation décrites dans cette section. Voir [Surveillance](/docs/fr/monitoring-usage#tool-output-span-event) |511| `OTEL_LOG_TOOL_CONTENT` | Définissez sur `1` pour inclure le contenu des outils dans l'événement de span OpenTelemetry `tool.output`. Les attributs de span transportent le contenu des outils selon [leurs propres conditions](/docs/fr/monitoring-usage#new-context-gates). Nécessite le [traçage](/docs/fr/monitoring-usage#traces-beta). Désactivée par défaut pour protéger les données sensibles. Définissez-la dans votre shell, vos paramètres utilisateur ou vos paramètres gérés. Ignorée dans les [paramètres de projet et locaux](/docs/fr/settings-reference#variables-claude-code-ignores-in-env), à l'exception des valeurs de désactivation décrites dans cette section. Voir [Surveillance](/docs/fr/monitoring-usage#tool-output-span-event) |

506| `OTEL_LOG_TOOL_DETAILS` | Définissez sur `1` pour inclure les arguments d'entrée des outils ; les noms des serveurs MCP ; les noms des workflows créés par l'utilisateur ; les chaînes d'erreur brutes en cas d'échec d'un outil ; la `category` de refus sur les événements `api_refusal` ; les vrais noms des agents, skills, plugins et serveurs MCP sur les [métriques de coût et de tokens](/docs/fr/monitoring-usage#cost-counter) ; ainsi que d'autres détails des outils dans les métriques, traces et logs OpenTelemetry. Désactivé par défaut pour protéger les données personnelles. Définissez-la dans votre shell, vos paramètres utilisateur ou vos paramètres gérés. Ignorée dans les [paramètres de projet et locaux](/docs/fr/settings-reference#variables-claude-code-ignores-in-env), hormis les valeurs de désactivation décrites dans cette section. Voir [Surveillance](/docs/fr/monitoring-usage) |512| `OTEL_LOG_TOOL_DETAILS` | Définissez sur `1` pour inclure les arguments d'entrée des outils ; les noms des serveurs MCP ; les noms des workflows créés par l'utilisateur ; les chaînes d'erreur brutes en cas d'échec d'un outil ; la `category` de refus dans les événements `api_refusal` ; les noms réels des agents, skills, plugins et serveurs MCP dans les [métriques de coût et de tokens](/docs/fr/monitoring-usage#cost-counter) ; ainsi que d'autres détails sur les outils dans les métriques, traces et logs OpenTelemetry. Désactivée par défaut pour protéger les données personnelles. Définissez-la dans votre shell, vos paramètres utilisateur ou vos paramètres gérés. Ignorée dans les [paramètres de projet et locaux](/docs/fr/settings-reference#variables-claude-code-ignores-in-env), à l'exception des valeurs de désactivation décrites dans cette section. Voir [Surveillance](/docs/fr/monitoring-usage) |

507| `OTEL_LOG_USER_PROMPTS` | Définissez sur `1` pour inclure le texte des prompts utilisateur dans les traces et logs OpenTelemetry. Désactivé par défaut (les prompts sont masqués). Définissez-la dans votre shell, vos paramètres utilisateur ou vos paramètres gérés. Ignorée dans les [paramètres de projet et locaux](/docs/fr/settings-reference#variables-claude-code-ignores-in-env), hormis les valeurs de désactivation décrites dans cette section. Voir [Surveillance](/docs/fr/monitoring-usage) |513| `OTEL_LOG_USER_PROMPTS` | Définissez sur `1` pour inclure le texte des prompts utilisateur dans les traces et logs OpenTelemetry. Désactivée par défaut (les prompts sont masqués). Définissez-la dans votre shell, vos paramètres utilisateur ou vos paramètres gérés. Ignorée dans les [paramètres de projet et locaux](/docs/fr/settings-reference#variables-claude-code-ignores-in-env), à l'exception des valeurs de désactivation décrites dans cette section. Voir [Surveillance](/docs/fr/monitoring-usage) |

508| `OTEL_METRICS_INCLUDE_ACCOUNT_UUID` | Définissez sur `false` pour exclure l'UUID du compte des attributs de métriques (par défaut : inclus). Voir [Surveillance](/docs/fr/monitoring-usage) |514| `OTEL_METRICS_INCLUDE_ACCOUNT_UUID` | Définissez sur `false` pour exclure l'UUID du compte des attributs de métriques (par défaut : inclus). Voir [Surveillance](/docs/fr/monitoring-usage) |

509| `OTEL_METRICS_INCLUDE_ENTRYPOINT` | Définissez sur `true` pour inclure le point d'entrée de la session dans les attributs de métriques (par défaut : exclu). Ajoutée dans la v2.1.152. Voir [Surveillance](/docs/fr/monitoring-usage) |515| `OTEL_METRICS_INCLUDE_ENTRYPOINT` | Définissez sur `true` pour inclure le point d'entrée de la session dans les attributs de métriques (par défaut : exclu). Ajoutée dans la v2.1.152. Voir [Surveillance](/docs/fr/monitoring-usage) |

510| `OTEL_METRICS_INCLUDE_REPOSITORY` | Définissez sur `true` pour marquer les métriques et événements OpenTelemetry avec des attributs `vcs.*` identifiant le dépôt de la session (par défaut : exclu). Nécessite Claude Code v2.1.269 ou ultérieur. Voir [Attributs de dépôt](/docs/fr/monitoring-usage#repository-attributes) |516| `OTEL_METRICS_INCLUDE_REPOSITORY` | Définissez sur `true` pour étiqueter les métriques et événements OpenTelemetry avec des attributs `vcs.*` identifiant le dépôt de la session (par défaut : exclus). Nécessite Claude Code v2.1.269 ou ultérieur. Voir [Attributs du dépôt](/docs/fr/monitoring-usage#repository-attributes) |

511| `OTEL_METRICS_INCLUDE_RESOURCE_ATTRIBUTES` | Depuis la v2.1.161, Claude Code associe les clés `OTEL_RESOURCE_ATTRIBUTES` aux libellés des points de données de métriques. Définissez sur `false` pour les exclure (par défaut : inclus). Voir [Surveillance](/docs/fr/monitoring-usage#multi-team-organization-support) |517| `OTEL_METRICS_INCLUDE_RESOURCE_ATTRIBUTES` | Depuis la v2.1.161, Claude Code associe les clés de `OTEL_RESOURCE_ATTRIBUTES` aux libellés des points de données des métriques. Définissez sur `false` pour les exclure (par défaut : inclus). Voir [Surveillance](/docs/fr/monitoring-usage#multi-team-organization-support) |

512| `OTEL_METRICS_INCLUDE_SESSION_ID` | Définissez sur `false` pour exclure l'ID de session des attributs de métriques (par défaut : inclus). Voir [Surveillance](/docs/fr/monitoring-usage) |518| `OTEL_METRICS_INCLUDE_SESSION_ID` | Définissez sur `false` pour exclure l'identifiant de session des attributs de métriques (par défaut : inclus). Voir [Surveillance](/docs/fr/monitoring-usage) |

513| `OTEL_METRICS_INCLUDE_VERSION` | Définissez sur `true` pour inclure la version de Claude Code dans les attributs de métriques (par défaut : exclu). Voir [Surveillance](/docs/fr/monitoring-usage) |519| `OTEL_METRICS_INCLUDE_VERSION` | Définissez sur `true` pour inclure la version de Claude Code dans les attributs de métriques (par défaut : exclue). Voir [Surveillance](/docs/fr/monitoring-usage) |

514| `SLASH_COMMAND_TOOL_CHAR_BUDGET` | Remplace le budget de caractères pour les métadonnées des skills présentées à l'[outil Skill](/docs/fr/skills#control-who-invokes-a-skill). Le budget s'ajuste dynamiquement à 1 % de la fenêtre de contexte, avec une valeur de secours de 8 000 caractères. Nom hérité conservé pour la rétrocompatibilité |520| `SLASH_COMMAND_TOOL_CHAR_BUDGET` | Remplacer le budget de caractères des métadonnées de skills présentées à l'[outil Skill](/docs/fr/skills#control-who-invokes-a-skill). Le budget s'ajuste dynamiquement à 1 % de la fenêtre de contexte, avec une valeur de secours de 8 000 caractères. Ancien nom conservé pour la rétrocompatibilité |

515| `TASK_MAX_OUTPUT_LENGTH` | Supprimée dans la v2.1.277 et désormais sans effet, tout comme l'outil `TaskOutput` dont elle définissait la taille. Définissait auparavant le nombre maximal de caractères de la sortie d'une [tâche en arrière-plan](/docs/fr/tools-reference#background-commands) que l'outil `TaskOutput` conservait. Claude lit désormais le fichier de sortie d'une tâche en arrière-plan avec `Read` à la place |521| `TASK_MAX_OUTPUT_LENGTH` | Supprimée dans la v2.1.277 et désormais sans effet, en même temps que l'outil `TaskOutput` dont elle définissait la taille. Définissait auparavant le nombre maximal de caractères de la sortie d'une [tâche en arrière-plan](/docs/fr/tools-reference#background-commands) conservés par l'outil `TaskOutput`. Claude lit désormais le fichier de sortie d'une tâche en arrière-plan avec `Read` |

516| `USE_BUILTIN_RIPGREP` | Définissez sur `0` pour utiliser le `rg` installé sur le système au lieu du `rg` inclus avec Claude Code |522| `USE_BUILTIN_RIPGREP` | Définissez sur `0` pour utiliser le `rg` installé sur le système au lieu du `rg` inclus avec Claude Code |

517| `VERTEX_REGION_CLAUDE_3_5_HAIKU` | Remplace la région pour Claude 3.5 Haiku lors de l'utilisation de Google Cloud's Agent Platform |523| `VERTEX_REGION_CLAUDE_3_5_HAIKU` | Remplacer la région pour Claude 3.5 Haiku lors de l'utilisation de Google Cloud's Agent Platform |

518| `VERTEX_REGION_CLAUDE_3_5_SONNET` | Remplace la région pour Claude 3.5 Sonnet lors de l'utilisation de Google Cloud's Agent Platform |524| `VERTEX_REGION_CLAUDE_3_5_SONNET` | Remplacer la région pour Claude 3.5 Sonnet lors de l'utilisation de Google Cloud's Agent Platform |

519| `VERTEX_REGION_CLAUDE_3_7_SONNET` | Remplace la région pour Claude 3.7 Sonnet lors de l'utilisation de Google Cloud's Agent Platform |525| `VERTEX_REGION_CLAUDE_3_7_SONNET` | Remplacer la région pour Claude 3.7 Sonnet lors de l'utilisation de Google Cloud's Agent Platform |

520| `VERTEX_REGION_CLAUDE_4_0_OPUS` | Remplace la région pour Claude 4.0 Opus lors de l'utilisation de Google Cloud's Agent Platform |526| `VERTEX_REGION_CLAUDE_4_0_OPUS` | Remplacer la région pour Claude 4.0 Opus lors de l'utilisation de Google Cloud's Agent Platform |

521| `VERTEX_REGION_CLAUDE_4_0_SONNET` | Remplace la région pour Claude 4.0 Sonnet lors de l'utilisation de Google Cloud's Agent Platform |527| `VERTEX_REGION_CLAUDE_4_0_SONNET` | Remplacer la région pour Claude 4.0 Sonnet lors de l'utilisation de Google Cloud's Agent Platform |

522| `VERTEX_REGION_CLAUDE_4_1_OPUS` | Remplace la région pour Claude 4.1 Opus lors de l'utilisation de Google Cloud's Agent Platform |528| `VERTEX_REGION_CLAUDE_4_1_OPUS` | Remplacer la région pour Claude 4.1 Opus lors de l'utilisation de Google Cloud's Agent Platform |

523| `VERTEX_REGION_CLAUDE_4_5_OPUS` | Remplace la région pour Claude Opus 4.5 lors de l'utilisation de Google Cloud's Agent Platform |529| `VERTEX_REGION_CLAUDE_4_5_OPUS` | Remplacer la région pour Claude Opus 4.5 lors de l'utilisation de Google Cloud's Agent Platform |

524| `VERTEX_REGION_CLAUDE_4_5_SONNET` | Remplace la région pour Claude Sonnet 4.5 lors de l'utilisation de Google Cloud's Agent Platform |530| `VERTEX_REGION_CLAUDE_4_5_SONNET` | Remplacer la région pour Claude Sonnet 4.5 lors de l'utilisation de Google Cloud's Agent Platform |

525| `VERTEX_REGION_CLAUDE_4_6_OPUS` | Remplace la région pour Claude Opus 4.6 lors de l'utilisation de Google Cloud's Agent Platform |531| `VERTEX_REGION_CLAUDE_4_6_OPUS` | Remplacer la région pour Claude Opus 4.6 lors de l'utilisation de Google Cloud's Agent Platform |

526| `VERTEX_REGION_CLAUDE_4_6_SONNET` | Remplace la région pour Claude Sonnet 4.6 lors de l'utilisation de Google Cloud's Agent Platform |532| `VERTEX_REGION_CLAUDE_4_6_SONNET` | Remplacer la région pour Claude Sonnet 4.6 lors de l'utilisation de Google Cloud's Agent Platform |

527| `VERTEX_REGION_CLAUDE_4_7_OPUS` | Remplace la région pour Claude Opus 4.7 lors de l'utilisation de Google Cloud's Agent Platform |533| `VERTEX_REGION_CLAUDE_4_7_OPUS` | Remplacer la région pour Claude Opus 4.7 lors de l'utilisation de Google Cloud's Agent Platform |

528| `VERTEX_REGION_CLAUDE_4_8_OPUS` | Remplace la région pour Claude Opus 4.8 lors de l'utilisation de Google Cloud's Agent Platform |534| `VERTEX_REGION_CLAUDE_4_8_OPUS` | Remplacer la région pour Claude Opus 4.8 lors de l'utilisation de Google Cloud's Agent Platform |

529| `VERTEX_REGION_CLAUDE_5_5_OPUS` | Remplace la région pour Claude Opus 5.5 lors de l'utilisation de Google Cloud's Agent Platform. Ajoutée dans la v2.1.280 |535| `VERTEX_REGION_CLAUDE_5_5_OPUS` | Remplacer la région pour Claude Opus 5.5 lors de l'utilisation de Google Cloud's Agent Platform. Ajoutée dans la v2.1.280 |

530| `VERTEX_REGION_CLAUDE_5_5_SONNET` | Remplace la région pour Claude Sonnet 5.5 lors de l'utilisation de Google Cloud's Agent Platform. Ajoutée dans la v2.1.284 |536| `VERTEX_REGION_CLAUDE_5_5_SONNET` | Remplacer la région pour Claude Sonnet 5.5 lors de l'utilisation de Google Cloud's Agent Platform. Ajoutée dans la v2.1.284 |

531| `VERTEX_REGION_CLAUDE_5_OPUS` | Remplace la région pour Claude Opus 5 lors de l'utilisation de Google Cloud's Agent Platform. Ajoutée dans la v2.1.219 |537| `VERTEX_REGION_CLAUDE_5_OPUS` | Remplacer la région pour Claude Opus 5 lors de l'utilisation de Google Cloud's Agent Platform. Ajoutée dans la v2.1.219 |

532| `VERTEX_REGION_CLAUDE_5_SONNET` | Remplace la région pour Claude Sonnet 5 lors de l'utilisation de Google Cloud's Agent Platform. Ajoutée dans la v2.1.197 |538| `VERTEX_REGION_CLAUDE_5_SONNET` | Remplacer la région pour Claude Sonnet 5 lors de l'utilisation de Google Cloud's Agent Platform. Ajoutée dans la v2.1.197 |

533| `VERTEX_REGION_CLAUDE_FABLE_5` | Remplace la région pour Claude Fable 5 lors de l'utilisation de Google Cloud's Agent Platform. Ajoutée dans la v2.1.170 |539| `VERTEX_REGION_CLAUDE_FABLE_5` | Remplacer la région pour Claude Fable 5 lors de l'utilisation de Google Cloud's Agent Platform. Ajoutée dans la v2.1.170 |

534| `VERTEX_REGION_CLAUDE_FABLE_5_1` | Remplace la région pour Claude Fable 5.1 lors de l'utilisation de Google Cloud's Agent Platform. Ajoutée dans la v2.1.257 |540| `VERTEX_REGION_CLAUDE_FABLE_5_1` | Remplacer la région pour Claude Fable 5.1 lors de l'utilisation de Google Cloud's Agent Platform. Ajoutée dans la v2.1.257 |

535| `VERTEX_REGION_CLAUDE_HAIKU_4_5` | Remplace la région pour Claude Haiku 4.5 lors de l'utilisation de Google Cloud's Agent Platform |541| `VERTEX_REGION_CLAUDE_HAIKU_4_5` | Remplacer la région pour Claude Haiku 4.5 lors de l'utilisation de Google Cloud's Agent Platform |

536| `VERTEX_REGION_CLAUDE_HAIKU_5_5` | Remplace la région pour Claude Haiku 5.5 lors de l'utilisation de Google Cloud's Agent Platform. Ajoutée dans la v2.1.293 |542| `VERTEX_REGION_CLAUDE_HAIKU_5_5` | Remplacer la région pour Claude Haiku 5.5 lors de l'utilisation de Google Cloud's Agent Platform. Ajoutée dans la v2.1.293 |

537 543 

538Les 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 leurs variantes propres à chaque signal) sont également prises en charge. Voir [Surveillance](/docs/fr/monitoring-usage) pour les détails de configuration.544Les variables standard des exportateurs OpenTelemetry (`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 propres à chaque signal) sont également prises en charge. Voir [Surveillance](/docs/fr/monitoring-usage) pour les détails de configuration.

539 545 

540Définissez `CLAUDE_CODE_ENABLE_TELEMETRY` et les variables OpenTelemetry qui activent l'export, choisissent sa destination ou capturent du contenu dans votre shell, vos paramètres utilisateur ou vos paramètres gérés. Claude Code [les ignore dans les paramètres de projet et locaux](/docs/fr/settings-reference#variables-claude-code-ignores-in-env), hormis les valeurs de désactivation décrites dans cette section. `OTEL_RESOURCE_ATTRIBUTES` et les variables d'intervalle d'export, de délai d'expiration et de compression, comme `OTEL_METRIC_EXPORT_INTERVAL`, s'appliquent toujours depuis les paramètres de projet et locaux.546Définissez `CLAUDE_CODE_ENABLE_TELEMETRY` et les variables OpenTelemetry qui activent l'export, choisissent sa destination ou capturent du contenu dans votre shell, vos paramètres utilisateur ou vos paramètres gérés. Claude Code [les ignore dans les paramètres de projet et locaux](/docs/fr/settings-reference#variables-claude-code-ignores-in-env), à l'exception des valeurs de désactivation décrites dans cette section. `OTEL_RESOURCE_ATTRIBUTES` ainsi que les variables d'intervalle d'export, de délai d'expiration et de compression, comme `OTEL_METRIC_EXPORT_INTERVAL`, s'appliquent toujours depuis les paramètres de projet et locaux.

541 547 

542<h2 id="what-the-subprocess-environment-scrub-removes">548<h2 id="what-the-subprocess-environment-scrub-removes">

543 Ce que supprime le nettoyage de l'environnement des sous-processus549 Ce que supprime le nettoyage de l'environnement des sous-processus


590* Utiliser [l'outil advisor](/docs/fr/advisor#requirements)596* Utiliser [l'outil advisor](/docs/fr/advisor#requirements)

591* Lire les [commentaires sur un artefact](/docs/fr/artifacts#collect-comments-on-an-artifact) ou y répondre597* Lire les [commentaires sur un artefact](/docs/fr/artifacts#collect-comments-on-an-artifact) ou y répondre

592* Demander à Claude de lire [l'artefact public d'une autre organisation](/docs/fr/artifacts#read-an-artifact-shared-with-you)598* Demander à Claude de lire [l'artefact public d'une autre organisation](/docs/fr/artifacts#read-an-artifact-shared-with-you)

593* Demander à Claude Code de sonder les serveurs de connecteurs claude.ai pour la [révision 2026-07-28 du protocole MCP](/docs/fr/mcp#mcp-client-runtimes), sauf si vous définissez `MCP_PROTOCOL_NEGOTIATION=auto`

594* Obtenir l'[outil PowerShell](/docs/fr/tools-reference#powershell-tool) par défaut pour les comptes claude.ai et Console sous Windows avec Git Bash installé ; Claude Code fait passer les commandes shell par Git Bash, sauf si vous définissez `CLAUDE_CODE_USE_POWERSHELL_TOOL=1`. Sous Windows sans Git Bash, l'outil reste activé599* Obtenir l'[outil PowerShell](/docs/fr/tools-reference#powershell-tool) par défaut pour les comptes claude.ai et Console sous Windows avec Git Bash installé ; Claude Code fait passer les commandes shell par Git Bash, sauf si vous définissez `CLAUDE_CODE_USE_POWERSHELL_TOOL=1`. Sous Windows sans Git Bash, l'outil reste activé

595* Obtenir des [commentaires rédigés par Claude](/docs/fr/tools-reference#sendfeedback-tool-behavior), que Claude Code active au moyen d'un flag récupéré600* Obtenir des [commentaires rédigés par Claude](/docs/fr/tools-reference#sendfeedback-tool-behavior), que Claude Code active au moyen d'un flag récupéré

596* Demander à Claude de [traiter les collages volumineux comme du texte collé plutôt que saisi](/docs/fr/terminal-config#how-claude-treats-pasted-text) ; le contenu derrière un espace réservé `[Pasted text #N]` parvient à Claude sans marquage601* Demander à Claude de [traiter les collages volumineux comme du texte collé plutôt que saisi](/docs/fr/terminal-config#how-claude-treats-pasted-text) ; le contenu derrière un espace réservé `[Pasted text #N]` parvient à Claude sans marquage

errors.md +28 −73

Details

116| `AWS default-chain credential resolve timed out` | [Authentification](#aws-default-chain-credential-resolve-timed-out) |116| `AWS default-chain credential resolve timed out` | [Authentification](#aws-default-chain-credential-resolve-timed-out) |

117| `Timed out after 60s waiting for AWS` | [Authentification](#bedrock-setup-verification-timed-out-waiting-for-aws) |117| `Timed out after 60s waiting for AWS` | [Authentification](#bedrock-setup-verification-timed-out-waiting-for-aws) |

118| `A request to AWS timed out. Check your network and proxy settings, then try again.` | [Authentification](#bedrock-setup-verification-timed-out-waiting-for-aws) |118| `A request to AWS timed out. Check your network and proxy settings, then try again.` | [Authentification](#bedrock-setup-verification-timed-out-waiting-for-aws) |

119| `Could not load the default credentials` on Google Cloud's Agent Platform | [Authentification](#could-not-load-aws-or-google-cloud-credentials) |119| `Could not load the default credentials` sur Agent Platform de Google Cloud | [Authentification](#could-not-load-aws-or-google-cloud-credentials) |

120| `Unable to connect to API` | [Réseau](#unable-to-connect-to-api) |120| `Unable to connect to API` | [Réseau](#unable-to-connect-to-api) |

121| `Connection refused —` / `Can't reach the API server —` / `No internet route —` / `Couldn't connect through your proxy` / `Connection dropped`, each with an error code in parentheses | [Réseau](#unable-to-connect-to-api) |121| `Connection refused —` / `Can't reach the API server —` / `No internet route —` / `Couldn't connect through your proxy` / `Connection dropped`, chacun avec un code d'erreur entre parenthèses | [Réseau](#unable-to-connect-to-api) |

122| `Unable to connect to Anthropic services` during setup | [Réseau](#unable-to-connect-to-anthropic-services) |122| `Unable to connect to Anthropic services` pendant la configuration | [Réseau](#unable-to-connect-to-anthropic-services) |

123| `Socket is closed` | [Réseau](#socket-is-closed) |123| `Socket is closed` | [Réseau](#socket-is-closed) |

124| `Waiting for API response · will retry in` | [Tentatives automatiques](#automatic-retries), ou [Réseau](#unable-to-connect-to-api) si cela persiste |124| `Waiting for API response · will retry in` | [Tentatives automatiques](#automatic-retries), ou [Réseau](#unable-to-connect-to-api) si cela persiste |

125| `API returned an empty or malformed response` | [Réseau](#api-returned-an-empty-or-malformed-response) |125| `API returned an empty or malformed response` | [Réseau](#api-returned-an-empty-or-malformed-response) |

126| `Streaming response ended before any complete data was received` | [Réseau](#streaming-response-ended-before-any-complete-data-was-received) |126| `Streaming response ended before any complete data was received` | [Réseau](#streaming-response-ended-before-any-complete-data-was-received) |

127| `Bedrock streaming response has content-type "..."; expected "application/vnd.amazon.eventstream"` | [Réseau](#bedrock-streaming-response-has-an-unexpected-content-type) |127| `Bedrock streaming response has content-type "..."; expected "application/vnd.amazon.eventstream"` | [Réseau](#bedrock-streaming-response-has-an-unexpected-content-type) |

128| `SSL certificate verification failed` | [Réseau](#ssl-certificate-errors) |128| `SSL certificate verification failed` | [Réseau](#ssl-certificate-errors) |

129| `SSL certificate error (...)` during login or startup | [Réseau](#ssl-certificate-errors) |129| `SSL certificate error (...)` lors de la connexion ou du démarrage | [Réseau](#ssl-certificate-errors) |

130| `unable to get local issuer certificate` | [Réseau](#ssl-certificate-errors) |130| `unable to get local issuer certificate` | [Réseau](#ssl-certificate-errors) |

131| `403` with `x-deny-reason: host_not_allowed` in a cloud or routine session | [Réseau](#host-not-allowed-in-a-cloud-session) |131| `403` avec `x-deny-reason: host_not_allowed` dans une session cloud ou une session de routine | [Réseau](#host-not-allowed-in-a-cloud-session) |

132| `proxy refused the connection` | [Réseau](#the-proxy-refused-the-connection) |132| `proxy refused the connection` | [Réseau](#the-proxy-refused-the-connection) |

133| `403` avec `GitHub GraphQL is not available from Claude Code sessions` dans une session cloud | [Proxy GitHub](/docs/fr/cloud-environments#github-proxy) |133| `403` avec `GitHub GraphQL is not available from Claude Code sessions` dans une session cloud | [Proxy GitHub](/docs/fr/cloud-environments#github-proxy) |

134| `The cloud environments service returned an empty response` / `The cloud environments service returned a response in an unexpected format` | [Réseau](#the-cloud-environments-service-returned-an-empty-or-unexpected-response) |134| `The cloud environments service returned an empty response` / `The cloud environments service returned a response in an unexpected format` | [Réseau](#the-cloud-environments-service-returned-an-empty-or-unexpected-response) |


141| `Prompt is too long · this conversation is a single exchange` / `A single-exchange conversation cannot be compacted` | [Erreurs de requête](#prompt-is-too-long) |141| `Prompt is too long · this conversation is a single exchange` / `A single-exchange conversation cannot be compacted` | [Erreurs de requête](#prompt-is-too-long) |

142| `Context limit reached · /compact or /clear to continue` | [Erreurs de requête](#prompt-is-too-long) |142| `Context limit reached · /compact or /clear to continue` | [Erreurs de requête](#prompt-is-too-long) |

143| `Context limit reached · /clear to continue` | [Erreurs de requête](#prompt-is-too-long) |143| `Context limit reached · /clear to continue` | [Erreurs de requête](#prompt-is-too-long) |

144| `capability_rejected: prompt_too_long` on a Claude apps gateway session | [Erreurs de requête](#prompt-is-too-long) |144| `capability_rejected: prompt_too_long` dans une session de la passerelle Claude apps | [Erreurs de requête](#prompt-is-too-long) |

145| `upstream rejected the request` / `request too large for this upstream` on a Claude apps gateway session | [Messages d'erreur en amont](/docs/fr/claude-apps-gateway-config#upstream-error-messages) |145| `upstream rejected the request` / `request too large for this upstream` dans une session de la passerelle Claude apps | [Messages d'erreur en amont](/docs/fr/claude-apps-gateway-config#upstream-error-messages) |

146| `upstream rate limit exceeded` on a Claude apps gateway session | [Messages d'erreur en amont](/docs/fr/claude-apps-gateway-config#upstream-error-messages) |146| `upstream rate limit exceeded` dans une session de la passerelle Claude apps | [Messages d'erreur en amont](/docs/fr/claude-apps-gateway-config#upstream-error-messages) |

147| `all upstreams failed (N attempted)` on a Claude apps gateway session | [Messages d'erreur en amont](/docs/fr/claude-apps-gateway-config#upstream-error-messages) |147| `all upstreams failed (N attempted)` dans une session de la passerelle Claude apps | [Messages d'erreur en amont](/docs/fr/claude-apps-gateway-config#upstream-error-messages) |

148| `Claude Code may not be enabled for your organization` after a Claude apps gateway sign-in | [Dépannage de la passerelle Claude apps](/docs/fr/claude-apps-gateway-deploy#troubleshooting) |148| `Claude Code may not be enabled for your organization` après une connexion à la passerelle Claude apps | [Dépannage de la passerelle Claude apps](/docs/fr/claude-apps-gateway-deploy#troubleshooting) |

149| `Context exceeds the ...-token limit by ... tokens` in `/context` output | [Erreurs de requête](#context-exceeds-the-token-limit) |149| `Context exceeds the ...-token limit by ... tokens` dans la sortie de `/context` | [Erreurs de requête](#context-exceeds-the-token-limit) |

150| `Request too large` | [Erreurs de requête](#request-too-large) |150| `Request too large` | [Erreurs de requête](#request-too-large) |

151| `Request too large for the API's 32MB request limit` | [Erreurs de requête](#request-too-large) |151| `Request too large for the API's 32MB request limit` | [Erreurs de requête](#request-too-large) |

152| `Image was too large` | [Erreurs de requête](#image-was-too-large) |152| `Image was too large` | [Erreurs de requête](#image-was-too-large) |


181| `role 'system' must precede an 'assistant' message` | [Erreurs de requête](#role-system-must-precede-an-assistant-message) |181| `role 'system' must precede an 'assistant' message` | [Erreurs de requête](#role-system-must-precede-an-assistant-message) |

182| `Invalid encrypted_content in search_result block` / `Invalid encrypted_index in text block` / `Failed to decrypt web search result content` | [Erreurs de requête](#invalid-encrypted-content-in-search-result-block) |182| `Invalid encrypted_content in search_result block` / `Invalid encrypted_index in text block` / `Failed to decrypt web search result content` | [Erreurs de requête](#invalid-encrypted-content-in-search-result-block) |

183| `Invalid encrypted_stdout in encrypted_code_execution_result block` | [Erreurs de requête](#invalid-encrypted-content-in-search-result-block) |183| `Invalid encrypted_stdout in encrypted_code_execution_result block` | [Erreurs de requête](#invalid-encrypted-content-in-search-result-block) |

184| `server_tool_use.name: Input should be` on every turn of a resumed session | [Erreurs de requête](#unsupported-tool-content-removed) |184| `server_tool_use.name: Input should be` à chaque tour d'une session reprise | [Erreurs de requête](#unsupported-tool-content-removed) |

185| `<model> can't help with this. Start a new session to continue` | [Erreurs de requête](#usage-policy-refusal) |185| `<model> can't help with this. Start a new session to continue` | [Erreurs de requête](#usage-policy-refusal) |

186| `Claude Code is unable to respond to this request, which appears to violate our Usage Policy` | [Erreurs de requête](#usage-policy-refusal) |186| `Claude Code is unable to respond to this request, which appears to violate our Usage Policy` | [Erreurs de requête](#usage-policy-refusal) |

187| `<model>'s safeguards flagged this message` | [Erreurs de requête](#safety-measures-flagged-a-cybersecurity-topic) |187| `<model>'s safeguards flagged this message` | [Erreurs de requête](#safety-measures-flagged-a-cybersecurity-topic) |


189| `<model> has safety measures that flagged this message for a cybersecurity topic` | [Erreurs de requête](#safety-measures-flagged-a-cybersecurity-topic) |189| `<model> has safety measures that flagged this message for a cybersecurity topic` | [Erreurs de requête](#safety-measures-flagged-a-cybersecurity-topic) |

190| `` Details: `[reasoning_extraction]` `` | [Erreurs de requête](#safeguards-flagged-a-request-for-claudes-reasoning) |190| `` Details: `[reasoning_extraction]` `` | [Erreurs de requête](#safeguards-flagged-a-request-for-claudes-reasoning) |

191| `API Error: Output blocked by content filtering policy` | [Erreurs de requête](#output-blocked-by-content-filtering-policy) |191| `API Error: Output blocked by content filtering policy` | [Erreurs de requête](#output-blocked-by-content-filtering-policy) |

192| `Installation was killed before it could finish (exit code 137)` | [Erreurs d'installation](#installation-was-killed-before-it-could-finish) |192| `Installation was killed before it could finish (exit code 137)` | [Dépannage de l'installation et de la connexion](/docs/fr/troubleshoot-install#installation-was-killed-before-it-could-finish) |

193| `The connection dropped while downloading the update` | [Erreurs d'installation](#the-connection-dropped-while-downloading-the-update) |193| `The connection dropped while downloading the update` | [Dépannage de l'installation et de la connexion](/docs/fr/troubleshoot-install#the-connection-dropped-while-downloading-the-update) |

194| `Download timed out: exceeded the total deadline` | [Erreurs d'installation](#the-connection-dropped-while-downloading-the-update) |194| `Download timed out: exceeded the total deadline` | [Dépannage de l'installation et de la connexion](/docs/fr/troubleshoot-install#the-connection-dropped-while-downloading-the-update) |

195| `--bg and --print conflict` | [Erreurs de ligne de commande](#conflict-between-bg-and-print) |195| `--bg and --print conflict` | [Erreurs de ligne de commande](#conflict-between-bg-and-print) |

196| `Error: Cannot use both --append-subagent-system-prompt and --append-subagent-system-prompt-file. Please use only one.` | [Erreurs de ligne de commande](#conflict-between-a-system-prompt-flag-and-its-file-form) |196| `Error: Cannot use both --append-subagent-system-prompt and --append-subagent-system-prompt-file. Please use only one.` | [Erreurs de ligne de commande](#conflict-between-a-system-prompt-flag-and-its-file-form) |

197| `Cloud sessions cannot be created from a --restricted session` | [Erreurs de ligne de commande](#cloud-sessions-cannot-be-created-from-a-restricted-session) |197| `Cloud sessions cannot be created from a --restricted session` | [Erreurs de ligne de commande](#cloud-sessions-cannot-be-created-from-a-restricted-session) |


206| `The current directory no longer exists (it was deleted or moved)` / `Can't read the current directory` | [Erreurs de ligne de commande](#the-current-directory-no-longer-exists) |206| `The current directory no longer exists (it was deleted or moved)` / `Can't read the current directory` | [Erreurs de ligne de commande](#the-current-directory-no-longer-exists) |

207| `Temp directory <dir> ... Refusing to use it` / `ENOSPC: no space left on device, mkdir '<dir>'` | [Erreurs de ligne de commande](#temp-directory-refused-or-cannot-be-created) |207| `Temp directory <dir> ... Refusing to use it` / `ENOSPC: no space left on device, mkdir '<dir>'` | [Erreurs de ligne de commande](#temp-directory-refused-or-cannot-be-created) |

208| `couldn't be resolved to a real location, so its skills, commands, and agents weren't loaded` | [Erreurs de ligne de commande](#directory-couldnt-be-resolved-to-a-real-location) |208| `couldn't be resolved to a real location, so its skills, commands, and agents weren't loaded` | [Erreurs de ligne de commande](#directory-couldnt-be-resolved-to-a-real-location) |

209| `Error: Workspace not trusted` when starting Remote Control | [Erreurs de ligne de commande](#workspace-not-trusted-when-starting-remote-control) |209| `Error: Workspace not trusted` au démarrage de Remote Control | [Erreurs de ligne de commande](#workspace-not-trusted-when-starting-remote-control) |

210| `` `<flag>` before `remote-control` is not carried over to the sessions Remote Control starts `` | [Erreurs de ligne de commande](#not-carried-over-to-the-sessions-remote-control-starts) |210| `` `<flag>` before `remote-control` is not carried over to the sessions Remote Control starts `` | [Erreurs de ligne de commande](#not-carried-over-to-the-sessions-remote-control-starts) |

211| `` `claude import` is not yet available in this build `` | [Erreurs de ligne de commande](#claude-import-is-not-yet-available-in-this-build) |211| `` `claude import` is not yet available in this build `` | [Erreurs de ligne de commande](#claude-import-is-not-yet-available-in-this-build) |

212| `Could not read Claude Code config` | [Erreurs de ligne de commande](#could-not-read-claude-code-config) |212| `Could not read Claude Code config` | [Erreurs de ligne de commande](#could-not-read-claude-code-config) |


221| `Error: MCP tool <name> (passed via --permission-prompt-tool) not found` | [Erreurs de ligne de commande](#mcp-permission-prompt-tool-not-found) |221| `Error: MCP tool <name> (passed via --permission-prompt-tool) not found` | [Erreurs de ligne de commande](#mcp-permission-prompt-tool-not-found) |

222| `OAuth callback port <port> is already in use — another process may be holding it` | [Erreurs de ligne de commande](#oauth-callback-port-is-already-in-use) |222| `OAuth callback port <port> is already in use — another process may be holding it` | [Erreurs de ligne de commande](#oauth-callback-port-is-already-in-use) |

223| `No available ports for OAuth redirect` | [Erreurs de ligne de commande](#no-available-ports-for-oauth-redirect) |223| `No available ports for OAuth redirect` | [Erreurs de ligne de commande](#no-available-ports-for-oauth-redirect) |

224| `Shell command failed for pattern "..."`, from `/security-review` or any skill that injects dynamic context | [Erreurs de ligne de commande](#security-review-fails-without-origin-head) |224| `Shell command failed for pattern "..."`, provenant de `/security-review` ou de tout skill qui injecte du contexte dynamique | [Erreurs de ligne de commande](#security-review-fails-without-origin-head) |

225| `Shell command permission check failed for pattern "..."`, from a skill that injects dynamic context | [Erreurs de ligne de commande](#security-review-fails-without-origin-head) |225| `Shell command permission check failed for pattern "..."`, provenant d'un skill qui injecte du contexte dynamique | [Erreurs de ligne de commande](#security-review-fails-without-origin-head) |

226| ``Skill <name> requires bash (`shell: bash` in frontmatter) but Git Bash was not found`` | [Erreurs de ligne de commande](#security-review-fails-without-origin-head) |226| ``Skill <name> requires bash (`shell: bash` in frontmatter) but Git Bash was not found`` | [Erreurs de ligne de commande](#security-review-fails-without-origin-head) |

227| `Input must be provided either through stdin or as a prompt argument when using --print` | [Erreurs de ligne de commande](#input-must-be-provided-when-using-print) |227| `Input must be provided either through stdin or as a prompt argument when using --print` | [Erreurs de ligne de commande](#input-must-be-provided-when-using-print) |

228| `Claude Code can't read the keyboard here: stdin is not a terminal` | [Erreurs de ligne de commande](#claude-code-cant-read-the-keyboard-here) |228| `Claude Code can't read the keyboard here: stdin is not a terminal` | [Erreurs de ligne de commande](#claude-code-cant-read-the-keyboard-here) |

229| `Error: Input contained only whitespace` | [Erreurs de ligne de commande](#input-contained-only-whitespace) |229| `Error: Input contained only whitespace` | [Erreurs de ligne de commande](#input-contained-only-whitespace) |

230| `Blank prompt — the message was only whitespace, so nothing was sent to the model.` | [Erreurs de ligne de commande](#input-contained-only-whitespace) |230| `Blank prompt — the message was only whitespace, so nothing was sent to the model.` | [Erreurs de ligne de commande](#input-contained-only-whitespace) |

231| `Error: stream-json input carried over 256M characters with no newline` | [Erreurs de ligne de commande](#stream-json-input-carried-over-256m-characters-with-no-newline) |231| `Error: stream-json input carried over 256M characters with no newline` | [Erreurs de ligne de commande](#stream-json-input-carried-over-256m-characters-with-no-newline) |

232| `Unknown command: /<name>`, with or without a `Did you mean` suggestion | [Erreurs de ligne de commande](#unknown-command) |232| `Unknown command: /<name>`, avec ou sans suggestion `Did you mean` | [Erreurs de ligne de commande](#unknown-command) |

233| `Diff is too large for ultrareview` / `PR #<N> is too large for ultrareview` | [Erreurs de ligne de commande](#diff-is-too-large-for-ultrareview) |233| `Diff is too large for ultrareview` / `PR #<N> is too large for ultrareview` | [Erreurs de ligne de commande](#diff-is-too-large-for-ultrareview) |

234| `Could not find merge-base with <branch>` | [Erreurs de ligne de commande](#could-not-find-merge-base-with-the-base-branch) |234| `Could not find merge-base with <branch>` | [Erreurs de ligne de commande](#could-not-find-merge-base-with-the-base-branch) |

235| `Your checkout has no branches (detached HEAD only)` | [Erreurs de ligne de commande](#your-checkout-has-no-branches) |235| `Your checkout has no branches (detached HEAD only)` | [Erreurs de ligne de commande](#your-checkout-has-no-branches) |

236| `Ultrareview clones <owner>/<repo> in the cloud with the GitHub account connected to your Claude account, and none is connected` | [Erreurs de ligne de commande](#no-github-account-is-connected-to-your-claude-account) |236| `Ultrareview clones <owner>/<repo> in the cloud with the GitHub account connected to your Claude account, and none is connected` | [Erreurs de ligne de commande](#no-github-account-is-connected-to-your-claude-account) |

237| `Your connected GitHub account can't see <owner>/<repo>` | [Erreurs de ligne de commande](#your-connected-github-account-cant-see-the-repository) |237| `Your connected GitHub account can't see <owner>/<repo>` | [Erreurs de ligne de commande](#your-connected-github-account-cant-see-the-repository) |

238| `The GitHub App preflight failed transiently (network or service hiccup) — retry in a moment to start from GitHub instead` | [Erreurs de ligne de commande](#the-github-app-preflight-failed-transiently) |238| `The GitHub App preflight failed transiently (network or service hiccup) — retry in a moment to start from GitHub instead` | [Erreurs de ligne de commande](#the-github-app-preflight-failed-transiently) |

239| `Not uploading this working tree` with `the upload cannot follow that setting` | [Erreurs de ligne de commande](#the-repository-upload-cant-follow-a-git-setting) |239| `Not uploading this working tree` avec `the upload cannot follow that setting` | [Erreurs de ligne de commande](#the-repository-upload-cant-follow-a-git-setting) |

240| `GitHub isn't connected to your Claude account, so this repository can't be cloned in the cloud` | [Erreurs de ligne de commande](#github-isnt-connected-to-your-claude-account) |240| `GitHub isn't connected to your Claude account, so this repository can't be cloned in the cloud` | [Erreurs de ligne de commande](#github-isnt-connected-to-your-claude-account) |

241| `Your GitHub organization has an IP allowlist that is blocking Claude` | [Erreurs de ligne de commande](#a-github-organization-policy-is-blocking-claude) |241| `Your GitHub organization has an IP allowlist that is blocking Claude` | [Erreurs de ligne de commande](#a-github-organization-policy-is-blocking-claude) |

242| `Your GitHub organization requires single sign-on` | [Erreurs de ligne de commande](#a-github-organization-policy-is-blocking-claude) |242| `Your GitHub organization requires single sign-on` | [Erreurs de ligne de commande](#a-github-organization-policy-is-blocking-claude) |


261| `Marketplace name impersonates an official Anthropic/Claude marketplace` | [Erreurs de plugin](#claude-code-refuses-the-marketplace-name) |261| `Marketplace name impersonates an official Anthropic/Claude marketplace` | [Erreurs de plugin](#claude-code-refuses-the-marketplace-name) |

262| `Marketplace "<name>" is already added from a different source` | [Erreurs de plugin](#marketplace-is-already-added-from-a-different-source) |262| `Marketplace "<name>" is already added from a different source` | [Erreurs de plugin](#marketplace-is-already-added-from-a-different-source) |

263| `"<name>" is another spelling of "<reserved>", a reserved marketplace name` | [Erreurs de plugin](#marketplace-name-is-another-spelling-of-a-reserved-name) |263| `"<name>" is another spelling of "<reserved>", a reserved marketplace name` | [Erreurs de plugin](#marketplace-name-is-another-spelling-of-a-reserved-name) |

264| `Cannot add marketplace "<name>": Claude Code cannot install plugins from a marketplace with this name` | [Dépannage des plugins](/docs/fr/plugins/troubleshooting#cannot-install-plugins-from-a-marketplace-with-this-name) |

264| `Marketplace "<name>" is added but ignored` | [Dépannage des plugins](/docs/fr/plugins/troubleshooting#marketplace-is-added-but-ignored) |265| `Marketplace "<name>" is added but ignored` | [Dépannage des plugins](/docs/fr/plugins/troubleshooting#marketplace-is-added-but-ignored) |

265| `Marketplace "<name>" is registered but was refused (see the debug log)` | [Dépannage des plugins](/docs/fr/plugins/troubleshooting#marketplace-is-added-but-ignored) |266| `Marketplace "<name>" is registered but was refused (see the debug log)` | [Dépannage des plugins](/docs/fr/plugins/troubleshooting#marketplace-is-added-but-ignored) |

266| `references ${user_config.*} in a shell-form command` | [Erreurs de plugin](#plugin-command-references-user-config) |267| `references ${user_config.*} in a shell-form command` | [Erreurs de plugin](#plugin-command-references-user-config) |


269| `Plugin archive integrity check failed` | [Erreurs de plugin](#plugin-archive-integrity-check-failed) |270| `Plugin archive integrity check failed` | [Erreurs de plugin](#plugin-archive-integrity-check-failed) |

270| `An npm plugin source must name a registry package` | [Dépannage des plugins](/docs/fr/plugins/troubleshooting#an-npm-plugin-source-must-name-a-registry-package) |271| `An npm plugin source must name a registry package` | [Dépannage des plugins](/docs/fr/plugins/troubleshooting#an-npm-plugin-source-must-name-a-registry-package) |

271| `The packages it lists are not installed` / `The packages it lists were not installed, because` | [Dépannage des plugins](/docs/fr/plugins/troubleshooting#the-packages-it-lists-are-not-installed) |272| `The packages it lists are not installed` / `The packages it lists were not installed, because` | [Dépannage des plugins](/docs/fr/plugins/troubleshooting#the-packages-it-lists-are-not-installed) |

273| `does not load (...), so Claude Code ignores the whole file` | [Dépannage des plugins](/docs/fr/plugins/troubleshooting#does-not-load-so-claude-code-ignores-the-whole-file) |

272| `path escapes plugin directory` | [Erreurs de plugin](#path-escapes-plugin-directory) |274| `path escapes plugin directory` | [Erreurs de plugin](#path-escapes-plugin-directory) |

273| `path could not be checked` | [Erreurs de plugin](#path-could-not-be-checked) |275| `path could not be checked` | [Erreurs de plugin](#path-could-not-be-checked) |

274| `its marketplace entry path does not stay inside the marketplace directory` | [Erreurs de plugin](#marketplace-entry-path-does-not-stay-inside-the-marketplace-directory) |276| `its marketplace entry path does not stay inside the marketplace directory` | [Erreurs de plugin](#marketplace-entry-path-does-not-stay-inside-the-marketplace-directory) |


279| `"<plugin>" was not uninstalled: it is still switched on in <file>` | [Erreurs de plugin](#plugin-was-not-uninstalled) |281| `"<plugin>" was not uninstalled: it is still switched on in <file>` | [Erreurs de plugin](#plugin-was-not-uninstalled) |

280| `"<plugin>" was not uninstalled: <file> is there and could not be read` | [Erreurs de plugin](#plugin-was-not-uninstalled) |282| `"<plugin>" was not uninstalled: <file> is there and could not be read` | [Erreurs de plugin](#plugin-was-not-uninstalled) |

281| `Plugin "<plugin>" was not uninstalled: installed_plugins.json` | [Dépannage des plugins](/docs/fr/plugins/troubleshooting#installed-plugins-json-holds-a-record-this-version-cannot-read) |283| `Plugin "<plugin>" was not uninstalled: installed_plugins.json` | [Dépannage des plugins](/docs/fr/plugins/troubleshooting#installed-plugins-json-holds-a-record-this-version-cannot-read) |

284| `Plugin directory does not exist: <path>` | [Dépannage des plugins](/docs/fr/plugins/troubleshooting#plugin-directory-does-not-exist) |

282| `Error: No such tool available: <tool name>` | [Erreurs d'outil](#no-such-tool-available) |285| `Error: No such tool available: <tool name>` | [Erreurs d'outil](#no-such-tool-available) |

283| `would be spawned with zero tools — refusing` | [Erreurs d'outil](#agent-would-be-spawned-with-zero-tools) |286| `would be spawned with zero tools — refusing` | [Erreurs d'outil](#agent-would-be-spawned-with-zero-tools) |

284| `File is covered by a Read deny rule in your permission settings` | [Erreurs d'outil](#file-is-covered-by-a-read-deny-rule) |287| `File is covered by a Read deny rule in your permission settings` | [Erreurs d'outil](#file-is-covered-by-a-read-deny-rule) |


336| `EACCES: permission denied, posix_spawn` | [Erreurs de session en arrière-plan](#eacces-when-starting-a-background-session) |339| `EACCES: permission denied, posix_spawn` | [Erreurs de session en arrière-plan](#eacces-when-starting-a-background-session) |

337| `exited before it became reachable` | [Erreurs de session en arrière-plan](#background-service-exited-before-it-became-reachable) |340| `exited before it became reachable` | [Erreurs de session en arrière-plan](#background-service-exited-before-it-became-reachable) |

338| `Couldn't start a background session (working directory no longer exists or is not accessible: ...)` | [Erreurs de session en arrière-plan](#working-directory-no-longer-exists-when-starting-a-background-session) |341| `Couldn't start a background session (working directory no longer exists or is not accessible: ...)` | [Erreurs de session en arrière-plan](#working-directory-no-longer-exists-when-starting-a-background-session) |

339| `Workspace not trusted.` when starting or restarting a background session | [Erreurs de session en arrière-plan](#workspace-not-trusted-when-dispatching-a-background-session) |342| `Workspace not trusted.` au démarrage ou au redémarrage d'une session en arrière-plan | [Erreurs de session en arrière-plan](#workspace-not-trusted-when-dispatching-a-background-session) |

340| `Claude Code is being updated by npm on this machine (still not runnable after 2 min, ...)` | [Erreurs de session en arrière-plan](#eacces-when-starting-a-background-session) |343| `Claude Code is being updated by npm on this machine (still not runnable after 2 min, ...)` | [Erreurs de session en arrière-plan](#eacces-when-starting-a-background-session) |

341| `Claude Code process exited with code N` | [Erreurs de wrapper et d'IDE](#claude-code-process-exited-with-code-n) |344| `Claude Code process exited with code N` | [Erreurs de wrapper et d'IDE](#claude-code-process-exited-with-code-n) |

342| `The connection to Claude Code ended before this message completed` | [Erreurs de wrapper et d'IDE](#the-connection-to-claude-code-ended-before-this-message-completed) |345| `The connection to Claude Code ended before this message completed` | [Erreurs de wrapper et d'IDE](#the-connection-to-claude-code-ended-before-this-message-completed) |


386* Une erreur serveur ou une réponse surchargée qui arrive après que Claude a terminé sa réflexion mais avant qu'il n'ait commencé un texte ou un appel d'outil. Claude Code réessaie une erreur serveur à ce stade jusqu'à deux fois. Avant v2.1.284, Claude Code terminait le tour avec l'erreur à ce stade.389* Une erreur serveur ou une réponse surchargée qui arrive après que Claude a terminé sa réflexion mais avant qu'il n'ait commencé un texte ou un appel d'outil. Claude Code réessaie une erreur serveur à ce stade jusqu'à deux fois. Avant v2.1.284, Claude Code terminait le tour avec l'erreur à ce stade.

387* Les connexions interrompues. Lorsqu'une connexion s'interrompt au milieu d'une requête avant que Claude n'ait complété une partie de sa réponse, y compris sa réflexion, Claude Code renvoie la requête avec le même backoff et le tour continue, même si du texte avait déjà commencé à être envoyé en streaming. Lorsqu'elle s'interrompt après que Claude a terminé sa réflexion mais avant qu'il n'ait commencé un texte ou un appel d'outil, Claude Code renvoie plutôt la requête jusqu'à deux fois en succession rapide, et termine le tour avec `Connection lost before a response was produced` si la connexion continue à s'interrompre à ce stade.390* Les connexions interrompues. Lorsqu'une connexion s'interrompt au milieu d'une requête avant que Claude n'ait complété une partie de sa réponse, y compris sa réflexion, Claude Code renvoie la requête avec le même backoff et le tour continue, même si du texte avait déjà commencé à être envoyé en streaming. Lorsqu'elle s'interrompt après que Claude a terminé sa réflexion mais avant qu'il n'ait commencé un texte ou un appel d'outil, Claude Code renvoie plutôt la requête jusqu'à deux fois en succession rapide, et termine le tour avec `Connection lost before a response was produced` si la connexion continue à s'interrompre à ce stade.

388* Une connexion que Claude Code détecte comme ayant été interrompue par votre ordinateur qui s'endort au milieu d'une requête. Claude Code la compte comme une connexion interrompue selon les règles ci-dessus ; une fois que l'étiquette de tentative nomme la raison spécifique, elle lit `Connection lost while your computer was asleep`, et si le tour se termine après que Claude a terminé sa réflexion mais avant un texte ou un appel d'outil, le message lit `Your computer went to sleep before a response was produced`.391* Une connexion que Claude Code détecte comme ayant été interrompue par votre ordinateur qui s'endort au milieu d'une requête. Claude Code la compte comme une connexion interrompue selon les règles ci-dessus ; une fois que l'étiquette de tentative nomme la raison spécifique, elle lit `Connection lost while your computer was asleep`, et si le tour se termine après que Claude a terminé sa réflexion mais avant un texte ou un appel d'outil, le message lit `Your computer went to sleep before a response was produced`.

389* Un flux de réponse bloqué, lorsque les en-têtes de réponse sont arrivés mais aucune partie de la réponse de Claude n'est arrivée, ou lorsque Claude a terminé sa réflexion mais n'a pas commencé un texte ou un appel d'outil : Claude Code abandonne la connexion bloquée et renvoie la requête au maximum une fois, en dehors du budget de 10 tentatives ci-dessus. Si la réponse se bloque une deuxième fois après que Claude a terminé sa réflexion mais avant un texte ou un appel d'outil, Claude Code termine le tour avec `The response stalled before a response was produced`.392* Un flux de réponse bloqué, lorsque les en-têtes de réponse sont arrivés mais aucune partie de la réponse de Claude n'est arrivée, ou lorsque Claude a terminé sa réflexion mais n'a pas commencé un texte ou un appel d'outil : Claude Code abandonne la connexion bloquée et renvoie la requête en streaming au maximum une fois. Si la réponse se bloque une deuxième fois après que Claude a terminé sa réflexion mais avant un texte ou un appel d'outil, Claude Code termine le tour avec `The response stalled before a response was produced`.

390* Une requête en streaming à laquelle l'API ne répond jamais avec des en-têtes de réponse, sur une connexion où le [délai de premier octet s'exécute](/docs/fr/network-config#streaming-idle-watchdogs) : Claude Code l'abandonne à la date limite et la renvoie au maximum une fois par requête de modèle, dans le budget de tentatives, puis termine le tour avec [No response from API](#no-response-from-api) si cette tentative reste sans réponse aussi. Sur d'autres connexions, la requête attend `API_TIMEOUT_MS`. Lorsque vous définissez `CLAUDE_CODE_RETRY_WATCHDOG`, le plafond d'une tentative ne s'applique pas.393* Une requête en streaming à laquelle l'API ne répond jamais avec des en-têtes de réponse, sur une connexion où le [délai de premier octet s'exécute](/docs/fr/network-config#streaming-idle-watchdogs) : Claude Code l'abandonne à la date limite et la renvoie au maximum une fois par requête de modèle, dans le budget de tentatives, puis termine le tour avec [No response from API](#no-response-from-api) si cette tentative reste sans réponse aussi. Sur d'autres connexions, la requête attend `API_TIMEOUT_MS`. Lorsque vous définissez `CLAUDE_CODE_RETRY_WATCHDOG`, le plafond d'une tentative ne s'applique pas.

391* Une réponse en streaming que le filtre de contenu de sortie de l'API arrête avant que Claude n'ait terminé sa réflexion ou commencé un texte ou un appel d'outil. Claude Code renvoie la requête une fois, dans le budget de tentatives, et affiche [Output blocked by content filtering policy](#output-blocked-by-content-filtering-policy) si le filtre arrête également la deuxième réponse.394* Une réponse en streaming que le filtre de contenu de sortie de l'API arrête avant que Claude n'ait terminé sa réflexion ou commencé un texte ou un appel d'outil. Claude Code renvoie la requête une fois, dans le budget de tentatives, et affiche [Output blocked by content filtering policy](#output-blocked-by-content-filtering-policy) si le filtre arrête également la deuxième réponse.

392* Les throttles 429 temporaires, mais pas le `429` de limite de dépenses d'une passerelle, qui n'est pas un throttle ; voir [Spend limit reached](#spend-limit-reached).395* Les throttles 429 temporaires, mais pas le `429` de limite de dépenses d'une passerelle, qui n'est pas un throttle ; voir [Spend limit reached](#spend-limit-reached).


2910* Reformulez votre dernier message ou adoptez une approche différente2913* Reformulez votre dernier message ou adoptez une approche différente

2911* Pour revenir à un checkpoint avant le tour qui a déclenché le blocage, appuyez deux fois sur Échap ou exécutez `/rewind`. Voir [Checkpointing](/docs/fr/checkpointing)2914* Pour revenir à un checkpoint avant le tour qui a déclenché le blocage, appuyez deux fois sur Échap ou exécutez `/rewind`. Voir [Checkpointing](/docs/fr/checkpointing)

2912 2915 

2913<h2 id="installation-errors">

2914 Erreurs d'installation

2915</h2>

2916 

2917Ces erreurs apparaissent lors de l'installation ou de la mise à jour de Claude Code, à partir du [script d'installation](/docs/fr/setup#install-claude-code), `claude install`, ou `claude update`. Pour les problèmes de `command not found`, PATH, permission et TLS lors de la configuration, consultez [Dépannage de l'installation et de la connexion](/docs/fr/troubleshoot-install).

2918 

2919<h3 id="installation-was-killed-before-it-could-finish">

2920 L'installation a été interrompue avant de pouvoir se terminer

2921</h3>

2922 

2923Le script d'installation signale quand l'étape `claude install` est terminée par un signal. Sur Linux, le code de sortie 137 signifie que le processus a reçu SIGKILL, et sur un hôte avec peu de mémoire, c'est généralement le tueur de mémoire insuffisante (OOM) du noyau. Le script affiche cette explication et se termine avec le code 137 :

2924 

2925```text theme={null}

2926Installation was killed before it could finish (exit code 137). This usually means the system ran out of memory.

2927Claude Code needs roughly 512MB of free memory to install. Free up memory, then run this script again.

2928```

2929 

2930Pour tout autre signal fatal, et pour le code de sortie 137 sur macOS, le script affiche `Installation was killed before it could finish (exit code <N>)` avec le code de sortie réel et omet l'explication sur la mémoire insuffisante. Le message provient du script d'installation que macOS et Linux utilisent, qui couvre également les installations à l'intérieur de WSL ; les scripts d'installation Windows natifs ne l'affichent jamais. Avant la v2.1.200, le script se terminait avec seulement la ligne `Killed` brute du shell.

2931 

2932**Que faire :**

2933 

2934* Arrêtez les autres processus pour libérer de la mémoire, puis relancez le programme d'installation

2935* Ajoutez de l'espace d'échange ou passez à une instance plus grande. Consultez [Installation interrompue sur les serveurs Linux avec peu de mémoire](/docs/fr/troubleshoot-install#install-killed-on-low-memory-linux-servers) pour les commandes de fichier d'échange.

2936 

2937<h3 id="the-connection-dropped-while-downloading-the-update">

2938 La connexion s'est interrompue lors du téléchargement de la mise à jour

2939</h3>

2940 

2941La connexion au serveur de téléchargement s'est fermée pendant que `claude install` ou `claude update` téléchargeait le binaire Claude Code, et les tentatives de reconnexion n'ont pas fonctionné. Claude Code réessaie le téléchargement quand la connexion s'interrompt, le transfert s'arrête, ou le fichier téléchargé échoue sa somme de contrôle, jusqu'à trois tentatives au total. Une erreur HTTP complète, comme un 404, n'est pas réessayée car le serveur a déjà répondu. Avant la v2.1.202, une seule connexion interrompue échouait le téléchargement immédiatement avec l'erreur brute `aborted` au lieu de réessayer.

2942 

2943```text theme={null}

2944The connection dropped while downloading the update (attempt 3/3: aborted). Check your network — proxies sometimes cut off large downloads.

2945```

2946 

2947Le texte entre parenthèses indique quelle tentative a échoué et l'erreur réseau sous-jacente. `claude update` précède le message avec `Error: Failed to install native update` sur stderr.

2948 

2949Un téléchargement qui reste connecté mais ne se termine pas dans les 10 minutes échoue avec `Download timed out: exceeded the total deadline` à la place. Claude Code ne réessaie pas un téléchargement qui a expiré, car une connexion trop lente pour se terminer dans le délai imparti ne se terminera pas lors d'une tentative immédiate non plus. Les étapes ci-dessous s'appliquent aux deux messages.

2950 

2951Un proxy ou une passerelle peut fermer un long transfert avant qu'il ne se termine, et le binaire Claude Code est un gros téléchargement.

2952 

2953**Que faire :**

2954 

2955* Exécutez `claude update` à nouveau. Sur un réseau par ailleurs sain, le téléchargement réussit généralement à la prochaine exécution. Pour le message d'expiration, exécutez-le à nouveau à partir d'un réseau plus rapide ou moins limité.

2956* Si votre réseau nécessite un proxy, définissez `HTTPS_PROXY` avant d'exécuter le programme d'installation ou `claude update`. Consultez [Vérifier la connectivité réseau](/docs/fr/troubleshoot-install#check-network-connectivity).

2957* Si un proxy d'entreprise continue de fermer le transfert, demandez à votre équipe réseau d'autoriser le téléchargement complet depuis `downloads.claude.ai`. Consultez [Exigences d'accès réseau](/docs/fr/network-config#network-access-requirements).

2958* Exécutez `claude doctor` à partir de votre shell pour les diagnostics d'installation

2959 

2960<h2 id="command-line-errors">2916<h2 id="command-line-errors">

2961 Erreurs de ligne de commande2917 Erreurs de ligne de commande

2962</h2>2918</h2>


4064 Marketplace is already added from a different source4020 Marketplace is already added from a different source

4065</h3>4021</h3>

4066 4022 

4067Vous avez confirmé l'ajout d'une marketplace via [`/plugin install <plugin> --marketplace <source>`](/docs/fr/plugins/install#add-a-marketplace-and-install-in-one-command), et le catalogue que Claude Code a récupéré à partir de cette source se nomme lui-même de la même façon qu'une marketplace que vous avez déjà ajoutée à partir d'une source différente. Claude Code conserve la marketplace existante au lieu de la remplacer, et le plugin n'est pas installé.4023Vous avez indiqué une nouvelle source de marketplace avec [`--marketplace <source>` sur la commande d'installation](/docs/fr/plugins/install#add-a-marketplace-and-install-in-one-command), dans une session ou depuis votre shell. Le catalogue que Claude Code a récupéré à partir de cette source porte le même nom qu'une marketplace que vous avez déjà ajoutée à partir d'une source différente. Claude Code conserve la marketplace existante au lieu de la remplacer, et le plugin n'est pas installé.

4068 4024 

4069```text theme={null}4025```text theme={null}

4070Marketplace "acme-tools" is already added from a different source (github:acme/plugins). To use this source instead, remove that marketplace first with /plugin marketplace remove acme-tools.4026Marketplace "acme-tools" is already added from a different source (github:acme/plugins). To use this source instead, remove that marketplace first with /plugin marketplace remove acme-tools.


4817 Cette session n'a pas de transcription enregistrée4773 Cette session n'a pas de transcription enregistrée

4818</h3>4774</h3>

4819 4775 

4820Vous vous êtes attaché à une [session en arrière-plan](/docs/fr/agent-view) arrêtée qui a été mise en arrière-plan à partir d'une autre conversation avec `←` ou `/background` et arrêtée avant que sa première réponse ne soit terminée. Jusqu'à ce que cette première réponse soit terminée, la conversation vit toujours uniquement dans la session à partir de laquelle elle a été mise en arrière-plan, de sorte que `claude attach` refuse de démarrer la session arrêtée plutôt que de commencer une conversation vierge sous le même ID de session. Le message se termine par la commande `claude respawn` pour cette session :4776Vous vous êtes attaché à une session que vous avez [mise en arrière-plan](/docs/fr/agent-view#from-inside-a-session) avec `←` ou `/background` et qui s'est arrêtée avant d'exécuter un tour qui lui soit propre. Claude Code n'a pas pu trouver la conversation à partir de laquelle vous l'avez déplacée, de sorte que la session n'a rien à reprendre. Le message se termine par la commande `claude respawn` pour cette session :

4821 4777 

4822```text theme={null}4778```text theme={null}

4823This session has no saved transcript — it was stopped before its first response finished. If it was backgrounded from another conversation, that one is still intact; `claude respawn <id>` starts this one fresh.4779This session has no saved transcript — it was stopped before its first response finished. If it was backgrounded from another conversation, that one is still intact; `claude respawn <id>` starts this one fresh.


4827 4783 

4828**Ce qu'il faut faire :**4784**Ce qu'il faut faire :**

4829 4785 

4830* La conversation à partir de laquelle vous avez mis cette session en arrière-plan est intacte : reprenez-la avec [`claude --resume`](/docs/fr/sessions) ou continuez à travailler dedans4786* Pour démarrer la session arrêtée à partir de zéro, exécutez `claude respawn <id>` avec l'ID du message, ou appuyez deux fois sur `Entrée` sur sa ligne dans la vue agent

4831* Pour démarrer la session arrêtée à nouveau, exécutez `claude respawn <id>` avec l'ID du message, ou appuyez deux fois sur `Entrée` sur sa ligne dans la vue agent

4832* Si la session a terminé une réponse et vous voyez toujours ce refus sur une version antérieure à v2.1.214, un dossier illisible dans `~/.claude/projects` pourrait faire manquer à l'analyse de transcription la conversation enregistrée ; mettez à jour vers v2.1.214 ou ultérieur, qui tolère les dossiers illisibles lors de l'analyse4787* Si la session a terminé une réponse et vous voyez toujours ce refus sur une version antérieure à v2.1.214, un dossier illisible dans `~/.claude/projects` pourrait faire manquer à l'analyse de transcription la conversation enregistrée ; mettez à jour vers v2.1.214 ou ultérieur, qui tolère les dossiers illisibles lors de l'analyse

4833 4788 

4834<h3 id="this-session-is-running-in-another-terminal">4789<h3 id="this-session-is-running-in-another-terminal">

glossary.md +2 −2

Details

465 465 

466Une commande, `/teleport`, qui tire une session Claude Code cloud dans votre terminal local. Claude récupère la branche, charge l'historique des conversations et reprend à partir du dernier état de la session cloud. La direction inverse est `--cloud`, qui envoie une tâche locale pour s'exécuter sur le cloud.466Une commande, `/teleport`, qui tire une session Claude Code cloud dans votre terminal local. Claude récupère la branche, charge l'historique des conversations et reprend à partir du dernier état de la session cloud. La direction inverse est `--cloud`, qui envoie une tâche locale pour s'exécuter sur le cloud.

467 467 

468En savoir plus : [From cloud to terminal](/docs/fr/claude-code-on-the-web#from-cloud-to-terminal)468En savoir plus : [Continuer une session cloud dans votre terminal](/docs/fr/claude-code-on-the-web#from-cloud-to-terminal)

469 469 

470<h3 id="tool">470<h3 id="tool">

471 Tool471 Tool


511 Worktree isolation511 Worktree isolation

512</h3>512</h3>

513 513 

514Un mode d'isolation qui exécute Claude dans un worktree git séparé sous `.claude/worktrees/`, activé avec le drapeau `-w` ou `isolation: worktree` dans la configuration du subagent. Les modifications restent sur une branche séparée dans un répertoire séparé, afin que les agents parallèles ne se remplacent pas les fichiers les uns des autres.514Un mode d'isolation qui exécute Claude dans un worktree git séparé sous `.claude/worktrees/`, activé avec le flag `-w` ou `isolation: worktree` dans la configuration du sous-agent. Les modifications restent sur une branche séparée dans un répertoire séparé, de sorte que chaque agent parallèle modifie sa propre copie des fichiers.

515 515 

516En savoir plus : [Run parallel sessions with git worktrees](/docs/fr/worktrees)516En savoir plus : [Run parallel sessions with git worktrees](/docs/fr/worktrees)

517 517 

goal.md +1 −1

Details

127claude -p "/goal CHANGELOG.md has an entry for every PR merged this week"127claude -p "/goal CHANGELOG.md has an entry for every PR merged this week"

128```128```

129 129 

130Avec le format de sortie texte par défaut, rien ne s'affiche jusqu'à ce que la condition soit satisfaite, donc un objectif qui s'exécute sur plusieurs tours peut sembler bloqué. Ajoutez `--output-format stream-json --verbose` pour émettre chaque message au fur et à mesure que la boucle s'exécute.130Avec le format de sortie texte par défaut, la réponse finale de Claude s'affiche à la fin de la boucle, donc un objectif qui s'exécute sur plusieurs tours peut sembler bloqué. Ajoutez `--output-format stream-json --verbose` pour émettre chaque message au fur et à mesure que la boucle s'exécute.

131 131 

132Interrompez le processus avec Ctrl+C pour arrêter un objectif non-interactive avant qu'il ne se résolve.132Interrompez le processus avec Ctrl+C pour arrêter un objectif non-interactive avant qu'il ne se résolve.

133 133 

headless.md +11 −9

Details

32claude -p "What does the auth module do?"32claude -p "What does the auth module do?"

33```33```

34 34 

35Claude Code se termine avec le code 0 en cas de succès et un code non-zéro quand l'exécution échoue, donc vos scripts peuvent se brancher sur le code de sortie. Si vous passez un flag invalide, Claude Code signale l'erreur sur stderr avant le démarrage de l'exécution. Quand une défaillance se produit à l'intérieur de l'exécution, comme une authentification manquante, Claude Code affiche la défaillance comme le résultat sur stdout.35Claude Code se termine avec le code 0 en cas de succès et un code non-zéro quand l'exécution échoue, donc vos scripts peuvent adapter leur comportement selon le code de sortie. Si vous passez un flag invalide, Claude Code signale l'erreur sur stderr avant le démarrage de l'exécution. Quand une défaillance se produit à l'intérieur de l'exécution, comme une authentification manquante, Claude Code affiche la défaillance comme le résultat sur stdout.

36 36 

37<h3 id="start-faster-with-bare-mode">37<h3 id="start-faster-with-bare-mode">

38 Démarrer plus rapidement avec le mode bare38 Démarrer plus rapidement avec le mode bare


42 42 

43Le mode bare est utile pour CI et les scripts où vous avez besoin du même résultat sur chaque machine. Un hook dans le `~/.claude` d'un coéquipier ou un serveur MCP dans le `.mcp.json` du projet ne s'exécutera pas, car le mode bare ne les lit jamais. Un répertoire que vous nommez avec `--add-dir` est une exception partielle : le mode bare charge les skills de son dossier `.claude/skills/`, mais ignore toujours ses dossiers `.claude/commands/` et `.claude/agents/`. [Skills from additional directories](/docs/fr/skills#skills-from-additional-directories) couvre ce qui se charge et ce qui ne se charge pas.43Le mode bare est utile pour CI et les scripts où vous avez besoin du même résultat sur chaque machine. Un hook dans le `~/.claude` d'un coéquipier ou un serveur MCP dans le `.mcp.json` du projet ne s'exécutera pas, car le mode bare ne les lit jamais. Un répertoire que vous nommez avec `--add-dir` est une exception partielle : le mode bare charge les skills de son dossier `.claude/skills/`, mais ignore toujours ses dossiers `.claude/commands/` et `.claude/agents/`. [Skills from additional directories](/docs/fr/skills#skills-from-additional-directories) couvre ce qui se charge et ce qui ne se charge pas.

44 44 

45Sans `--bare`, une session `-p` exécute les hooks dans le `.claude/settings.json` d'un projet et connecte les serveurs dans son `.mcp.json`, même dans un dossier que vous n'avez jamais approuvé. Une session `-p` n'affiche aucune boîte de dialogue de confiance d'espace de travail et aucune invite d'approbation par serveur. [What runs before you trust a folder](/docs/fr/permissions#what-runs-before-you-trust-a-folder) couvre chaque type de contenu de référentiel sous `-p` et comment le garder à l'écart.45Sans `--bare`, une session `-p` exécute les hooks dans le `.claude/settings.json` d'un projet et connecte les serveurs dans son `.mcp.json`, même dans un dossier que vous n'avez jamais approuvé. Une session `-p` n'affiche aucune boîte de dialogue de confiance d'espace de travail et aucune demande d'approbation par serveur. [What runs before you trust a folder](/docs/fr/permissions#what-runs-before-you-trust-a-folder) couvre chaque type de contenu de dépôt sous `-p` et comment le garder à l'écart.

46 46 

47Cet exemple exécute une tâche de résumé ponctuelle en mode bare et pré-approuve l'outil Read pour que l'appel se termine sans invite de permission. Définissez `ANTHROPIC_API_KEY` avant de l'exécuter, car le mode bare n'utilise pas votre connexion d'abonnement :47Cet exemple exécute une tâche de résumé ponctuelle en mode bare et pré-approuve l'outil Read pour que l'appel se termine sans demande de permission. Définissez `ANTHROPIC_API_KEY` avant de l'exécuter, car le mode bare n'utilise pas votre connexion d'abonnement :

48 48 

49```bash theme={null}49```bash theme={null}

50claude --bare -p "Summarize README.md" --allowedTools "Read"50claude --bare -p "Summarize README.md" --allowedTools "Read"


84 84 

85L'exécution attend le travail en arrière-plan tel que les commandes en arrière-plan, les sous-agents et workflows, les surveillances Monitor et les réveils `/loop` en attente :85L'exécution attend le travail en arrière-plan tel que les commandes en arrière-plan, les sous-agents et workflows, les surveillances Monitor et les réveils `/loop` en attente :

86 86 

87* **[Commandes en arrière-plan](/docs/fr/tools-reference#background-commands)** : pour une commande démarrée par la conversation principale, par exemple un serveur de développement ou un build en mode watch, l'exécution attend que la commande se termine ou atteigne sa [limite de temps](/docs/fr/tools-reference#time-limit-for-background-commands). Claude effectue ensuite un tour supplémentaire avec le résultat, et le résultat de ce tour devient le dernier de l'exécution, c'est-à-dire celui qu'affichent les sorties `text` et `json`. Tant que la commande s'exécute, la limite de 10 minutes ne met pas fin à l'attente.87* **[Commandes en arrière-plan](/docs/fr/tools-reference#background-commands)** : pour une commande démarrée par la conversation principale, par exemple un serveur de développement ou un build en mode watch, l'exécution attend que la commande se termine ou atteigne sa [limite de temps](/docs/fr/tools-reference#time-limit-for-background-commands). Claude effectue ensuite un tour supplémentaire avec le résultat. Tant que la commande s'exécute, la limite de 10 minutes ne met pas fin à l'attente.

88* **[Sous-agents](/docs/fr/sub-agents) en arrière-plan et workflows** : l'exécution reste ouverte jusqu'à ce que ce travail se termine, car son résultat fait partie de la sortie finale.88* **[Sous-agents](/docs/fr/sub-agents) en arrière-plan et workflows** : l'exécution reste ouverte jusqu'à ce que ce travail se termine, car son résultat fait partie de la sortie finale.

89* **Surveillances [Monitor](/docs/fr/tools-reference#monitor-tool)** : l'exécution attend jusqu'à ce que la surveillance expire ou que la limite de 10 minutes mette fin à l'attente, selon ce qui arrive en premier. Pendant l'attente, Claude continue de répondre à ce que la surveillance signale. Par défaut, une surveillance expire cinq minutes après que Claude l'a démarrée.89* **Surveillances [Monitor](/docs/fr/tools-reference#monitor-tool)** : l'exécution attend jusqu'à ce que la surveillance expire ou que la limite de 10 minutes mette fin à l'attente, selon ce qui arrive en premier. Pendant l'attente, Claude continue de répondre à ce que la surveillance signale. Par défaut, une surveillance expire cinq minutes après que Claude l'a démarrée.

90* **Réveils en attente** : dans une exécution dont vous avez passé le prompt sous forme de texte plutôt qu'avec `--input-format stream-json`, lorsque Claude a planifié un [réveil `/loop` à son propre rythme](/docs/fr/scheduled-tasks#let-claude-choose-the-interval), l'exécution attend que chaque réveil se déclenche et exécute son itération jusqu'à la [fin de la boucle](/docs/fr/scheduled-tasks#stop-a-loop), même au-delà de la limite de 10 minutes.90* **Réveils en attente** : dans une exécution dont vous avez passé le prompt sous forme de texte plutôt qu'avec `--input-format stream-json`, lorsque Claude a planifié un [réveil `/loop` à son propre rythme](/docs/fr/scheduled-tasks#let-claude-choose-the-interval), l'exécution attend que chaque réveil se déclenche et exécute son itération jusqu'à la [fin de la boucle](/docs/fr/scheduled-tasks#stop-a-loop), même au-delà de la limite de 10 minutes.

91 91 

92Si l'exécution atteint sa limite [`--max-budget-usd`](/docs/fr/cli-reference#cli-flags), Claude Code arrête le travail en arrière-plan restant au lieu d'attendre.92Si l'exécution atteint sa limite [`--max-budget-usd`](/docs/fr/cli-reference#cli-flags), Claude Code arrête le travail en arrière-plan restant au lieu d'attendre.

93 93 

94Lorsque le travail en arrière-plan démarre un autre tour, l'exécution affiche le résultat de chaque tour avec la sortie `text` par défaut, et le résultat du dernier tour avec la sortie `json`. Avant la v2.1.295, l'exécution n'affichait également que le résultat du dernier tour avec la sortie `text`.

95 

94<h3 id="stop-a-run-with-sigterm">96<h3 id="stop-a-run-with-sigterm">

95 Arrêter une exécution avec SIGTERM97 Arrêter une exécution avec SIGTERM

96</h3>98</h3>

97 99 

98Si vous arrêtez une exécution `claude -p` avec SIGTERM, par exemple avec `kill` ou depuis un superviseur de processus, Claude Code se termine avec le code 143. Claude Code laisse le tour en cours inachevé et n'enregistre aucun résultat pour celui-ci. Pour terminer le tour à la place, envoyez SIGINT, ou appelez `interrupt()` du SDK Agent, avant d'arrêter le processus.100Si vous arrêtez une exécution `claude -p` avec SIGTERM, par exemple avec `kill` ou depuis un superviseur de processus, Claude Code se termine avec le code 143. Claude Code laisse le tour en cours inachevé et n'enregistre aucun résultat pour celui-ci. Pour terminer le tour à la place, envoyez SIGINT, ou appelez `interrupt()` du SDK Agent, avant d'arrêter le processus.

99 101 

100Sur SIGTERM, Claude Code termine l'arborescence des processus de toute commande Bash qui s'exécute toujours. Claude Code exécute ensuite les hooks [`SessionEnd`](/docs/fr/hooks#sessionend) et se termine. Lors de la sortie, Claude Code ne démarre aucun nouvel appel d'outil, n'envoie aucune nouvelle demande de modèle et n'exécute aucun hook autre que `SessionEnd`. Si l'exécution était au milieu d'une commande ou en attente d'une réponse à une invite de permission quand le signal est arrivé, Claude Code gère cette étape comme suit :102Sur SIGTERM, Claude Code termine l'arborescence des processus de toute commande Bash qui s'exécute toujours. Claude Code exécute ensuite les hooks [`SessionEnd`](/docs/fr/hooks#sessionend) et se termine. Lors de la sortie, Claude Code ne démarre aucun nouvel appel d'outil, n'envoie aucune nouvelle requête au modèle et n'exécute aucun hook autre que `SessionEnd`. Si l'exécution était au milieu d'une commande ou en attente d'une réponse à une demande de permission quand le signal est arrivé, Claude Code gère cette étape comme suit :

101 103 

102* **Exécution d'une commande** : Claude Code enregistre la commande comme tuée dans la session.104* **Exécution d'une commande** : Claude Code enregistre la commande comme tuée dans la session.

103* **En attente d'une réponse à une invite de permission** : si vous envoyez SIGTERM au processus, Claude Code laisse l'invite sans réponse. Si votre programme ferme la session via le SDK Agent, le SDK termine l'entrée de Claude Code avant d'envoyer un signal, et Claude Code annule l'invite dès que l'entrée se termine.105* **En attente d'une réponse à une demande de permission** : si vous envoyez SIGTERM au processus, Claude Code laisse la demande sans réponse. Si votre programme ferme la session via le SDK Agent, le SDK termine l'entrée de Claude Code avant d'envoyer un signal, et Claude Code annule la demande dès que l'entrée se termine.

104 106 

105Quand vous [reprenez la session](#continue-conversations), Claude Code laisse le tour interrompu tel qu'il est, et votre prochaine invite conduit la conversation. Pour que Claude Code continue le tour interrompu à la reprise à la place, définissez [`CLAUDE_CODE_RESUME_INTERRUPTED_TURN=1`](/docs/fr/env-vars).107Quand vous [reprenez la session](#continue-conversations), Claude Code laisse le tour interrompu tel qu'il est, et votre prochain prompt conduit la conversation. Pour que Claude Code continue le tour interrompu à la reprise à la place, définissez [`CLAUDE_CODE_RESUME_INTERRUPTED_TURN=1`](/docs/fr/env-vars).

106 108 

107<h3 id="if-the-working-directory-is-deleted">109<h3 id="if-the-working-directory-is-deleted">

108 Si le répertoire de travail est supprimé110 Si le répertoire de travail est supprimé


262| `type` | `"system"` | type de message |264| `type` | `"system"` | type de message |

263| `subtype` | `"api_retry"` | identifie ceci comme un événement de tentative |265| `subtype` | `"api_retry"` | identifie ceci comme un événement de tentative |

264| `attempt` | entier | numéro de tentative actuel, commençant à 1 |266| `attempt` | entier | numéro de tentative actuel, commençant à 1 |

265| `max_retries` | entier | tentatives totales autorisées pour la cause de cet échec, qui peut être inférieur au budget de session |267| `max_retries` | entier | tentatives totales autorisées pour la cause de cet échec |

266| `retry_delay_ms` | entier | millisecondes jusqu'à la prochaine tentative |268| `retry_delay_ms` | entier | millisecondes jusqu'à la prochaine tentative |

267| `error_status` | entier ou null | code de statut HTTP de la tentative échouée, ou `null` lorsque la tentative n'a pas reçu de réponse HTTP de l'API |269| `error_status` | entier ou null | code de statut HTTP de la tentative échouée, ou `null` lorsque la tentative n'a pas reçu de réponse HTTP de l'API |

268| `no_response` | objet, optionnel | présent uniquement lorsque la tentative échouée n'a pas reçu [d'en-têtes de réponse à temps](/docs/fr/errors#no-response-from-api). `waited_ms` est la durée d'attente de cette tentative et `retry_wait_ms` est la durée d'attente de la tentative. Dans ces événements, `max_retries` reflète la tentative que cette cause obtient normalement, et non le budget de session. Nécessite Claude Code v2.1.261 ou ultérieur |270| `no_response` | objet, optionnel | présent uniquement lorsque la tentative échouée n'a pas reçu [d'en-têtes de réponse à temps](/docs/fr/errors#no-response-from-api). `waited_ms` est la durée d'attente de cette tentative et `retry_wait_ms` est la durée d'attente de la nouvelle tentative. Nécessite Claude Code v2.1.261 ou ultérieur |

269| `error` | chaîne | catégorie d'erreur : `authentication_failed`, `oauth_org_not_allowed`, `account_on_hold`, `billing_error`, `rate_limit`, `overloaded`, `invalid_request`, `model_not_found`, `server_error`, `max_output_tokens`, `cloud_credential_error`, ou `unknown` |271| `error` | chaîne | catégorie d'erreur : `authentication_failed`, `oauth_org_not_allowed`, `account_on_hold`, `billing_error`, `rate_limit`, `overloaded`, `invalid_request`, `model_not_found`, `server_error`, `max_output_tokens`, `cloud_credential_error`, ou `unknown` |

270| `uuid` | chaîne | identifiant d'événement unique |272| `uuid` | chaîne | identifiant d'événement unique |

271| `session_id` | chaîne | session à laquelle appartient l'événement |273| `session_id` | chaîne | session à laquelle appartient l'événement |

hipaa-setup.md +3 −0

Details

139}139}

140```140```

141 141 

142Pour un fichier `managed-settings.json` plus complet incluant le sandboxing, une liste d'autorisation réseau, des protections des identifiants et la conservation des données locales, consultez `settings-hipaa.json` et `README-hipaa.md` dans le [dépôt d'exemples de paramètres](https://github.com/anthropics/claude-code/tree/main/examples/settings).

143 

142<h4 id="what-each-key-does">144<h4 id="what-each-key-does">

143 Rôle de chaque clé145 Rôle de chaque clé

144</h4>146</h4>


306 308 

307* [Configurer Cowork (mode local) pour une organisation compatible HIPAA](https://claude.com/docs/cowork/hipaa-setup)309* [Configurer Cowork (mode local) pour une organisation compatible HIPAA](https://claude.com/docs/cowork/hipaa-setup)

308* [Déployer les paramètres gérés](/docs/fr/managed-settings)310* [Déployer les paramètres gérés](/docs/fr/managed-settings)

311* [Exemple de paramètres HIPAA](https://github.com/anthropics/claude-code/tree/main/examples/settings)

309* [Configuration réseau d'entreprise](/docs/fr/network-config)312* [Configuration réseau d'entreprise](/docs/fr/network-config)

310* [Zero data retention](/docs/fr/zero-data-retention)313* [Zero data retention](/docs/fr/zero-data-retention)

311* [Mentions légales et conformité](/docs/fr/legal-and-compliance)314* [Mentions légales et conformité](/docs/fr/legal-and-compliance)

hooks.md +124 −35

Details

476| `async` | non | Si `true`, s'exécute en arrière-plan sans bloquer. Consultez [Exécuter les hooks en arrière-plan](#run-hooks-in-the-background) |476| `async` | non | Si `true`, s'exécute en arrière-plan sans bloquer. Consultez [Exécuter les hooks en arrière-plan](#run-hooks-in-the-background) |

477| `asyncRewake` | non | Si `true`, s'exécute en arrière-plan et réveille Claude au code de sortie 2. Le stderr du hook, ou stdout s'il est vide, est affiché à Claude comme un [rappel système](/docs/fr/glossary#system-reminder) afin qu'il puisse réagir à un échec en arrière-plan de longue durée |477| `asyncRewake` | non | Si `true`, s'exécute en arrière-plan et réveille Claude au code de sortie 2. Le stderr du hook, ou stdout s'il est vide, est affiché à Claude comme un [rappel système](/docs/fr/glossary#system-reminder) afin qu'il puisse réagir à un échec en arrière-plan de longue durée |

478| `shell` | non | Shell à utiliser pour ce hook. Accepte `"bash"` ou `"powershell"`. Par défaut `"bash"`, ou `"powershell"` sur Windows lorsque Git Bash n'est pas installé. Définir `"powershell"` exécute la commande via PowerShell sur Windows. Ne nécessite pas `CLAUDE_CODE_USE_POWERSHELL_TOOL` puisque les hooks lancent PowerShell directement. Ignoré lorsque `args` est défini |478| `shell` | non | Shell à utiliser pour ce hook. Accepte `"bash"` ou `"powershell"`. Par défaut `"bash"`, ou `"powershell"` sur Windows lorsque Git Bash n'est pas installé. Définir `"powershell"` exécute la commande via PowerShell sur Windows. Ne nécessite pas `CLAUDE_CODE_USE_POWERSHELL_TOOL` puisque les hooks lancent PowerShell directement. Ignoré lorsque `args` est défini |

479| `onFailure` | non | Ce qu'il advient de l'action lorsque le hook échoue : `"continue"`, la valeur par défaut, ou `"block"`. Consultez [Bloquer l'action lorsqu'un hook échoue](#block-the-action-when-a-hook-fails). Nécessite Claude Code v2.1.295 ou ultérieur |

479 480 

480<a id="exec-form-and-shell-form" />481<a id="exec-form-and-shell-form" />

481 482 


533| `url` | oui | URL vers laquelle envoyer la requête POST |534| `url` | oui | URL vers laquelle envoyer la requête POST |

534| `headers` | non | En-têtes HTTP supplémentaires sous forme de paires clé-valeur. Les valeurs supportent l'interpolation de variables d'environnement en utilisant la syntaxe `$VAR_NAME` ou `${VAR_NAME}`. Seules les variables listées dans `allowedEnvVars` sont résolues |535| `headers` | non | En-têtes HTTP supplémentaires sous forme de paires clé-valeur. Les valeurs supportent l'interpolation de variables d'environnement en utilisant la syntaxe `$VAR_NAME` ou `${VAR_NAME}`. Seules les variables listées dans `allowedEnvVars` sont résolues |

535| `allowedEnvVars` | non | Liste des noms de variables d'environnement qui peuvent être interpolés dans les valeurs d'en-tête. Les références aux variables non listées sont remplacées par des chaînes vides. Requis pour que l'interpolation de variables d'environnement fonctionne |536| `allowedEnvVars` | non | Liste des noms de variables d'environnement qui peuvent être interpolés dans les valeurs d'en-tête. Les références aux variables non listées sont remplacées par des chaînes vides. Requis pour que l'interpolation de variables d'environnement fonctionne |

537| `onFailure` | non | Ce qu'il advient de l'action lorsque le hook échoue : `"continue"`, la valeur par défaut, ou `"block"`. Consultez [Bloquer l'action lorsqu'un hook échoue](#block-the-action-when-a-hook-fails). Nécessite Claude Code v2.1.295 ou ultérieur |

536 538 

537Claude Code envoie l'[entrée JSON](#hook-input-and-output) du hook en tant que corps de la requête POST avec `Content-Type: application/json`. Le corps de la réponse utilise le même [format de sortie JSON](#json-output) que les hooks de commande.539Claude Code envoie l'[entrée JSON](#hook-input-and-output) du hook en tant que corps de la requête POST avec `Content-Type: application/json`. Le corps de la réponse utilise le même [format de sortie JSON](#json-output) que les hooks de commande.

538 540 


821 Sortie du code de sortie823 Sortie du code de sortie

822</h3>824</h3>

823 825 

824Le code de sortie de votre commande de hook indique à Claude Code si l'action doit procéder, être bloquée ou être ignorée. Le code de sortie n'agit pas seul. Claude Code lit les [champs de sortie JSON](#json-output) depuis stdout sur chaque code de sortie, pas seulement 0, et pour les événements qui utilisent le modèle de décision standard, un objet analysé qui passe la validation du schéma prend effet aux côtés du code. Le blocage d'exit 2 est le seul résultat que JSON ne peut pas remplacer.826Le code de sortie de votre hook indique à Claude Code s'il doit poursuivre l'action qui a déclenché le hook, comme un appel d'outil ou un prompt. Une exécution qui se termine aboutit à l'un de ces trois résultats :

825 827 

826Deux tableaux possèdent les exceptions par événement : [Comportement du code de sortie 2 par événement](#exit-code-2-behavior-per-event) dit ce que les codes de sortie font pour chaque événement, et [Contrôle de décision](#decision-control) dit quels champs de décision chaque événement honore. Les champs universels tels que `systemMessage` fonctionnent sur la plupart des événements et sont listés dans le tableau [Sortie JSON](#json-output).828* **Succès** : votre hook quitte avec 0. Claude Code applique tous les champs de [sortie JSON](#json-output) que votre hook a imprimés, et l'action se poursuit sauf si ces champs la bloquent ou la refusent.

829* **Erreur bloquante** : votre hook quitte avec 2. Sur [les événements qui peuvent bloquer](#exit-code-2-behavior-per-event), Claude Code arrête l'action.

830* **Erreur non-bloquante** : votre hook quitte avec tout autre code, ou échoue d'une autre manière, par exemple en ne démarrant pas ou en imprimant du JSON invalide. L'action se poursuit, et sur des événements tels que `PreToolUse`, vous voyez un avis `<hook name> hook error` dans la transcription. Si vous souhaitez qu'un hook en échec bloque l'action, définissez [`onFailure: "block"`](#block-the-action-when-a-hook-fails).

831 

832Ce que votre hook imprime sur stdout peut changer le résultat. Par exemple, si un hook `PreToolUse` quitte avec 1 mais imprime du JSON qui passe la validation, l'exécution est un succès et les champs JSON décident de ce qui se passe. Pour trouver le résultat de votre hook sur un événement tel que `PreToolUse`, faites correspondre ce qu'il a imprimé sur stdout dans la première colonne avec son code de sortie en haut :

833 

834| Stdout | Exit 0 | Exit 2 | Tout autre code de sortie |

835| :- | :- | :- | :- |

836| Objet JSON qui passe la [validation du schéma](#json-output) | Succès. Les champs s'appliquent | Erreur bloquante. Claude Code lit toujours les champs, mais ils ne peuvent pas remplacer le blocage | Succès. Claude Code ignore le code de sortie, et les champs seuls décident. Avec [`onFailure: "block"`](#block-the-action-when-a-hook-fails), cela compte comme un échec |

837| JSON qui [ne peut pas être analysé](#exit-code-0) ou échoue la validation du schéma | Erreur non-bloquante. L'avis porte le message d'analyse ou de validation | Erreur bloquante. Votre stderr est la raison | Erreur non-bloquante. L'avis porte le message d'analyse ou de validation |

838| [Texte brut](#exit-code-0), ou rien | Succès | Erreur bloquante. Votre stderr est la raison | Erreur non-bloquante. L'avis porte la première ligne de votre stderr |

839 

840Certains événements ont leurs propres règles :

841 

842* **`WorktreeCreate`** : tout code de sortie non-zéro fait échouer la création du worktree, quoi que dise votre JSON.

843* **`WorktreeRemove`** : tout code de sortie non-zéro fait échouer la suppression du worktree si le répertoire existe toujours après.

844* **`Stop`, `SubagentStop`, `TaskCompleted` et le hook `UserPromptSubmit` d'un plugin** : lorsque votre hook quitte avec 2 sans rien sur stdout et que son stderr indique qu'un fichier est manquant, comme `No such file or directory`, Claude Code traite l'exécution comme une erreur non-bloquante.

845* **`Elicitation` et `ElicitationResult`** : Claude Code applique votre `hookSpecificOutput` lorsque votre hook quitte avec 0, et l'ignore sur tout autre code de sortie.

846* **Les événements qui rejettent la sortie du hook, comme `StopFailure`** : Claude Code ignore votre JSON sur chaque code de sortie, à part les champs d'effet secondaire comme `terminalSequence`, qui se déclenchent toujours.

847 

848Pour vérifier ce que fait le code de sortie 2 sur votre événement, consultez [Comportement du code de sortie 2 par événement](#exit-code-2-behavior-per-event). Pour vérifier quels champs de décision il honore, consultez [Contrôle de décision](#decision-control).

827 849 

828<h4 id="exit-code-0">850<h4 id="exit-code-0">

829 Exit code 0851 Exit code 0


835 857 

836Que Claude Code lise votre stdout comme [sortie JSON](#json-output) ou comme texte brut dépend de la façon dont il commence et se termine, en ignorant les espaces blancs environnants :858Que Claude Code lise votre stdout comme [sortie JSON](#json-output) ou comme texte brut dépend de la façon dont il commence et se termine, en ignorant les espaces blancs environnants :

837 859 

838* **Commence par `{` et se termine par `}`** : Claude Code l'analyse comme JSON. Lorsque la sortie est deux lignes ou plus qui s'analysent chacune comme JSON seules, et aucune ligne n'est un objet [sortie JSON](#json-output) qui définit un champ, Claude Code traite la sortie entière comme du texte brut. Lorsque l'une de ces lignes définit un champ, la sortie entière est un échec d'analyse, décrit ci-dessous.860* **Commence par `{` et se termine par `}`** : Claude Code l'analyse comme JSON. Lorsque la sortie est deux lignes ou plus qui s'analysent chacune comme JSON seules, et aucune ligne n'est un objet [sortie JSON](#json-output) qui définit un champ, Claude Code traite la sortie entière comme du texte brut. Lorsque l'une de ces lignes définit un champ, la sortie entière est un échec d'analyse.

839* **Commence par `{` mais ne se termine pas par `}`** : Claude Code le traite comme du texte brut.861* **Commence par `{` mais ne se termine pas par `}`** : Claude Code le traite comme du texte brut.

840* **Commence par n'importe quoi d'autre** : Claude Code le traite comme du texte brut, y compris s'il s'agit d'un tableau JSON ou d'une chaîne JSON entre guillemets.862* **Commence par n'importe quoi d'autre** : Claude Code le traite comme du texte brut, y compris s'il s'agit d'un tableau JSON ou d'une chaîne JSON entre guillemets.

841 863 

842Pour les événements qui utilisent le modèle de décision standard, exit 0 avec un objet analysé qui échoue la validation du schéma est une erreur non-bloquante : l'action procède, et la transcription affiche un avis `<hook name> hook error` avec le message de validation. La même chose se produit sur tout code de sortie autre que 2, tandis que [exit 2 bloque toujours](#exit-code-2).864Lorsque Claude Code essaie d'analyser votre stdout comme JSON et ne peut pas, ou que l'objet analysé échoue la [validation du schéma](#json-output), l'exécution est une [erreur non-bloquante](#exit-code-output). L'avis `<hook name> hook error` porte le message d'analyse ou de validation. Sur les événements qui ajoutent stdout en texte brut comme contexte, Claude Code n'ajoute pas le stdout qu'il n'a pas pu analyser.

843 

844Pour les événements qui utilisent le modèle de décision standard, lorsque Claude Code essaie d'analyser votre stdout comme JSON et ne peut pas, il rapporte une erreur non-bloquante sur chaque code de sortie autre que 2. La transcription affiche un avis `<hook name> hook error` avec le message d'analyse. Sur les événements qui ajoutent stdout en texte brut comme contexte, Claude Code n'ajoute pas le texte. Avant v2.1.248, Claude Code traitait ce stdout comme du texte brut.

845 865 

846Stderr d'un hook qui quitte 0 va uniquement au journal de débogage, jamais à la transcription, et Claude ne le voit jamais. Pour le lire vous-même, activez [la journalisation de débogage](#debug-hooks). Pour afficher un avertissement à Claude à partir d'un hook `PostToolUse` ou `PostToolUseFailure`, quittez 2 à la place afin que [Claude voie stderr](#exit-code-2-behavior-per-event) même si l'outil s'est déjà exécuté.866Claude ne voit jamais le stderr d'un hook qui quitte avec 0. Pour le lire vous-même sur des événements tels que `PreToolUse`, activez [la journalisation de débogage](#debug-hooks). Pour afficher un avertissement à Claude à partir d'un hook `PostToolUse` ou `PostToolUseFailure`, quittez 2 à la place afin que [Claude voie stderr](#exit-code-2-behavior-per-event) même si l'outil s'est déjà exécuté.

847 867 

848<h4 id="exit-code-2">868<h4 id="exit-code-2">

849 Exit code 2869 Exit code 2

850</h4>870</h4>

851 871 

852Exit 2 signifie une erreur bloquante. Sur [les événements qui peuvent bloquer](#exit-code-2-behavior-per-event), exit 2 bloque que vous imprimiez JSON ou non : même une `permissionDecision` JSON de `"allow"` ne peut pas la remplacer. Claude Code lit toujours toute [sortie JSON](#json-output) valide sur stdout. Sur `Elicitation` et `ElicitationResult`, le `hookSpecificOutput` d'un hook exit-2 est ignoré.872Quittez avec le code 2 pour bloquer l'action. Sur [les événements qui peuvent bloquer](#exit-code-2-behavior-per-event), Claude Code arrête l'action : un hook `PreToolUse` bloque l'appel d'outil, par exemple, et un hook `UserPromptSubmit` rejette le prompt.

853 873 

854Le message de blocage est la raison de la décision de blocage de votre JSON lorsqu'elle en fait une, et votre texte stderr sinon. Ce que le blocage fait varie selon l'événement : `PreToolUse` bloque l'appel d'outil, `UserPromptSubmit` rejette le prompt, et ainsi de suite. [Comportement du code de sortie 2 par événement](#exit-code-2-behavior-per-event) énumère l'effet pour chaque événement, et chaque section d'événement dit où le message va.874Le message qui accompagne le blocage est le stderr de votre hook. Si votre hook a également imprimé du JSON qui prend une décision de blocage, Claude Code utilise la raison de cette décision à la place.

855 875 

856Un hook qui quitte 2 tout en imprimant JSON qui échoue la validation du schéma [sortie JSON](#json-output) bloque toujours : Claude Code utilise stderr comme raison de blocage et consigne l'échec de validation dans le journal de débogage. Avant v2.1.214, Claude Code traitait cette combinaison comme une erreur non-bloquante et l'action procédait.876Exit 2 bloque même lorsque votre hook imprime du JSON :

877 

878* **JSON qui passe la validation du schéma** : Claude Code lit toujours les champs de [sortie JSON](#json-output), mais ils ne peuvent pas remplacer le blocage. Même une `permissionDecision` de `"allow"` ne laisse pas passer l'action. Sur `Elicitation` et `ElicitationResult`, le `hookSpecificOutput` d'un hook exit-2 est ignoré.

879* **JSON qui échoue la validation du schéma** : le hook bloque toujours. Claude Code utilise votre stderr comme raison de blocage et consigne l'échec de validation dans le journal de débogage.

857 880 

858Ce script bloque les commandes `rm` en quittant 2 et laisse chaque autre commande au flux de permission normal :881Ce script bloque les commandes `rm` en quittant 2 et laisse chaque autre commande au flux de permission normal :

859 882 


871exit 0 # Pas de décision : le flux de permission normal s'applique894exit 0 # Pas de décision : le flux de permission normal s'applique

872```895```

873 896 

897Avec ce script enregistré comme hook `PreToolUse` sur `Bash`, une commande qui commence par `rm` est bloquée, et Claude reçoit le stderr du hook comme erreur de l'outil, préfixé par le nom de l'événement, le nom de l'outil et la commande du hook :

898 

899```text theme={null}

900PreToolUse:Bash hook error: [${CLAUDE_PROJECT_DIR}/.claude/hooks/no-rm.sh]: Blocked: rm commands are not allowed

901```

902 

874<h4 id="other-exit-codes">903<h4 id="other-exit-codes">

875 Autres codes de sortie904 Autres codes de sortie

876</h4>905</h4>

877 906 

878Tout autre code de sortie ne bloque pas seul pour la plupart des événements de hook. Ce qui se passe dépend de votre stdout :907Lorsque votre hook quitte avec un code autre que 0 ou 2 et imprime du texte brut ou rien sur stdout, l'exécution est une [erreur non-bloquante](#exit-code-output). Vous voyez un avis `<hook name> hook error` dans la transcription avec `Failed with non-blocking status code:` et la première ligne du stderr de votre hook. Par exemple, lorsqu'un hook `PreToolUse` sur `Bash` imprime `something broke` sur stderr et quitte avec 1, l'avis `PreToolUse:Bash hook error` porte cette ligne :

879 908 

880* Avec un objet analysé qui passe la validation du schéma, pour les événements qui utilisent le modèle de décision standard, Claude Code ignore le code de sortie et le JSON seul décide du résultat :909```text theme={null}

881 * Chaque champ que l'événement supporte est honoré, y compris `permissionDecision`, `additionalContext`, `updatedInput` et `systemMessage`, et le hook n'est pas signalé comme une erreur.910Failed with non-blocking status code: something broke

882 * [Contrôle de décision](#decision-control) énumère les champs de décision par événement ; les champs universels comme `systemMessage` suivent le tableau [Sortie JSON](#json-output).911```

883* Avec un objet analysé qui échoue la validation du schéma, pour les événements qui utilisent le modèle de décision standard, c'est la même erreur non-bloquante que [sur exit 0](#exit-code-0) : l'action procède, et l'avis `<hook name> hook error` porte le message de validation.

884* Avec stdout que Claude Code [essaie d'analyser comme JSON](#exit-code-0) et ne peut pas, Claude Code rapporte la même erreur non-bloquante que sur exit 0 pour les événements qui utilisent le modèle de décision standard. L'action procède, et l'avis porte le message d'analyse.

885* Avec stdout que Claude Code [traite comme du texte brut](#exit-code-0), ou avec stdout vide, c'est une erreur non-bloquante pour la plupart des événements de hook : l'action procède, et la transcription affiche un avis `<hook name> hook error` suivi de la première ligne de stderr, préfixée par `Failed with non-blocking status code:`. Pour capturer le stderr complet, activez [la journalisation de débogage](#debug-hooks).

886 912 

887Les événements en dehors du modèle de décision standard gardent leurs propres lignes dans le [tableau par événement](#exit-code-2-behavior-per-event) : `WorktreeCreate` fait échouer la création sur tout code de sortie non-zéro peu importe ce que votre JSON dit, et les événements qui rejettent complètement la sortie du hook, comme `StopFailure`, ignorent votre JSON sur chaque code de sortie, à part les champs d'effet secondaire comme `terminalSequence`, qui se déclenchent toujours.913Pour capturer le stderr complet plutôt que sa première ligne, activez [la journalisation de débogage](#debug-hooks).

888 914 

889Un hook qui ne peut pas démarrer atterrit dans la même catégorie non-bloquante. Lorsque le chemin du script n'existe pas ou n'est pas exécutable, le shell quitte avec un code comme 127 et vous voyez le même avis avec le message de l'interpréteur, par exemple `Failed with non-blocking status code: /bin/sh: /path/to/hook.sh: No such file or directory`. Pour la plupart des événements de hook, l'action procède. Lorsque vous configurez un hook de politique, surveillez cet avis à sa première exécution : un chemin mal orthographié dans `settings.json` laisse le contrôle silencieusement désactivé.915Un hook qui ne peut pas démarrer est également une erreur non-bloquante. Sous forme shell, lorsque le chemin du script n'existe pas ou n'est pas exécutable, le shell quitte avec un code comme 127 et l'avis porte le message de l'interpréteur, par exemple `Failed with non-blocking status code: /bin/sh: /path/to/hook.sh: No such file or directory`. Lorsque vous configurez un hook de politique, surveillez cet avis à sa première exécution, car un chemin mal orthographié dans `settings.json` signifie que le hook ne s'exécute jamais. Pour bloquer l'action à la place, définissez [`onFailure: "block"`](#block-the-action-when-a-hook-fails).

890 916 

891<Warning>917<Warning>

892 Pour la plupart des événements de hook, exit code 2 est le seul code de sortie qui bloque par le code seul. Sans JSON valide sur stdout, Claude Code traite exit code 1 comme une erreur non-bloquante et procède avec l'action, même si 1 est le code d'échec Unix conventionnel. Si votre hook est destiné à appliquer une politique, utilisez `exit 2`. Les événements worktree diffèrent : tout code de sortie non-zéro de `WorktreeCreate` abandonne la création du worktree, et tout code de sortie non-zéro de `WorktreeRemove` fait échouer la suppression du worktree si le répertoire existe toujours après.918 Sans JSON valide sur stdout, Claude Code traite exit code 1 comme une erreur non-bloquante, même si 1 est le code d'échec Unix conventionnel. Si votre hook est destiné à appliquer une politique, utilisez `exit 2`.

893</Warning>919</Warning>

894 920 

895<h4 id="timeouts">921<h4 id="timeouts">


900 926 

901Sur [`PreModelSwitch`](#premodelswitch), un hook annulé à son délai d'expiration bloque le changement de modèle. Sur `PreToolUse`, les deux familles de hooks diffèrent :927Sur [`PreModelSwitch`](#premodelswitch), un hook annulé à son délai d'expiration bloque le changement de modèle. Sur `PreToolUse`, les deux familles de hooks diffèrent :

902 928 

903* Un hook `command`, `http` ou `mcp_tool` expiré ne bloque pas l'appel d'outil. L'appel continue via le [flux de permission](/docs/fr/permissions) normal, donc ne comptez pas sur un hook bloqué pour agir comme un contrôle.929* Un hook `command`, `http` ou `mcp_tool` expiré ne bloque pas l'appel d'outil. L'appel continue via le [flux de permission](/docs/fr/permissions) normal, donc ne comptez pas sur un hook bloqué pour agir comme un contrôle. Pour bloquer l'appel lorsqu'un hook `command` ou `http` expire, définissez [`onFailure: "block"`](#block-the-action-when-a-hook-fails).

904* Un hook de rappel [Agent SDK](/docs/fr/agent-sdk/hooks) qui dépasse son délai d'expiration [bloque l'appel d'outil](#pretooluse).930* Un hook de rappel [Agent SDK](/docs/fr/agent-sdk/hooks) qui dépasse son délai d'expiration [bloque l'appel d'outil](#pretooluse).

905 931 

932<h4 id="block-the-action-when-a-hook-fails">

933 Bloquer l'action lorsqu'un hook échoue

934</h4>

935 

936Sur la plupart des événements, lorsqu'un hook échoue ou expire, Claude Code exécute quand même l'action, de sorte qu'un hook de politique avec un chemin erroné ou un script qui plante laisse tout passer. Pour bloquer l'action à la place, définissez `"onFailure": "block"` sur un hook `command` ou `http`. La valeur par défaut est `"continue"`. Nécessite Claude Code v2.1.295 ou ultérieur.

937 

938Ce hook `PreToolUse` dans `.claude/settings.json` exécute un script de projet avant chaque commande Bash, et bloque la commande si le script échoue :

939 

940```json theme={null}

941{

942 "hooks": {

943 "PreToolUse": [

944 {

945 "matcher": "Bash",

946 "hooks": [

947 {

948 "type": "command",

949 "command": "node",

950 "args": ["${CLAUDE_PROJECT_DIR}/.claude/hooks/check-command.js"],

951 "onFailure": "block"

952 }

953 ]

954 }

955 ]

956 }

957}

958```

959 

960Pour le tester, laissez `check-command.js` absent et demandez à Claude d'exécuter une commande Bash telle que `ls`. Claude Code bloque l'appel, et l'erreur inclut `failed; blocking because onFailure is "block"` suivi de la propre sortie d'erreur de node, réduite ici à une ligne :

961 

962```text theme={null}

963PreToolUse:Bash hook error: [node ${CLAUDE_PROJECT_DIR}/.claude/hooks/check-command.js]: failed; blocking because onFailure is "block"

964Error: Cannot find module '/path/to/project/.claude/hooks/check-command.js'

965```

966 

967Après un délai d'expiration, le message indique `timed out` au lieu de `failed`. Sans `onFailure` défini, le même script manquant est une erreur non-bloquante et `ls` s'exécute.

968 

969Chacun de ces cas compte comme un échec :

970 

971* **Impossible de démarrer** : un hook de commande ne parvient pas à démarrer, par exemple parce que le script ou l'exécutable n'existe pas

972* **Code de sortie autre que 0 ou 2** : compte pour un hook de commande même s'il a imprimé du JSON qui autorise l'action, comme `permissionDecision: "allow"`. Pour retourner une décision JSON, quittez avec 0

973* **Erreur HTTP** : la connexion d'un hook HTTP échoue, ou le statut de la réponse n'est pas 2xx

974* **Délai d'expiration** : le hook atteint son [`timeout`](#common-fields)

975* **Sortie invalide** : la sortie JSON [ne peut pas être analysée](#exit-code-0) ou échoue la [validation du schéma](#json-output). Pour un hook HTTP, un corps 2xx qui n'est ni vide ni un objet JSON compte également. Le stdout en texte brut d'un hook de commande n'est pas un échec

976 

977Avec `"block"` défini, un échec fait ce que [le code de sortie 2 fait sur cet événement](#exit-code-2-behavior-per-event), sauf sur `PermissionRequest`, où il refuse la demande. Par exemple, un échec `PreToolUse` bloque l'appel d'outil et un échec `UserPromptSubmit` bloque le prompt.

978 

979Le champ n'a aucun effet sur ces hooks :

980 

981* **Hooks `Stop`, `SubagentStop`, `TaskCompleted` et `TeammateIdle`** : le code de sortie 2 sur ces événements renvoie Claude au travail, et Claude ne peut pas réparer un hook qui ne s'exécute pas

982* **Hooks de commande en arrière-plan** : les hooks de commande qui définissent [`async` ou `asyncRewake`](#run-hooks-in-the-background)

983 

906<h4 id="exit-code-2-behavior-per-event">984<h4 id="exit-code-2-behavior-per-event">

907 Comportement du code de sortie 2 par événement985 Comportement du code de sortie 2 par événement

908</h4>986</h4>


960* **Défaillance de connexion** : erreur non-bloquante, l'exécution continue1038* **Défaillance de connexion** : erreur non-bloquante, l'exécution continue

961* **Délai d'expiration** : le hook est annulé, comme décrit sous [Délais d'expiration](#timeouts)1039* **Délai d'expiration** : le hook est annulé, comme décrit sous [Délais d'expiration](#timeouts)

962 1040 

963Contrairement aux hooks de commande, les hooks HTTP ne peuvent pas signaler une erreur bloquante uniquement via les codes de statut. Pour bloquer un appel d'outil ou refuser une permission, retournez une réponse 2xx avec un corps JSON contenant les champs de décision appropriés.1041Les hooks HTTP ne peuvent pas signaler une erreur bloquante uniquement via le code de statut : un statut non-2xx ou une connexion échouée est une [erreur non-bloquante](#exit-code-output). Pour bloquer un appel d'outil ou refuser une permission, retournez une réponse 2xx avec un corps JSON contenant les champs de décision appropriés. Pour bloquer l'action lorsque la requête échoue ou retourne un statut non-2xx, définissez [`onFailure: "block"`](#block-the-action-when-a-hook-fails).

964 1042 

965<h3 id="json-output">1043<h3 id="json-output">

966 Sortie JSON1044 Sortie JSON


1237 Contrôle de décision de SessionStart1315 Contrôle de décision de SessionStart

1238</h4>1316</h4>

1239 1317 

1240Claude Code ajoute au contexte de Claude la sortie stdout qu'il [traite comme du texte brut](#exit-code-0). En plus des [champs de sortie JSON](#json-output) disponibles pour tous les hooks, vous pouvez renvoyer ces champs propres à l'événement :1318Un hook SessionStart peut ajouter du contexte pour Claude, fournir le premier message utilisateur, définir le titre de la session, surveiller des fichiers et recharger les skills. Renvoyez le champ correspondant à chacune de ces actions, en plus des [champs de sortie JSON](#json-output) disponibles pour tous les hooks :

1241 1319 

1242| Champ | Description |1320| Champ | Description |

1243| :- | :- |1321| :- | :- |

1244| `additionalContext` | Chaîne ajoutée au contexte de Claude au début de la conversation, avant le premier prompt. Consultez [Ajouter du contexte pour Claude](#add-context-for-claude) pour savoir comment le texte est transmis et ce qu'il faut y mettre |1322| `additionalContext` | Chaîne ajoutée au contexte de Claude au début de la conversation, avant le premier prompt. Consultez [Ajouter du contexte pour Claude](#add-context-for-claude) pour savoir comment le texte est transmis et ce qu'il faut y mettre |

1245| `initialUserMessage` | Chaîne utilisée comme premier message utilisateur de la session. S'applique en [mode non interactif](/docs/fr/headless) avec le flag `-p`, où elle devient le premier tour même si aucun prompt n'est fourni. Si un prompt est fourni, il suit comme tour suivant. Contrairement à `additionalContext`, qui se rattache à un tour existant, ce champ crée le tour |1323| `initialUserMessage` | Chaîne utilisée comme premier message utilisateur de la session, en [mode non interactif](/docs/fr/headless) avec le flag `-p`. Elle devient le premier tour même si vous ne passez aucun prompt. Un prompt que vous passez suit comme tour suivant |

1246| `sessionTitle` | Définit le titre de la session, avec le même effet que `/rename`. À utiliser pour nommer automatiquement les sessions à partir du dossier de lancement, de la branche git ou du nom du worktree. S'applique lorsque `source` vaut `"startup"`, `"resume"` ou `"fork"` ; ignoré pour `"clear"` et `"compact"` |1324| `sessionTitle` | Définit le titre de la session, avec le même effet que `/rename`. S'applique lorsque `source` vaut `"startup"`, `"resume"` ou `"fork"` |

1247| `watchPaths` | Tableau de chemins absolus à surveiller pour les événements [FileChanged](#filechanged) pendant cette session |1325| `watchPaths` | Tableau de chemins absolus à surveiller pour les événements [FileChanged](#filechanged) pendant cette session |

1248| `reloadSkills` | Booléen. Lorsqu'il vaut `true`, Claude Code analyse à nouveau les répertoires de [skills](/docs/fr/skills) et de commandes une fois les hooks SessionStart terminés, afin que les skills installés par le hook soient disponibles dans la même session, dès le premier prompt |1326| `reloadSkills` | Booléen. Lorsqu'il vaut `true`, Claude Code analyse de nouveau les répertoires de [skills](/docs/fr/skills) et de commandes une fois les hooks SessionStart terminés. Consultez [Recharger les skills installés par un hook](#reload-skills-that-a-hook-installs) |

1327 

1328Cette sortie ajoute du contexte et nomme la session :

1249 1329 

1250```json theme={null}1330```json theme={null}

1251{1331{


1257}1337}

1258```1338```

1259 1339 

1260Comme la sortie stdout brute parvient déjà à Claude pour cet événement, un hook qui se contente de charger du contexte peut écrire directement sur stdout sans construire de JSON. Utilisez la forme JSON lorsque vous devez combiner le contexte avec d'autres champs comme `sessionTitle`.1340Un hook qui se contente d'ajouter du contexte peut l'afficher sans construire de JSON, car Claude Code ajoute la [sortie stdout en texte brut](#exit-code-0) d'un hook SessionStart au contexte de Claude.

1341 

1342Si le hook SessionStart de votre plugin fournit `initialUserMessage` ou `sessionTitle`, installez le plugin avant le démarrage de la session. Claude Code ignore ces deux champs provenant d'un plugin dont l'installation se termine après l'exécution des hooks SessionStart.

1343 

1344<h4 id="reload-skills-that-a-hook-installs">

1345 Recharger les skills installés par un hook

1346</h4>

1347 

1348Pour rendre les skills installés par un hook SessionStart disponibles dans la même session, renvoyez `reloadSkills`. La découverte des skills s'exécute normalement avant la fin des hooks SessionStart ; sans ce champ, les fichiers qu'un hook écrit dans `~/.claude/skills/` ou `.claude/skills/` peuvent être absents lors de l'exécution du premier prompt.

1261 1349 

1262Utilisez `reloadSkills` lorsqu'un hook SessionStart installe ou met à jour des skills. La découverte des skills s'exécute normalement avant la fin des hooks SessionStart ; les fichiers que le hook écrit dans `~/.claude/skills/` ou `.claude/skills/` n'apparaîtraient donc sinon que dans la session suivante. Cet exemple synchronise un dépôt de skills partagé et demande la nouvelle analyse :1350Cet exemple synchronise un dépôt de skills partagé et demande une nouvelle analyse :

1263 1351 

1264```bash theme={null}1352```bash theme={null}

1265#!/bin/bash1353#!/bin/bash


1270echo '{"hookSpecificOutput": {"hookEventName": "SessionStart", "reloadSkills": true}}'1358echo '{"hookSpecificOutput": {"hookEventName": "SessionStart", "reloadSkills": true}}'

1271```1359```

1272 1360 

1273L'URL du dépôt est un exemple fictif ; remplacez-la par votre propre dépôt de skills. Avec cette URL fictive, le clonage échoue et affiche un message `fatal:` sur stderr. La sortie stderr d'un hook SessionStart qui se termine avec le code 0 est purement informative, donc la demande `reloadSkills` s'applique tout de même.1361L'URL du dépôt est un exemple fictif. Remplacez-la par votre propre dépôt de skills.

1274 1362 

1275<h4 id="persist-environment-variables">1363<h4 id="persist-environment-variables">

1276 Conserver les variables d'environnement1364 Conserver les variables d'environnement


1419 1507 

1420Les hooks `UserPromptSubmit` ont un délai d'expiration par défaut de 30 secondes pour les types `command`, `http` et `mcp_tool`, plus court que la valeur par défaut de 600 secondes pour ces types sur la plupart des autres événements. Comme ce hook s'exécute avant chaque prompt et bloque le traitement du modèle jusqu'à sa fin, un hook bloqué paralyse la session. Si votre hook a besoin de plus de temps, définissez le champ `timeout` dans l'entrée du hook.1508Les hooks `UserPromptSubmit` ont un délai d'expiration par défaut de 30 secondes pour les types `command`, `http` et `mcp_tool`, plus court que la valeur par défaut de 600 secondes pour ces types sur la plupart des autres événements. Comme ce hook s'exécute avant chaque prompt et bloque le traitement du modèle jusqu'à sa fin, un hook bloqué paralyse la session. Si votre hook a besoin de plus de temps, définissez le champ `timeout` dans l'entrée du hook.

1421 1509 

1422Hormis un hook de commande que vous exécutez avec [`async: true`](#run-hooks-in-the-background), un hook de commande, HTTP ou d'outil MCP `UserPromptSubmit` qui atteint son délai d'expiration est annulé et sa sortie, y compris tout `additionalContext`, est ignorée. Le prompt parvient tout de même à Claude, sans ce contexte. La transcription affiche un avis qui indique le nom du hook, le délai d'expiration atteint et le fait que la sortie a été ignorée.1510Hormis pour un hook de commande exécuté avec [`async: true`](#run-hooks-in-the-background), un hook `UserPromptSubmit` de type commande, HTTP ou outil MCP qui atteint son délai d'expiration est annulé et sa sortie, y compris tout `additionalContext`, est ignorée. Le prompt parvient tout de même à Claude, sans ce contexte. Pour bloquer plutôt le prompt, définissez [`onFailure: "block"`](#block-the-action-when-a-hook-fails) sur un hook de commande ou HTTP. La transcription affiche un avis indiquant le nom du hook, le délai d'expiration atteint et le fait que la sortie a été ignorée.

1423 1511 

1424Un [hook de callback de l'Agent SDK](/docs/fr/agent-sdk/hooks) sur `UserPromptSubmit` qui atteint son délai d'expiration bloque le prompt avec un message indiquant le nom du hook et le délai d'expiration, car un callback à cet endroit peut servir de garde-fou de politique qui ne doit pas échouer en mode ouvert. La session se poursuit. Avant la v2.1.208, l'expiration d'un callback sur cet événement mettait fin au tour avec une erreur d'exécution.1512Un [hook de callback de l'Agent SDK](/docs/fr/agent-sdk/hooks) sur `UserPromptSubmit` qui atteint son délai d'expiration bloque le prompt avec un message indiquant le nom du hook et le délai d'expiration, car un callback à cet endroit peut servir de garde-fou de politique qui ne doit pas échouer en mode ouvert. La session se poursuit. Avant la v2.1.208, l'expiration d'un callback sur cet événement mettait fin au tour avec une erreur d'exécution.

1425 1513 


1860| :- | :- | :- | :- |1948| :- | :- | :- | :- |

1861| `url` | string | `"https://example.com/api"` | URL à partir de laquelle récupérer le contenu |1949| `url` | string | `"https://example.com/api"` | URL à partir de laquelle récupérer le contenu |

1862| `prompt` | string | `"Extract the API endpoints"` | Prompt à exécuter sur le contenu récupéré |1950| `prompt` | string | `"Extract the API endpoints"` | Prompt à exécuter sur le contenu récupéré |

1951| `offset` | number | `100000` | Nombre facultatif de caractères à ignorer depuis le début de la page. Claude le définit pour poursuivre la lecture d'une page longue. Nécessite Claude Code v2.1.290 ou ultérieure |

1863 1952 

1864<h5 id="websearch">1953<h5 id="websearch">

1865 WebSearch1954 WebSearch


2112| `message` | Pour `"deny"` uniquement : indique à Claude pourquoi la permission a été refusée |2201| `message` | Pour `"deny"` uniquement : indique à Claude pourquoi la permission a été refusée |

2113| `interrupt` | Pour `"deny"` uniquement : si `true`, arrête Claude |2202| `interrupt` | Pour `"deny"` uniquement : si `true`, arrête Claude |

2114 2203 

2115Un hook qui se termine avec le code 2 sans objet `decision` laisse le flux de permission inchangé, et sa sortie stderr est ignorée. Seul l'objet `decision` peut accorder ou refuser la demande.2204Un hook qui se termine avec le code 2 sans objet `decision` laisse le flux de permissions inchangé, et sa sortie stderr est ignorée. Pour accorder ou refuser la demande, renvoyez l'objet `decision`.

2116 2205 

2117```json theme={null}2206```json theme={null}

2118{2207{


2678 Contrôle de décision TaskCreated2767 Contrôle de décision TaskCreated

2679</h4>2768</h4>

2680 2769 

2681Un hook TaskCreated peut bloquer la création de deux façons. Dans les deux cas, Claude Code supprime la tâche et renvoie votre message à Claude comme erreur de l'outil. Claude Code ignore `continue: false` pour cet événement et Claude continue de travailler.2770Un hook TaskCreated peut bloquer la création avec le code de sortie 2 ou avec une décision JSON. Dans les deux cas, Claude Code supprime la tâche et renvoie votre message à Claude comme erreur de l'outil. Claude Code ignore `continue: false` pour cet événement et Claude continue de travailler.

2682 2771 

2683* **Code de sortie 2** : Claude Code renvoie le texte de stderr comme message.2772* **Code de sortie 2** : Claude Code renvoie le texte de stderr comme message.

2684* **JSON `{"decision": "block", "reason": "..."}`** : Claude Code renvoie `reason` comme message.2773* **JSON `{"decision": "block", "reason": "..."}`** : Claude Code renvoie `reason` comme message.


3561 3650 

3562Claude Code affiche à l'utilisateur tout `systemMessage` renvoyé par votre hook, quelle que soit la décision ; un hook de rapport de coût peut donc renvoyer `{"systemMessage": "..."}` et se terminer avec 0.3651Claude Code affiche à l'utilisateur tout `systemMessage` renvoyé par votre hook, quelle que soit la décision ; un hook de rapport de coût peut donc renvoyer `{"systemMessage": "..."}` et se terminer avec 0.

3563 3652 

3564Un hook PreModelSwitch qui ne répond pas avant son délai d'expiration bloque le changement. Pour [PreToolUse](#timeouts), en revanche, un hook de commande qui expire laisse l'appel d'outil se poursuivre. Le délai d'expiration par défaut pour cet événement est de 30 secondes. `PreModelSwitch` n'exécute que les hooks `command`, `http` et `mcp_tool` ; les valeurs par défaut de `prompt` et `agent` ne s'appliquent donc pas.3653Un hook PreModelSwitch qui ne répond pas avant son délai d'expiration bloque le changement. Pour savoir ce que provoque un délai d'expiration sur les autres événements, consultez [Délais d'expiration](#timeouts). Le délai d'expiration par défaut pour cet événement est de 30 secondes. `PreModelSwitch` n'exécute que des hooks `command`, `http` et `mcp_tool` ; les valeurs par défaut de `prompt` et `agent` ne s'appliquent donc pas.

3565 3654 

3566Un hook qui se termine avec un code autre que 0 ou 2 et n'affiche aucune décision JSON ne bloque pas : Claude Code affiche son stderr et applique le changement, comme décrit dans [Autres codes de sortie](#other-exit-codes).3655Un hook qui se termine avec un code autre que 0 ou 2 et n'affiche aucune décision JSON constitue une erreur non bloquante, comme décrit dans [Autres codes de sortie](#other-exit-codes).

3567 3656 

3568<h3 id="postmodelswitch">3657<h3 id="postmodelswitch">

3569 PostModelSwitch3658 PostModelSwitch


4279Les hooks asynchrones ont des contraintes supplémentaires par rapport aux hooks synchrones :4368Les hooks asynchrones ont des contraintes supplémentaires par rapport aux hooks synchrones :

4280 4369 

4281* La sortie du hook est livrée au tour de conversation suivant. Si la session est inactive, la réponse attend jusqu'à la prochaine interaction utilisateur. Exception : un hook `asyncRewake` qui quitte avec le code 2 réveille Claude immédiatement même lorsque la session est inactive.4370* La sortie du hook est livrée au tour de conversation suivant. Si la session est inactive, la réponse attend jusqu'à la prochaine interaction utilisateur. Exception : un hook `asyncRewake` qui quitte avec le code 2 réveille Claude immédiatement même lorsque la session est inactive.

4282* Chaque exécution crée un processus en arrière-plan séparé. Il n'y a pas de déduplication sur plusieurs déclenchements du même hook asynchrone.4371* Chaque exécution crée un processus en arrière-plan séparé.

4283 4372 

4284<h2 id="security-considerations">4373<h2 id="security-considerations">

4285 Considérations de sécurité4374 Considérations de sécurité

hooks-guide.md +14 −11

Details

242 242 

243Pour tester le hook, demandez à Claude d'ajouter une ligne avec des chaînes entre guillemets simples à un fichier JavaScript, puis ouvrez le fichier : avec les paramètres par défaut de Prettier, le hook les réécrit en guillemets doubles.243Pour tester le hook, demandez à Claude d'ajouter une ligne avec des chaînes entre guillemets simples à un fichier JavaScript, puis ouvrez le fichier : avec les paramètres par défaut de Prettier, le hook les réécrit en guillemets doubles.

244 244 

245Lorsque le hook réussit, Claude Code n'affiche rien dans la conversation. Pour confirmer que le hook a été exécuté, vérifiez que le fichier modifié est reformaté, ou consultez [Techniques de débogage](#debug-techniques).245Lorsque le hook réussit, Claude Code n'affiche rien dans la conversation. Pour confirmer que le hook a été exécuté, vérifiez que le fichier modifié est reformaté, ou consultez [Vérifier ce qu'un hook a fait](#check-what-a-hook-did).

246 246 

247Pour reformater un fichier spécifique quelle que soit la façon dont il change, y compris lorsqu'une commande `Bash` le réécrit, utilisez un hook [FileChanged](/docs/fr/hooks#filechanged) à la place.247Pour reformater un fichier spécifique quelle que soit la façon dont il change, y compris lorsqu'une commande `Bash` le réécrit, utilisez un hook [FileChanged](/docs/fr/hooks#filechanged) à la place.

248 248 


979}979}

980```980```

981 981 

982Le point de terminaison doit retourner un corps de réponse JSON en utilisant le même [format de sortie](/docs/fr/hooks#json-output) que les hooks de commande. Pour bloquer un appel d'outil, retournez une réponse 2xx avec les champs `hookSpecificOutput` appropriés. Les codes de statut HTTP seuls ne peuvent pas bloquer les actions.982Votre endpoint répond avec un corps JSON dans le même [format de sortie](/docs/fr/hooks#json-output) que les hooks de commande, et Claude Code vérifie également le statut de la réponse :

983 

984* **Statut 2xx** : pour bloquer un appel d'outil, retournez les champs `hookSpecificOutput` appropriés dans le corps.

985* **Tout autre statut, ou échec de la requête** : Claude Code signale une [erreur non bloquante](/docs/fr/hooks#exit-code-output) et laisse l'action se poursuivre. Pour qu'un endpoint en échec bloque l'action, définissez [`onFailure: "block"`](/docs/fr/hooks#block-the-action-when-a-hook-fails) sur le hook.

983 986 

984Les valeurs d'en-tête supportent l'interpolation de variables d'environnement en utilisant la syntaxe `$VAR_NAME` ou `${VAR_NAME}`. Seules les variables listées dans le tableau `allowedEnvVars` sont résolues ; toutes les autres références `$VAR` restent vides.987Les valeurs d'en-tête supportent l'interpolation de variables d'environnement en utilisant la syntaxe `$VAR_NAME` ou `${VAR_NAME}`. Seules les variables listées dans le tableau `allowedEnvVars` sont résolues ; toutes les autres références `$VAR` restent vides.

985 988 


1103 1106 

1104Lorsque votre hook retourne `permissionDecision` ou `additionalContext` au niveau supérieur au lieu de l'intérieur de `hookSpecificOutput`, le JSON s'analyse toujours, et Claude Code ignore les champs mal placés sans signaler une erreur. Pour voir quels champs il a ignorés, démarrez Claude Code avec `claude --debug` et recherchez dans le [journal de débogage](/docs/fr/hooks#debug-hooks) `Hook JSON output had unrecognized keys`.1107Lorsque votre hook retourne `permissionDecision` ou `additionalContext` au niveau supérieur au lieu de l'intérieur de `hookSpecificOutput`, le JSON s'analyse toujours, et Claude Code ignore les champs mal placés sans signaler une erreur. Pour voir quels champs il a ignorés, démarrez Claude Code avec `claude --debug` et recherchez dans le [journal de débogage](/docs/fr/hooks#debug-hooks) `Hook JSON output had unrecognized keys`.

1105 1108 

1106<h3 id="debug-techniques">1109<h3 id="check-what-a-hook-did">

1107 Techniques de débogage1110 Vérifier ce qu'a fait un hook

1108</h3>1111</h3>

1109 1112 

1110Appuyez sur `Ctrl+O` pour ouvrir la vue de transcription afin de vérifier le résultat d'une exécution de hook :1113Appuyez sur `Ctrl+O` pour ouvrir la vue de transcription et recherchez le résultat du hook :

1111 1114 

1112* **Exécution réussie** : vous ne voyez rien, sauf si le JSON du hook affiche quelque chose, comme `systemMessage` ou un retour du hook Stop.1115* **Succès** : vous ne voyez rien, sauf si le JSON du hook fait apparaître quelque chose, comme `systemMessage` ou un retour du hook Stop.

1113 * Pour confirmer qu'un hook a été exécuté, vérifiez son effet, comme un fichier reformaté, ou activez la journalisation de débogage comme décrit ci-dessous et déclenchez le hook à nouveau1116 * Pour confirmer que le hook s'est exécuté, vérifiez son effet, comme un fichier reformaté

1114* **Erreur de blocage** : sur la plupart des événements, vous voyez le retour du hook. Lorsque le JSON du hook a pris une décision de blocage, le retour est la raison de cette décision ; sinon, c'est stderr du hook. Sur quelques événements, comme `ConfigChange` et `Elicitation`, un blocage ne surface aucun message.1117* **Erreur bloquante** : sur la plupart des événements, vous voyez le message qui accompagne le blocage, par exemple `Blocked: rm commands are not allowed`. Sur quelques événements, comme `ConfigChange` et `Elicitation`, vous ne voyez aucun message. [Exit code 2](/docs/fr/hooks#exit-code-2) explique d'où provient le message.

1115* **Erreur sans blocage** : l'action a procédé, et vous voyez un avis `<hook name> hook error` avec une brève explication, comme la première ligne de stderr préfixée par `Failed with non-blocking status code:`, ou un message de validation ou d'analyse JSON.1118* **Erreur non bloquante** : vous voyez un avis `<hook name> hook error` avec une brève explication, comme la première ligne de stderr après `Failed with non-blocking status code:`, ou un message de validation ou d'analyse JSON. L'action s'est poursuivie.

1116 1119 

1117Quelles combinaisons de code de sortie et JSON produisent chaque résultat, y compris les exceptions par événement, est défini dans la section [Exit code output](/docs/fr/hooks#exit-code-output) de la référence.1120Pour connaître le résultat correspondant à un code de sortie et à une sortie stdout spécifiques, y compris les exceptions par événement, consultez [Exit code output](/docs/fr/hooks#exit-code-output) dans la référence.

1118 1121 

1119Pour les détails d'exécution complets incluant les hooks qui ont correspondu, leurs codes de sortie, stdout et stderr, lisez le journal de débogage. Démarrez Claude Code avec `claude --debug-file /tmp/claude.log` pour écrire dans un chemin connu, puis `tail -f /tmp/claude.log` dans un autre terminal. Si vous avez démarré sans ce drapeau, exécutez `/debug` en milieu de session pour activer la journalisation et trouver le chemin du journal.1122Pour les détails d'exécution complets incluant les codes de sortie des hooks, stdout et stderr, lisez le journal de débogage. Démarrez Claude Code avec `claude --debug-file /tmp/claude.log` pour écrire dans un chemin connu, puis `tail -f /tmp/claude.log` dans un autre terminal. Si vous avez démarré sans ce flag, exécutez `/debug` en milieu de session pour activer la journalisation et trouver le chemin du journal.

1120 1123 

1121<h2 id="learn-more">1124<h2 id="learn-more">

1122 En savoir plus1125 En savoir plus

Details

216| `^` | Premier caractère non vide |216| `^` | Premier caractère non vide |

217| `gg` | Début de l'entrée |217| `gg` | Début de l'entrée |

218| `G` | Début de la dernière ligne |218| `G` | Début de la dernière ligne |

219| `f{char}` | Sauter à la prochaine occurrence du caractère |219| `f{char}` | Sauter à la prochaine occurrence du caractère sur la ligne actuelle |

220| `F{char}` | Sauter à l'occurrence précédente du caractère |220| `F{char}` | Sauter à l'occurrence précédente du caractère sur la ligne actuelle |

221| `t{char}` | Sauter juste avant la prochaine occurrence du caractère |221| `t{char}` | Sauter juste avant la prochaine occurrence du caractère sur la ligne actuelle |

222| `T{char}` | Sauter juste après l'occurrence précédente du caractère |222| `T{char}` | Sauter juste après l'occurrence précédente du caractère sur la ligne actuelle |

223| `;` | Répéter le dernier mouvement f/F/t/T |223| `;` | Répéter le dernier mouvement f/F/t/T |

224| `,` | Répéter le dernier mouvement f/F/t/T en sens inverse |224| `,` | Répéter le dernier mouvement f/F/t/T en sens inverse |

225| `/` | Ouvrir la recherche d'historique inversée, identique à `Ctrl+R`. L'invite de recherche vide affiche un indice : appuyez sur `Esc` puis `i` puis `/` pour ouvrir le menu de commande à la place |225| `/` | Ouvrir la recherche d'historique inversée, identique à `Ctrl+R`. L'invite de recherche vide affiche un indice : appuyez sur `Esc` puis `i` puis `/` pour ouvrir le menu de commande à la place |


239| `dd` | Supprimer la ligne |239| `dd` | Supprimer la ligne |

240| `D` | Supprimer jusqu'à la fin de la ligne |240| `D` | Supprimer jusqu'à la fin de la ligne |

241| `dw`/`de`/`db` | Supprimer le mot/jusqu'à la fin/en arrière |241| `dw`/`de`/`db` | Supprimer le mot/jusqu'à la fin/en arrière |

242| `df{char}`/`dt{char}` | Supprimer jusqu'à et y compris, ou jusqu'à, la prochaine occurrence d'un caractère |242| `df{char}`/`dt{char}` | Supprimer jusqu'à et y compris, ou jusqu'à, la prochaine occurrence d'un caractère sur la ligne actuelle |

243| `dj`/`dk` | Supprimer la ligne actuelle et la ligne en dessous ou au-dessus |243| `dj`/`dk` | Supprimer la ligne actuelle et la ligne en dessous ou au-dessus |

244| `dgg`/`dG` | Supprimer de la ligne actuelle à la première ou dernière ligne |244| `dgg`/`dG` | Supprimer de la ligne actuelle à la première ou dernière ligne |

245| `d0`/`c0`/`y0` | Supprimer, changer ou copier du curseur jusqu'au début de la ligne. Nécessite Claude Code v2.1.281 ou ultérieur |245| `d0`/`c0`/`y0` | Supprimer, changer ou copier du curseur jusqu'au début de la ligne. Nécessite Claude Code v2.1.281 ou ultérieur |


859* Un `#123` isolé859* Un `#123` isolé

860* Un chemin GitLab imbriqué tel que `group/subgroup/project#123`860* Un chemin GitLab imbriqué tel que `group/subgroup/project#123`

861* Toute référence à l'intérieur d'une portée de code ou d'un bloc de code861* Toute référence à l'intérieur d'une portée de code ou d'un bloc de code

862* Toute référence dans une réponse de plus d'environ 1 000 lignes ou 100 000 caractères

862 863 

863Claude Code construit le lien pour l'hôte du référentiel qu'il identifie à partir de votre git remote, et non pour le référentiel que la référence nomme :864Claude Code construit le lien pour l'hôte du dépôt qu'il identifie à partir de votre git remote, et non pour le dépôt que la référence nomme :

864 865 

865| L'hôte de votre référentiel | Où `owner/repo#123` crée des liens |866| L'hôte de votre dépôt | Où `owner/repo#123` crée des liens |

866| :- | :- |867| :- | :- |

867| github.com, un hôte GitHub Enterprise, ou tout hôte non listé ci-dessous | `https://<host>/owner/repo/issues/123` |868| github.com, un hôte GitHub Enterprise, ou tout hôte non listé ci-dessous | `https://<host>/owner/repo/issues/123` |

868| gitlab.com | `https://gitlab.com/owner/repo/-/issues/123` |869| gitlab.com | `https://gitlab.com/owner/repo/-/issues/123` |

jetbrains.md +8 −4

Details

55 Utilisation55 Utilisation

56</h2>56</h2>

57 57 

58<h3 id="from-your-ide">58<span id="from-your-ide" />

59 Depuis votre IDE59 

60<h3 id="run-claude-code-from-your-ide">

61 Exécuter Claude Code depuis votre IDE

60</h3>62</h3>

61 63 

62Exécutez `claude` depuis le terminal intégré de votre IDE, et toutes les fonctionnalités d'intégration seront actives.64Exécutez `claude` depuis le terminal intégré de votre IDE, et toutes les fonctionnalités d'intégration seront actives.

63 65 

64<h3 id="from-external-terminals">66<span id="from-external-terminals" />

65 Depuis des terminaux externes67 

68<h3 id="connect-from-an-external-terminal">

69 Se connecter depuis un terminal externe

66</h3>70</h3>

67 71 

68Utilisez la commande `/ide` dans n'importe quel terminal externe pour connecter Claude Code à votre IDE JetBrains et activer toutes les fonctionnalités :72Utilisez la commande `/ide` dans n'importe quel terminal externe pour connecter Claude Code à votre IDE JetBrains et activer toutes les fonctionnalités :

Details

79 79 

80Les modèles de démarrage pour Jamf, Iru, Intune et Group Policy se trouvent dans le [référentiel d'exemples MDM](https://github.com/anthropics/claude-code/tree/main/examples/mdm).80Les modèles de démarrage pour Jamf, Iru, Intune et Group Policy se trouvent dans le [référentiel d'exemples MDM](https://github.com/anthropics/claude-code/tree/main/examples/mdm).

81 81 

82Si la [configuration HIPAA](/docs/fr/hipaa-setup#deploy-managed-settings) est appliquée à votre organisation, consultez `settings-hipaa.json` et `README-hipaa.md` dans le [dépôt d'exemples de paramètres](https://github.com/anthropics/claude-code/tree/main/examples/settings) pour un `managed-settings.json` plus complet avec sandboxing, une liste d'autorisation réseau, des protections des identifiants et une conservation locale des données.

83 

82Pour les serveurs MCP gérés, que vous déployez aux côtés de l'un de ceux-ci via `managed-mcp.json` ou que vous fournissez via la clé [`managedMcpServers`](/docs/fr/settings-reference#managedmcpservers), consultez [Configuration MCP gérée](/docs/fr/managed-mcp).84Pour les serveurs MCP gérés, que vous déployez aux côtés de l'un de ceux-ci via `managed-mcp.json` ou que vous fournissez via la clé [`managedMcpServers`](/docs/fr/settings-reference#managedmcpservers), consultez [Configuration MCP gérée](/docs/fr/managed-mcp).

83 85 

84<h3 id="where-and-when-a-policy-applies">86<h3 id="where-and-when-a-policy-applies">

mcp.md +18 −10

Details

181 181 

182Chacun est l'une des entrées que les quatre options dans [Installation des serveurs MCP](#installing-mcp-servers) prennent. Trouvez la forme que vous avez ci-dessous pour la transformer en commande que Claude Code accepte. Chaque commande écrit dans la [portée locale](#local-scope) sauf si vous ajoutez `--scope project` ou `--scope user`.182Chacun est l'une des entrées que les quatre options dans [Installation des serveurs MCP](#installing-mcp-servers) prennent. Trouvez la forme que vous avez ci-dessous pour la transformer en commande que Claude Code accepte. Chaque commande écrit dans la [portée locale](#local-scope) sauf si vous ajoutez `--scope project` ou `--scope user`.

183 183 

184<h4 id="from-a-url">184<span id="from-a-url" />

185 À partir d'une URL185 

186<h4 id="add-a-server-from-a-url">

187 Ajouter un serveur à partir d'une URL

186</h4>188</h4>

187 189 

188Une URL signifie que le serveur est distant. Pour un endpoint `https://`, ajoutez-le avec `--transport http`, ou suivez [Option 2](#option-2-add-a-remote-sse-server) lorsque les instructions indiquent que l'endpoint utilise SSE. Pour un endpoint `wss://`, utilisez plutôt [Option 4](#option-4-add-a-remote-websocket-server), car `--transport` n'accepte pas `ws` :190Une URL signifie que le serveur est distant. Pour un endpoint `https://`, ajoutez-le avec `--transport http`, ou suivez [Option 2](#option-2-add-a-remote-sse-server) lorsque les instructions indiquent que l'endpoint utilise SSE. Pour un endpoint `wss://`, utilisez plutôt [Option 4](#option-4-add-a-remote-websocket-server), car `--transport` n'accepte pas `ws` :


193 195 

194Si les instructions donnent également une clé API ou un en-tête de jeton, passez-le avec `--header` comme montré dans [Option 1](#option-1-add-a-remote-http-server).196Si les instructions donnent également une clé API ou un en-tête de jeton, passez-le avec `--header` comme montré dans [Option 1](#option-1-add-a-remote-http-server).

195 197 

196<h4 id="from-an-npx-uvx-or-binary-command">198<span id="from-an-npx-uvx-or-binary-command" />

197 À partir d'une commande `npx`, `uvx`, ou binaire199 

200<h4 id="add-a-server-from-an-npx-uvx-or-binary-command">

201 Ajouter un serveur à partir d'une commande `npx`, `uvx`, ou binaire

198</h4>202</h4>

199 203 

200Une commande de lancement signifie que le serveur s'exécute en tant que processus stdio local. Mettez la commande entière après `--`, afin que Claude Code transmette les flags tels que `-y` à la commande qui démarre le serveur au lieu de les lire comme ses propres options. Passez toutes les variables d'environnement que les instructions demandent avec `--env`, après le nom du serveur et avant `--` :204Une commande de lancement signifie que le serveur s'exécute en tant que processus stdio local. Mettez la commande entière après `--`, afin que Claude Code transmette les flags tels que `-y` à la commande qui démarre le serveur au lieu de les lire comme ses propres options. Passez toutes les variables d'environnement que les instructions demandent avec `--env`, après le nom du serveur et avant `--` :


205 209 

206[Option 3](#option-3-add-a-local-stdio-server) couvre le séparateur `--` en détail.210[Option 3](#option-3-add-a-local-stdio-server) couvre le séparateur `--` en détail.

207 211 

208<h4 id="from-an-mcpservers-json-block">212<span id="from-an-mcpservers-json-block" />

209 À partir d'un bloc JSON `mcpServers`213 

214<h4 id="add-a-server-from-an-mcpservers-json-block">

215 Ajouter un serveur à partir d'un bloc JSON `mcpServers`

210</h4>216</h4>

211 217 

212Un bloc `mcpServers` écrit pour un autre client MCP, tel que Claude Desktop, utilise la clé wrapper et la forme d'entrée que Claude Code lit. Passez à `claude mcp add-json` l'objet à l'intérieur de `mcpServers`, pas le wrapper. Deux entrées ont besoin d'une réparation d'abord :218Un bloc `mcpServers` écrit pour un autre client MCP, tel que Claude Desktop, utilise la clé wrapper et la forme d'entrée que Claude Code lit. Passez à `claude mcp add-json` l'objet à l'intérieur de `mcpServers`, pas le wrapper. Deux entrées ont besoin d'une réparation d'abord :


367 373 

368Sur v2, Claude Code également :374Sur v2, Claude Code également :

369 375 

370* Demande aux serveurs HTTP et stdio s'ils supportent la révision plus récente, et l'utilise avec ceux qui la supportent. Dans les sessions où il récupère les feature flags, il le demande également aux serveurs de connecteurs claude.ai. Il se connecte à tous les autres serveurs comme le fait v1.376* Demande aux serveurs HTTP, stdio et de connecteurs claude.ai s'ils supportent la révision plus récente, et l'utilise avec ceux qui la supportent. Il se connecte à tous les autres serveurs comme le fait v1.

371* Reçoit les notifications `list_changed` des serveurs sur la révision plus récente via un [flux qu'il maintient ouvert](#notification-streams-on-the-v2-runtime).377* Reçoit les notifications `list_changed` des serveurs sur la révision plus récente via un [flux qu'il maintient ouvert](#notification-streams-on-the-v2-runtime).

372* N'enregistre pas un serveur de [canal](#push-messages-with-channels) qui se connecte sur la révision plus récente, car cette révision ne peut pas transporter les messages de canal.378* N'enregistre pas un serveur de [canal](#push-messages-with-channels) qui se connecte sur la révision plus récente, car cette révision ne peut pas transporter les messages de canal.

373* Fait échouer une [connexion OAuth MCP](#authenticate-with-remote-mcp-servers) dont la réponse d'autorisation nomme un émetteur inattendu.379* Fait échouer une [connexion OAuth MCP](#authenticate-with-remote-mcp-servers) dont la réponse d'autorisation nomme un émetteur inattendu.


891 S'authentifier à partir de la ligne de commande897 S'authentifier à partir de la ligne de commande

892</h3>898</h3>

893 899 

894La commande `claude mcp login <name>` exécute le flux OAuth d'un serveur configuré directement depuis votre shell, vous n'avez donc pas besoin d'ouvrir le panneau `/mcp` dans une session.900La commande `claude mcp login <name>` exécute le flux OAuth d'un serveur configuré directement depuis votre shell, vous n'avez donc pas besoin d'ouvrir le panneau `/mcp` dans une session. Pour un connecteur claude.ai, suivez [Autoriser à nouveau un connecteur depuis votre shell](/docs/fr/remote-control#authorize-a-connector-again-from-your-shell).

895 901 

896```bash theme={null}902```bash theme={null}

897claude mcp login sentry903claude mcp login sentry


1579 La recherche d'outils n'est pas prise en charge sur les [déploiements Microsoft Foundry hébergés sur Azure](https://platform.claude.com/docs/en/build-with-claude/claude-in-microsoft-foundry#hosting-options), qui la rejettent côté serveur : Claude Code détecte le rejet et charge les outils MCP en amont pour ce déploiement à la place. [`ENABLE_TOOL_SEARCH`](#configure-tool-search) ne peut pas contourner cela, puisque le rejet provient du déploiement lui-même.1585 La recherche d'outils n'est pas prise en charge sur les [déploiements Microsoft Foundry hébergés sur Azure](https://platform.claude.com/docs/en/build-with-claude/claude-in-microsoft-foundry#hosting-options), qui la rejettent côté serveur : Claude Code détecte le rejet et charge les outils MCP en amont pour ce déploiement à la place. [`ENABLE_TOOL_SEARCH`](#configure-tool-search) ne peut pas contourner cela, puisque le rejet provient du déploiement lui-même.

1580</Note>1586</Note>

1581 1587 

1582<h3 id="for-mcp-server-authors">1588<span id="for-mcp-server-authors" />

1583 Pour les auteurs de serveurs MCP1589 

1590<h3 id="tool-search-for-mcp-server-authors">

1591 Recherche d'outils pour les auteurs de serveurs MCP

1584</h3>1592</h3>

1585 1593 

1586Si vous créez un serveur MCP, le champ des instructions du serveur devient plus utile avec la recherche d'outils activée. Les instructions du serveur aident Claude à comprendre quand rechercher vos outils, de la même manière que les [skills](/docs/fr/skills) fonctionnent.1594Si vous créez un serveur MCP, le champ des instructions du serveur devient plus utile avec la recherche d'outils activée. Les instructions du serveur aident Claude à comprendre quand rechercher vos outils, de la même manière que les [skills](/docs/fr/skills) fonctionnent.

Details

599 599 

600Dans les sessions connectées à une [passerelle d'applications Claude](/docs/fr/claude-apps-gateway) via `/login`, la CLI marque les exports avec l'identité authentifiée : `user.id` correspond au sujet de l'IdP, `user.email` à l'adresse e-mail connectée, et `user.groups` contient l'appartenance aux groupes de l'IdP sous forme de chaîne séparée par des virgules. Chaque export contient également `identity.source: gateway-oidc`. L'identité de la passerelle est appliquée en dernier, de sorte que les clés `user.*` et `identity.*` définies via `OTEL_RESOURCE_ATTRIBUTES` sont ignorées dans ces sessions.600Dans les sessions connectées à une [passerelle d'applications Claude](/docs/fr/claude-apps-gateway) via `/login`, la CLI marque les exports avec l'identité authentifiée : `user.id` correspond au sujet de l'IdP, `user.email` à l'adresse e-mail connectée, et `user.groups` contient l'appartenance aux groupes de l'IdP sous forme de chaîne séparée par des virgules. Chaque export contient également `identity.source: gateway-oidc`. L'identité de la passerelle est appliquée en dernier, de sorte que les clés `user.*` et `identity.*` définies via `OTEL_RESOURCE_ATTRIBUTES` sont ignorées dans ces sessions.

601 601 

602<Note>

603 Les événements que Claude Code journalise avant qu'un développeur ne se connecte ne portent pas l'identité de la passerelle. Lorsque Claude Code ouvre une session déconnectée de la passerelle, par exemple après que [la passerelle a mis fin à la connexion](/docs/fr/errors#cloud-gateway-session-expired), les événements de démarrage journalisés avant la connexion portent le `user.id` anonyme et aucun `identity.source`. Il s'agit notamment de [`managed_settings_resolved`](#managed-settings-resolved-event), [`plugin_loaded`](#plugin-loaded-event) et [`mcp_server_connection`](#mcp-server-connection-event).

604</Note>

605 

602Pour les attributs d'identité des sessions Claude Desktop et Cowork qui se connectent via une passerelle, consultez la [référence `telemetry` de la passerelle](/docs/fr/claude-apps-gateway-config#telemetry).606Pour les attributs d'identité des sessions Claude Desktop et Cowork qui se connectent via une passerelle, consultez la [référence `telemetry` de la passerelle](/docs/fr/claude-apps-gateway-config#telemetry).

603 607 

604Les événements incluent en plus les attributs suivants. Ceux-ci ne sont jamais attachés aux métriques, car ils entraîneraient une cardinalité non bornée :608Les événements incluent en plus les attributs suivants. Ceux-ci ne sont jamais attachés aux métriques, car ils entraîneraient une cardinalité non bornée :


917* `error` : message d'erreur921* `error` : message d'erreur

918* `status_code` : code de statut HTTP sous forme de nombre. Absent pour les erreurs non HTTP, comme les échecs de connexion.922* `status_code` : code de statut HTTP sous forme de nombre. Absent pour les erreurs non HTTP, comme les échecs de connexion.

919* `duration_ms` : durée de la requête en millisecondes923* `duration_ms` : durée de la requête en millisecondes

920* `attempt` : nombre total de tentatives effectuées, y compris la requête initiale (`1` signifie qu'aucune nouvelle tentative n'a eu lieu)924* `attempt` : nombre de tentatives effectuées, y compris la requête initiale. [Détecter l'épuisement des nouvelles tentatives](#detect-retry-exhaustion) indique quand le comptage recommence

921* `request_id` : ID de la requête API, par exemple `"req_011..."`, décrit dans [Attributs de corrélation des événements](#event-correlation-attributes).925* `request_id` : ID de la requête API, par exemple `"req_011..."`, décrit dans [Attributs de corrélation des événements](#event-correlation-attributes).

922* `client_request_id` : UUID généré par le client et envoyé dans l'en-tête de requête `x-client-request-id`. Disponible même lorsqu'un échec, comme un délai d'expiration ou une erreur de connexion, n'a jamais produit de `request_id` côté serveur ; consultez le tableau des [attributs de corrélation des événements](#event-correlation-attributes) pour savoir quand il est présent. Nécessite Claude Code v2.1.214 ou ultérieur926* `client_request_id` : UUID généré par le client et envoyé dans l'en-tête de requête `x-client-request-id`. Disponible même lorsqu'un échec, comme un délai d'expiration ou une erreur de connexion, n'a jamais produit de `request_id` côté serveur ; consultez le tableau des [attributs de corrélation des événements](#event-correlation-attributes) pour savoir quand il est présent. Nécessite Claude Code v2.1.214 ou ultérieur

923* `speed` : `"fast"` ou `"normal"`, indiquant si le mode rapide était actif927* `speed` : `"fast"` ou `"normal"`, indiquant si le mode rapide était actif


1190 1194 

1191Journalisé lorsque Claude Code résout une mention `@` dans un prompt. Toutes les mentions n'émettent pas un événement : les chemins de sortie anticipée, comme les refus de permission, les fichiers trop volumineux, les pièces jointes de référence PDF et les échecs de listage de répertoires, se terminent sans journalisation.1195Journalisé lorsque Claude Code résout une mention `@` dans un prompt. Toutes les mentions n'émettent pas un événement : les chemins de sortie anticipée, comme les refus de permission, les fichiers trop volumineux, les pièces jointes de référence PDF et les échecs de listage de répertoires, se terminent sans journalisation.

1192 1196 

1197Chaque fois que Claude Code lit un prompt, il journalise au maximum 100 événements avec un `mention_type` valant `"agent"` et 100 avec `"mcp_resource"`. Les mentions au-delà de l'une ou l'autre limite sont toujours résolues mais n'émettent aucun événement.

1198 

1193**Nom de l'événement** : `claude_code.at_mention`1199**Nom de l'événement** : `claude_code.at_mention`

1194 1200 

1195**Attributs** :1201**Attributs** :


1528 1534 

1529Claude Code réessaie les demandes d'API échouées en interne et n'émet un seul événement `claude_code.api_error` qu'après avoir abandonné, donc l'événement lui-même est le signal terminal pour cette demande. Les tentatives de nouvelle tentative intermédiaires ne sont pas enregistrées comme des événements séparés.1535Claude Code réessaie les demandes d'API échouées en interne et n'émet un seul événement `claude_code.api_error` qu'après avoir abandonné, donc l'événement lui-même est le signal terminal pour cette demande. Les tentatives de nouvelle tentative intermédiaires ne sont pas enregistrées comme des événements séparés.

1530 1536 

1531L'attribut `attempt` sur l'événement enregistre le nombre total de tentatives effectuées. `CLAUDE_CODE_MAX_RETRIES` est par défaut `10` et plafonné à `15`. À partir de la v2.1.199, vous pouvez définir `CLAUDE_CODE_RETRY_WATCHDOG` pour augmenter la valeur par défaut et supprimer le plafond.1537L'attribut `attempt` sur l'événement enregistre le nombre de tentatives. `CLAUDE_CODE_MAX_RETRIES` est par défaut 10 et plafonné à 15. À partir de la v2.1.199, vous pouvez définir `CLAUDE_CODE_RETRY_WATCHDOG` pour augmenter la valeur par défaut et supprimer le plafond.

1532 1538 

1533Lorsque la demande épuise toutes les tentatives sur une erreur transitoire, `attempt` est égal à un de plus que cette limite effective : 11 par défaut, et jamais plus de 16 sauf si le watchdog est défini. Une valeur inférieure indique une erreur non réessayable telle qu'une réponse `400`, ou une cause avec son propre budget de tentatives plus petit. Par exemple, Claude Code réessaie un échec de chargement des identifiants AWS ou Google Cloud au maximum deux fois.1539Lorsque la requête épuise toutes les nouvelles tentatives sur une erreur transitoire, `attempt` vaut au maximum un de plus que cette limite effective : 11 par défaut.

1540 

1541Une valeur inférieure peut tout de même signifier que les nouvelles tentatives ont été épuisées : `attempt` repart de `1` chaque fois que Claude Code renvoie la requête après un échec de streaming.

1534 1542 

1535Pour distinguer une session qui s'est rétablie d'une qui s'est bloquée, groupez les événements par `session.id` et vérifiez si un événement `api_request` ultérieur existe après l'erreur.1543Pour distinguer une session qui s'est rétablie d'une qui s'est bloquée, groupez les événements par `session.id` et vérifiez si un événement `api_request` ultérieur existe après l'erreur.

1536 1544 


1699 1707 

1700Votre choix de backends de métriques, de journaux et de traces détermine les types d'analyses que vous pouvez effectuer :1708Votre choix de backends de métriques, de journaux et de traces détermine les types d'analyses que vous pouvez effectuer :

1701 1709 

1702<h3 id="for-metrics">1710<span id="for-metrics" />

1703 Pour les métriques1711 

1712<h3 id="backends-for-metrics">

1713 Backends pour les métriques

1704</h3>1714</h3>

1705 1715 

1706* **Bases de données de séries chronologiques** : Calculs de taux, métriques agrégées1716* **Bases de données de séries chronologiques** : Calculs de taux, métriques agrégées

1707* **Magasins colonnaires** : Requêtes complexes, analyse d'utilisateurs uniques1717* **Magasins colonnaires** : Requêtes complexes, analyse d'utilisateurs uniques

1708* **Plates-formes d'observabilité complètes** : Requêtes avancées, visualisation, alertes1718* **Plates-formes d'observabilité complètes** : Requêtes avancées, visualisation, alertes

1709 1719 

1710<h3 id="for-events/logs">1720<span id="for-events/logs" />

1711 Pour les événements/journaux1721 

1722<h3 id="backends-for-events-and-logs">

1723 Backends pour les événements et les journaux

1712</h3>1724</h3>

1713 1725 

1714* **Systèmes d'agrégation de journaux** : Recherche en texte intégral, analyse de journaux1726* **Systèmes d'agrégation de journaux** : Recherche en texte intégral, analyse de journaux

1715* **Magasins colonnaires** : Analyse d'événements structurés1727* **Magasins colonnaires** : Analyse d'événements structurés

1716* **Plates-formes d'observabilité complètes** : Corrélation entre les métriques et les événements1728* **Plates-formes d'observabilité complètes** : Corrélation entre les métriques et les événements

1717 1729 

1718<h3 id="for-traces">1730<span id="for-traces" />

1719 Pour les traces1731 

1732<h3 id="backends-for-traces">

1733 Backends pour les traces

1720</h3>1734</h3>

1721 1735 

1722Choisissez un backend qui prend en charge le stockage de traces distribuées et la corrélation d'intervalles :1736Choisissez un backend qui prend en charge le stockage de traces distribuées et la corrélation d'intervalles :

Details

91| `-y, --yes` | Acceptez la commande d'installation affichée sans l'invite `Run this command now?`. Ignoré quand la commande s'exécute dans une session Claude Code, comme depuis l'outil Bash ou un hook. Nécessite Claude Code v2.1.229 ou ultérieur |91| `-y, --yes` | Acceptez la commande d'installation affichée sans l'invite `Run this command now?`. Ignoré quand la commande s'exécute dans une session Claude Code, comme depuis l'outil Bash ou un hook. Nécessite Claude Code v2.1.229 ou ultérieur |

92| `--accept-command <sha256>` | Acceptez la commande d'installation affichée dont le `sha256` une exécution [`--json` précédente](#plugin-json-result) a rapporté dans `shownCommand`, à la place de `-y`. Ne peut pas être combiné avec `-y`. Voir [Accepter une commande d'installation affichée](#accept-a-displayed-install-command). Nécessite Claude Code v2.1.271 ou ultérieur |92| `--accept-command <sha256>` | Acceptez la commande d'installation affichée dont le `sha256` une exécution [`--json` précédente](#plugin-json-result) a rapporté dans `shownCommand`, à la place de `-y`. Ne peut pas être combiné avec `-y`. Voir [Accepter une commande d'installation affichée](#accept-a-displayed-install-command). Nécessite Claude Code v2.1.271 ou ultérieur |

93| `--json` | Affiche le résultat en tant qu'un objet JSON sur la dernière ligne de stdout au lieu du message lisible par l'homme, pour utilisation dans les scripts. Voir [Format de résultat JSON](#plugin-json-result). Nécessite Claude Code v2.1.268 ou ultérieur |93| `--json` | Affiche le résultat en tant qu'un objet JSON sur la dernière ligne de stdout au lieu du message lisible par l'homme, pour utilisation dans les scripts. Voir [Format de résultat JSON](#plugin-json-result). Nécessite Claude Code v2.1.268 ou ultérieur |

94| `--marketplace <source>` | Installez `<plugin>`, donné par son nom nu, depuis la marketplace à `<source>`, en ajoutant d'abord la marketplace si vous ne l'avez pas encore ajoutée. Voir [Ajouter une marketplace et installer en une seule commande](/docs/fr/plugins/install#add-a-marketplace-and-install-in-one-command). Nécessite Claude Code v2.1.292 ou ultérieur |

94 95 

95Exécutez `claude plugin install --help` dans votre shell pour voir chaque option que votre version supporte.96Exécutez `claude plugin install --help` dans votre shell pour voir chaque option que votre version supporte.

96 97 

Details

185 185 

186Vous pouvez charger un plugin pour une seule session de trois façons : à partir d'un répertoire ou d'une archive `.zip` sur le disque avec `--plugin-dir`, à partir d'une URL avec `--plugin-url`, ou à partir d'une variable d'environnement quand vous ne pouvez pas ajouter un drapeau. Chaque plugin se charge pour cette session uniquement, et rien n'est écrit dans vos paramètres pour celui-ci. Quand vous modifiez les fichiers du plugin pendant la session, exécutez `/reload-plugins` pour charger les modifications.186Vous pouvez charger un plugin pour une seule session de trois façons : à partir d'un répertoire ou d'une archive `.zip` sur le disque avec `--plugin-dir`, à partir d'une URL avec `--plugin-url`, ou à partir d'une variable d'environnement quand vous ne pouvez pas ajouter un drapeau. Chaque plugin se charge pour cette session uniquement, et rien n'est écrit dans vos paramètres pour celui-ci. Quand vous modifiez les fichiers du plugin pendant la session, exécutez `/reload-plugins` pour charger les modifications.

187 187 

188<h4 id="from-a-directory-or-zip">188<span id="from-a-directory-or-zip" />

189 À partir d'un répertoire ou `.zip`189 

190<h4 id="load-a-plugin-from-a-directory-or-zip">

191 Charger un plugin à partir d'un répertoire ou d'un `.zip`

190</h4>192</h4>

191 193 

192Quand vous démarrez `claude` à partir de votre shell, passez `--plugin-dir` avec le répertoire racine du plugin ou une archive `.zip` de celui-ci. Répétez le drapeau pour charger plusieurs plugins :194Quand vous démarrez `claude` à partir de votre shell, passez `--plugin-dir` avec le répertoire racine du plugin ou une archive `.zip` de celui-ci. Répétez le drapeau pour charger plusieurs plugins :


196```198```

197 199 

198<h4 id="load-a-folder-of-plugins">200<h4 id="load-a-folder-of-plugins">

199 À partir d'un dossier de plugins201 Charger un dossier de plugins

200</h4>202</h4>

201 203 

202Pour charger plusieurs plugins à partir d'un seul endroit, passez un dossier qui les contient, par exemple `--plugin-dir ./plugins`. Charger un dossier de plugins nécessite Claude Code v2.1.265 ou ultérieur.204Pour charger plusieurs plugins à partir d'un seul endroit, passez un dossier qui les contient, par exemple `--plugin-dir ./plugins`. Charger un dossier de plugins nécessite Claude Code v2.1.265 ou ultérieur.


212 214 

213Un message apparaît dans la session pour chacun de ces changements. Si charger ou décharger un plugin en milieu de conversation [invaliderait le cache de prompt](/docs/fr/prompt-caching#enabling-or-disabling-a-plugin), le changement est retenu à la place, et le message vous dit d'exécuter `/reload-plugins` pour l'appliquer.215Un message apparaît dans la session pour chacun de ces changements. Si charger ou décharger un plugin en milieu de conversation [invaliderait le cache de prompt](/docs/fr/prompt-caching#enabling-or-disabling-a-plugin), le changement est retenu à la place, et le message vous dit d'exécuter `/reload-plugins` pour l'appliquer.

214 216 

215<h4 id="fetch-an-archive-from-a-url-for-one-session">217<span id="fetch-an-archive-from-a-url-for-one-session" />

216 À partir d'une URL218 

219<h4 id="load-a-plugin-from-a-url">

220 Charger un plugin à partir d'une URL

217</h4>221</h4>

218 222 

219Quand vous démarrez `claude` à partir de votre shell, passez `--plugin-url` avec l'adresse d'une archive `.zip`, par exemple un artefact de build que votre CI publie :223Quand vous démarrez `claude` à partir de votre shell, passez `--plugin-url` avec l'adresse d'une archive `.zip`, par exemple un artefact de build que votre CI publie :


228 232 

229Si Claude Code ne peut pas récupérer l'archive, ou si l'archive est invalide, il démarre sans le plugin et enregistre une erreur de chargement de plugin que vous pouvez examiner dans l'onglet **Errors** du gestionnaire `/plugin`.233Si Claude Code ne peut pas récupérer l'archive, ou si l'archive est invalide, il démarre sans le plugin et enregistre une erreur de chargement de plugin que vous pouvez examiner dans l'onglet **Errors** du gestionnaire `/plugin`.

230 234 

231<h4 id="from-an-environment-variable">235<span id="from-an-environment-variable" />

232 À partir d'une variable d'environnement236 

237<h4 id="load-plugins-from-an-environment-variable">

238 Charger des plugins à partir d'une variable d'environnement

233</h4>239</h4>

234 240 

235Pour charger des plugins dans une session où vous ne pouvez pas ajouter le drapeau `--plugin-dir`, listez leurs chemins absolus dans la variable d'environnement [`CLAUDE_CODE_PLUGIN_DIRS`](/docs/fr/env-vars#variables) à la place. Claude Code charge chaque chemin comme il charge un chemin `--plugin-dir`. Ces plugins se chargent en plus de ceux que vous passez avec `--plugin-dir`. [Les paramètres de projet et locaux ne peuvent pas définir cette variable](/docs/fr/settings-reference#variables-claude-code-ignores-in-env). `CLAUDE_CODE_PLUGIN_DIRS` nécessite Claude Code v2.1.280 ou ultérieur.241Pour charger des plugins dans une session où vous ne pouvez pas ajouter le drapeau `--plugin-dir`, listez leurs chemins absolus dans la variable d'environnement [`CLAUDE_CODE_PLUGIN_DIRS`](/docs/fr/env-vars#variables) à la place. Claude Code charge chaque chemin comme il charge un chemin `--plugin-dir`. Ces plugins se chargent en plus de ceux que vous passez avec `--plugin-dir`. [Les paramètres de projet et locaux ne peuvent pas définir cette variable](/docs/fr/settings-reference#variables-claude-code-ignores-in-env). `CLAUDE_CODE_PLUGIN_DIRS` nécessite Claude Code v2.1.280 ou ultérieur.

Details

413 Comment les utilisateurs acceptent une commande headersHelper413 Comment les utilisateurs acceptent une commande headersHelper

414</h3>414</h3>

415 415 

416Un utilisateur accepte la commande d'une entrée de plugin chaque fois qu'il installe ou met à jour ce seul plugin par lui-même. Il le fait à partir de la vue propre du plugin dans `/plugin`, ou avec `claude plugin install` ou `claude plugin update`. Claude Code affiche la commande et l'URL d'archive, et exécute la commande uniquement après que l'utilisateur l'accepte.416Un utilisateur accepte la commande d'une entrée de plugin chaque fois qu'il installe ou met à jour ce seul plugin par lui-même. Claude Code affiche la commande et l'URL d'archive, et exécute la commande uniquement après que l'utilisateur l'accepte.

417 

418Les utilisateurs peuvent installer ou mettre à jour le plugin dans une session Claude Code dans un terminal, dans leur shell sans session en cours, ou dans l'extension VS Code :

419 

420* **Session de terminal** : à partir de la vue propre du plugin dans `/plugin`.

421* **Shell** : avec `claude plugin install` ou `claude plugin update`.

422* **Extension VS Code** : à partir de la [boîte de dialogue **Manage plugins**](/docs/fr/vs-code#manage-plugins), avec la version 2.1.290 ou ultérieure de l'extension.

417 423 

418Dans un shell non-interactif, passez [`--yes`](/docs/fr/plugins/cli-reference#plugin-install) pour accepter la commande. Pour accepter uniquement la commande qu'une exécution `--json` précédente a affichée, passez [`--accept-command`](/docs/fr/plugins/cli-reference#plugin-install) avec le `sha256` que l'exécution a signalé.424Dans un shell non-interactif, passez [`--yes`](/docs/fr/plugins/cli-reference#plugin-install) pour accepter la commande. Pour accepter uniquement la commande qu'une exécution `--json` précédente a affichée, passez [`--accept-command`](/docs/fr/plugins/cli-reference#plugin-install) avec le `sha256` que l'exécution a signalé.

419 425 

420Claude Code exécute uniquement la commande qu'il a affichée, pour l'URL d'archive qu'il a affichée. Si la commande ou l'URL d'archive de l'entrée a changé entre-temps, Claude Code refuse l'installation ou la mise à jour. Un changement dans la chaîne de requête seul ne compte pas.426Claude Code exécute uniquement la commande qu'il a affichée, pour l'URL d'archive qu'il a affichée. Si la commande ou l'URL d'archive de l'entrée a changé entre-temps, Claude Code refuse l'installation ou la mise à jour. Un changement dans la chaîne de requête seul ne compte pas, sauf dans l'extension VS Code ou avec `--accept-command`.

421 427 

422<h3 id="installs-and-updates-that-refuse-the-command-instead-of-asking">428<h3 id="installs-and-updates-that-refuse-the-command-instead-of-asking">

423 Installations et mises à jour qui refusent une commande au lieu de demander429 Installations et mises à jour qui refusent une commande au lieu de demander

Details

189 189 

190* **Portée** : portée utilisateur par défaut. Passez `--scope project` ou `--scope local` pour le modifier.190* **Portée** : portée utilisateur par défaut. Passez `--scope project` ou `--scope local` pour le modifier.

191* **Quand les plugins se chargent** : les plugins qu'il installe se chargent la prochaine fois que vous démarrez Claude Code, ou lorsque vous exécutez `/reload-plugins` dans une session déjà ouverte.191* **Quand les plugins se chargent** : les plugins qu'il installe se chargent la prochaine fois que vous démarrez Claude Code, ou lorsque vous exécutez `/reload-plugins` dans une session déjà ouverte.

192* **La marketplace doit d'abord être ajoutée** : sur une machine où personne n'a ouvert une session Claude Code interactive, la marketplace officielle n'est pas enregistrée, donc un script qui installe à partir de celle-ci exécute `claude plugin marketplace add anthropics/claude-plugins-official` avant l'installation.192* **La marketplace sur une nouvelle machine** : sur une machine où personne n'a encore ouvert de session Claude Code interactive, la marketplace officielle n'est pas enregistrée, donc un script qui installe à partir de celle-ci exécute `claude plugin marketplace add anthropics/claude-plugins-official` avant l'installation. Consultez [Ajouter et installer à partir de votre shell](#add-and-install-from-your-shell).

193 193 

194```bash theme={null}194```bash theme={null}

195claude plugin install formatter@your-org --scope project195claude plugin install formatter@your-org --scope project


232 Ajouter une marketplace et installer en une seule commande232 Ajouter une marketplace et installer en une seule commande

233</h3>233</h3>

234 234 

235Pour installer un plugin à partir d'une marketplace que vous n'avez pas encore ajoutée, exécutez `/plugin install` dans une session Claude Code et nommez la source de la marketplace avec `--marketplace`. Nécessite Claude Code v2.1.275 ou ultérieur.235Pour installer un plugin à partir d'une marketplace que vous n'avez pas encore ajoutée, nommez la source de la marketplace avec `--marketplace` dans la commande d'installation, dans une session ou à partir de votre shell. La source prend [les mêmes formes que `/plugin marketplace add`](#add-a-marketplace), telles que GitHub `owner/repo`, une URL git ou un chemin local. Donnez le nom du plugin seul, sans suffixe `@marketplace`.

236 

237<h4 id="add-and-install-in-a-session">

238 Ajouter et installer dans une session

239</h4>

240 

241Exécutez `/plugin install` dans une session Claude Code avec le plugin et la source. Nécessite Claude Code v2.1.275 ou ultérieur. Dans une session, la source ne peut pas contenir d'espaces.

236 242 

237```text theme={null}243```text theme={null}

238/plugin install deploy-helper --marketplace your-org/plugins244/plugin install deploy-helper --marketplace your-org/plugins

239```245```

240 246 

241La source prend [les mêmes formes que `/plugin marketplace add`](#add-a-marketplace), telles que GitHub `owner/repo`, une URL git ou un chemin local, sauf qu'elle ne peut pas contenir d'espaces. Donnez le nom du plugin seul, sans suffixe `@marketplace`.

242 

243Si vous n'avez pas encore ajouté cette marketplace, Claude Code affiche la source qu'il a résolue et vous demande de confirmer avant de l'ajouter. Une fois la marketplace ajoutée, les détails du plugin s'ouvrent et vous choisissez une [portée d'installation](#install-a-plugin). Si la source correspond à une marketplace que vous avez déjà ajoutée, Claude Code ignore la confirmation et ouvre les détails du plugin dans cette marketplace.247Si vous n'avez pas encore ajouté cette marketplace, Claude Code affiche la source qu'il a résolue et vous demande de confirmer avant de l'ajouter. Une fois la marketplace ajoutée, les détails du plugin s'ouvrent et vous choisissez une [portée d'installation](#install-a-plugin). Si la source correspond à une marketplace que vous avez déjà ajoutée, Claude Code ignore la confirmation et ouvre les détails du plugin dans cette marketplace.

244 248 

249<h4 id="add-and-install-from-your-shell">

250 Ajouter et installer à partir de votre shell

251</h4>

252 

253Dans votre shell, sans démarrer de session, exécutez `claude plugin install` avec le plugin et la source. Nécessite Claude Code v2.1.292 ou ultérieur.

254 

255```bash theme={null}

256claude plugin install deploy-helper --marketplace your-org/plugins

257```

258 

259La commande shell ajoute la marketplace sans étape de confirmation. Une marketplace que vous avez déjà ajoutée à partir de cette source est réutilisée. Une nouvelle marketplace est ajoutée avec les mêmes [vérifications de politique d'organisation](/docs/fr/plugins/org#restrict-what-users-can-install) que `claude plugin marketplace add`, et elle est déclarée dans vos paramètres utilisateur même lorsque vous passez `--scope project`.

260 

261Si vous n'avez pas encore ajouté cette marketplace, la commande imprime `Successfully added marketplace: <name> (declared in user settings)` puis [installe le plugin](#install-from-your-shell).

262 

245<h3 id="add-a-private-marketplace">263<h3 id="add-a-private-marketplace">

246 Ajouter une marketplace privée264 Ajouter une marketplace privée

247</h3>265</h3>

Details

185| Met `official` à côté de `claude` ou `anthropic`, comme `official-claude-tools` | Erreur |185| Met `official` à côté de `claude` ou `anthropic`, comme `official-claude-tools` | Erreur |

186| A `claude`, `anthropic`, ou `anthropics` comme mot entier n'importe où ailleurs, comme `mcp-for-claude` | Avertissement |186| A `claude`, `anthropic`, ou `anthropics` comme mot entier n'importe où ailleurs, comme `mcp-for-claude` | Avertissement |

187 187 

188Le message d'erreur lit `Plugin name "<name>" is reserved: it passes as one of Anthropic's own`, et l'avertissement lit `Plugin name "<name>" reads as one of Anthropic's own`. `claude plugin init` et `claude plugin tag` refusent un nom qui génère l'erreur. Seules ces commandes vérifient le nom. Claude Code installe et charge toujours un plugin dont le nom qu'elles refusent.188Le message d'erreur lit `Plugin name "<name>" is reserved: it passes as one of Anthropic's own`, et l'avertissement lit `Plugin name "<name>" reads as one of Anthropic's own`. `claude plugin init` et `claude plugin tag` refusent un nom qui génère l'erreur. Claude Code installe et charge tout de même un plugin dont elles refusent le nom.

189 189 

190<h3 id="displayname">190<h3 id="displayname">

191 `displayName`191 `displayName`

Details

64 64 

65| Champ | Type | Description |65| Champ | Type | Description |

66| :- | :- | :- |66| :- | :- | :- |

67| `name` | string | Identifiant de marketplace : lettres, chiffres, `.`, `_` et `-`, commençant par une lettre ou un chiffre, et pas de `..`. `claude plugin validate` échoue pour tout autre nom, car Claude Code ne peut pas installer de plugins à partir d'une marketplace qui en utilise un. Les utilisateurs saisissent le nom après `@` dans un [ID de plugin](/docs/fr/plugins/loading#find-where-a-plugin-came-from) tel que `my-plugin@my-marketplace` lorsqu'ils installent un plugin. Voir [Noms réservés](#reserved-names) |67| `name` | string | Identifiant de marketplace : lettres, chiffres, `.`, `_` et `-`, commençant par une lettre ou un chiffre, et pas de `..`. `claude plugin validate` échoue pour tout autre nom, car Claude Code [ne peut pas installer de plugins à partir d'une marketplace qui en utilise un](/docs/fr/plugins/troubleshooting#cannot-install-plugins-from-a-marketplace-with-this-name). Les utilisateurs saisissent le nom après `@` dans un [ID de plugin](/docs/fr/plugins/loading#find-where-a-plugin-came-from) tel que `my-plugin@my-marketplace` lorsqu'ils installent un plugin. Voir [Noms réservés](#reserved-names) |

68| `owner` | object | Informations du responsable. `name` est obligatoire ; `email` et `url` sont optionnels |68| `owner` | object | Informations du responsable. `name` est obligatoire ; `email` et `url` sont optionnels |

69| `plugins` | array | [Entrées de plugin](#plugin-entries). Chaque entrée est validée indépendamment, donc une entrée invalide ne fait pas échouer la marketplace |69| `plugins` | array | [Entrées de plugin](#plugin-entries). Chaque entrée est validée indépendamment, donc une entrée invalide ne fait pas échouer la marketplace |

70| `$schema` | string | URL JSON Schema pour l'autocomplétion de l'éditeur. Ignorée au moment du chargement |70| `$schema` | string | URL JSON Schema pour l'autocomplétion de l'éditeur. Ignorée au moment du chargement |

Details

138| `$.mcp.call` | Appelle un outil sur un serveur MCP connecté, selon les règles de permission de la session |138| `$.mcp.call` | Appelle un outil sur un serveur MCP connecté, selon les règles de permission de la session |

139| `$.model.complete` | Utilise le plan ou la clé API de l'utilisateur pour les appels de modèle |139| `$.model.complete` | Utilise le plan ou la clé API de l'utilisateur pour les appels de modèle |

140| `$.prompt.submit` | Soumet une invite, et peut l'envoyer comme les propres paroles de l'utilisateur |140| `$.prompt.submit` | Soumet une invite, et peut l'envoyer comme les propres paroles de l'utilisateur |

141| `$.session.send` | Envoie un message qu'une autre session ou sous-agent de Claude lit |141| `$.session.send` | Envoie un message que lit le Claude d'une autre session, d'un sous-agent ou d'un [coéquipier](/docs/fr/agent-teams) |

142 142 

143Dans la ligne `hooks:`, [`tool.call`](/docs/fr/plugins/mods/reference#tools) et [`prompt.submit`](/docs/fr/plugins/mods/reference#prompts-and-what-claude-reads) signifient que le mod voit chaque appel d'outil et chaque invite, et peut les changer. [`session.append`](/docs/fr/plugins/mods/reference#session) signifie que le mod peut réécrire chaque ligne de la conversation avant qu'elle ne soit stockée. [`ui.render{component=AskUserQuestion}`](/docs/fr/plugins/mods/interface#change-what-claude-code-already-draws) signifie que le mod peut redessiner la boîte de dialogue que Claude utilise pour poser une question à l'utilisateur. `tool.check` signifie que le mod peut approuver ou refuser un appel d'outil avant qu'une invite de permission n'apparaisse. [Savoir ce qui se passe par défaut](#know-what-happens-by-default) liste lesquels de vos règles et hooks ont la priorité sur sa réponse.143Dans la ligne `hooks:`, [`tool.call`](/docs/fr/plugins/mods/reference#tools) et [`prompt.submit`](/docs/fr/plugins/mods/reference#prompts-and-what-claude-reads) signifient que le mod voit chaque appel d'outil et chaque invite, et peut les changer. [`session.append`](/docs/fr/plugins/mods/reference#session) signifie que le mod peut réécrire chaque ligne de la conversation avant qu'elle ne soit stockée. [`ui.render{component=AskUserQuestion}`](/docs/fr/plugins/mods/interface#change-what-claude-code-already-draws) signifie que le mod peut redessiner la boîte de dialogue que Claude utilise pour poser une question à l'utilisateur. `tool.check` signifie que le mod peut approuver ou refuser un appel d'outil avant qu'une invite de permission n'apparaisse. [Savoir ce qui se passe par défaut](#know-what-happens-by-default) liste lesquels de vos règles et hooks ont la priorité sur sa réponse.

144 144 

Details

79 Appeler un modèle79 Appeler un modèle

80</h2>80</h2>

81 81 

82Un mod peut poser sa propre question à un modèle, en dehors de la conversation, pour une petite tâche comme trier ou résumer un morceau de texte. `$.model.complete` envoie un prompt unique à un modèle avec les identifiants de votre session et se résout avec la réponse. Il n'a aucun historique de conversation.82Un mod peut envoyer ses propres requêtes à un modèle pour une petite tâche comme classer ou résumer du texte. `$.model.complete` envoie votre prompt seul, et `$.model.fork({ prompt })` envoie la conversation en cours avec votre prompt à la fin.

83 

84Ce tableau compare le contenu de chaque requête :

85 

86| Dans la requête | `$.model.complete` | `$.model.fork` |

87| :- | :- | :- |

88| Modèle | Le `model` que vous passez | Le modèle de la session |

89| Prompt système | Un court [bloc d'attribution](/docs/fr/llm-gateway-protocol#system-prompt-attribution-block), puis votre `system` si vous en passez un | Le prompt système de la session |

90| Messages | Un seul message utilisateur, votre `prompt` | La conversation jusqu'à présent, puis votre `prompt` en tant que message utilisateur |

91| CLAUDE.md et autre contexte du projet | Non inclus | Inclus, comme dans la dernière requête de la conversation |

92| Outils | Aucun | Les outils de Claude, que le modèle ne peut pas appeler |

93 

94Un fork répète la dernière requête de la conversation, de sorte que l'API Claude en sert la majeure partie depuis le [cache de prompts](/docs/fr/prompt-caching) tant que la conversation est encore en cache.

95 

96Les deux appels utilisent les identifiants de la session, ils sont donc facturés sur l'abonnement, la clé API ou le fournisseur cloud de l'utilisateur. [Les types pour votre build](/docs/fr/plugins/mods/create#get-the-types-for-your-build) documentent chaque méthode de `$.model`.

97 

98<h3 id="send-one-prompt">

99 Envoyer un prompt unique

100</h3>

101 

102Passez `model` et `prompt` à `$.model.complete`. `prompt` devient le message utilisateur. Pour donner des instructions au modèle, comme un rôle ou un format de sortie, passez également `system`, qui devient le prompt système.

83 103 

84Ce hook répond à une commande `/triage`, [enregistrée comme commande](#add-a-command), en demandant à un petit modèle d'étiqueter le texte saisi après celle-ci :104Ce hook répond à une commande `/triage`, [enregistrée comme commande](#add-a-command), en demandant à un petit modèle d'étiqueter le texte saisi après celle-ci :

85 105 


100})120})

101```121```

102 122 

103Lorsque vous exécutez `/triage the export button does nothing`, le mod envoie ce texte au modèle et affiche sa réponse, par exemple `Label: bug`. La conversation de Claude ne fait pas partie de la requête. Lorsque le modèle ne répond pas, l'étiquette est `unknown`.123Lorsque vous exécutez `/triage the export button does nothing`, le mod envoie ce texte au modèle et affiche sa réponse, par exemple `Label: bug`. Lorsque le modèle ne répond pas, l'étiquette est `unknown`.

124 

125Un échec de l'API Claude ne fait pas rejeter l'appel : vérifiez donc `r.isAnswered`, et lisez `r.reason` lorsqu'il vaut `false`. L'appel est rejeté lorsqu'il s'agit d'une requête que Claude Code n'enverra pas, par exemple pour un modèle que votre organisation bloque.

126 

127[Les types pour votre build](/docs/fr/plugins/mods/create#get-the-types-for-your-build) répertorient les autres options, comme `effort`, et les [limites](/docs/fr/plugins/mods/reference#limits) indiquent la valeur par défaut de `maxTokens`.

128 

129<h3 id="use-prompt-caching">

130 Utiliser le prompt caching

131</h3>

132 

133`$.model.complete` prend en charge le [prompt caching](https://platform.claude.com/docs/en/build-with-claude/prompt-caching) de l'API Claude. L'API met en cache le début d'une requête, appelé le préfixe, jusqu'à un [point d'arrêt de cache](https://platform.claude.com/docs/en/build-with-claude/prompt-caching#explicit-cache-breakpoints) que vous définissez. Lorsque chaque appel commence par le même long contenu statique, comme des instructions ou des documents de référence, définissez un point d'arrêt à la fin de ce contenu. Les appels suivants le lisent alors depuis le cache au lieu de payer le prix d'entrée complet.

134 

135Pour définir un point d'arrêt, passez `prompt` sous forme de tableau de blocs `{ text }` au lieu d'une chaîne, et ajoutez `cache: true` au dernier bloc du contenu statique. Claude Code envoie ce bloc avec le champ `cache_control` de l'API. `system` accepte la même forme de tableau. Pour choisir entre les deux, consultez [Choisir entre `prompt` et `system`](#choose-between-prompt-and-system).

136 

137<Note>

138 Les tableaux de blocs nécessitent Claude Code v2.1.292 ou une version ultérieure. Les versions antérieures rejettent un tableau dans `prompt` avec une erreur qui se termine par `takes { model, prompt } (host check)`, et omettent de la requête un tableau dans `system`.

139</Note>

140 

141Cette version du [hook `/triage`](#send-one-prompt) envoie un long ensemble de règles d'étiquetage avant le texte à étiqueter, avec un point d'arrêt après les règles. `RULES` est une chaîne que vous fournissez :

142 

143```javascript theme={null}

144on('command.run', { command: 'triage' }, async ($, e) => {

145 const r = await $.model.complete({

146 model: 'haiku',

147 prompt: [

148 // Identical on every call, so it forms the cached prefix

149 { text: RULES, cache: true },

150 // Changes on every call, so it goes after the breakpoint

151 { text: e.args },

152 ],

153 })

154 return { text: 'Label: ' + (r.isAnswered ? r.text.trim() : 'unknown') }

155})

156```

157 

158Le TTL et le nombre de points d'arrêt sont soumis à ces limites :

159 

160* **TTL** : une entrée de cache dure cinq minutes après sa dernière utilisation. Le TTL provient des paramètres Claude Code de l'utilisateur, et non de l'appel. Pour une heure, définissez [`subagentPromptCacheTtl`](/docs/fr/prompt-caching#choose-the-ttl-yourself) sur `1h`.

161* **Points d'arrêt par requête** : l'API en accepte [jusqu'à quatre](https://platform.claude.com/docs/en/build-with-claude/prompt-caching#when-to-use-multiple-breakpoints), et un de plus est renvoyé sous forme d'`api-error` dans `r.reason`

162 

163<h4 id="choose-between-prompt-and-system">

164 Choisir entre `prompt` et `system`

165</h4>

166 

167Placez le contenu statique que vos appels partagent au début de `prompt`, sauf si vous savez que vos requêtes vont directement à l'API Claude :

168 

169* **Directement vers l'API Claude, avec une clé API ou un abonnement Claude** : l'un ou l'autre champ fonctionne

170* **Via [Amazon Bedrock](/docs/fr/amazon-bedrock), [Claude Platform on AWS](/docs/fr/claude-platform-on-aws), [Agent Platform de Google Cloud](/docs/fr/google-vertex-ai), [Microsoft Foundry](/docs/fr/microsoft-foundry) ou une [passerelle LLM](/docs/fr/llm-gateway)** : utilisez `prompt`. Claude Code commence le prompt système par un [bloc d'attribution](/docs/fr/llm-gateway-protocol#system-prompt-attribution-block) dont l'empreinte provient du début du message utilisateur. L'endpoint `api.anthropic.com` supprime ce bloc avant la mise en cache. Les autres endpoints le reçoivent comme partie du prompt, de sorte qu'un point d'arrêt dans `system` peut manquer le cache lorsque `prompt` commence différemment.

171* **Dans un mod que d'autres personnes exécutent** : utilisez `prompt`, car vous ne choisissez pas leur fournisseur

172 

173`system` vient avant `prompt` dans le préfixe, donc un point d'arrêt dans `prompt` couvre aussi `system`, et un appel avec un `system` différent manque le cache.

104 174 

105Un échec de l'API Claude ne fait pas rejeter l'appel : vérifiez donc `r.isAnswered`, et lisez `r.reason` lorsqu'il vaut `false`. L'appel est rejeté lorsqu'il s'agit d'une requête que Claude Code n'enverra pas, par exemple pour un modèle que votre organisation bloque. [Les types pour votre build](/docs/fr/plugins/mods/create#get-the-types-for-your-build) répertorient les autres options, comme `effort`, et les [limites](/docs/fr/plugins/mods/reference#limits) indiquent la valeur par défaut de `maxTokens`.175<h4 id="check-for-cache-hits">

176 Vérifier les accès au cache

177</h4>

106 178 

107`$.model.fork({ prompt })` pose plutôt une question portant sur la conversation en cours, avec le même modèle et le même prompt système, de sorte que l'API Claude en sert la majeure partie depuis le cache de prompts.179Le résultat de `$.model.complete` comporte un objet `usage` avec les [champs de cache](https://platform.claude.com/docs/en/build-with-claude/prompt-caching#tracking-cache-performance) de l'API. `usage.cache_creation_input_tokens` compte les tokens que l'appel a écrits dans le cache, et `usage.cache_read_input_tokens` compte les tokens qu'il a lus depuis le cache. Attendez-vous à une écriture lors du premier appel et à des lectures lors des appels suivants dans le délai du TTL.

108 180 

109Ces appels utilisent l'abonnement ou la clé API de l'utilisateur.181Si chaque appel écrit et qu'aucun ne lit, le préfixe diffère entre les appels ou les appels sont plus espacés que le TTL. Pour un préfixe qui diffère, consultez [Choisir entre `prompt` et `system`](#choose-between-prompt-and-system).

182 

183Si les deux champs restent à zéro pour des appels auxquels le modèle a répondu, rien n'a été mis en cache. Vérifiez chacune de ces causes :

184 

185* **Le préfixe est trop court** : l'API ne met pas en cache un préfixe inférieur à la [longueur minimale](https://platform.claude.com/docs/en/build-with-claude/prompt-caching#cache-limitations) du modèle, et elle ne renvoie aucune erreur

186* **Le prompt caching est désactivé** : lorsqu'une [variable `DISABLE_PROMPT_CACHING`](/docs/fr/prompt-caching#disable-prompt-caching) s'applique au modèle, Claude Code supprime les points d'arrêt et envoie le texte sans mise en cache

187* **Votre passerelle supprime `cache_control`** : une passerelle peut [supprimer le champ tout en renvoyant un succès](/docs/fr/prompt-caching#where-the-cache-lives)

188* **Un autre mod réécrit le début du texte** : Claude Code l'[envoie alors sans points d'arrêt](#what-a-model-complete-hook-receives)

189 

190<h3 id="what-a-model-complete-hook-receives">

191 Ce que reçoit un hook `model.complete`

192</h3>

193 

194Si vous utilisez un hook sur l'événement [`model.complete`](/docs/fr/plugins/mods/reference#mods-api-calls) pour inspecter ou modifier les requêtes d'autres mods, lisez le texte depuis ces champs :

195 

196* **`e.prompt`** : toujours une chaîne. Lorsque l'appelant a passé un tableau, il s'agit du texte des blocs concaténé dans l'ordre.

197* **`e.system`** : une chaîne construite de la même manière, ou absente lorsque l'appelant n'a passé aucun `system`

198* **`e.promptBlocks` et `e.systemBlocks`** : les tableaux de l'appelant, chacun présent lorsque l'appelant a passé un tableau pour ce champ

199 

200Claude Code envoie les chaînes que votre hook passe à `next` et utilise les tableaux que vous passez avec elles pour placer les [points d'arrêt de cache](#use-prompt-caching). Il conserve les blocs de tête qui correspondent encore au début de la chaîne, avec leurs points d'arrêt, et envoie le reste de la chaîne sans point d'arrêt. Par exemple, `next({ ...e, prompt: e.prompt + NOTE })` conserve les points d'arrêt de l'appelant, et un hook qui modifie le début de `prompt` les supprime.

110 201 

111<h2 id="run-work-in-the-background">202<h2 id="run-work-in-the-background">

112 Exécuter du travail en arrière-plan203 Exécuter du travail en arrière-plan


140| Appel | Ce que l'utilisateur voit |231| Appel | Ce que l'utilisateur voit |

141| :- | :- |232| :- | :- |

142| `$.ui.status(text)` | Une ligne sous l'invite qui reste jusqu'à ce que vous la changiez. Elle commence par `⚠` et le nom du mod, comme dans `⚠ my-mod: checks: 3 passing`. |233| `$.ui.status(text)` | Une ligne sous l'invite qui reste jusqu'à ce que vous la changiez. Elle commence par `⚠` et le nom du mod, comme dans `⚠ my-mod: checks: 3 passing`. |

143| `$.ui.toast(text)` | Une notification toast en haut à droite, avec le nom du mod au-dessus du texte, qui disparaît après quelques secondes |234| `$.ui.toast(text)` | Une notification toast avec le nom du mod qui disparaît après quelques secondes. Il s'agit d'une boîte en haut à droite en [rendu plein écran](/docs/fr/fullscreen), et d'une ligne à droite sous l'invite dans le moteur de rendu classique. |

144| `$.ui.log(text)` | Une ligne atténuée dans la transcription que Claude ne lit pas. Elle commence par `●` et le nom du mod, comme dans `● my-mod: build finished`. |235| `$.ui.log(text)` | Une ligne atténuée dans la transcription que Claude ne lit pas. Elle commence par `●` et le nom du mod, comme dans `● my-mod: build finished`. |

145 236 

146<h3 id="start-a-turn-from-a-background-job">237<h3 id="start-a-turn-from-a-background-job">


159 Envoyer et recevoir des messages entre les sessions250 Envoyer et recevoir des messages entre les sessions

160</h2>251</h2>

161 252 

162Un mod peut envoyer un message en texte brut à une autre de vos sessions ou à l'un des sous-agents de cette session, et observer les messages qui arrivent et partent. `$.session.send({ to, text })` en envoie un, la même livraison que l'outil SendMessage fait. `to` est `{ sessionId }` pour une session, `{ agentId }` pour un sous-agent de `$.agent.list()`, ou l'adresse de chaîne d'où provient un message reçu. L'appel se résout une fois que le message est mis en file d'attente, avec `{ isDelivered: true }`. Quand rien n'a été livré, il se résout avec `{ isDelivered: false, reason }`, et `reason` dit pourquoi.253Un mod peut envoyer un message en texte brut à une autre de vos sessions, à l'un des sous-agents de cette session ou à un coéquipier de son [équipe d'agents](/docs/fr/agent-teams). Il peut aussi observer les messages qui arrivent et partent.

254 

255Pour en envoyer un, appelez `$.session.send({ to, text })`, qui effectue la même livraison que l'outil SendMessage. Définissez `to` selon le destinataire du message :

256 

257* **Une autre de vos sessions** : `{ sessionId }`

258* **Un sous-agent ou un coéquipier** : `{ agentId }`, avec un id provenant de `$.agent.list()`

259* **L'expéditeur d'un message que vous avez reçu** : l'adresse de chaîne d'où provient ce message

260 

261L'appel se résout une fois que le message est mis en file d'attente, avec `{ isDelivered: true }`. Quand rien n'a été livré, il se résout avec `{ isDelivered: false, reason }`, et `reason` dit pourquoi.

163 262 

164Ce hook répond à une commande `/ping`, [enregistrée comme une commande](#add-a-command), en demandant à la session dont vous tapez l'id après un statut :263Ce hook répond à une commande `/ping`, [enregistrée comme une commande](#add-a-command), en demandant à la session dont vous tapez l'id après un statut :

165 264 

Details

281 Obtenez les définitions de type pour votre version281 Obtenez les définitions de type pour votre version

282</h3>282</h3>

283 283 

284Chaque fois que Claude Code charge ou recharge un mod à partir d'un répertoire que vous passez à `--plugin-dir`, ou un mod [que Claude a écrit pour vous](#ask-claude-for-a-mod), il écrit des fichiers de déclaration TypeScript, se terminant par `.d.ts`, dans `.claude-plugin/types/` à l'intérieur du répertoire du mod. Ils décrivent les événements exacts, les méthodes de l'API des mods, et les éléments dans la version de Claude Code que vous exécutez, afin que votre éditeur puisse autocomplète et vérifier le type de vos hooks. Pour parcourir les déclarations en ligne, lisez [`mods/types/claude-code.d.ts`](https://github.com/anthropics/claude-code/blob/main/mods/types/claude-code.d.ts) dans le référentiel Claude Code, dont la première ligne nomme la version qui l'a écrit. Le répertoire contient ces fichiers :284Lorsque Claude Code charge un mod à partir de `--plugin-dir` dans une session interactive, ou un mod [que Claude a écrit pour vous](#ask-claude-for-a-mod), il écrit des fichiers de déclaration TypeScript dans le répertoire `.claude-plugin/types/` du mod. Ils décrivent les événements exacts, les méthodes de l'API des mods, et les éléments dans la version de Claude Code que vous exécutez, afin que votre éditeur puisse compléter automatiquement et vérifier le type de vos hooks. Le répertoire contient ces fichiers :

285 285 

286| Chemin | Ce qu'il déclare |286| Chemin | Ce qu'il déclare |

287| :- | :- |287| :- | :- |

Details

145 145 

146Après que Claude a modifié ou écrit un fichier `.mdx`, une ligne estompée dans la transcription indique le nom du fichier. Rien n'est consigné pour un autre type de fichier, ni pour un appel refusé ou en échec. La vision que Claude a de l'appel ne change pas, car le hook renvoie le résultat qu'il a reçu.146Après que Claude a modifié ou écrit un fichier `.mdx`, une ligne estompée dans la transcription indique le nom du fichier. Rien n'est consigné pour un autre type de fichier, ni pour un appel refusé ou en échec. La vision que Claude a de l'appel ne change pas, car le hook renvoie le résultat qu'il a reçu.

147 147 

148Pour modifier un appel, transmettez des arguments modifiés à `next`. Pour réessayer un appel, appelez de nouveau `next(e)` : un hook qui voit `isError` dans le premier résultat peut exécuter l'outil une seconde fois et renvoyer ce résultat. Pour répondre vous-même à un appel, renvoyez un objet avec un champ `result`, comme `{ result: 'Skipped by my-mod' }`, sans appeler `next`. Dans ce cas, aucune demande de permission n'apparaît et l'outil ne s'exécute pas ; le résultat que vous renvoyez est donc tout ce que Claude apprend de ce qui s'est passé.148Votre hook peut aussi modifier un appel, le réessayer, y répondre lui-même ou masquer son résultat :

149 

150* **Modifier l'appel** : transmettez des arguments modifiés à `next`.

151* **Réessayer l'appel** : appelez de nouveau `next(e)`. Un hook qui voit `isError` dans le premier résultat peut exécuter l'outil une seconde fois et renvoyer ce résultat.

152* **Répondre vous-même à l'appel** : renvoyez un objet avec un champ `result`, sans appeler `next`, et pour un outil intégré, donnez à `result` la forme qu'a le résultat de cet outil dans [les types de votre build](/docs/fr/plugins/mods/create#get-the-types-for-your-build). Aucune demande de permission n'apparaît et l'outil ne s'exécute pas ; le résultat que vous renvoyez est donc tout ce que Claude apprend de ce qui s'est passé.

153* **Masquer le résultat à Claude** : renvoyez `{ deny: reason }` après `await next(e)`. Claude lit votre motif à la place de ce que `next` a renvoyé. Lorsque l'outil s'est exécuté, le deny empêche Claude de voir son résultat et n'annule rien de ce que l'outil a fait. Lorsque l'outil s'est exécuté avec succès, le motif suit une note comme `Bash ran, and a plugin withheld its result:`.

149 154 

150Les hooks des [paramètres gérés](/docs/fr/server-managed-settings) de votre organisation s'exécutent avant le hook `tool.call` de tout mod, et un blocage provenant de l'un d'eux est définitif.155Les hooks des [paramètres gérés](/docs/fr/server-managed-settings) de votre organisation s'exécutent avant le hook `tool.call` de tout mod, et un blocage provenant de l'un d'eux est définitif.

151 156 


225 230 

226| Pour faire ceci | Renvoyez ceci |231| Pour faire ceci | Renvoyez ceci |

227| :- | :- |232| :- | :- |

228| Réécrire le prompt. Le message dans la transcription affiche le nouveau texte. | `next({ ...e, text: newText })` |233| Réécrire le prompt. La transcription et votre [historique des prompts](/docs/fr/interactive-mode#command-history) affichent le nouveau texte. | `next({ ...e, text: newText })` |

229| Ajouter, après le prompt, du texte que seul Claude lit | `next({ ...e, context: [...(e.context ?? []), extraText] })` |234| Ajouter, après le prompt, du texte que seul Claude lit | `next({ ...e, context: [...(e.context ?? []), extraText] })` |

230| Empêcher l'envoi du prompt | `{ drop: 'the reason' }` |235| Empêcher l'envoi du prompt | `{ drop: 'the reason' }` |

231 236 


245 250 

246Lorsque vous envoyez un prompt comme `open a PR for this change`, votre message reste identique dans la transcription, et Claude lit également après celui-ci une ligne comme `Current branch: feature/auth`. Un prompt qui ne mentionne pas de pull request passe sans modification, et `git` ne s'exécute pas.251Lorsque vous envoyez un prompt comme `open a PR for this change`, votre message reste identique dans la transcription, et Claude lit également après celui-ci une ligne comme `Current branch: feature/auth`. Un prompt qui ne mentionne pas de pull request passe sans modification, et `git` ne s'exécute pas.

247 252 

248Pour arrêter un prompt, renvoyez `{ drop: 'the reason' }` sans appeler `next`. Si votre hook renvoie un `drop` après que son appel `next(e)` a laissé passer le prompt, le tour s'exécute quand même, et le hook [échoue](#handle-a-hook-that-fails) avec un message qui inclut `a drop after its next() was answered`.253Pour arrêter un prompt, renvoyez `{ drop: 'the reason' }` sans appeler `next`. Le texte revient dans la zone de saisie du prompt de l'utilisateur, qui voit `Prompt dropped by a hook:` suivi de votre motif ; adressez donc ce motif à l'utilisateur. Si votre hook renvoie un `drop` après que son appel `next(e)` a laissé passer le prompt, le tour s'exécute quand même, et le hook [échoue](#handle-a-hook-that-fails) avec un message qui inclut `a drop after its next() was answered`.

249 254 

250[D'autres événements](/docs/fr/plugins/mods/reference#prompts-and-what-claude-reads) couvrent le reste de ce que lit Claude : `prompt.section` pour chaque section du prompt système, `prompt.context` pour le contexte envoyé avec le premier message, et `skill.prompt` pour le texte d'un skill. Un texte issu de ces hooks qui change d'une requête à l'autre [invalide le cache des prompts](/docs/fr/prompt-caching).255[D'autres événements](/docs/fr/plugins/mods/reference#prompts-and-what-claude-reads) couvrent le reste de ce que lit Claude : `prompt.section` pour chaque section du prompt système, `prompt.context` pour le contexte envoyé avec le premier message, et `skill.prompt` pour le texte d'un skill. Un texte issu de ces hooks qui change d'une requête à l'autre [invalide le cache des prompts](/docs/fr/prompt-caching).

251 256 


281 286 

282`result.usage` contient le nombre de tokens que l'API Claude indique pour une requête, ainsi que le `model` qui a répondu : `input_tokens`, `output_tokens`, `cache_read_input_tokens` et `cache_creation_input_tokens`. Le hook s'exécute aussi pour les requêtes des sous-agents ; vérifiez donc `e.agentId` si vous ne souhaitez traiter que la conversation principale.287`result.usage` contient le nombre de tokens que l'API Claude indique pour une requête, ainsi que le `model` qui a répondu : `input_tokens`, `output_tokens`, `cache_read_input_tokens` et `cache_creation_input_tokens`. Le hook s'exécute aussi pour les requêtes des sous-agents ; vérifiez donc `e.agentId` si vous ne souhaitez traiter que la conversation principale.

283 288 

289Pour voir les appels d'outils que l'API a exécutés elle-même pendant la requête, comme les appels à l'[outil advisor](/docs/fr/advisor), lisez `result.serverToolUses`. Claude Code n'exécute pas ces appels ; aucun hook `tool.call` ou `tool.check` ne se déclenche donc pour eux. Le champ est absent lorsque la réponse ne contient aucun appel de ce type, et il nécessite Claude Code v2.1.290 ou une version ultérieure.

290 

284<h3 id="hook-the-settings-hook-events">291<h3 id="hook-the-settings-hook-events">

285 Gérer les événements des hooks des paramètres292 Gérer les événements des hooks des paramètres

286</h3>293</h3>


369* **`tool.check`** : retournez `{ decision: 'deny', reason: 'the reason' }`376* **`tool.check`** : retournez `{ decision: 'deny', reason: 'the reason' }`

370* **`plugin.register`** : retournez `{ refuse: 'the reason' }`, comme le montre [Refuser les mods lorsque votre vérification échoue](/docs/fr/plugins/mods/admin#refuse-mods-when-your-check-fails)377* **`plugin.register`** : retournez `{ refuse: 'the reason' }`, comme le montre [Refuser les mods lorsque votre vérification échoue](/docs/fr/plugins/mods/admin#refuse-mods-when-your-check-fails)

371 378 

379Pour `tool.call`, un `deny` retourné après que `next` s'est résolu [soustrait le résultat à Claude](#guard-or-change-a-tool-call).

380 

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

373 Prochaines étapes382 Prochaines étapes

374</h2>383</h2>

Details

10 10 

11Cette carte montre où un mod peut dessiner dans une session de terminal :11Cette carte montre où un mod peut dessiner dans une session de terminal :

12 12 

13<img src="https://mintcdn.com/claude-code/dgiVO_Od1X1faduV/images/mods-screen-map.svg?fit=max&auto=format&n=dgiVO_Od1X1faduV&q=85&s=5fda26b6609c62b68c6f9e528c1590ea" className="dark:hidden" alt="Carte d'une session de terminal Claude Code. Un mod peut ajouter un volet comme barre latérale à droite, un toast en haut à droite de la transcription, une ligne de journal dans la transcription, une bande au-dessus de l'invite, et une barre de statut sous l'invite. Un mod peut redessiner les messages, les lignes d'appels d'outils, et le spinner. L'invite est celle de Claude Code." width="600" height="336" data-path="images/mods-screen-map.svg" />13<img src="https://mintcdn.com/claude-code/dgiVO_Od1X1faduV/images/mods-screen-map.svg?fit=max&auto=format&n=dgiVO_Od1X1faduV&q=85&s=5fda26b6609c62b68c6f9e528c1590ea" className="dark:hidden" alt="Carte d'une session de terminal Claude Code en rendu plein écran. Un mod peut ajouter un volet comme barre latérale à droite, un toast en haut à droite de la transcription, une ligne de journal dans la transcription, une bande au-dessus de l'invite, et une barre de statut sous l'invite. Un mod peut redessiner les messages, les lignes d'appels d'outils, et le spinner. L'invite est celle de Claude Code." width="600" height="336" data-path="images/mods-screen-map.svg" />

14 14 

15<img src="https://mintcdn.com/claude-code/dgiVO_Od1X1faduV/images/mods-screen-map-dark.svg?fit=max&auto=format&n=dgiVO_Od1X1faduV&q=85&s=5b4161581a1bd2c0450b0c8b57bc1225" className="hidden dark:block" alt="Carte d'une session de terminal Claude Code. Un mod peut ajouter un volet comme barre latérale à droite, un toast en haut à droite de la transcription, une ligne de journal dans la transcription, une bande au-dessus de l'invite, et une barre de statut sous l'invite. Un mod peut redessiner les messages, les lignes d'appels d'outils, et le spinner. L'invite est celle de Claude Code." width="600" height="336" data-path="images/mods-screen-map-dark.svg" />15<img src="https://mintcdn.com/claude-code/dgiVO_Od1X1faduV/images/mods-screen-map-dark.svg?fit=max&auto=format&n=dgiVO_Od1X1faduV&q=85&s=5b4161581a1bd2c0450b0c8b57bc1225" className="hidden dark:block" alt="Carte d'une session de terminal Claude Code en rendu plein écran. Un mod peut ajouter un volet comme barre latérale à droite, un toast en haut à droite de la transcription, une ligne de journal dans la transcription, une bande au-dessus de l'invite, et une barre de statut sous l'invite. Un mod peut redessiner les messages, les lignes d'appels d'outils, et le spinner. L'invite est celle de Claude Code." width="600" height="336" data-path="images/mods-screen-map-dark.svg" />

16 16 

17Dans un terminal plus étroit, le volet se trouve au-dessus de l'invite au lieu d'être à côté de la transcription.17Dans un terminal plus étroit, le volet se trouve au-dessus de l'invite au lieu d'être à côté de la transcription.

18 18 


324| `title` | L'étiquette d'onglet du volet quand plus d'un volet est ouvert |324| `title` | L'étiquette d'onglet du volet quand plus d'un volet est ouvert |

325| `focus` | Demande le [focus clavier](#know-which-keys-your-mod-can-receive) |325| `focus` | Demande le [focus clavier](#know-which-keys-your-mod-can-receive) |

326| `closeOnEscape` | Fait que Esc ferme le volet |326| `closeOnEscape` | Fait que Esc ferme le volet |

327| `holdToasts` | Retient les toasts, les petits avis de [`$.ui.toast`](/docs/fr/plugins/mods/api#show-something-without-starting-a-turn), jusqu'à ce que le volet se ferme |327| `holdToasts` | Dans le terminal, retient les toasts tant que ce volet est celui qui s'affiche. Voir [Retenir les toasts derrière un dialogue](#hold-toasts-behind-a-dialog). |

328| `rows` | La hauteur à demander quand le volet se trouve au-dessus de l'invite. La valeur par défaut est un tiers de l'espace. |328| `rows` | La hauteur à demander quand le volet se trouve au-dessus de l'invite. La valeur par défaut est un tiers de l'espace. |

329| `columns` | La largeur à demander quand le volet se trouve à côté de la transcription |329| `columns` | La largeur à demander quand le volet se trouve à côté de la transcription |

330 330 


337 337 

338Pour laisser une commande ouvrir le volet pendant que Claude travaille, ajoutez `immediate: true` quand vous [enregistrez la commande](/docs/fr/plugins/mods/api#add-a-command). Sans cela, une commande tapée pendant un tour attend la fin du tour.338Pour laisser une commande ouvrir le volet pendant que Claude travaille, ajoutez `immediate: true` quand vous [enregistrez la commande](/docs/fr/plugins/mods/api#add-a-command). Sans cela, une commande tapée pendant un tour attend la fin du tour.

339 339 

340<h4 id="hold-toasts-behind-a-dialog">

341 Retenir les toasts derrière un dialogue

342</h4>

343 

344Passez `holdToasts: true` à `$.ui.open` quand le volet est un dialogue auquel l'utilisateur répond avant de le quitter, afin que les toasts n'apparaissent pas pendant qu'il décide. Dans le terminal, la retenue dure tant que ce volet est celui qui s'affiche, et un toast déclenché pendant ce temps attend la fin de la retenue.

345 

346Claude Code retient les toasts des autres mods et ses propres notifications éphémères, ainsi que ceux que votre mod déclenche avec [`$.ui.toast`](/docs/fr/plugins/mods/api#show-something-without-starting-a-turn). Omettez ce champ pour un volet qui reste ouvert, afin que l'utilisateur continue de les voir.

347 

340<h4 id="when-a-pane-waits-for-a-wider-terminal">348<h4 id="when-a-pane-waits-for-a-wider-terminal">

341 Quand un volet attend un terminal plus large349 Quand un volet attend un terminal plus large

342</h4>350</h4>

Details

64| :- | :- | :- |64| :- | :- | :- |

65| [`tool.call`](/docs/fr/plugins/mods/events#guard-or-change-a-tool-call) | Un outil est sur le point de s'exécuter | `next(e)`, `{ deny: reason }` ou `{ result }` |65| [`tool.call`](/docs/fr/plugins/mods/events#guard-or-change-a-tool-call) | Un outil est sur le point de s'exécuter | `next(e)`, `{ deny: reason }` ou `{ result }` |

66| [`tool.check`](/docs/fr/plugins/mods/events#where-settings-hooks-run-in-the-order) | Claude Code décide si un appel d'outil peut s'exécuter, après les hooks `tool.call` et `PreToolUse`. `next(e)` se résout avec la décision à laquelle ont abouti les règles, le mode de permission et ces hooks. | `{ decision }`, qui vaut `allow`, `ask` ou `deny` |66| [`tool.check`](/docs/fr/plugins/mods/events#where-settings-hooks-run-in-the-order) | Claude Code décide si un appel d'outil peut s'exécuter, après les hooks `tool.call` et `PreToolUse`. `next(e)` se résout avec la décision à laquelle ont abouti les règles, le mode de permission et ces hooks. | `{ decision }`, qui vaut `allow`, `ask` ou `deny` |

67| `tool.describe` | Une fois pour chaque outil, lorsque sa description est envoyée à Claude pour la première fois | `{ description }`, avec éventuellement `isDeferred` défini sur `true` pour placer l'outil derrière la [recherche d'outils](/docs/fr/mcp#scale-with-mcp-tool-search) ou sur `false` pour le charger dès le départ |67| `tool.describe` | Une fois pour chaque outil, lorsque sa description est envoyée à Claude pour la première fois. Une seconde fois pour un outil MCP lorsque Claude le charge via la [recherche d'outils](/docs/fr/mcp#scale-with-mcp-tool-search), avec `e.description` défini sur le texte que Claude lit pour l'outil chargé. | `{ description }`, avec éventuellement `isDeferred` défini sur `true` pour placer l'outil derrière la recherche d'outils ou sur `false` pour le charger dès le départ |

68 68 

69<h4 id="agent-and-organization-fields-on-tool-check">69<h4 id="agent-and-organization-fields-on-tool-check">

70 Champs d'agent et d'organisation sur `tool.check`70 Champs d'agent et d'organisation sur `tool.check`


133| `session.end` | La session se termine, ou `/clear`, `/resume` ou `/branch` s'exécute. `e.reason` vaut `clear`, `resume`, `logout`, `prompt_input_exit` ou `other`. `/branch` signale `resume`. | `next(e)` |133| `session.end` | La session se termine, ou `/clear`, `/resume` ou `/branch` s'exécute. `e.reason` vaut `clear`, `resume`, `logout`, `prompt_input_exit` ou `other`. `/branch` signale `resume`. | `next(e)` |

134| `session.compact` | La conversation est sur le point d'être compactée | `{ skip: reason }` |134| `session.compact` | La conversation est sur le point d'être compactée | `{ skip: reason }` |

135| [`session.receive`](/docs/fr/plugins/mods/api#send-and-receive-messages-between-sessions), [`session.send`](/docs/fr/plugins/mods/api#send-and-receive-messages-between-sessions) | Un message arrive d'un autre agent ou d'une autre session, ou est sur le point d'y être envoyé. Consultez [Envoyer et recevoir des messages entre sessions](/docs/fr/plugins/mods/api#send-and-receive-messages-between-sessions). | `{ consumed: reason }` pour `receive`, `{ isDelivered: false, reason }` pour `send` |135| [`session.receive`](/docs/fr/plugins/mods/api#send-and-receive-messages-between-sessions), [`session.send`](/docs/fr/plugins/mods/api#send-and-receive-messages-between-sessions) | Un message arrive d'un autre agent ou d'une autre session, ou est sur le point d'y être envoyé. Consultez [Envoyer et recevoir des messages entre sessions](/docs/fr/plugins/mods/api#send-and-receive-messages-between-sessions). | `{ consumed: reason }` pour `receive`, `{ isDelivered: false, reason }` pour `send` |

136| `session.append` | Une fois pour chaque ligne conservée par la conversation, telle qu'un prompt, un bloc de réponse, un résultat d'outil ou une notification, avant son stockage | `next({ ...e, message })` pour réécrire le `content` de la ligne |136| `session.append` | Une fois pour chaque ligne conservée par la conversation, telle qu'un prompt, un bloc de réponse, un résultat d'outil ou une notification, avant son stockage | `next({ ...e, message })` avec un `message.content` modifié, pour réécrire les blocs de texte de la ligne ou le `content` d'un bloc `tool_result` qu'elle contient |

137| `session.attach`, `session.detach` | Une autre application se connecte à la session ou s'en déconnecte | `next(e)` |137| `session.attach`, `session.detach` | Une autre application se connecte à la session ou s'en déconnecte | `next(e)` |

138| `session.measure` | Après chaque tour, et lorsque le pourcentage utilisé d'une limite de forfait change | `next(e)` |138| `session.measure` | Après chaque tour, et lorsque le pourcentage utilisé d'une limite de forfait change | `next(e)` |

139 139 


209| [`$.ui`](/docs/fr/plugins/mods/interface#pick-where-to-draw) | `resolve`, `invalidate`, `open`, `close`, `panes`, `focus`, `scroll`, `toast`, `status`, `log`, `notice`, `ask`, `copy`, `selection`, `blit` |209| [`$.ui`](/docs/fr/plugins/mods/interface#pick-where-to-draw) | `resolve`, `invalidate`, `open`, `close`, `panes`, `focus`, `scroll`, `toast`, `status`, `log`, `notice`, `ask`, `copy`, `selection`, `blit` |

210| [`$.command`](/docs/fr/plugins/mods/api#add-a-command) | `register`, `run`, `list` |210| [`$.command`](/docs/fr/plugins/mods/api#add-a-command) | `register`, `run`, `list` |

211| [`$.tool`](/docs/fr/plugins/mods/api#add-a-tool) | `register`, `call`, `check`, `list` |211| [`$.tool`](/docs/fr/plugins/mods/api#add-a-tool) | `register`, `call`, `check`, `list` |

212| `$.agent` | `register`, `spawn`, `list` |212| `$.agent` | `register`, `spawn`, `list`. `list()` renvoie les sous-agents et coéquipiers de cette session, chacun avec un `status` parmi `pending`, `running`, `waiting`, `idle`, `completed`, `failed` ou `killed`, où `idle` et `waiting` nécessitent Claude Code v2.1.289 ou une version ultérieure. |

213| [`$.model`](/docs/fr/plugins/mods/api#call-a-model) | `complete`, `fork`, `classify` |213| [`$.model`](/docs/fr/plugins/mods/api#call-a-model) | `complete`, `fork`, `classify` |

214| [`$.prompt`](/docs/fr/plugins/mods/api#start-a-turn-from-a-background-job) | `submit`, `read`, `fill`, `suggest`, `compose`. Claude lit le texte de `submit({ text })` après une phrase qui désigne votre mod comme expéditeur. `submit({ text, asUser: true })` envoie le texte comme s'il s'agissait des propres mots de l'utilisateur, sans cette phrase. |214| [`$.prompt`](/docs/fr/plugins/mods/api#start-a-turn-from-a-background-job) | `submit`, `read`, `fill`, `suggest`, `compose`. Claude lit le texte de `submit({ text })` après une phrase qui désigne votre mod comme expéditeur. `submit({ text, asUser: true })` envoie le texte comme s'il s'agissait des propres mots de l'utilisateur, sans cette phrase. |

215| `$.turn` | `abort` |215| `$.turn` | `abort` |


317| Délai d'expiration de `$.process.run` | 30 secondes par défaut, 10 minutes au maximum |317| Délai d'expiration de `$.process.run` | 30 secondes par défaut, 10 minutes au maximum |

318| `maxTokens` de `$.model.complete` | 1024 par défaut, jusqu'à 64 000 ou la limite de sortie du modèle |318| `maxTokens` de `$.model.complete` | 1024 par défaut, jusqu'à 64 000 ou la limite de sortie du modèle |

319| `$.fs.read` et `$.fs.write` | 4 Mio pour un fichier |319| `$.fs.read` et `$.fs.write` | 4 Mio pour un fichier |

320| La raison `drop` d'un hook ou la raison `deny` de `config.set` | 4 096 caractères. La fin d'une raison plus longue est tronquée, et le drop ou le deny s'applique quand même. La troncature nécessite Claude Code v2.1.292 ou une version ultérieure ; sur les versions antérieures, le hook [échoue](/docs/fr/plugins/mods/events#handle-a-hook-that-fails) à la place. |

320| Texte dans un arbre | Les 100 000 premiers caractères sont dessinés |321| Texte dans un arbre | Les 100 000 premiers caractères sont dessinés |

321| Le `language` ou le `path` d'un `Code`, la `value` d'une option `Select`, ou le `module` d'un `Client` | 10 000 caractères. Si l'un d'eux est plus long, Claude Code [dessine sa propre version du site](/docs/fr/plugins/mods/interface#build-a-tree-from-elements). |322| Le `language` ou le `path` d'un `Code`, la `value` d'une option `Select`, ou le `module` d'un `Client` | 10 000 caractères. Si l'un d'eux est plus long, Claude Code [dessine sa propre version du site](/docs/fr/plugins/mods/interface#build-a-tree-from-elements). |

322| Le `href` d'un `Link` | 2 048 caractères. Un `href` plus long empêche le dessin de l'arbre entier. |323| Le `href` d'un `Link` | 2 048 caractères. Un `href` plus long empêche le dessin de l'arbre entier. |


325| Redessins `$.ui.invalidate('ui.render')` | Limités à 10 par seconde, ou 30 dans le terminal pour le volet visible, le bandeau déployé et la ligne d'indication sous le prompt. Les appels plus rapprochés sont regroupés. |326| Redessins `$.ui.invalidate('ui.render')` | Limités à 10 par seconde, ou 30 dans le terminal pour le volet visible, le bandeau déployé et la ligne d'indication sous le prompt. Les appels plus rapprochés sont regroupés. |

326| `$.ui.toast` | Affiché pendant 4 secondes sauf si vous passez `{ timeoutMs }` |327| `$.ui.toast` | Affiché pendant 4 secondes sauf si vous passez `{ timeoutMs }` |

327| Un volet ouvert sans que l'utilisateur l'ait demandé | Placé à partir de 144 colonnes de terminal, 110 une fois que l'utilisateur l'a ouvert une fois |328| Un volet ouvert sans que l'utilisateur l'ait demandé | Placé à partir de 144 colonnes de terminal, 110 une fois que l'utilisateur l'a ouvert une fois |

329| Portées, telles que les fonctions, les blocs et les boucles, imbriquées les unes dans les autres dans un même fichier d'un module de hooks | 2 000 |

328| Noms de commandes, d'outils, de types de sous-agents et de volets | Lettres, chiffres, `_` et `-`, jusqu'à 64 caractères |330| Noms de commandes, d'outils, de types de sous-agents et de volets | Lettres, chiffres, `_` et `-`, jusqu'à 64 caractères |

329| Un test `claude plugin test` | 5 secondes sauf si le test définit `timeoutMs` |331| Un test `claude plugin test` | 5 secondes sauf si le test définit `timeoutMs` |

330 332 

Details

110* `returned neither { value } nor { deny }` : un stub pour un appel d'API des mods a retourné une valeur nue, ce qui fait échouer le test110* `returned neither { value } nor { deny }` : un stub pour un appel d'API des mods a retourné une valeur nue, ce qui fait échouer le test

111* `no implementation for` suivi d'un nom : votre mod a fait cet appel et aucun stub ne le répond111* `no implementation for` suivi d'un nom : votre mod a fait cet appel et aucun stub ne le répond

112 112 

113Le kit exporte également des mocks en mémoire qui répondent à un espace de noms entier pour vous. `mock.clock(on)` répond à [`$.clock`](/docs/fr/plugins/mods/api#run-work-in-the-background), `mock.store(on, { count: 7 })` répond à `$.store` à partir d'un magasin qui commence par ces entrées, et `mock.env(on, { CI: 'true' })` répond à `$.env.get` à partir de ces variables. `mock.clock` retourne une horloge simulée que votre test avance, afin qu'un test d'une minuterie n'attende pas. `mock.store` ne retourne rien, donc pour vérifier ce que votre mod a enregistré, écrivez vous-même les deux stubs `store` comme le fait le [test de dessin](#test-a-drawing).113Le kit exporte également des mocks prêts à l'emploi pour l'horloge, le magasin, les variables d'environnement et les lignes ajoutées à la conversation :

114 

115* **`mock.clock(on)`** : répond à [`$.clock`](/docs/fr/plugins/mods/api#run-work-in-the-background) et retourne une horloge simulée que votre test avance, afin qu'un test d'une minuterie n'attende pas.

116* **`mock.store(on, { count: 7 })`** : répond à `$.store` à partir d'un magasin qui commence par ces entrées. Il ne retourne rien, donc pour vérifier ce que votre mod a enregistré, écrivez vous-même les deux stubs `store` comme le fait le [test de dessin](#test-a-drawing).

117* **`mock.env(on, { CI: 'true' })`** : répond à `$.env.get` à partir de ces variables.

118* **`mock.session(on)`** : retourne une session simulée dont la méthode `appended()` liste les lignes que votre mod a ajoutées avec [`$.session.append`](/docs/fr/plugins/mods/reference#session), de la plus ancienne à la plus récente ; nécessite Claude Code v2.1.293 ou ultérieur.

114 119 

115<h3 id="follow-the-test-kit’s-rules">120<h3 id="follow-the-test-kit’s-rules">

116 Suivre les règles du kit de test121 Suivre les règles du kit de test


168 Rechercher ce qu'un stub retourne173 Rechercher ce qu'un stub retourne

169</h3>174</h3>

170 175 

171Chaque appel d'API des mods que votre mod fait dans un test a besoin d'un stub qui répond à la place de Claude Code, sauf les quelques-uns que le kit répond lui-même : les appels [`$.ui.invalidate`](/docs/fr/plugins/mods/interface#redraw-when-something-changes) et [`$.state`](/docs/fr/plugins/mods/interface#keep-state). Pour les appels `$.clock`, utilisez `mock.clock(on)`, sinon votre mod `$.clock.now()` échoue avec `no implementation for clock.now`.176Chaque appel d'API des mods que votre mod fait dans un test a besoin d'un stub qui répond à la place de Claude Code, sauf les quelques-uns que le kit répond lui-même : les appels [`$.ui.invalidate`](/docs/fr/plugins/mods/interface#redraw-when-something-changes), [`$.state`](/docs/fr/plugins/mods/interface#keep-state) et `$.session.append`. Pour les appels `$.clock`, utilisez `mock.clock(on)`, sinon votre mod `$.clock.now()` échoue avec `no implementation for clock.now`.

172 177 

173Ce tableau liste ceux que les mods utilisent le plus. La première colonne est l'appel que votre mod fait ou l'événement qu'il transmet avec `next(e)`. La deuxième est la fonction à passer à `on` sous ce nom, afin que la ligne `$.store.get` devienne `on('store.get', ($, e) => ({ value: saved.get(e.key) }))`. Un `'...'` dans un stub marque le texte pour vous à remplir :178Ce tableau liste ceux que les mods utilisent le plus. La première colonne est l'appel que votre mod fait ou l'événement qu'il transmet avec `next(e)`. La deuxième est la fonction à passer à `on` sous ce nom, afin que la ligne `$.store.get` devienne `on('store.get', ($, e) => ({ value: saved.get(e.key) }))`. Un `'...'` dans un stub marque le texte pour vous à remplir :

174 179 

Details

116 116 

117Définissez ou modifiez la valeur. La fin de la ligne nomme son entrée `pluginConfigs` dans `settings.json`.117Définissez ou modifiez la valeur. La fin de la ligne nomme son entrée `pluginConfigs` dans `settings.json`.

118 118 

119<h3 id="code-nested-too-deep-to-scan-more-than-2000-scopes">

120 `code nested too deep to scan: more than 2000 scopes`

121</h3>

122 

123La ligne commence par le nom du mod, puis `hooks module did not load:`, le fichier et `code nested too deep to scan: more than 2000 scopes`. Un fichier d'un module de hooks ne peut pas imbriquer des portées, comme des fonctions, des blocs et des boucles, sur plus de [2 000 niveaux](/docs/fr/plugins/mods/reference#limits). [`claude plugin validate`](/docs/fr/plugins/mods/create#check-what-claude-code-reads-from-your-mod) signale la même raison.

124 

125Réécrivez le code pour que ses portées soient moins profondément imbriquées.

126 

119<h3 id="no-mod-loads-in-a-directory-you-opened-for-the-first-time">127<h3 id="no-mod-loads-in-a-directory-you-opened-for-the-first-time">

120 Aucun mod ne se charge dans un répertoire que vous avez ouvert pour la première fois128 Aucun mod ne se charge dans un répertoire que vous avez ouvert pour la première fois

121</h3>129</h3>


132 140 

133Démarrez sans le drapeau.141Démarrez sans le drapeau.

134 142 

143<h3 id="claude-code-stops-asking-to-enable-hot-reloading">

144 Claude Code cesse de demander l'activation du rechargement à chaud

145</h3>

146 

147Claude écrit un mod dans une session interactive, rien ne se charge, et Claude Code ne demande plus [s'il faut activer le rechargement à chaud](/docs/fr/plugins/mods/create#ask-claude-for-a-mod). Si la question se termine trois fois sans qu'aucune réponse soit choisie, le rechargement à chaud reste désactivé. Par exemple, la question se termine ainsi lorsque vous définissez [`askUserQuestionTimeout`](/docs/fr/settings-reference#askuserquestiontimeout) et que le délai expire avant votre réponse. Ce paramètre s'applique ici car Claude Code pose la question dans la même [boîte de dialogue de question qu'utilise `AskUserQuestion`](/docs/fr/tools-reference#question-auto-continue-timeout). Une question que vous fermez vous-même ne compte pas parmi les trois.

148 

149Pour exécuter le mod, [copiez son répertoire hors du dossier des mods](/docs/fr/plugins/mods/create#use-the-mod-in-other-sessions), puis, dans votre shell, démarrez une nouvelle session avec `--plugin-dir`, comme dans `claude --plugin-dir ~/mods/git-branch`.

150 

135<h2 id="a-hook-is-skipped-or-a-mod-is-unloaded">151<h2 id="a-hook-is-skipped-or-a-mod-is-unloaded">

136 Un hook est ignoré ou un mod est déchargé152 Un hook est ignoré ou un mod est déchargé

137</h2>153</h2>


209 Un dessin n'apparaît pas ou ne répond pas225 Un dessin n'apparaît pas ou ne répond pas

210</h2>226</h2>

211 227 

212Le mod s'est chargé, et son volet, sa bande ou ses contrôles ne se comportent pas comme prévu.228Le mod s'est chargé, et son volet, sa bande, son toast ou ses contrôles ne se comportent pas comme prévu.

213 229 

214<h3 id="a-pane-or-band-is-empty-or-shows-claude-code’s-usual-content">230<h3 id="a-pane-or-band-is-empty-or-shows-claude-code’s-usual-content">

215 Un volet ou une bande est vide ou affiche le contenu habituel de Claude Code231 Un volet ou une bande est vide ou affiche le contenu habituel de Claude Code


247 263 

248Ouvrez le volet à partir d'une commande ou d'un bouton, ou vérifiez le résultat `isPlaced` de l'appel. Voir [Ouvrir un volet au bon moment](/docs/fr/plugins/mods/interface#open-a-pane-at-the-right-time).264Ouvrez le volet à partir d'une commande ou d'un bouton, ou vérifiez le résultat `isPlaced` de l'appel. Voir [Ouvrir un volet au bon moment](/docs/fr/plugins/mods/interface#open-a-pane-at-the-right-time).

249 265 

266<h3 id="a-toast-doesn’t-appear">

267 Un toast n'apparaît pas

268</h3>

269 

270Votre mod appelle [`$.ui.toast`](/docs/fr/plugins/mods/api#show-something-without-starting-a-turn) dans une session de terminal interactive et vous ne voyez pas le toast. Pour confirmer que l'appel s'est exécuté, cherchez dans le [journal de débogage](#read-the-debug-log) une ligne contenant le nom de votre mod et le texte du toast, comme dans `$.ui.toast (first-mod): build finished`. Vérifiez ensuite des causes comme celles-ci :

271 

272* **La ligne de l'appel est absente** : cherchez-en une qui indique pourquoi Claude Code a refusé l'appel, comme dans `first-mod: $.ui.toast dropped: timeoutMs is a whole number of ms, 1 to 60000`.

273* **Un volet retient les toasts** : votre mod ou un autre a passé [`holdToasts`](/docs/fr/plugins/mods/interface#hold-toasts-behind-a-dialog) à l'ouverture du volet affiché. Fermez le volet pour mettre fin à la retenue. Si le volet est le vôtre et doit rester ouvert, supprimez `holdToasts` de son appel `$.ui.open` et rouvrez le volet.

274* **Le toast est sous le prompt** : dans le [moteur de rendu classique](/docs/fr/fullscreen#enable-fullscreen-rendering), regardez à droite sous le prompt. Un toast à cet endroit est une ligne qui commence par le nom du mod, plutôt qu'une boîte en haut à droite.

275* **Votre mod a émis un toast plus récent** : dans le moteur de rendu classique, un toast plus récent de votre mod peut remplacer un toast affiché ou en attente d'affichage. Le journal de débogage contient une autre ligne pour l'ancien toast, qui se termine par `gave way, cut short` s'il était affiché, ou par `gave way, unseen` s'il n'est jamais apparu. Pour afficher les deux messages, placez-les dans un seul toast.

276* **Le toast a expiré sans être dessiné** : en rendu plein écran, Claude Code dessine au plus trois toasts à la fois, si bien qu'un toast peut expirer avant d'être dessiné. Le journal de débogage contient une autre ligne pour ce toast, qui se termine par `left the stack, never drawn`. Lorsque votre mod en émet plusieurs à la fois, placez les messages dans un seul toast.

277 

278Avant la v2.1.290, Claude Code abandonnait un toast émis moins de deux secondes après le dernier qu'il avait affiché pour votre mod, et la ligne du journal de débogage pour le toast abandonné indiquait `within 2000ms of the last; dropped`.

279 

250<h3 id="hotkeys-do-nothing">280<h3 id="hotkeys-do-nothing">

251 Les raccourcis clavier ne font rien281 Les raccourcis clavier ne font rien

252</h3>282</h3>

Details

110}110}

111```111```

112 112 

113Dans votre shell, exécutez `claude plugin validate .` dans le référentiel pour vérifier le fichier avant de le pousser.113Dans votre shell, exécutez `claude plugin validate .` dans le dépôt avant de pousser. Pour savoir ce que vérifie cette exécution, voir [Valider un répertoire](/docs/fr/plugins/cli-reference#validate-a-directory).

114 114 

115[Créer une marketplace](/docs/fr/plugins/create-marketplace) couvre la disposition avec plusieurs plugins dans un référentiel.115[Créer une marketplace](/docs/fr/plugins/create-marketplace) couvre la disposition avec plusieurs plugins dans un référentiel.

116 116 


129* Ajouter la marketplace une fois : `claude plugin marketplace add your-org/your-marketplace`, où l'argument est un raccourci GitHub `owner/repo`, une URL ou un chemin129* Ajouter la marketplace une fois : `claude plugin marketplace add your-org/your-marketplace`, où l'argument est un raccourci GitHub `owner/repo`, une URL ou un chemin

130* Installer le plugin : `claude plugin install deploy-helper@your-marketplace`130* Installer le plugin : `claude plugin install deploy-helper@your-marketplace`

131* Ou faire les deux à partir d'une session : `/plugin install deploy-helper --marketplace your-org/your-marketplace`. Nécessite Claude Code v2.1.275 ou ultérieur. Voir [Ajouter une marketplace et installer en une commande](/docs/fr/plugins/install#add-a-marketplace-and-install-in-one-command)131* Ou faire les deux à partir d'une session : `/plugin install deploy-helper --marketplace your-org/your-marketplace`. Nécessite Claude Code v2.1.275 ou ultérieur. Voir [Ajouter une marketplace et installer en une commande](/docs/fr/plugins/install#add-a-marketplace-and-install-in-one-command)

132* Ou faire les deux à partir du shell en une seule commande : `claude plugin install deploy-helper --marketplace your-org/your-marketplace`. Nécessite Claude Code v2.1.292 ou ultérieur

132 133 

133<h3 id="ship-updates-to-users">134<h3 id="ship-updates-to-users">

134 Livrer les mises à jour aux utilisateurs135 Livrer les mises à jour aux utilisateurs

Details

163 `Invalid marketplace source format`163 `Invalid marketplace source format`

164</h3>164</h3>

165 165 

166Vous avez exécuté `/plugin marketplace add <source>` ou `claude plugin marketplace add <source>`, et Claude Code a répondu `Invalid marketplace source format. Try: owner/repo, https://..., or ./path`.166Vous avez exécuté `/plugin marketplace add <source>`, `claude plugin marketplace add <source>` ou `claude plugin install <plugin> --marketplace <source>`, et Claude Code a répondu `Invalid marketplace source format. Try: owner/repo, https://..., or ./path`.

167 167 

168Claude Code accepte une source dans l'une de ces formes :168Claude Code accepte une source dans l'une de ces formes :

169 169 


237* **Vous possédez la marketplace** : mettez le fichier à cet emplacement et réajoutez la marketplace237* **Vous possédez la marketplace** : mettez le fichier à cet emplacement et réajoutez la marketplace

238* **Quelqu'un d'autre l'héberge** : demandez au propriétaire la source exacte qu'il publie238* **Quelqu'un d'autre l'héberge** : demandez au propriétaire la source exacte qu'il publie

239 239 

240<h3 id="cannot-install-plugins-from-a-marketplace-with-this-name">

241 `Cannot add marketplace "<name>": Claude Code cannot install plugins from a marketplace with this name`

242</h3>

243 

244Vous avez ajouté une marketplace, et le [`name`](/docs/fr/plugins/marketplace-reference#top-level-fields) de son `marketplace.json` n'est pas valide comme partie après `@` dans un [identifiant de plugin](/docs/fr/plugins/loading#find-where-a-plugin-came-from) tel que `my-plugin@my-marketplace`. Claude Code refuse l'ajout et n'enregistre rien.

245 

246Le reste du message énonce la règle pour le nom. Dans cet exemple, `_internal` enfreint la règle en commençant par `_` :

247 

248```text theme={null}

249Cannot add marketplace "_internal": Claude Code cannot install plugins from a marketplace with this name. Each part of a plugin id (plugin@marketplace) may use only the letters a-z and A-Z, digits, ".", "_" and "-", and must start with a letter or digit. The name is set by "name" in the marketplace's marketplace.json; ask its maintainer to change it.

250```

251 

252Donnez à la marketplace un nom conforme à cette règle, puis ajoutez-la à nouveau :

253 

254* **Vous possédez la marketplace** : modifiez `name` dans `marketplace.json`, par exemple en `internal-tools`

255* **Quelqu'un d'autre l'héberge** : demandez au propriétaire de modifier le nom

256 

257Avant la v2.1.295, Claude Code signalait l'ajout de cet exemple comme réussi.

258 

240<h3 id="ssh-authentication-failed-or-https-authentication-failed">259<h3 id="ssh-authentication-failed-or-https-authentication-failed">

241 `SSH authentication failed` ou `HTTPS authentication failed`260 `SSH authentication failed` ou `HTTPS authentication failed`

242</h3>261</h3>


568 `Marketplace "<name>" is already added from a different source`587 `Marketplace "<name>" is already added from a different source`

569</h3>588</h3>

570 589 

571Vous avez confirmé l'ajout d'une marketplace via [`/plugin install <plugin> --marketplace <source>`](/docs/fr/plugins/install#add-a-marketplace-and-install-in-one-command), et le catalogue que Claude Code a récupéré à partir de cette source a le même nom qu'une marketplace que vous avez déjà ajoutée à partir d'une source différente. Claude Code conserve la marketplace existante au lieu de la remplacer, et le plugin n'est pas installé.590Vous avez indiqué une nouvelle source de marketplace avec [`--marketplace <source>` dans la commande d'installation](/docs/fr/plugins/install#add-a-marketplace-and-install-in-one-command), dans une session ou depuis votre shell. Le catalogue que Claude Code a récupéré à partir de cette source a le même nom qu'une marketplace que vous avez déjà ajoutée à partir d'une source différente. Claude Code conserve la marketplace existante au lieu de la remplacer, et le plugin n'est pas installé.

572 591 

573Le message complet ressemble à ceci :592Le message complet ressemble à ceci :

574 593 


786 805 

787Claude Code copie les enregistrements inutilisables dans le fichier `.set-aside` et les supprime de la liste. Claude Code ne relit jamais les copies, et les copies vieillissent selon le calendrier [`cleanupPeriodDays`](/docs/fr/settings-reference#cleanupperioddays).806Claude Code copie les enregistrements inutilisables dans le fichier `.set-aside` et les supprime de la liste. Claude Code ne relit jamais les copies, et les copies vieillissent selon le calendrier [`cleanupPeriodDays`](/docs/fr/settings-reference#cleanupperioddays).

788 807 

808<h3 id="does-not-load-so-claude-code-ignores-the-whole-file">

809 `does not load (...), so Claude Code ignores the whole file`

810</h3>

811 

812La commande a fonctionné. Le fichier de paramètres nommé par l'avertissement contient une erreur, donc Claude Code ignore le fichier entier, y compris tout ce que la commande y a écrit, jusqu'à ce que vous le corrigiez.

813 

814Corrigez l'erreur nommée par l'avertissement. Pour une valeur que Claude Code n'accepte pas, [Corriger un fichier de paramètres défectueux](/docs/fr/settings#fix-a-broken-settings-file) explique comment procéder. Ensuite, exécutez à nouveau la commande si sa modification ne figure plus dans le fichier.

815 

816L'avertissement suit la ligne de succès de `claude plugin install`, `enable`, `disable` ou `claude plugin marketplace add` dans votre shell :

817 

818```text theme={null}

819⚠ /home/user/.claude/settings.json does not load (its "permissions" is not valid), so Claude Code ignores the whole file, including anything this command wrote there. Fix the file, then run this command again if its change is missing. If a newer Claude Code wrote the file, update Claude Code instead.

820```

821 

822Le texte entre parenthèses nomme l'erreur :

823 

824* **`its "<key>" is not valid`** : le paramètre entre guillemets contient une valeur que Claude Code n'accepte pas. Recherchez le paramètre dans la [référence des paramètres](/docs/fr/settings-reference) pour connaître les valeurs qu'il accepte. Lorsque plusieurs valeurs échouent, le texte nomme le premier paramètre et compte les autres, comme dans `its "permissions" and 1 other value are not valid`.

825* **`it is not a JSON object`** : le niveau supérieur du fichier n'est pas un objet JSON, par exemple un fichier dont le niveau supérieur est un tableau.

826 

789<h3 id="a-plugin-you-disabled-still-loads">827<h3 id="a-plugin-you-disabled-still-loads">

790 `Disabled in ~/.claude/settings.json but still loads`828 `Disabled in ~/.claude/settings.json but still loads`

791</h3>829</h3>


812 850 

813Si votre organisation pré-installe des plugins pour vous, elle le fait via les paramètres gérés à la place. Consultez [Pré-installer et exiger des plugins](/docs/fr/plugins/org#pre-install-and-require-plugins).851Si votre organisation pré-installe des plugins pour vous, elle le fait via les paramètres gérés à la place. Consultez [Pré-installer et exiger des plugins](/docs/fr/plugins/org#pre-install-and-require-plugins).

814 852 

853<h3 id="a-plugin-stays-installed-after-plugin-uninstall-on-windows">

854 Un plugin reste installé après `plugin uninstall` sous Windows

855</h3>

856 

857Sous Windows, vous exécutez `claude plugin uninstall` avec la portée projet ou locale et la commande signale un succès, mais `claude plugin list` ou `/plugin` répertorie toujours le plugin.

858 

859`installed_plugins.json` contenait deux enregistrements d'installation du plugin pour le dossier du projet, chacun orthographiant différemment le chemin du dossier, et une désinstallation n'en supprime qu'un seul. Pour vérifier, exécutez `claude plugin list --json` dans votre shell. La ligne restante du plugin a un `projectPath` qui orthographie le dossier différemment de l'endroit où vous avez exécuté la désinstallation, comme `c:\work\app` pour `C:\work\app`.

860 

861Exécutez à nouveau la même commande de désinstallation, avec le même `--scope`, depuis le même dossier. La seconde exécution ne trouve aucun enregistrement sous sa propre orthographe du chemin, elle supprime donc celui qui se trouve sous l'autre orthographe. Pour une installation de portée projet :

862 

863```shell theme={null}

864claude plugin uninstall <name>@<marketplace> --scope project

865```

866 

867Ensuite, exécutez à nouveau `claude plugin list --json` pour confirmer que la ligne a disparu.

868 

869Avant v2.1.295, la seconde exécution échoue avec `Plugin "<name>" is not installed in project scope`. Exécutez `claude update`, puis relancez la désinstallation.

870 

815<h3 id="failed-to-load-hooks-from-and-hooks-that-dont-fire">871<h3 id="failed-to-load-hooks-from-and-hooks-that-dont-fire">

816 `Failed to load hooks from <path>` et hooks qui ne se déclenchent pas872 `Failed to load hooks from <path>` et hooks qui ne se déclenchent pas

817</h3>873</h3>


835 891 

836Si le stderr affiche le chemin du plugin coupé à un espace, la commande du hook sous forme shell utilise `${CLAUDE_PLUGIN_ROOT}` en dehors des guillemets et le chemin d'installation contient un espace. Enveloppez la variable entre guillemets doubles ou utilisez [la forme exec](/docs/fr/hooks#exec-form-and-shell-form). Pour trouver la variable non citée, exécutez `claude plugin validate` sur le répertoire du plugin et recherchez son [avertissement de citation](/docs/fr/plugins/manifest-reference#quoting-and-path-separators).892Si le stderr affiche le chemin du plugin coupé à un espace, la commande du hook sous forme shell utilise `${CLAUDE_PLUGIN_ROOT}` en dehors des guillemets et le chemin d'installation contient un espace. Enveloppez la variable entre guillemets doubles ou utilisez [la forme exec](/docs/fr/hooks#exec-form-and-shell-form). Pour trouver la variable non citée, exécutez `claude plugin validate` sur le répertoire du plugin et recherchez son [avertissement de citation](/docs/fr/plugins/manifest-reference#quoting-and-path-separators).

837 893 

894Si l'avis indique `Failed to run: Plugin directory does not exist: <path>`, consultez [`Plugin directory does not exist`](#plugin-directory-does-not-exist).

895 

838Pour toute autre erreur, exécutez la commande du hook vous-même à partir du répertoire du plugin pour voir la sortie complète, ou capturez le stderr complet avec [journalisation de débogage](/docs/fr/hooks#debug-hooks).896Pour toute autre erreur, exécutez la commande du hook vous-même à partir du répertoire du plugin pour voir la sortie complète, ou capturez le stderr complet avec [journalisation de débogage](/docs/fr/hooks#debug-hooks).

839 897 

840<h4 id="a-plugin-hook-blocks-a-tool-call-or-prompt">898<h4 id="a-plugin-hook-blocks-a-tool-call-or-prompt">


869 </Step>927 </Step>

870</Steps>928</Steps>

871 929 

930<h3 id="plugin-directory-does-not-exist">

931 `Plugin directory does not exist: <path>`

932</h3>

933 

934Exécutez d'abord `/reload-plugins` dans le prompt de Claude Code, même si le message indique de réinstaller. Le hook d'un plugin échoue avec `Failed to run: Plugin directory does not exist: <path> (<plugin> — run /plugin to reinstall)`, et le hook ne s'exécute pas, lorsque le répertoire à partir duquel votre session a chargé les hooks du plugin a disparu du disque. [`Plugin directory not found at path: <path>`](#plugin-directory-not-found-at-path) est un message différent, qui concerne une entrée de marketplace.

935 

936Le rechargement charge les hooks du plugin depuis son répertoire actuel. L'échec est affiché une fois par session pour chaque événement et commande de hook, donc le fait que le hook devienne silencieux ne confirme pas la correction. Lisez plutôt la sortie du rechargement :

937 

938* **`Reloaded:` sans ligne d'erreurs** : les hooks du plugin ne pointent plus vers le répertoire manquant

939* **`N errors during load. Run /plugin for details.`** : ouvrez l'onglet **Erreurs** dans `/plugin` et suivez l'entrée de cette page correspondant au message qu'il affiche

940* **Une ligne qui se termine par `Run /reload-plugins --force to apply.`** : rien n'a été rechargé, et les hooks continuent d'échouer. Exécutez `/reload-plugins --force` dans le prompt de Claude Code

941 

872<h3 id="invalid-mcp-server-config-for-and-mcp-servers-that-dont-start">942<h3 id="invalid-mcp-server-config-for-and-mcp-servers-that-dont-start">

873 `Invalid MCP server config for "<server>"` et serveurs MCP qui ne démarrent pas943 `Invalid MCP server config for "<server>"` et serveurs MCP qui ne démarrent pas

874</h3>944</h3>


1063 1133 

1064Vous avez exécuté `claude plugin validate <path>`, ou `/plugin validate <path>` dans une session, et il a imprimé `Found N errors` et `Validation failed`, puis a quitté avec le code 1.1134Vous avez exécuté `claude plugin validate <path>`, ou `/plugin validate <path>` dans une session, et il a imprimé `Found N errors` et `Validation failed`, puis a quitté avec le code 1.

1065 1135 

1066Le validateur lit le manifeste au chemin que vous lui donnez : `.claude-plugin/plugin.json` pour un répertoire de plugin, ou `.claude-plugin/marketplace.json` pour un répertoire de marketplace. Pour une marketplace, il préfixe les problèmes dans le propre manifeste d'une entrée avec l'index de l'entrée, comme `plugins[1] plugin.json → json: ...`.1136Le validateur lit le manifeste au chemin que vous lui donnez : `.claude-plugin/plugin.json` pour un répertoire de plugin, `.claude-plugin/marketplace.json` pour un répertoire de marketplace, ou les deux pour un répertoire qui contient les deux. Pour une marketplace, il préfixe les problèmes dans le propre manifeste d'une entrée avec l'index de l'entrée, comme `plugins[1] plugin.json → json: ...`. Avant v2.1.289, Claude Code validait un répertoire qui contient les deux uniquement comme une marketplace.

1067 1137 

1068Le tableau couvre les messages qui arrêtent la validation et deux avertissements, `No frontmatter block found` et `Unknown field '<key>'`, qui l'arrêtent uniquement lorsque vous passez `--strict`. Les autres avertissements, comme une description manquante, ne sont pas répertoriés.1138Le tableau couvre les messages qui arrêtent la validation et deux avertissements, `No frontmatter block found` et `Unknown field '<key>'`, qui l'arrêtent uniquement lorsque vous passez `--strict`. Les autres avertissements, comme une description manquante, ne sont pas répertoriés.

1069 1139 

remote-control.md +54 −21

Details

364 Limitations364 Limitations

365</h2>365</h2>

366 366 

367* **Une session distante par processus interactif** : en dehors du mode serveur, chaque instance Claude Code prend en charge une session distante à la fois. Utilisez le [mode serveur](#start-a-remote-control-session) pour exécuter plusieurs sessions simultanées à partir d'un seul processus.367* **Une session à distance par processus interactif** : en dehors du mode serveur, chaque instance de Claude Code prend en charge une seule session à distance à la fois. Utilisez le [mode serveur](#start-a-remote-control-session) pour exécuter plusieurs sessions simultanées à partir d'un seul processus.

368* **Le processus local doit rester actif** : Remote Control s'exécute en tant que processus local. Si vous fermez le terminal, quittez l'application de bureau ou VS Code, ou arrêtez autrement le processus `claude`, la session se met hors ligne jusqu'à ce que vous la [rétablissiez](#resume-sessions-after-stopping-the-server). Si vous exécutez `claude` depuis un terminal sur une machine distante, démarrez-le dans `tmux` ou `screen` pour que la session reste active après votre déconnexion de SSH.368* **Le processus local doit rester en cours d'exécution** : Remote Control s'exécute en tant que processus local. Si vous fermez le terminal, quittez l'application Desktop ou VS Code, ou arrêtez de toute autre manière le processus `claude`, la session passe hors ligne jusqu'à ce que vous la [rétablissiez](#resume-sessions-after-stopping-the-server). Si vous exécutez `claude` depuis un terminal sur une machine distante, lancez-le dans `tmux` ou `screen` pour que la session continue de s'exécuter après votre déconnexion de SSH.

369* **Sessions plantées en mode serveur** : si une session servie par `claude remote-control` plante, envoyez-lui un message depuis un appareil connecté. Claude Code la sert à nouveau. Vous n'avez pas besoin de redémarrer le serveur. Nécessite Claude Code v2.1.238 ou version ultérieure.369* **Sessions plantées en mode serveur** : si une session servie par `claude remote-control` plante, envoyez-lui un message depuis un appareil connecté. Claude Code la sert à nouveau. Vous n'avez pas besoin de redémarrer le serveur. Nécessite Claude Code v2.1.238 ou une version ultérieure.

370* **Refus HTTP 403 sur une session connectée** : une fois qu'une session interactive est connectée, Claude Code continue à réessayer pendant trois minutes au maximum lorsque quelque chose entre votre machine et les serveurs d'Anthropic répond avec HTTP 403, ce qui peut se produire après un changement de VPN ou de réseau. Si les refus persistent plus longtemps, Claude Code se déconnecte, et la raison indique ce qui a refusé : une périphérie réseau, ou un proxy, un VPN ou un pare-feu sur votre propre réseau.370* **Refus HTTP 403 sur une session connectée** : une fois qu'une session interactive est connectée, Claude Code continue de réessayer pendant trois minutes au maximum lorsqu'un élément situé entre votre machine et les serveurs d'Anthropic répond avec un HTTP 403, comme cela peut se produire après un changement de VPN ou de réseau. Si les refus durent plus longtemps, Claude Code se déconnecte, et le motif indique ce qui a refusé : une périphérie réseau, ou un proxy, un VPN ou un pare-feu sur votre propre réseau.

371* **Panne réseau prolongée** : si votre machine est allumée mais ne peut pas accéder au réseau, ce que vous faites ensuite dépend du mode :371* **Panne réseau prolongée** : si votre machine est active mais ne peut pas atteindre le réseau, la marche à suivre dépend du mode :

372 * **Mode serveur** : Claude Code abandonne après environ 10 minutes et le processus `claude remote-control` se termine. Exécutez `claude remote-control` à nouveau pour démarrer une nouvelle session.372 * **Mode serveur** : Claude Code abandonne après environ 10 minutes et le processus `claude remote-control` se termine. Exécutez de nouveau `claude remote-control` pour démarrer une nouvelle session.

373 * **Session interactive** : continuez à travailler localement. Claude Code réessaie aussi longtemps que la panne dure et se reconnecte automatiquement lorsque le réseau revient.373 * **Session interactive** : continuez à travailler localement. Claude Code réessaie tant que dure la panne et se reconnecte de lui-même lorsque le réseau revient.

374* **Pièces jointes non téléchargées** : si un fichier que vous joignez depuis votre téléphone ou votre navigateur ne peut pas être téléchargé sur votre machine, Claude reçoit tout de même votre message et les fichiers qui ont été téléchargés. À la place des fichiers manquants, Claude Code ajoute au message une note telle que `[1 of 3 attachments did not arrive]`.374* **Pièces jointes qui ne se téléchargent pas** : si un fichier que vous joignez depuis votre téléphone ou votre navigateur ne peut pas être téléchargé sur votre machine, Claude reçoit tout de même votre message et les fichiers qui ont été téléchargés. À la place des fichiers manquants, Claude Code ajoute au message une note telle que `[1 of 3 attachments did not arrive]`.

375* **Échec des pulsations de présence** : si une session interactive se déconnecte avec `could not reach the Remote Control server for about 30 minutes`, exécutez `/remote-control` pour vous reconnecter.375* **Échec des heartbeats de présence** : si une session interactive se déconnecte avec `could not reach the Remote Control server for about 30 minutes`, exécutez `/remote-control` pour vous reconnecter.

376* **Les dialogues transférés expirent** : Claude Code garde les invites de permission et les questions `AskUserQuestion` ouvertes jusqu'à ce que vous y répondiez. Lorsque Claude Code transfère un autre type de dialogue à la session distante, comme l'invite de choix de modèle affichée après un refus de sécurité, il attend cinq minutes par défaut, puis ferme le dialogue et continue avec la valeur par défaut sans action du dialogue. Définissez [`dialogExpiry`](/docs/fr/settings-reference#dialogexpiry) pour ajuster ou désactiver la limite. Nécessite Claude Code v2.1.224 ou version ultérieure.376* **Les boîtes de dialogue transférées expirent** : Claude Code garde les demandes de permission et les questions `AskUserQuestion` ouvertes jusqu'à ce que vous y répondiez. Lorsque Claude Code transfère un autre type de boîte de dialogue vers la session à distance, comme le prompt de choix de modèle affiché après un refus de sécurité, il attend cinq minutes par défaut, puis ferme la boîte de dialogue et poursuit avec l'option par défaut sans action de celle-ci. Définissez [`dialogExpiry`](/docs/fr/settings-reference#dialogexpiry) pour ajuster ou désactiver ce délai. Nécessite Claude Code v2.1.224 ou une version ultérieure.

377* **L'invite de consentement des crédits d'utilisation Fable n'est pas transférée** : Claude Code affiche l'[invite de consentement des crédits d'utilisation Fable](/docs/fr/model-config#fable-and-usage-credits) en milieu de session uniquement là où la session s'exécute, pas sur votre appareil. Lorsque la session s'exécute dans un terminal et que personne là-bas ne répond avant que Claude Code ne ferme l'invite, le tour se termine sans envoyer la requête ; voir [The prompt to confirm went unanswered](/docs/fr/errors#the-prompt-to-confirm-went-unanswered).377* **Le prompt de consentement aux crédits d'utilisation Fable n'est pas transféré** : Claude Code affiche le [prompt de consentement aux crédits d'utilisation Fable](/docs/fr/model-config#fable-and-usage-credits) en cours de session uniquement là où la session s'exécute, et non sur votre appareil. Lorsque la session s'exécute dans un terminal et que personne n'y répond avant que Claude Code ne ferme le prompt, le tour se termine sans envoyer la requête ; consultez [The prompt to confirm went unanswered](/docs/fr/errors#the-prompt-to-confirm-went-unanswered).

378* **Certaines commandes sont locales uniquement** : les commandes qui s'exécutent uniquement dans l'interface du terminal, telles que `/plugin` ou `/resume`, fonctionnent uniquement à partir de la CLI locale, que vous transmettiez un argument ou non. `/claude-api` est également indisponible lorsque vous la saisissez depuis un appareil mobile ou le web. Claude peut tout de même y [charger ce skill de lui-même](/docs/fr/skills#work-on-claude-api-projects). Les éléments suivants fonctionnent à partir d'appareils mobiles et du web :378* **Certaines commandes sont uniquement locales** : les commandes qui ne s'exécutent que dans l'interface du terminal, comme `/plugin` ou `/resume`, fonctionnent uniquement depuis la CLI locale, que vous passiez un argument ou non. `/claude-api` est également indisponible lorsque vous la tapez depuis le mobile ou le web. Claude peut néanmoins y [charger ce skill de lui-même](/docs/fr/skills#work-on-claude-api-projects). Les éléments suivants fonctionnent depuis le mobile et le web :

379 * Commandes de sortie textuelle : `/compact`, `/clear`, `/context`, `/usage`, `/exit`, `/usage-credits`, `/recap`, et `/reload-plugins`. `/usage-credits` imprime l'URL de facturation au lieu d'ouvrir un navigateur. `/reload-plugins` fonctionne uniquement lorsque la session s'exécute dans un terminal interactif ; une session sans celui-ci le refuse.379 * Commandes à sortie texte : `/compact`, `/clear`, `/context`, `/usage`, `/exit`, `/usage-credits`, `/recap` et `/reload-plugins`. `/usage-credits` affiche l'URL de facturation au lieu d'ouvrir un navigateur. `/reload-plugins` fonctionne uniquement lorsque la session s'exécute dans un terminal interactif ; une session sans terminal interactif la refuse.

380 * `/model`, `/effort`, `/fast`, `/color`, et `/rename` : transmettez la valeur en tant qu'argument, par exemple `/model sonnet` ou `/effort high`. À partir d'appareils mobiles et du web, `/model` et `/effort` prennent l'argument à la place du sélecteur de terminal ou du curseur.380 * `/model`, `/effort`, `/fast`, `/color` et `/rename` : passez la valeur en argument, par exemple `/model sonnet` ou `/effort high`. Depuis le mobile et le web, `/model` et `/effort` acceptent l'argument à la place du sélecteur ou du curseur du terminal.

381 * `/mcp` : à partir de l'application mobile, retourne un résumé textuel de l'état du serveur au lieu d'ouvrir le sélecteur. Sur le web, `/mcp` seul ouvre un répertoire des [connecteurs claude.ai](/docs/fr/mcp#use-mcp-servers-from-claude-ai) au lieu de retourner le résumé. Les [sous-commandes](/docs/fr/commands#all-commands) `reconnect`, `enable`, et `disable` fonctionnent à partir des deux. `/mcp reconnect` sans nom de serveur réessaie de connecter tous les serveurs qui ont échoué ou nécessitent une authentification.381 * `/mcp` : depuis l'application mobile, renvoie un résumé textuel de l'état des serveurs au lieu d'ouvrir le sélecteur. Sur le web, `/mcp` seul ouvre un répertoire des [connecteurs claude.ai](/docs/fr/mcp#use-mcp-servers-from-claude-ai) au lieu de renvoyer le résumé. Les [sous-commandes](/docs/fr/commands#all-commands) `reconnect`, `enable` et `disable` fonctionnent depuis les deux lorsque la session s'exécute dans un terminal interactif. `/mcp reconnect` sans nom de serveur réessaie chaque serveur qui a échoué ou qui nécessite une authentification. Pour autoriser un connecteur claude.ai sans le sélecteur, consultez [Autoriser à nouveau un connecteur depuis votre shell](#authorize-a-connector-again-from-your-shell).

382 * `/config` : à partir de l'application mobile, transmettez `key=value` pour définir un paramètre, ou exécutez-le sans argument pour lister les clés que vous pouvez définir. Sur le web, `/config` ouvre plutôt la section Claude Code de vos paramètres et ignore le texte après la commande.382 * `/config` : depuis l'application mobile, passez `key=value` pour définir un paramètre, ou exécutez-la sans argument pour lister les clés que vous pouvez définir. Sur le web, `/config` ouvre plutôt la section Claude Code de vos paramètres et ignore le texte qui suit la commande.

383 * Sur Team et Enterprise, `/usage-credits` à partir d'appareils mobiles ou du web n'envoie pas une [demande de crédits d'utilisation à votre administrateur](/docs/fr/costs#add-usage-credits-to-your-subscription). L'envoi nécessite une confirmation qui n'apparaît que dans la CLI interactive, donc la commande vous dit de l'exécuter là à la place.383 * Sur Team et Enterprise, `/usage-credits` depuis le mobile ou le web n'envoie pas de [demande de crédits d'utilisation à votre administrateur](/docs/fr/costs#add-usage-credits-to-your-subscription). L'envoi nécessite une confirmation qui n'apparaît que dans la CLI interactive ; la commande vous invite donc à l'exécuter plutôt à cet endroit.

384 * `/autocompact`, à partir de v2.1.221 : transmettez la taille de la fenêtre en tant qu'argument, par exemple `/autocompact 500k`. Sans argument, il imprime la taille actuelle de la fenêtre sous forme de texte au lieu d'ouvrir le dialogue que la commande affiche dans une session de terminal.384 * `/autocompact`, à partir de v2.1.221 : passez la taille de la fenêtre en argument, par exemple `/autocompact 500k`. Sans argument, elle affiche la taille actuelle de la fenêtre sous forme de texte au lieu d'ouvrir la boîte de dialogue que la commande affiche dans une session de terminal.

385 * `/advisor`, à partir de v2.1.260 : transmettez le modèle en tant qu'argument, par exemple `/advisor opus`, ou transmettez `off` pour désactiver le conseiller. Les deux formes s'appliquent à la session actuelle uniquement et laissent votre valeur par défaut enregistrée inchangée. Sans argument, il imprime le conseiller actuel sous forme de texte au lieu d'ouvrir le sélecteur.385 * `/advisor`, à partir de v2.1.260 : passez le modèle en argument, par exemple `/advisor opus`, ou passez `off` pour désactiver l'advisor. Les deux formes s'appliquent uniquement à la session en cours et laissent votre valeur par défaut enregistrée inchangée. Sans argument, elle affiche l'advisor actuel sous forme de texte au lieu d'ouvrir le sélecteur.

386 * `/output-style`, à partir de v2.1.269 : transmettez le nom du style en tant qu'argument, par exemple `/output-style concise`, ou exécutez-le sans argument pour lister les styles. À partir d'appareils mobiles et du web, vous pouvez lister et sélectionner uniquement les [styles intégrés](/docs/fr/output-styles#built-in-output-styles). Pour utiliser un [style personnalisé](/docs/fr/output-styles#create-a-custom-output-style), sélectionnez-le dans la session elle-même.386 * `/output-style`, à partir de v2.1.269 : passez le nom du style en argument, par exemple `/output-style concise`, ou exécutez-la sans argument pour lister les styles. Depuis le mobile et le web, vous ne pouvez lister et sélectionner que les [styles intégrés](/docs/fr/output-styles#built-in-output-styles). Pour utiliser un [style personnalisé](/docs/fr/output-styles#create-a-custom-output-style), sélectionnez-le dans la session elle-même.

387 * `/focus`, à partir de v2.1.281 : transmettez `on` ou `off` en tant qu'argument, par exemple `/focus on`, ou exécutez-le sans argument pour basculer la [vue de focus](/docs/fr/commands#all-commands). Les deux formes s'appliquent à la session actuelle uniquement et laissent votre sélection enregistrée inchangée.387 * `/focus`, à partir de v2.1.281 : passez `on` ou `off` en argument, par exemple `/focus on`, ou exécutez-la sans argument pour activer ou désactiver la [vue focus](/docs/fr/commands#all-commands). Les deux formes s'appliquent uniquement à la session en cours et laissent votre sélection enregistrée inchangée.

388 

389<h2 id="authorize-a-connector-again-from-your-shell">

390 Autoriser à nouveau un connecteur depuis votre shell

391</h2>

392 

393Lorsqu'un connecteur claude.ai nécessite une authentification dans une session que vous pilotez via Remote Control, le panneau `/mcp` n'est pas disponible depuis l'application mobile ou le web. Obtenez le lien d'autorisation depuis un terminal sur la machine où la session s'exécute, puis ouvrez le lien sur l'appareil que vous utilisez. Vous ne pouvez pas exécuter la commande depuis l'application mobile ou le web. Une ligne que vous envoyez depuis ces interfaces et qui commence par `!` est transmise à Claude sous forme de message et ne s'exécute pas en [mode shell](/docs/fr/interactive-mode#shell-mode-with-prefix).

394 

395<Steps>

396 <Step title="Obtenir le lien d'autorisation">

397 Dans un terminal sur la machine où la session s'exécute, par exemple via SSH, exécutez `claude mcp login` avec le nom du connecteur entre guillemets. Le nom d'un connecteur commence par `claude.ai`, par exemple `claude.ai Slack` pour le connecteur Slack. La commande suivante obtient le lien pour le connecteur Slack :

398 

399 ```bash theme={null}

400 claude mcp login "claude.ai Slack" --no-browser

401 ```

402 

403 La commande affiche un lien claude.ai puis se termine. Ouvrez le lien dans votre navigateur et terminez l'autorisation sur claude.ai. `--no-browser` empêche la commande d'ouvrir un navigateur sur cette machine, qui n'est peut-être pas l'appareil que vous utilisez.

404 </Step>

405 

406 <Step title="Utiliser le connecteur dans une session">

407 Démarrez une nouvelle session, ou reconnectez le connecteur dans la session déjà en cours :

408 

409 * **Nouvelle session** : une session que vous démarrez après l'autorisation se connecte au connecteur sans aucune étape supplémentaire.

410 * **Session en cours** : exécutez `/mcp reconnect` avec le même nom et sans guillemets, dans le prompt de Claude Code ou depuis l'application mobile ou le web. Pour vérifier que votre session accepte la commande depuis ces interfaces, consultez l'entrée `/mcp` dans [les commandes qui fonctionnent depuis le mobile et le web](#limitations).

411 

412 La commande suivante reconnecte le connecteur Slack :

413 

414 ```text theme={null}

415 /mcp reconnect claude.ai Slack

416 ```

417 

418 Dans le terminal, Claude Code affiche `Successfully reconnected to claude.ai Slack`. Depuis l'application mobile ou le web, la réponse est `Reconnected "claude.ai Slack".`

419 </Step>

420</Steps>

388 421 

389<h2 id="troubleshooting">422<h2 id="troubleshooting">

390 Dépannage423 Dépannage

Details

191 Gigue191 Gigue

192</h3>192</h3>

193 193 

194Pour éviter que chaque session ne frappe l'API au même moment mural, le planificateur ajoute un petit décalage déterministe aux heures d'exécution :194Une tâche planifiée peut s'exécuter à un moment différent de celui indiqué par sa planification. Si les tâches de chaque session s'exécutaient exactement à l'heure prévue, beaucoup d'entre elles appelleraient l'API au même moment. Claude Code décale donc l'heure d'exécution de chaque tâche. Les tâches récurrentes s'exécutent en retard, et les tâches ponctuelles planifiées à l'heure pile ou à la demie s'exécutent un peu en avance.

195 195 

196* Les tâches récurrentes s'exécutent jusqu'à 30 minutes après l'heure planifiée (ou jusqu'à la moitié de l'intervalle, pour les tâches qui s'exécutent plus souvent qu'une fois par heure). Une tâche horaire planifiée pour `:00` peut s'exécuter n'importe où jusqu'à `:30`.196<h4 id="how-late-a-recurring-task-runs">

197* Les tâches ponctuelles planifiées pour le haut ou le bas de l'heure s'exécutent jusqu'à 90 secondes plus tôt.197 Quel retard pour une tâche récurrente

198</h4>

198 199 

199Le décalage est dérivé de l'ID de la tâche, donc la même tâche obtient toujours le même décalage. Si le timing exact est important, choisissez une minute qui n'est pas `:00` ou `:30`, par exemple `3 9 * * *` au lieu de `0 9 * * *`, et la gigue ponctuelle ne s'appliquera pas.200Lorsque vous créez une tâche récurrente, Claude Code lui attribue un délai fixe et ajoute ce délai à chaque exécution. Le délai est calculé à partir de l'ID de la tâche, de sorte que la même tâche s'exécute avec le même nombre de minutes de retard à chaque fois, y compris lorsque la session est inactive et que rien d'autre ne s'exécute.

201 

202Les tâches qui s'exécutent plus souvent obtiennent des délais plus courts, et 30 minutes est le délai le plus long qu'une tâche puisse obtenir. Voici les plages de délai pour quelques planifications courantes :

203 

204| La tâche s'exécute | Le délai est compris entre |

205| :- | :- |

206| Toutes les 10 minutes | 0 et 5 minutes |

207| Toutes les 30 minutes | 0 et 15 minutes |

208| Toutes les heures, ou moins souvent, par exemple quotidiennement | 0 et 30 minutes |

209 

210Par exemple, `7,37 * * * *` planifie une tâche pour `:07` et `:37`, qui sont espacés de 30 minutes, donc son délai est compris entre 0 et 15 minutes. Si le délai de cette tâche est de 14 minutes, elle s'exécute à `:21` et `:51` toutes les heures. Changer la planification pour une autre minute déplace l'heure d'exécution, et un délai s'y ajoute toujours.

211 

212<h4 id="when-a-one-shot-task-runs-early">

213 Quand une tâche ponctuelle s'exécute en avance

214</h4>

215 

216Une tâche ponctuelle planifiée pour `:00` ou `:30` s'exécute jusqu'à 90 secondes en avance. Claude Code ne décale pas une tâche ponctuelle planifiée pour toute autre minute. Si le timing est important, planifiez-la en dehors de l'heure pile et de la demie : `3 9 * * *` au lieu de `0 9 * * *`.

200 217 

201<h3 id="seven-day-expiry">218<h3 id="seven-day-expiry">

202 Expiration de sept jours219 Expiration de sept jours

Details

74 74 

75Vous pouvez étendre chaque couche en [ajoutant vos propres règles](#add-your-own-rules). Les vérifications intégrées ne peuvent pas être supprimées individuellement, mais vous pouvez [désactiver chaque couche](#disable-or-uninstall) indépendamment.75Vous pouvez étendre chaque couche en [ajoutant vos propres règles](#add-your-own-rules). Les vérifications intégrées ne peuvent pas être supprimées individuellement, mais vous pouvez [désactiver chaque couche](#disable-or-uninstall) indépendamment.

76 76 

77<h3 id="on-each-file-edit">77<span id="on-each-file-edit" />

78 À chaque modification de fichier78 

79<h3 id="checks-on-each-file-edit">

80 Vérifications à chaque modification de fichier

79</h3>81</h3>

80 82 

81Lorsque Claude écrit dans un fichier, le plugin analyse le nouveau contenu à la recherche de motifs risqués connus. Il s'agit d'une correspondance de motif sans appel de modèle, elle n'ajoute donc aucun coût d'utilisation.83Lorsque Claude écrit dans un fichier, le plugin analyse le nouveau contenu à la recherche de motifs risqués connus. Il s'agit d'une correspondance de motif sans appel de modèle, elle n'ajoute donc aucun coût d'utilisation.


91 93 

92Vous pouvez [ajouter vos propres motifs](#add-custom-per-edit-patterns) à cette couche avec un fichier `security-patterns.yaml`.94Vous pouvez [ajouter vos propres motifs](#add-custom-per-edit-patterns) à cette couche avec un fichier `security-patterns.yaml`.

93 95 

94<h3 id="at-the-end-of-each-turn">96<span id="at-the-end-of-each-turn" />

95 À la fin de chaque tour97 

98<h3 id="checks-at-the-end-of-each-turn">

99 Vérifications à la fin de chaque tour

96</h3>100</h3>

97 101 

98Un tour est un cycle de réponse de Claude : vous envoyez un message, Claude travaille et répond, et le tour se termine. Après chaque tour, le plugin calcule un diff git de tout ce qui a changé dans l'arborescence de travail pendant le tour, y compris les modifications des outils d'édition de Claude, des commandes Bash et des sous-agents, et l'envoie à un examen Claude séparé axé sur la sécurité. L'examen s'exécute en arrière-plan, de sorte que la réponse de Claude n'est pas retardée. Si l'examen trouve des problèmes, Claude est relancé avec les résultats et les résout en tant que suivi.102Un tour est un cycle de réponse de Claude : vous envoyez un message, Claude travaille et répond, et le tour se termine. Après chaque tour, le plugin calcule un diff git de tout ce qui a changé dans l'arborescence de travail pendant le tour, y compris les modifications des outils d'édition de Claude, des commandes Bash et des sous-agents, et l'envoie à un examen Claude séparé axé sur la sécurité. L'examen s'exécute en arrière-plan, de sorte que la réponse de Claude n'est pas retardée. Si l'examen trouve des problèmes, Claude est relancé avec les résultats et les résout en tant que suivi.


107 111 

108Vous voyez à la fois la conclusion et la résolution de Claude directement dans votre session. L'examen couvre jusqu'à 30 fichiers modifiés par tour et se déclenche au maximum trois fois de suite avant de vous rendre la main.112Vous voyez à la fois la conclusion et la résolution de Claude directement dans votre session. L'examen couvre jusqu'à 30 fichiers modifiés par tour et se déclenche au maximum trois fois de suite avant de vous rendre la main.

109 113 

110<h3 id="on-each-commit-or-push-claude-makes">114<span id="on-each-commit-or-push-claude-makes" />

111 À chaque commit ou push que Claude effectue115 

116<h3 id="checks-on-each-commit-or-push-claude-makes">

117 Vérifications à chaque commit ou push que Claude effectue

112</h3>118</h3>

113 119 

114Lorsque Claude exécute `git commit` ou `git push` via son outil Bash, le plugin exécute un examen agentique plus approfondi de la modification en arrière-plan. Cet examen lit le code environnant, y compris les appelants, les désinfectants et les fichiers connexes, pour décider si une conclusion est réelle avant de la signaler. Le contexte supplémentaire maintient les faux positifs bas sur les motifs qui semblent dangereux isolément mais qui sont sûrs dans votre base de code.120Lorsque Claude exécute `git commit` ou `git push` via son outil Bash, le plugin exécute un examen agentique plus approfondi de la modification en arrière-plan. Cet examen lit le code environnant, y compris les appelants, les désinfectants et les fichiers connexes, pour décider si une conclusion est réelle avant de la signaler. Le contexte supplémentaire maintient les faux positifs bas sur les motifs qui semblent dangereux isolément mais qui sont sûrs dans votre base de code.

Details

403 403 

404* Le [fichier MCP géré](/docs/fr/managed-mcp) de portée entreprise, à son chemin système standard : `/etc/claude-code/managed-mcp.json` sur les hôtes de runner Linux, `/Library/Application Support/ClaudeCode/managed-mcp.json` sur les hôtes macOS. Utilisez-le pour les parcs verrouillés où seuls les serveurs listés par un administrateur peuvent être chargés. Consultez [le contrôle exclusif avec managed-mcp.json](/docs/fr/managed-mcp#exclusive-control-with-managed-mcp-json) pour les règles de priorité. Lorsque ce fichier est présent sur l'hôte du runner, Claude Code ignore les serveurs MCP que le plan de contrôle d'Anthropic fournit à une session, y compris les connecteurs claude.ai, et les nomme dans un avertissement sur la sortie stderr du processus enfant de la session, que le runner enregistre au niveau de log `debug`. Avant la v2.1.229, ces sessions se terminaient au démarrage avec `You cannot dynamically configure MCP servers when an enterprise MCP config is present`.404* Le [fichier MCP géré](/docs/fr/managed-mcp) de portée entreprise, à son chemin système standard : `/etc/claude-code/managed-mcp.json` sur les hôtes de runner Linux, `/Library/Application Support/ClaudeCode/managed-mcp.json` sur les hôtes macOS. Utilisez-le pour les parcs verrouillés où seuls les serveurs listés par un administrateur peuvent être chargés. Consultez [le contrôle exclusif avec managed-mcp.json](/docs/fr/managed-mcp#exclusive-control-with-managed-mcp-json) pour les règles de priorité. Lorsque ce fichier est présent sur l'hôte du runner, Claude Code ignore les serveurs MCP que le plan de contrôle d'Anthropic fournit à une session, y compris les connecteurs claude.ai, et les nomme dans un avertissement sur la sortie stderr du processus enfant de la session, que le runner enregistre au niveau de log `debug`. Avant la v2.1.229, ces sessions se terminaient au démarrage avec `You cannot dynamically configure MCP servers when an enterprise MCP config is present`.

405* La clé [`managedMcpServers`](/docs/fr/settings-reference#managedmcpservers) dans les [paramètres gérés](/docs/fr/managed-settings) sur l'hôte du runner : elle fournit des serveurs HTTP et SSE sans prendre le contrôle exclusif, de sorte que les serveurs des autres sources sont toujours chargés. Nécessite Claude Code v2.1.259 ou une version ultérieure.405* La clé [`managedMcpServers`](/docs/fr/settings-reference#managedmcpservers) dans les [paramètres gérés](/docs/fr/managed-settings) sur l'hôte du runner : elle fournit des serveurs HTTP et SSE sans prendre le contrôle exclusif, de sorte que les serveurs des autres sources sont toujours chargés. Nécessite Claude Code v2.1.259 ou une version ultérieure.

406* `<repo>/.mcp.json` : portée projet. Faites un commit du fichier dans le dépôt ; ses serveurs sont approuvés automatiquement dans les sessions cloud.406* `<repo>/.mcp.json` : portée projet. Faites un commit du fichier dans le dépôt ; ses serveurs sont approuvés automatiquement dans les sessions cloud. Dans une session comportant plusieurs dépôts, [le fichier d'un seul dépôt au plus est chargé](#repository-settings-in-sessions-with-several-repositories).

407 407 

408Lorsque la fourniture des connecteurs est activée pour votre organisation, le plan de contrôle d'Anthropic fournit les connecteurs que vous avez configurés sur claude.ai aux sessions créées de manière interactive, via une configuration MCP fournie par le serveur et acheminée par `api.anthropic.com`. Les sessions créées par programmation, comme les [dispatches via la CLI](/docs/fr/self-hosted-environments-testing#run-the-test-loop), ne bénéficient pas de la fourniture des connecteurs ; fournissez-leur plutôt des serveurs MCP via l'une des autres sources listées dans cette section. Le jeton OAuth du processus enfant ne comporte pas de scope permettant de récupérer directement les connecteurs ; le processus enfant ne tente donc pas lui-même cette récupération : la fourniture est pilotée par le serveur.408Lorsque la fourniture des connecteurs est activée pour votre organisation, le plan de contrôle d'Anthropic fournit les connecteurs que vous avez configurés sur claude.ai aux sessions créées de manière interactive, via une configuration MCP fournie par le serveur et acheminée par `api.anthropic.com`. Les sessions créées par programmation, comme les [dispatches via la CLI](/docs/fr/self-hosted-environments-testing#run-the-test-loop), ne bénéficient pas de la fourniture des connecteurs ; fournissez-leur plutôt des serveurs MCP via l'une des autres sources listées dans cette section. Le jeton OAuth du processus enfant ne comporte pas de scope permettant de récupérer directement les connecteurs ; le processus enfant ne tente donc pas lui-même cette récupération : la fourniture est pilotée par le serveur.

409 409 


549exit 0549exit 0

550```550```

551 551 

552Le hook pousse Claude à valider et envoyer avant la fin de la session, et reste silencieux quand le répertoire n'est pas un référentiel git ou n'a pas de distant.552Le hook demande à Claude de faire un commit et d'envoyer son travail avant la fin de la session, et reste silencieux quand le répertoire n'est pas un dépôt git ou n'a pas de distant. Pour une session avec plusieurs dépôts, consultez [ce que désigne `$CLAUDE_PROJECT_DIR`](#repository-settings-in-sessions-with-several-repositories).

553 553 

554<h2 id="permissions-and-tool-approval">554<h2 id="permissions-and-tool-approval">

555 Permissions et approbation d'outils555 Permissions et approbation d'outils


578 578 

579Définissez `SELF_HOSTED_RUNNER_HOST_CONFIG_DIR` pour semer à partir d'un chemin différent, ou pointez-le vers un répertoire vide pour désactiver le semis.579Définissez `SELF_HOSTED_RUNNER_HOST_CONFIG_DIR` pour semer à partir d'un chemin différent, ou pointez-le vers un répertoire vide pour désactiver le semis.

580 580 

581Le `.claude/settings.json` validé dans le référentiel se superpose comme paramètres du projet. Les sessions lisent également [`managed-settings.json`](/docs/fr/settings#where-settings-live) à partir du chemin système standard dans votre image runner. Que ses clés s'appliquent aux côtés des [paramètres gérés par le serveur](/docs/fr/server-managed-settings) suit [comment Claude Code combine les sources gérées](/docs/fr/managed-settings#how-claude-code-combines-managed-sources) : par défaut, quand votre organisation livre des clés gérées par le serveur, les sessions ignorent le fichier de l'image runner à part les [clés que Claude Code lit à partir de chaque source d'administration](/docs/fr/managed-settings#keys-read-from-every-admin-source), comme le bloc `env`, les verrous de sandbox, les chemins binaires de sandbox et `forceRemoteSettingsRefresh`. Voir [précédence des paramètres](/docs/fr/settings#settings-precedence).581Le `.claude/settings.json` commité dans le dépôt se superpose comme paramètres du projet. Dans une session avec plusieurs dépôts, [le fichier d'au plus un dépôt prend effet](#repository-settings-in-sessions-with-several-repositories). Les sessions lisent également [`managed-settings.json`](/docs/fr/settings#where-settings-live) à partir du chemin système standard dans votre image runner. Que ses clés s'appliquent aux côtés des [paramètres gérés par le serveur](/docs/fr/server-managed-settings) suit [comment Claude Code combine les sources gérées](/docs/fr/managed-settings#how-claude-code-combines-managed-sources) : par défaut, quand votre organisation livre des clés gérées par le serveur, les sessions ignorent le fichier de l'image runner à part les [clés que Claude Code lit à partir de chaque source d'administration](/docs/fr/managed-settings#keys-read-from-every-admin-source), comme le bloc `env`, les verrous de sandbox, les chemins binaires de sandbox et `forceRemoteSettingsRefresh`. Voir [priorité des paramètres](/docs/fr/settings#settings-precedence).

582 582 

583Quand le plan de contrôle d'Anthropic fournit une session avec des [hooks Claude Code](/docs/fr/hooks), le runner les installe aux côtés, pas par-dessus, votre propre configuration. Nécessite Claude Code v2.1.229 ou ultérieur.583Quand le plan de contrôle d'Anthropic fournit une session avec des [hooks Claude Code](/docs/fr/hooks), le runner les installe aux côtés, pas par-dessus, votre propre configuration. Nécessite Claude Code v2.1.229 ou ultérieur.

584 584 


590 590 

591L'instantané du `~/.claude/` de l'hôte pris par le runner exclut le répertoire `projects/`. L'emplacement de stockage par défaut de la mémoire automatique se trouve sous ce répertoire. Si vous y placez des fichiers de mémoire, le runner ne les sème pas dans les sessions, et ils n'activent pas la mémoire automatique.591L'instantané du `~/.claude/` de l'hôte pris par le runner exclut le répertoire `projects/`. L'emplacement de stockage par défaut de la mémoire automatique se trouve sous ce répertoire. Si vous y placez des fichiers de mémoire, le runner ne les sème pas dans les sessions, et ils n'activent pas la mémoire automatique.

592 592 

593<h3 id="repository-settings-in-sessions-with-several-repositories">

594 Paramètres de dépôt dans les sessions avec plusieurs dépôts

595</h3>

596 

597Dans une session avec plusieurs dépôts, Claude Code lit les paramètres du projet à partir du répertoire dans lequel la session démarre, donc le `.claude/settings.json` d'au plus un dépôt prend effet comme paramètres du projet. Un hook défini dans le fichier d'un autre dépôt ne s'exécute pas, une règle de refus qui s'y trouve ne s'applique pas, et son `env` n'est pas défini.

598 

599* **`--capacity 1`, la valeur par défaut, avec le checkout intégré** : la session démarre dans le premier dépôt de sa liste de dépôts. Le `.claude/settings.json` de ce dépôt prend effet comme paramètres du projet et son `.mcp.json` se charge, contrairement à ceux des autres dépôts.

600* **Un `--capacity` supérieur à un, ou un [hook `checkout`](#checkout)** : la session démarre dans un répertoire propre à la session qui contient les checkouts. Aucun `.claude/settings.json` de dépôt ne prend effet comme paramètres du projet, aucun `.mcp.json` de dépôt ne se charge, et [`$CLAUDE_PROJECT_DIR`](/docs/fr/hooks#reference-scripts-by-path) dans une commande de hook correspond à ce répertoire, et non à un checkout.

601 

602Le `CLAUDE.md` et les skills de chaque dépôt se chargent quel que soit l'endroit où la session démarre. Le runner transmet chaque dépôt à Claude Code comme [répertoire supplémentaire](/docs/fr/permissions#additional-directories-grant-file-access-not-configuration), donc Claude Code lit aussi les clés `enabledPlugins` et `extraKnownMarketplaces` du `.claude/settings.json` de chaque dépôt.

603 

604Pour exécuter un hook ou appliquer une règle de permission dans chaque session, placez-le dans `~/.claude/settings.json` sur l'hôte du runner. Le runner [sème le fichier de l'hôte dans chaque session](#how-each-session’s-config-is-assembled), quel que soit l'endroit où la session démarre. Écrivez un chemin dans une règle `Read` ou `Edit` sous forme de [pattern](/docs/fr/permissions#read-and-edit) absolu `//` ou relatif au répertoire personnel `~/`, car les autres patterns sont ancrés à la source des paramètres ou au répertoire courant.

605 

593<h3 id="repository-committed-permission-rules">606<h3 id="repository-committed-permission-rules">

594 Règles de permission validées dans le référentiel607 Règles de permission validées dans le référentiel

595</h3>608</h3>

Details

92 92 

93 <Step title="Enregistrer et déployer">93 <Step title="Enregistrer et déployer">

94 Enregistrez vos modifications. Les clients Claude Code reçoivent les paramètres mis à jour au prochain démarrage ou lors du cycle d'interrogation horaire.94 Enregistrez vos modifications. Les clients Claude Code reçoivent les paramètres mis à jour au prochain démarrage ou lors du cycle d'interrogation horaire.

95 

96 L'éditeur vérifie votre JSON par rapport au schéma JSON publié pour les paramètres de Claude Code. S'il détecte un problème dans un JSON qui s'analyse correctement, il affiche un avertissement et renomme le bouton d'enregistrement. Le libellé est **Update with errors** lorsque des paramètres sont déjà enregistrés, et **Add with errors** lorsqu'aucun paramètre n'est encore enregistré. Ce bouton enregistre quand même, car un avertissement de schéma ne bloque pas l'enregistrement.

97 

98 Le schéma [peut être en retard sur les versions les plus récentes](/docs/fr/settings#edit-a-settings-file), de sorte que l'éditeur peut signaler une clé ou une valeur documentée dans la [référence des paramètres](/docs/fr/settings-reference#all-settings). Claude Code reçoit les clés et les valeurs que vous avez enregistrées et exécute [sa propre validation](#invalid-entries-in-delivered-settings) lorsqu'il les charge.

95 </Step>99 </Step>

96</Steps>100</Steps>

97 101 

settings.md +2 −2

Details

521 521 

522Dans une session [Cowork](https://claude.com/docs/cowork/overview) qui s'exécute sur votre machine dans l'application Claude Desktop, Claude Code ne récupère pas les paramètres gérés par le serveur à partir de la console d'administration claude.ai, et il lit la politique déployée sur votre appareil sauf si la configuration Claude Desktop de votre organisation définit `requireCoworkFullVmSandbox`. [Où et quand une politique s'applique](/docs/fr/managed-settings#where-and-when-a-policy-applies) couvre Cowork et les sessions cloud.522Dans une session [Cowork](https://claude.com/docs/cowork/overview) qui s'exécute sur votre machine dans l'application Claude Desktop, Claude Code ne récupère pas les paramètres gérés par le serveur à partir de la console d'administration claude.ai, et il lit la politique déployée sur votre appareil sauf si la configuration Claude Desktop de votre organisation définit `requireCoworkFullVmSandbox`. [Où et quand une politique s'applique](/docs/fr/managed-settings#where-and-when-a-policy-applies) couvre Cowork et les sessions cloud.

523 523 

524Si vous êtes l'administrateur, [Configurez Claude Code pour votre organisation](/docs/fr/admin-setup) vous guide dans le choix de ce qu'il faut appliquer, et [Déployez les paramètres gérés](/docs/fr/managed-settings) couvre la livraison et comment confirmer qu'une politique est en vigueur.524Si vous êtes l'administrateur, [Configurez Claude Code pour votre organisation](/docs/fr/admin-setup) vous guide dans le choix de ce qu'il faut appliquer, et [Déployez les paramètres gérés](/docs/fr/managed-settings) couvre la livraison et comment confirmer qu'une politique est en vigueur. Pour l'avertissement que l'éditeur de paramètres gérés de la console d'administration claude.ai peut afficher, voir [Configurer les paramètres gérés par le serveur](/docs/fr/server-managed-settings#configure-server-managed-settings).

525 525 

526<h2 id="change-a-setting">526<h2 id="change-a-setting">

527 Modifiez un paramètre527 Modifiez un paramètre


809 809 

810Une [session cloud](/docs/fr/claude-code-on-the-web) s'exécute dans un [environnement cloud](/docs/fr/cloud-environments) sur un clone frais de votre référentiel, pas sur votre machine. Cela change quels paramètres l'atteignent :810Une [session cloud](/docs/fr/claude-code-on-the-web) s'exécute dans un [environnement cloud](/docs/fr/cloud-environments) sur un clone frais de votre référentiel, pas sur votre machine. Cela change quels paramètres l'atteignent :

811 811 

812* **Paramètres de projet partagés** (`.claude/settings.json`) : lus dans une session avec un référentiel, car le fichier fait partie du clone et la session démarre à l'intérieur. Validez un paramètre là pour l'appliquer dans ces sessions. Une session avec plusieurs référentiels démarre au-dessus des clones et lit uniquement les clés `enabledPlugins` et `extraKnownMarketplaces` du `.claude/settings.json` de chaque référentiel, pas les règles de permission, les hooks, `env`, ou d'autres clés. Les marketplaces et les plugins que ces deux clés déclarent ne [se chargent toujours pas dans une session cloud](/docs/fr/cloud-environments#what-carries-over-from-your-setup).812* **Paramètres de projet partagés** (`.claude/settings.json`) : lus dans une session avec un dépôt, car le fichier fait partie du clone et la session démarre à l'intérieur. Commitez un paramètre à cet endroit pour l'appliquer dans ces sessions. Dans un environnement hébergé par Anthropic, une session avec plusieurs dépôts démarre au-dessus des clones et lit uniquement les clés `enabledPlugins` et `extraKnownMarketplaces` du `.claude/settings.json` de chaque dépôt, pas les règles de permission, les hooks, `env`, ou d'autres clés. Les marketplaces et les plugins que ces deux clés déclarent ne [se chargent toujours pas dans une session cloud](/docs/fr/cloud-environments#what-carries-over-from-your-setup). Pour un environnement auto-hébergé, consultez [les paramètres de quel dépôt s'appliquent](/docs/fr/self-hosted-environments-configuration#repository-settings-in-sessions-with-several-repositories).

813* **Paramètres utilisateur et projet local** (`~/.claude/settings.json` et `.claude/settings.local.json`) : non lus. Les deux restent sur votre machine, et le fichier local n'est pas dans le clone.813* **Paramètres utilisateur et projet local** (`~/.claude/settings.json` et `.claude/settings.local.json`) : non lus. Les deux restent sur votre machine, et le fichier local n'est pas dans le clone.

814* **Paramètres gérés** : un fichier `managed-settings.json` ou un profil MDM sur votre appareil ne parvient pas à une session cloud. Les [paramètres gérés par le serveur](/docs/fr/server-managed-settings) de votre organisation le font ; la [couverture de surface](/docs/fr/model-config#surface-coverage) énumère quelles sessions cloud les reçoivent. Un [environnement auto-hébergé](/docs/fr/self-hosted-environments) lit aussi le fichier de paramètres gérés dans son image de runner. [Comment Claude Code combine les sources gérées](/docs/fr/managed-settings#how-claude-code-combines-managed-sources) indique quand ce fichier s'applique.814* **Paramètres gérés** : un fichier `managed-settings.json` ou un profil MDM sur votre appareil ne parvient pas à une session cloud. Les [paramètres gérés par le serveur](/docs/fr/server-managed-settings) de votre organisation le font ; la [couverture de surface](/docs/fr/model-config#surface-coverage) énumère quelles sessions cloud les reçoivent. Un [environnement auto-hébergé](/docs/fr/self-hosted-environments) lit aussi le fichier de paramètres gérés dans son image de runner. [Comment Claude Code combine les sources gérées](/docs/fr/managed-settings#how-claude-code-combines-managed-sources) indique quand ce fichier s'applique.

815* **`/config`** : dans votre navigateur sur claude.ai/code, ouvre la section Claude Code de vos paramètres claude.ai à la place de modifier une valeur. Pour modifier un paramètre pour une session cloud, définissez une [variable d'environnement](/docs/fr/cloud-environments#set-environment-variables) sur l'environnement, ou dans une session avec un référentiel, validez la clé dans le `.claude/settings.json` de ce référentiel.815* **`/config`** : dans votre navigateur sur claude.ai/code, ouvre la section Claude Code de vos paramètres claude.ai à la place de modifier une valeur. Pour modifier un paramètre pour une session cloud, définissez une [variable d'environnement](/docs/fr/cloud-environments#set-environment-variables) sur l'environnement, ou dans une session avec un référentiel, validez la clé dans le `.claude/settings.json` de ce référentiel.

setup.md +20 −10

Details

638 638 

639Pour supprimer Claude Code, suivez les instructions correspondant à votre méthode d'installation. Si `claude` s'exécute toujours après cela, vous avez probablement une deuxième installation ou un alias shell résiduel d'un ancien installateur. Consultez [Vérifier les installations en conflit](/docs/fr/troubleshoot-install#check-for-conflicting-installations) pour le trouver et le supprimer.639Pour supprimer Claude Code, suivez les instructions correspondant à votre méthode d'installation. Si `claude` s'exécute toujours après cela, vous avez probablement une deuxième installation ou un alias shell résiduel d'un ancien installateur. Consultez [Vérifier les installations en conflit](/docs/fr/troubleshoot-install#check-for-conflicting-installations) pour le trouver et le supprimer.

640 640 

641<h3 id="native-installation">641<span id="native-installation" />

642 Installation native642 

643<h3 id="uninstall-a-native-installation">

644 Désinstaller une installation native

643</h3>645</h3>

644 646 

645Supprimez le binaire Claude Code et les fichiers de version :647Supprimez le binaire Claude Code et les fichiers de version :


660 </Tab>662 </Tab>

661</Tabs>663</Tabs>

662 664 

663<h3 id="homebrew-installation">665<span id="homebrew-installation" />

664 Installation Homebrew666 

667<h3 id="uninstall-with-homebrew">

668 Désinstaller avec Homebrew

665</h3>669</h3>

666 670 

667Supprimez le cask Homebrew que vous avez installé. Si vous avez installé le cask stable :671Supprimez le cask Homebrew que vous avez installé. Si vous avez installé le cask stable :


676brew uninstall --cask claude-code@latest680brew uninstall --cask claude-code@latest

677```681```

678 682 

679<h3 id="winget-installation">683<span id="winget-installation" />

680 Installation WinGet684 

685<h3 id="uninstall-with-winget">

686 Désinstaller avec WinGet

681</h3>687</h3>

682 688 

683Supprimez le paquet WinGet :689Supprimez le paquet WinGet :


686winget uninstall Anthropic.ClaudeCode692winget uninstall Anthropic.ClaudeCode

687```693```

688 694 

689<h3 id="apt-/-dnf-/-apk">695<span id="apt-/-dnf-/-apk" />

690 apt / dnf / apk696 

697<h3 id="uninstall-with-apt-dnf-or-apk">

698 Désinstaller avec apt, dnf ou apk

691</h3>699</h3>

692 700 

693Supprimez le paquet et la configuration du référentiel :701Supprimez le paquet et la configuration du référentiel :


716 </Tab>724 </Tab>

717</Tabs>725</Tabs>

718 726 

719<h3 id="npm">727<span id="npm" />

720 npm728 

729<h3 id="uninstall-with-npm">

730 Désinstaller avec npm

721</h3>731</h3>

722 732 

723Supprimez le paquet npm global :733Supprimez le paquet npm global :

skills.md +2 −0

Details

94| `migrate` | Mettez à jour votre code Claude API existant vers un modèle plus récent | Antérieur à v2.1.221 |94| `migrate` | Mettez à jour votre code Claude API existant vers un modèle plus récent | Antérieur à v2.1.221 |

95| `upgrade` | Déplacez la dépendance du SDK Anthropic de votre projet sur une version majeure, actuellement le package Python `anthropic` de 0.x à 1.x | v2.1.236 ou version ultérieure |95| `upgrade` | Déplacez la dépendance du SDK Anthropic de votre projet sur une version majeure, actuellement le package Python `anthropic` de 0.x à 1.x | v2.1.236 ou version ultérieure |

96| `managed-agents-onboard` | Parcourez la création d'un nouvel Agent géré | Antérieur à v2.1.221 |96| `managed-agents-onboard` | Parcourez la création d'un nouvel Agent géré | Antérieur à v2.1.221 |

97| `managed-agents-onboard <url>` | Créez l'Agent géré que décrit la page située à l'URL, par exemple une page de la [documentation des Agents gérés](https://platform.claude.com/docs/en/managed-agents/overview) | v2.1.290 ou version ultérieure |

98| `managed-agents-onboard <quickstart-name>` | Créez l'un des templates de démarrage rapide de la Console, comme `deep-researcher`. Si vous indiquez un seul mot qui n'est pas un nom de template, Claude liste les noms valides | v2.1.290 ou version ultérieure |

97| `prompt-audit` | Signalez les instructions écrites pour les modèles plus anciens dans vos invites, compétences et descriptions d'outils et proposez des corrections sous forme de diff | v2.1.221 ou version ultérieure |99| `prompt-audit` | Signalez les instructions écrites pour les modèles plus anciens dans vos invites, compétences et descriptions d'outils et proposez des corrections sous forme de diff | v2.1.221 ou version ultérieure |

98| `cost-optimize` | Profilez où va la dépense Claude API de votre projet et proposez des économies à partir d'options telles que la mise en cache des invites, la réduction des tokens d'entrée et de sortie inutiles, le traitement par lots, l'effort et le choix du modèle, une modification à la fois | v2.1.247 ou version ultérieure |100| `cost-optimize` | Profilez où va la dépense Claude API de votre projet et proposez des économies à partir d'options telles que la mise en cache des invites, la réduction des tokens d'entrée et de sortie inutiles, le traitement par lots, l'effort et le choix du modèle, une modification à la fois | v2.1.247 ou version ultérieure |

99| `build-eval` | Construisez un ensemble d'évaluation pour votre application alimentée par Claude | v2.1.259 ou version ultérieure |101| `build-eval` | Construisez un ensemble d'évaluation pour votre application alimentée par Claude | v2.1.259 ou version ultérieure |

sub-agents.md +4 −2

Details

609Le mode de permission de la conversation principale décide si Claude Code utilise la valeur que vous définissez :609Le mode de permission de la conversation principale décide si Claude Code utilise la valeur que vous définissez :

610 610 

611* Lorsque la conversation principale est en `bypassPermissions`, `acceptEdits` ou [mode auto](/docs/fr/permission-modes#eliminate-prompts-with-auto-mode), le sous-agent s'exécute dans ce même mode et Claude Code ignore le `permissionMode` que vous définissez. En mode auto, le classifieur évalue les appels d'outils du sous-agent avec les règles de blocage et d'autorisation de la conversation principale. Lorsque le sous-agent se termine, le classifieur examine également son travail et son rapport final avant que le rapport soit livré, comme [Comment le mode auto gère les sous-agents](/docs/fr/permission-modes#eliminate-prompts-with-auto-mode) le décrit.611* Lorsque la conversation principale est en `bypassPermissions`, `acceptEdits` ou [mode auto](/docs/fr/permission-modes#eliminate-prompts-with-auto-mode), le sous-agent s'exécute dans ce même mode et Claude Code ignore le `permissionMode` que vous définissez. En mode auto, le classifieur évalue les appels d'outils du sous-agent avec les règles de blocage et d'autorisation de la conversation principale. Lorsque le sous-agent se termine, le classifieur examine également son travail et son rapport final avant que le rapport soit livré, comme [Comment le mode auto gère les sous-agents](/docs/fr/permission-modes#eliminate-prompts-with-auto-mode) le décrit.

612* Lorsque la conversation principale est en mode `default`, `dontAsk` ou `plan`, le sous-agent s'exécute dans le mode de permission que vous définissez, sauf `bypassPermissions`. Un sous-agent qui déclare `bypassPermissions` conserve le mode de la conversation principale à la place. L'exception `bypassPermissions` nécessite Claude Code v2.1.267 ou ultérieur.612* Lorsque la conversation principale est en mode `default`, `dontAsk` ou `plan`, le sous-agent s'exécute dans le mode de permission que vous définissez. Il conserve plutôt le mode de permission de la conversation principale dans les cas suivants :

613 * Vous définissez `bypassPermissions`. L'exception `bypassPermissions` nécessite Claude Code v2.1.267 ou ultérieur.

614 * Vous définissez `auto` et le [mode auto n'est pas disponible](/docs/fr/permission-modes#eliminate-prompts-with-auto-mode) pour le sous-agent, par exemple lorsqu'un fichier de paramètres définit [`disableAutoMode`](/docs/fr/settings-reference#disableautomode) ou que le modèle du sous-agent ne prend pas en charge le mode auto.

613 615 

614`permissionMode` accepte ces valeurs, et `manual` comme alias pour `default` :616`permissionMode` accepte ces valeurs, et `manual` comme alias pour `default` :

615 617 


640Implement API endpoints. Follow the conventions and patterns from the preloaded skills.642Implement API endpoints. Follow the conventions and patterns from the preloaded skills.

641```643```

642 644 

643Le contenu complet de chaque skill listé est injecté dans le contexte du sous-agent au démarrage. Ce champ contrôle quels skills sont préchargés, pas à quels skills le sous-agent peut accéder : sans lui, le sous-agent peut toujours découvrir et invoquer les skills de projet, utilisateur et plugin via l'outil Skill pendant l'exécution. Pour empêcher complètement un sous-agent d'invoquer des skills, omettez `Skill` de la liste [`tools`](#available-tools) ou ajoutez-le à `disallowedTools`.645Le contenu complet de chaque skill listé est injecté dans le contexte du sous-agent au démarrage, dans la limite des 32 premiers noms distincts de la liste. Ce champ contrôle quels skills sont préchargés, pas à quels skills le sous-agent peut accéder : sans lui, le sous-agent peut toujours découvrir et invoquer les skills de projet, utilisateur et plugin via l'outil Skill pendant l'exécution. Pour empêcher complètement un sous-agent d'invoquer des skills, omettez `Skill` de la liste [`tools`](#available-tools) ou ajoutez-le à `disallowedTools`.

644 646 

645Vous ne pouvez pas précharger les skills qui définissent [`disable-model-invocation: true`](/docs/fr/skills#control-who-invokes-a-skill), car le préchargement puise dans le même ensemble de skills que Claude peut invoquer. Cela inclut le skill `/verify` fourni, que Claude ne peut pas exécuter de lui-même.647Vous ne pouvez pas précharger les skills qui définissent [`disable-model-invocation: true`](/docs/fr/skills#control-who-invokes-a-skill), car le préchargement puise dans le même ensemble de skills que Claude peut invoquer. Cela inclut le skill `/verify` fourni, que Claude ne peut pas exécuter de lui-même.

646 648 

Details

666 666 

667* WebFetch refuse `localhost` et tout autre nom d'hôte sans point, comme un nom d'intranet nu, avant de faire une demande. L'[erreur qu'il retourne](/docs/fr/errors#webfetch-cannot-fetch-localhost) dit à Claude d'atteindre les serveurs locaux avec `curl` via Bash à la place.667* WebFetch refuse `localhost` et tout autre nom d'hôte sans point, comme un nom d'intranet nu, avant de faire une demande. L'[erreur qu'il retourne](/docs/fr/errors#webfetch-cannot-fetch-localhost) dit à Claude d'atteindre les serveurs locaux avec `curl` via Bash à la place.

668* Les URL HTTP sont automatiquement mises à niveau vers HTTPS.668* Les URL HTTP sont automatiquement mises à niveau vers HTTPS.

669* Les grandes pages sont tronquées à une limite de caractères fixe avant le traitement.669* WebFetch lit jusqu'à 100 000 caractères du contenu d'une page par appel. Sur Claude Code v2.1.290 ou ultérieur, le résultat pour une page plus longue indique à Claude quelle quantité de contenu n'a pas été lue, afin que Claude puisse récupérer la partie suivante.

670* WebFetch met en cache chaque réponse pendant 15 minutes par défaut, donc les récupérations répétées de la même URL reviennent rapidement. Sur Claude Code v2.1.233 ou ultérieur, définissez [`CLAUDE_CODE_WEBFETCH_CACHE_TTL_MS`](/docs/fr/env-vars#variables) pour modifier la durée pendant laquelle WebFetch conserve chaque réponse.670* WebFetch met en cache chaque réponse pendant 15 minutes par défaut, donc les récupérations répétées de la même URL reviennent rapidement. Sur Claude Code v2.1.233 ou ultérieur, définissez [`CLAUDE_CODE_WEBFETCH_CACHE_TTL_MS`](/docs/fr/env-vars#variables) pour modifier la durée pendant laquelle WebFetch conserve chaque réponse.

671* Une page qui n'a pas terminé le téléchargement dans les cinq minutes, y compris les redirections que WebFetch suit, échoue avec une erreur de délai. Sur Claude Code v2.1.268 ou ultérieur, définissez [`CLAUDE_CODE_WEBFETCH_DEADLINE_MS`](/docs/fr/env-vars#variables) pour modifier la limite, ou à `0` pour la supprimer.671* Une page qui n'a pas terminé le téléchargement dans les cinq minutes, y compris les redirections que WebFetch suit, échoue avec une erreur de délai. Sur Claude Code v2.1.268 ou ultérieur, définissez [`CLAUDE_CODE_WEBFETCH_DEADLINE_MS`](/docs/fr/env-vars#variables) pour modifier la limite, ou à `0` pour la supprimer.

672* Lorsqu'une URL redirige vers un hôte différent, WebFetch retourne un résultat texte qui nomme l'URL d'origine et la cible de redirection au lieu de la suivre. Claude récupère ensuite la nouvelle URL avec un deuxième appel WebFetch.672* Lorsqu'une URL redirige vers un hôte différent, WebFetch retourne un résultat texte qui nomme l'URL d'origine et la cible de redirection au lieu de la suivre. Claude récupère ensuite la nouvelle URL avec un deuxième appel WebFetch.

Details

17| Ce que vous voyez | Solution |17| Ce que vous voyez | Solution |

18| :- | :- |18| :- | :- |

19| `command not found: claude` ou `'claude' is not recognized` | [Corrigez votre PATH](#command-not-found-claude-after-installation) |19| `command not found: claude` ou `'claude' is not recognized` | [Corrigez votre PATH](#command-not-found-claude-after-installation) |

20| `Native installation exists but ... is not in your PATH` | [Ajoutez le répertoire d'installation à votre PATH](#verify-your-path) |

21| `INFO: Could not find files for the given pattern(s).` provenant de `where.exe claude` | [Vérifiez si Claude Code est installé](#check-for-conflicting-installations) |

22| `zsh: permission denied: /Users/you/.zshrc` ou `bash: /home/you/.bashrc: Permission denied` | [Rendez votre fichier de configuration shell accessible en écriture](#permission-denied-when-adding-to-your-path) |

20| `syntax error near unexpected token '<'` | [Le script d'installation retourne du HTML](#install-script-returns-html-instead-of-a-shell-script) |23| `syntax error near unexpected token '<'` | [Le script d'installation retourne du HTML](#install-script-returns-html-instead-of-a-shell-script) |

24| `< was unexpected at this time` dans CMD | [Le script d'installation retourne du HTML](#install-script-returns-html-instead-of-a-shell-script) |

25| `The term 'System.Xml.XmlDocument' is not recognized` | [Le script d'installation retourne du HTML](#install-script-returns-html-instead-of-a-shell-script) |

21| `curl: (22) The requested URL returned error: 403` | [Le script d'installation a retourné 403](#install-script-returns-html-instead-of-a-shell-script) |26| `curl: (22) The requested URL returned error: 403` | [Le script d'installation a retourné 403](#install-script-returns-html-instead-of-a-shell-script) |

22| `curl: (23)` ou `curl: (56) Failure writing output to destination` | [Vérifiez la connectivité ou utilisez un programme d'installation alternatif](#curl-56-failure-writing-output-to-destination) |27| `curl: (23)` ou `curl: (56) Failure writing output to destination` | [Vérifiez la connectivité ou utilisez un programme d'installation alternatif](#curl-56-failure-writing-output-to-destination) |

23| `Killed` pendant l'installation sur Linux, ou `Installation was killed before it could finish (exit code 137)` | [Libérez de la mémoire ou ajoutez de l'espace d'échange](#install-killed-on-low-memory-linux-servers) |28| `Killed` pendant l'installation sur Linux | [Libérez de la mémoire ou ajoutez de l'espace d'échange](#install-killed-on-low-memory-linux-servers) |

29| `Installation was killed before it could finish` | [Libérez de la mémoire, puis réexécutez le programme d'installation](#installation-was-killed-before-it-could-finish) |

24| `Raw mode is not supported` pendant l'installation | [Réexécutez le programme d'installation](#raw-mode-is-not-supported-during-install) |30| `Raw mode is not supported` pendant l'installation | [Réexécutez le programme d'installation](#raw-mode-is-not-supported-during-install) |

25| `EACCES: permission denied` pendant l'installation | [Corrigez les permissions du répertoire d'installation](#permission-errors-during-installation) |31| `EACCES: permission denied` pendant l'installation | [Corrigez les permissions du répertoire d'installation](#permission-errors-during-installation) |

26| `TLS connect error` ou `SSL/TLS secure channel` | [Mettez à jour les certificats CA](#tls-or-ssl-connection-errors) |32| `TLS connect error` ou `SSL/TLS secure channel` | [Mettez à jour les certificats CA](#tls-or-ssl-connection-errors) |

33| `CRYPT_E_NO_REVOCATION_CHECK` ou `CRYPT_E_REVOCATION_OFFLINE` | [Contournez les vérifications de révocation bloquées](#tls-or-ssl-connection-errors) |

27| `Failed to fetch version` ou impossible d'atteindre le serveur de téléchargement | [Vérifiez les paramètres réseau et proxy](#check-network-connectivity) |34| `Failed to fetch version` ou impossible d'atteindre le serveur de téléchargement | [Vérifiez les paramètres réseau et proxy](#check-network-connectivity) |

35| `The connection dropped while downloading the update` ou `Download timed out: exceeded the total deadline` | [Relancez la mise à jour ou configurez votre proxy](#the-connection-dropped-while-downloading-the-update) |

28| `irm is not recognized` ou `The token '&&' is not a valid statement separator` | [Utilisez la bonne commande pour votre shell](#wrong-install-command-on-windows) |36| `irm is not recognized` ou `The token '&&' is not a valid statement separator` | [Utilisez la bonne commande pour votre shell](#wrong-install-command-on-windows) |

29| `Cask 'claude-code' is unavailable: No Cask with this name exists` | [Mettez à jour Homebrew](#homebrew-cask-unavailable-or-outdated) |37| `Cask 'claude-code' is unavailable: No Cask with this name exists` | [Mettez à jour Homebrew](#homebrew-cask-unavailable-or-outdated) |

38| `Cask 'claude-code@latest' is not installed` | [Mettez à niveau le cask que vous avez installé](#cask-is-not-installed) |

30| `'bash' is not recognized as the name of a cmdlet` | [Utilisez la commande du programme d'installation Windows](#wrong-install-command-on-windows) |39| `'bash' is not recognized as the name of a cmdlet` | [Utilisez la commande du programme d'installation Windows](#wrong-install-command-on-windows) |

31| `A parameter cannot be found that matches parameter name 'fsSL'` | [Utilisez la commande du programme d'installation Windows](#wrong-install-command-on-windows) |40| `A parameter cannot be found that matches parameter name 'fsSL'` | [Utilisez la commande du programme d'installation Windows](#wrong-install-command-on-windows) |

32| `Claude Code on Windows requires either Git for Windows (for bash) or PowerShell` | [Installez un shell](#claude-code-on-windows-requires-either-git-for-windows-for-bash-or-powershell) |41| `Claude Code on Windows requires either Git for Windows (for bash) or PowerShell` | [Installez un shell](#claude-code-on-windows-requires-either-git-for-windows-for-bash-or-powershell) |


82 curl.exe -sI https://downloads.claude.ai/claude-code-releases/latest91 curl.exe -sI https://downloads.claude.ai/claude-code-releases/latest

83 ```92 ```

84 93 

85 PowerShell crée un alias `curl` vers `Invoke-WebRequest`, qui rejette les drapeaux `-sI`, donc appelez `curl.exe` explicitement.94 PowerShell crée un alias `curl` vers `Invoke-WebRequest`, qui rejette les flags `-sI`, donc appelez `curl.exe` explicitement.

86 </Tab>95 </Tab>

87</Tabs>96</Tabs>

88 97 


93 102 

94Si vous ne voyez aucune sortie, `Could not resolve host`, ou un délai d'expiration de connexion, votre réseau bloque la connexion. Les causes courantes incluent :103Si vous ne voyez aucune sortie, `Could not resolve host`, ou un délai d'expiration de connexion, votre réseau bloque la connexion. Les causes courantes incluent :

95 104 

96* Les pare-feu d'entreprise ou les proxies bloquant `downloads.claude.ai`105* Les pare-feu d'entreprise ou les proxys bloquant `downloads.claude.ai`

97* Les restrictions réseau régionales : essayez un VPN ou un réseau alternatif106* Les restrictions réseau régionales : essayez un VPN ou un réseau alternatif

98* Les problèmes TLS/SSL : mettez à jour les certificats CA de votre système, ou vérifiez si `HTTPS_PROXY` est configuré107* Les problèmes TLS/SSL : mettez à jour les certificats CA de votre système, ou vérifiez si `HTTPS_PROXY` est configuré

99 108 


125 134 

126Si l'installation a réussi mais que vous obtenez une erreur `command not found` ou `not recognized` lors de l'exécution de `claude`, le répertoire d'installation n'est pas dans votre PATH. Votre shell recherche les programmes dans les répertoires listés dans PATH, et le programme d'installation place `claude` à `~/.local/bin/claude` sur macOS/Linux ou `%USERPROFILE%\.local\bin\claude.exe` sur Windows.135Si l'installation a réussi mais que vous obtenez une erreur `command not found` ou `not recognized` lors de l'exécution de `claude`, le répertoire d'installation n'est pas dans votre PATH. Votre shell recherche les programmes dans les répertoires listés dans PATH, et le programme d'installation place `claude` à `~/.local/bin/claude` sur macOS/Linux ou `%USERPROFILE%\.local\bin\claude.exe` sur Windows.

127 136 

137Le programme d'installation détecte ce cas et le signale sous `Setup notes:` dans sa sortie : `Native installation exists but ~/.local/bin is not in your PATH.` sur macOS et Linux, ou `Native installation exists but C:\Users\you\.local\bin is not in your PATH.` sur Windows. Il affiche la correction avec cette note, mais ne modifie pas lui-même le PATH.

138 

128<Note>139<Note>

129 L'[extension VS Code](/docs/fr/vs-code) ne place pas `claude` à cet emplacement. Elle regroupe une copie privée de la CLI à l'intérieur du répertoire d'extension pour son propre panneau de chat et ne l'ajoute pas à PATH. Si vous avez uniquement installé l'extension, `~/.local/bin/claude` n'existera pas. Exécutez l'[installation autonome](/docs/fr/setup) pour utiliser `claude` à partir d'un terminal, puis continuez ci-dessous.140 L'[extension VS Code](/docs/fr/vs-code) ne place pas `claude` à cet emplacement. Elle regroupe une copie privée de la CLI à l'intérieur du répertoire d'extension pour son propre panneau de chat et ne l'ajoute pas à PATH. Si vous avez uniquement installé l'extension, `~/.local/bin/claude` n'existera pas. Exécutez l'[installation autonome](/docs/fr/setup) pour utiliser `claude` à partir d'un terminal, puis continuez ci-dessous.

130</Note>141</Note>

131 142 

132Vérifiez si le répertoire d'installation est dans votre PATH en listant vos entrées PATH et en filtrant pour `local/bin` :143Vérifiez d'abord que le programme est bien présent, puis vérifiez si son dossier figure dans votre PATH. La correction du PATH est permanente, vous ne l'appliquez donc qu'une seule fois. Choisissez l'onglet de votre plateforme et exécutez-y ses commandes : dans votre terminal sur macOS et Linux, ou dans PowerShell ou l'invite de commandes sur Windows.

133 144 

134<Tabs>145<Tabs>

135 <Tab title="macOS/Linux">146 <Tab title="macOS/Linux">

147 Vérifiez que le programme d'installation a mis le programme en place :

148 

149 ```bash theme={null}

150 ls -la ~/.local/bin/claude

151 ```

152 

153 * **`No such file or directory`** : il n'y a pas d'installation native. Si vous n'avez pas installé Claude Code d'une autre manière, par exemple avec npm, Homebrew ou un gestionnaire de paquets Linux, [installez Claude Code](/docs/fr/setup#install-claude-code). Si vous l'avez installé d'une autre manière, consultez [Vérifiez les installations en conflit](#check-for-conflicting-installations).

154 * **Une ligne listant le fichier** : le programme est présent. Vérifiez ensuite votre PATH.

155 

156 Listez vos entrées PATH et filtrez pour le dossier d'installation :

157 

136 ```bash theme={null}158 ```bash theme={null}

137 echo $PATH | tr ':' '\n' | grep -Fx "$HOME/.local/bin"159 echo $PATH | tr ':' '\n' | grep -Fx "$HOME/.local/bin"

138 ```160 ```

139 161 

140 Si cela affiche `/Users/you/.local/bin` ou `/home/you/.local/bin`, le répertoire est dans votre PATH et vous pouvez passer à [Vérifiez les installations en conflit](#check-for-conflicting-installations). S'il n'y a pas de sortie, ajoutez-le à votre configuration shell.162 Si cela affiche `/Users/you/.local/bin` ou `/home/you/.local/bin`, le répertoire est dans votre PATH et vous pouvez passer à [Vérifiez les installations en conflit](#check-for-conflicting-installations). S'il n'y a pas de sortie, ajoutez-le à votre configuration shell avec les deux commandes correspondant à votre shell. La commande `echo` enregistre le paramètre pour chaque nouveau terminal, et `source` l'applique à la fenêtre dans laquelle vous vous trouvez. La commande `echo` n'affiche rien lorsqu'elle réussit.

141 163 

142 Pour Zsh, la valeur par défaut sur macOS :164 Pour Zsh, la valeur par défaut sur macOS :

143 165 


162 184 

163 Alternativement, fermez et rouvrez votre terminal.185 Alternativement, fermez et rouvrez votre terminal.

164 186 

187 Si la commande `echo` affiche `permission denied`, consultez [`permission denied` lors de l'ajout à votre PATH](#permission-denied-when-adding-to-your-path).

188 

165 Pour les autres shells tels que fish ou Nushell, ajoutez `~/.local/bin` à votre PATH en utilisant la syntaxe de configuration propre à votre shell, puis redémarrez votre terminal.189 Pour les autres shells tels que fish ou Nushell, ajoutez `~/.local/bin` à votre PATH en utilisant la syntaxe de configuration propre à votre shell, puis redémarrez votre terminal.

166 190 

167 Vérifiez que la correction a fonctionné :191 Vérifiez que la correction a fonctionné :


169 ```bash theme={null}193 ```bash theme={null}

170 claude --version194 claude --version

171 ```195 ```

196 

197 Si `claude` est toujours introuvable, vérifiez ces causes :

198 

199 * **Le terminal est antérieur à la modification** : une fenêtre déjà ouverte conserve son ancien PATH, et un terminal intégré à un éditeur tient son PATH de l'éditeur. Ouvrez une nouvelle fenêtre, ou quittez et rouvrez l'éditeur.

200 * **La ligne n'a pas été enregistrée** : exécutez `grep -n '.local/bin' ~/.zshrc`, en utilisant le nom de fichier de votre shell. Cette commande affiche la ligne avec son numéro lorsque la ligne est présente. Si elle n'affiche rien, exécutez à nouveau les deux commandes PATH.

201 * **La ligne a été ajoutée au fichier d'un autre shell** : exécutez `echo $0` pour identifier votre shell, puis exécutez les deux commandes PATH correspondant à ce shell.

172 </Tab>202 </Tab>

173 203 

174 <Tab title="Windows PowerShell">204 <Tab title="Windows PowerShell">

205 Vérifiez que le programme d'installation a mis le programme en place :

206 

207 ```powershell theme={null}

208 Test-Path "$env:USERPROFILE\.local\bin\claude.exe"

209 ```

210 

211 * **`False`** : il n'y a pas d'installation native. Si vous n'avez pas installé Claude Code d'une autre manière, par exemple avec npm ou WinGet, [installez Claude Code](/docs/fr/setup#install-claude-code). Si vous l'avez installé d'une autre manière, consultez [Vérifiez les installations en conflit](#check-for-conflicting-installations).

212 * **`True`** : le programme est présent. Vérifiez ensuite votre PATH.

213 

214 Listez vos entrées PATH et filtrez pour le dossier d'installation :

215 

175 ```powershell theme={null}216 ```powershell theme={null}

176 $env:PATH -split ';' | Select-String '\.local\\bin'217 $env:PATH -split ';' | Select-String '\.local\\bin'

177 ```218 ```

178 219 

179 S'il n'y a pas de sortie, ajoutez le répertoire d'installation à votre PATH utilisateur :220 Si cela affiche `C:\Users\you\.local\bin`, le répertoire est dans votre PATH et vous pouvez passer à [Vérifiez les installations en conflit](#check-for-conflicting-installations). S'il n'y a pas de sortie, ajoutez le répertoire d'installation à votre PATH utilisateur :

180 221 

181 ```powershell theme={null}222 ```powershell theme={null}

182 $currentPath = [Environment]::GetEnvironmentVariable('PATH', 'User')223 $currentPath = [Environment]::GetEnvironmentVariable('PATH', 'User')


190 ```powershell theme={null}231 ```powershell theme={null}

191 claude --version232 claude --version

192 ```233 ```

234 

235 Si `claude` est toujours introuvable dans un nouveau terminal, vérifiez ces causes :

236 

237 * **Le terminal s'exécute dans un éditeur** : il tient son PATH de l'éditeur, donc quittez et rouvrez l'éditeur.

238 * **La modification n'a pas été enregistrée** : exécutez `[Environment]::GetEnvironmentVariable('PATH', 'User')` et recherchez `.local\bin` dans le PATH affiché. S'il est absent, exécutez à nouveau les deux commandes.

193 </Tab>239 </Tab>

194 240 

195 <Tab title="Windows CMD">241 <Tab title="Windows CMD">

242 Vérifiez que le programme d'installation a mis le programme en place :

243 

244 ```batch theme={null}

245 dir "%USERPROFILE%\.local\bin\claude.exe"

246 ```

247 

248 * **`File Not Found` ou `The system cannot find the path specified.`** : il n'y a pas d'installation native. Si vous n'avez pas installé Claude Code d'une autre manière, par exemple avec npm ou WinGet, [installez Claude Code](/docs/fr/setup#install-claude-code). Si vous l'avez installé d'une autre manière, consultez [Vérifiez les installations en conflit](#check-for-conflicting-installations).

249 * **Une ligne listant `claude.exe`** : le programme est présent. Vérifiez ensuite votre PATH.

250 

251 Listez vos entrées PATH et filtrez pour le dossier d'installation :

252 

196 ```batch theme={null}253 ```batch theme={null}

197 echo %PATH% | findstr /i "local\bin"254 echo %PATH% | findstr /i "local\bin"

198 ```255 ```


204 ```batch theme={null}261 ```batch theme={null}

205 claude --version262 claude --version

206 ```263 ```

264 

265 Si `claude` est toujours introuvable dans un nouveau terminal, sachez qu'un terminal intégré à un éditeur tient son PATH de l'éditeur : quittez et rouvrez également l'éditeur.

207 </Tab>266 </Tab>

208</Tabs>267</Tabs>

209 268 


221 which -a claude280 which -a claude

222 ```281 ```

223 282 

224 Si cela n'affiche rien, aucun `claude` n'est encore sur votre PATH. Retournez à [Vérifiez votre PATH](#verify-your-path).283 Si cela affiche `claude not found`, une ligne `no claude in`, ou rien du tout, aucun `claude` n'est sur votre PATH. Les vérifications suivantes indiquent si Claude Code est installé ou non.

225 284 

226 Vérifiez les trois emplacements d'où un binaire `claude` peut provenir. `~/.local/bin/claude` est le programme d'installation natif, `~/.claude/local/` est une installation npm locale héritée créée par les anciennes versions de Claude Code, et la liste npm globale affiche une installation `-g` :285 Vérifiez les trois emplacements d'où un binaire `claude` peut provenir. `~/.local/bin/claude` est le programme d'installation natif, `~/.claude/local/` est une installation npm locale héritée créée par les anciennes versions de Claude Code, et la liste npm globale affiche une installation `-g` :

227 286 


240 ```bash theme={null}299 ```bash theme={null}

241 npm -g ls @anthropic-ai/claude-code 2>/dev/null300 npm -g ls @anthropic-ai/claude-code 2>/dev/null

242 ```301 ```

302 

303 Si `ls -la ~/.local/bin/claude` a affiché `No such file or directory`, il n'y a pas d'installation native. Si vous n'avez pas installé Claude Code d'une autre manière, par exemple avec npm, Homebrew ou un gestionnaire de paquets Linux, [installez Claude Code](/docs/fr/setup#install-claude-code). Si `~/.local/bin/claude` existe mais que `which -a claude` ne l'a pas listé, le dossier n'est pas dans votre PATH : consultez [Vérifiez votre PATH](#verify-your-path).

243 </Tab>304 </Tab>

244 305 

245 <Tab title="Windows PowerShell">306 <Tab title="Windows PowerShell">


249 where.exe claude310 where.exe claude

250 ```311 ```

251 312 

313 Si cela affiche `INFO: Could not find files for the given pattern(s).`, aucun `claude` n'est sur votre PATH.

314 

252 Vérifiez si le programme d'installation natif a placé un binaire :315 Vérifiez si le programme d'installation natif a placé un binaire :

253 316 

254 ```powershell theme={null}317 ```powershell theme={null}

255 Test-Path "$env:USERPROFILE\.local\bin\claude.exe"318 Test-Path "$env:USERPROFILE\.local\bin\claude.exe"

256 ```319 ```

320 

321 * **`True`** : l'installation native est présente. Si `where.exe` n'a rien trouvé, son dossier n'est pas dans votre PATH : consultez [Vérifiez votre PATH](#verify-your-path).

322 * **`False`** : il n'y a pas d'installation native. Si vous n'avez pas installé Claude Code d'une autre manière, par exemple avec npm ou WinGet, [installez Claude Code](/docs/fr/setup#install-claude-code).

257 </Tab>323 </Tab>

258</Tabs>324</Tabs>

259 325 


368 Le script d'installation retourne du HTML au lieu d'un script shell434 Le script d'installation retourne du HTML au lieu d'un script shell

369</h3>435</h3>

370 436 

371Lors de l'exécution de la commande d'installation, vous pouvez voir l'une de ces erreurs :437La commande d'installation échoue avec l'une de ces erreurs lorsque ce qu'elle a téléchargé n'est pas le script d'installation.

438 

439**Bash ou Zsh** : l'erreur cite la première ligne de la page retournée.

372 440 

373```text theme={null}441```text theme={null}

374bash: line 1: syntax error near unexpected token `<'442bash: line 1: syntax error near unexpected token `<'

375bash: line 1: `<!DOCTYPE html>'443bash: line 1: `<!DOCTYPE html>'

376```444```

377 445 

378Sur PowerShell, le même problème apparaît sous forme d'erreurs d'analyse pointant vers la page retournée, avec `iex` essayant d'exécuter du HTML et du CSS en tant que PowerShell :446**PowerShell, erreurs d'analyse** : les erreurs pointent vers la page retournée, avec `iex` qui essaie d'exécuter du HTML et du CSS en tant que PowerShell.

379 447 

380```text theme={null}448```text theme={null}

381iex : At line:1 char:2310449iex : At line:1 char:2310


384...452...

385```453```

386 454 

387La formulation varie selon la version de PowerShell et la langue du système : vous pouvez voir `Missing expression after unary operator '--'` ou une `ParserError` avec `ParseException` à la place. Les balises HTML ou le CSS dans le texte entre guillemets identifient cet échec. Si vous téléchargez avec `-OutFile install.ps1` à la place, le fichier enregistré est la même page web, donc cela n'aide pas non plus.455La formulation varie selon la version de PowerShell et la langue du système : vous pouvez voir `Missing expression after unary operator '--'` ou une `ParserError` avec `ParseException` à la place. Les balises HTML ou le CSS dans le texte cité identifient cet échec. Si vous téléchargez avec `-OutFile install.ps1` à la place, le fichier enregistré est la même page web, donc cela n'aide pas non plus.

388 456 

389Selon la façon dont la requête a été routée, vous pouvez à la place voir une erreur 403 sans corps HTML :457**PowerShell, `System.Xml.XmlDocument`** : l'erreur nomme ce type au lieu de citer la page.

458 

459```text theme={null}

460System.Xml.XmlDocument : The term 'System.Xml.XmlDocument' is not recognized as the name of a cmdlet, function, script

461file, or operable program.

462```

463 

464Lorsque `irm` peut analyser la réponse en tant que XML, il retourne un objet XML au lieu de texte, et `iex` essaie alors d'exécuter le nom de type de cet objet en tant que commande. Le script d'installation est du code PowerShell et ne s'analyse pas en tant que XML, donc cette erreur signifie également que la réponse était autre chose que le script. La formulation autour du nom de type varie selon la version de PowerShell et la langue du système, mais `System.Xml.XmlDocument` lui-même reste identique, donc basez-vous sur le nom de type.

465 

466**CMD** : vous voyez cette erreur, suivie du HTML de la page retournée.

467 

468```text theme={null}

469< was unexpected at this time.

470 

471C:\Users\you><!DOCTYPE html>...

472```

473 

474La première ligne apparaît dans la langue de votre système, donc recherchez le HTML qui la suit.

475 

476**Une erreur 403 sans page** : selon la façon dont la requête a été routée, curl signale un statut 403 sans corps HTML.

390 477 

391```text theme={null}478```text theme={null}

392curl: (22) The requested URL returned error: 403479curl: (22) The requested URL returned error: 403

393```480```

394 481 

395Tous ces cas signifient que l'URL d'installation a retourné une page HTML ou un statut d'erreur au lieu du script d'installation. Si la page HTML indique « App unavailable in region », Claude Code n'est pas disponible dans votre pays. Consultez les [pays pris en charge](https://www.anthropic.com/supported-countries).482Tous ces cas signifient que l'URL d'installation a retourné une page web, un document XML ou un statut d'erreur au lieu du script d'installation. Si la sortie d'erreur cite « App unavailable in region », Claude Code n'est pas disponible dans votre pays. Consultez les [pays pris en charge](https://www.anthropic.com/supported-countries).

396 483 

397Une erreur 403 nue sans corps a souvent la même cause, mais elle peut aussi provenir d'un proxy d'entreprise ou d'un pare-feu bloquant le téléchargement. Si vous êtes dans un pays pris en charge et voyez toujours l'erreur 403, consultez [Vérifier la connectivité réseau](#check-network-connectivity) avant d'essayer les programmes d'installation alternatifs ci-dessous, car ceux-ci accèdent aux mêmes hôtes.484Une erreur 403 nue sans corps a souvent la même cause, mais elle peut aussi provenir d'un proxy d'entreprise ou d'un pare-feu bloquant le téléchargement. Si vous êtes dans un pays pris en charge et voyez toujours l'erreur 403, consultez [Vérifier la connectivité réseau](#check-network-connectivity) avant d'essayer les programmes d'installation alternatifs ci-dessous, car ceux-ci accèdent aux mêmes hôtes.

398 485 


400 487 

401**Solutions :**488**Solutions :**

402 489 

4031. **Utilisez une méthode d'installation alternative** :4901. **Réessayez après quelques minutes** : le problème est souvent temporaire. Attendez et réessayez la commande d'origine.

491 

4922. **Utilisez une méthode d'installation alternative** : contrairement à une installation native, une installation Homebrew ou WinGet [ne se met pas à jour automatiquement par défaut](/docs/fr/setup#auto-updates).

404 493 

405 Sur macOS, installez via Homebrew :494 Sur macOS, installez via Homebrew :

406 495 


416 505 

417 Ensuite, 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`.506 Ensuite, 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`.

418 507 

4192. **Réessayez après quelques minutes** : le problème est souvent temporaire. Attendez et réessayez la commande d'origine.

420 

421<h3 id="command-not-found-claude-after-installation">508<h3 id="command-not-found-claude-after-installation">

422 `command not found: claude` après l'installation509 `command not found: claude` après l'installation

423</h3>510</h3>


435 522 

436Sinon, consultez [Vérifier votre PATH](#verify-your-path) pour la correction sur chaque plateforme.523Sinon, consultez [Vérifier votre PATH](#verify-your-path) pour la correction sur chaque plateforme.

437 524 

525<h3 id="permission-denied-when-adding-to-your-path">

526 `permission denied` lors de l'ajout à votre PATH

527</h3>

528 

529Si la commande `echo` qui ajoute `~/.local/bin` à votre PATH affiche `zsh: permission denied: /Users/you/.zshrc` ou `bash: /home/you/.bashrc: Permission denied`, votre utilisateur ne peut pas écrire dans ce fichier et rien n'a été enregistré. Dans votre terminal, vérifiez à qui appartient le fichier, en utilisant le nom de fichier de votre shell à la place de `~/.zshrc` :

530 

531```bash theme={null}

532ls -l ~/.zshrc

533```

534 

535Le troisième champ de la sortie est le propriétaire.

536 

537* **Le propriétaire est un autre utilisateur, tel que `root`** : prenez possession du fichier avec `sudo chown $(whoami) ~/.zshrc`, ce qui nécessite des droits d'administrateur.

538* **Le propriétaire est vous** : le fichier est en lecture seule. Rendez-le accessible en écriture avec `chmod u+w ~/.zshrc`.

539 

540Ensuite, exécutez à nouveau les deux commandes PATH correspondant à votre shell dans [Vérifier votre PATH](#verify-your-path).

541 

438<h3 id="curl-56-failure-writing-output-to-destination">542<h3 id="curl-56-failure-writing-output-to-destination">

439 `curl: (56) Failure writing output to destination`543 `curl: (56) Failure writing output to destination`

440</h3>544</h3>


456 560 

457Si Homebrew installe une version de Claude Code plus ancienne que celle attendue, le même index obsolète en est généralement la cause. Le cask `claude-code` suit le canal stable et est généralement environ une semaine en retard sur la dernière version ; pour la version la plus récente, exécutez `brew install --cask claude-code@latest` à la place. Consultez [Configurer le canal de version](/docs/fr/setup#configure-release-channel) pour connaître la différence entre les deux casks.561Si Homebrew installe une version de Claude Code plus ancienne que celle attendue, le même index obsolète en est généralement la cause. Le cask `claude-code` suit le canal stable et est généralement environ une semaine en retard sur la dernière version ; pour la version la plus récente, exécutez `brew install --cask claude-code@latest` à la place. Consultez [Configurer le canal de version](/docs/fr/setup#configure-release-channel) pour connaître la différence entre les deux casks.

458 562 

563<h3 id="cask-is-not-installed">

564 `Cask 'claude-code@latest' is not installed`

565</h3>

566 

567Homebrew propose deux casks, `claude-code` et `claude-code@latest`. Exécuter `brew upgrade --cask claude-code@latest` lorsque ce cask n'est pas celui qui est installé affiche `Error: Cask 'claude-code@latest' is not installed.` Pour savoir quel cask vous avez, exécutez ceci dans votre terminal :

568 

569```bash theme={null}

570brew list --cask | grep claude-code

571```

572 

573Mettez à niveau le cask affiché. Si rien n'est affiché, aucun des deux casks n'est installé.

574 

459<h3 id="tls-or-ssl-connection-errors">575<h3 id="tls-or-ssl-connection-errors">

460 Erreurs de connexion TLS ou SSL576 Erreurs de connexion TLS ou SSL

461</h3>577</h3>


467* Le `Could not create SSL/TLS secure channel` de PowerShell583* Le `Could not create SSL/TLS secure channel` de PowerShell

468* Le `Could not establish trust relationship for the SSL/TLS secure channel` de PowerShell584* Le `Could not establish trust relationship for the SSL/TLS secure channel` de PowerShell

469 585 

586Pour `CRYPT_E_NO_REVOCATION_CHECK` ou `CRYPT_E_REVOCATION_OFFLINE`, passez à l'étape 4.

587 

470**Solutions :**588**Solutions :**

471 589 

4721. **Mettez à jour vos certificats CA système** :5901. **Mettez à jour vos certificats CA système** :


479 597 

480 Sur macOS, le curl système utilise le magasin de confiance Keychain ; la mise à jour de macOS lui-même met à jour les certificats racine.598 Sur macOS, le curl système utilise le magasin de confiance Keychain ; la mise à jour de macOS lui-même met à jour les certificats racine.

481 599 

4822. **Sur Windows, activez TLS 1.2** dans PowerShell avant d'exécuter le programme d'installation :6002. **Dans Windows PowerShell 5.1, activez TLS 1.2** :

483 ```powershell theme={null}601 ```powershell theme={null}

484 [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12602 [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12

603 ```

604 Ensuite, exécutez le programme d'installation dans la même fenêtre :

605 ```powershell theme={null}

485 irm https://claude.ai/install.ps1 | iex606 irm https://claude.ai/install.ps1 | iex

486 ```607 ```

487 608 

4883. **Vérifiez l'interférence du proxy ou du pare-feu** : les proxies d'entreprise qui effectuent une inspection TLS peuvent causer ces erreurs, y compris `unable to get local issuer certificate` et `SELF_SIGNED_CERT_IN_CHAIN`. Pour l'étape d'installation, faites en sorte que le téléchargement d'installation fasse confiance à l'autorité de certification de votre proxy d'entreprise :6093. **Vérifiez l'interférence du proxy ou du pare-feu** : les proxys d'entreprise qui effectuent une inspection TLS peuvent causer ces erreurs, y compris `unable to get local issuer certificate` et `SELF_SIGNED_CERT_IN_CHAIN`. Pour l'étape d'installation, faites en sorte que le téléchargement d'installation fasse confiance à l'autorité de certification de votre proxy d'entreprise :

489 610 

490 <Tabs>611 <Tabs>

491 <Tab title="macOS/Linux">612 <Tab title="macOS/Linux">


521 642 

522 Demandez à votre équipe informatique le fichier de certificat si vous ne l'avez pas. Vous pouvez également essayer sur une connexion directe pour confirmer que le proxy en est la cause.643 Demandez à votre équipe informatique le fichier de certificat si vous ne l'avez pas. Vous pouvez également essayer sur une connexion directe pour confirmer que le proxy en est la cause.

523 644 

5244. **Sur Windows, contournez les vérifications de révocation bloquées**. Les erreurs `CRYPT_E_NO_REVOCATION_CHECK (0x80092012)` et `CRYPT_E_REVOCATION_OFFLINE (0x80092013)` signifient que curl a atteint le serveur mais votre réseau bloque la recherche de révocation de certificat, ce qui est courant derrière les pare-feu d'entreprise. Si la commande défaillante est le `curl` qui télécharge `install.cmd`, réexécutez-la à partir d'une invite de commande avec `--ssl-revoke-best-effort` ajouté :6454. **Sur Windows, contournez les vérifications de révocation bloquées**. Les erreurs `CRYPT_E_NO_REVOCATION_CHECK (0x80092012)` et `CRYPT_E_REVOCATION_OFFLINE (0x80092013)` signifient que curl a atteint le serveur mais votre réseau bloque la recherche de révocation de certificat, ce qui est courant derrière les pare-feu d'entreprise. Si la commande défaillante est le `curl` qui télécharge `install.cmd`, réexécutez-la à partir d'une invite de commandes avec `--ssl-revoke-best-effort` ajouté :

525 ```batch theme={null}646 ```batch theme={null}

526 curl --ssl-revoke-best-effort -fsSL https://claude.ai/install.cmd -o install.cmd && install.cmd && del install.cmd647 curl --ssl-revoke-best-effort -fsSL https://claude.ai/install.cmd -o install.cmd && install.cmd && del install.cmd

527 ```648 ```

528 Lorsque les téléchargements du script lui-même rencontrent les mêmes erreurs, il les réessaie automatiquement avec la vérification de révocation au mieux, donc l'indicateur n'est nécessaire que sur la commande que vous exécutez vous-même. La vérification au mieux tolère un serveur de révocation inaccessible mais rejette toujours un certificat connu pour être révoqué, ce qui correspond à la façon dont les navigateurs gèrent la révocation. Vous pouvez également éviter entièrement la vérification de révocation de curl en exécutant le programme d'installation PowerShell à partir de PowerShell, qui télécharge via .NET et ne échoue pas lorsque le serveur de révocation est inaccessible :649 Lorsque les téléchargements du script lui-même rencontrent les mêmes erreurs, il les réessaie automatiquement avec la vérification de révocation au mieux, donc le flag n'est nécessaire que sur la commande que vous exécutez vous-même. La vérification au mieux tolère un serveur de révocation inaccessible mais rejette toujours un certificat connu pour être révoqué, ce qui correspond à la façon dont les navigateurs gèrent la révocation. Vous pouvez également éviter entièrement la vérification de révocation de curl en exécutant le programme d'installation PowerShell à partir de PowerShell, qui télécharge via .NET et n'échoue pas lorsque le serveur de révocation est inaccessible :

529 ```powershell theme={null}650 ```powershell theme={null}

530 irm https://claude.ai/install.ps1 | iex651 irm https://claude.ai/install.ps1 | iex

531 ```652 ```


537 658 

538Le programme d'installation n'a pas pu atteindre le serveur de téléchargement. Cela signifie généralement que `downloads.claude.ai` est bloqué sur votre réseau. Consultez [Vérifier la connectivité réseau](#check-network-connectivity).659Le programme d'installation n'a pas pu atteindre le serveur de téléchargement. Cela signifie généralement que `downloads.claude.ai` est bloqué sur votre réseau. Consultez [Vérifier la connectivité réseau](#check-network-connectivity).

539 660 

661<h3 id="the-connection-dropped-while-downloading-the-update">

662 The connection dropped while downloading the update

663</h3>

664 

665La connexion au serveur de téléchargement s'est fermée pendant que `claude install` ou `claude update` récupérait le binaire Claude Code, et les nouvelles tentatives n'ont pas permis de reprendre. Claude Code réessaie le téléchargement lorsque la connexion est interrompue, que le transfert se bloque ou que le fichier téléchargé échoue à la vérification de sa somme de contrôle, jusqu'à trois tentatives au total. Une erreur HTTP aboutie, telle qu'une 404, n'est pas réessayée, car le serveur a déjà répondu. Avant v2.1.202, une seule connexion interrompue faisait échouer immédiatement le téléchargement avec l'erreur brute `aborted` au lieu de réessayer.

666 

667```text theme={null}

668The connection dropped while downloading the update (attempt 3/3: aborted). Check your network — proxies sometimes cut off large downloads.

669```

670 

671Le texte entre parenthèses indique quelle tentative a échoué et l'erreur réseau sous-jacente. `claude update` fait précéder le message de `Error: Failed to install native update` sur stderr.

672 

673Un téléchargement qui reste connecté mais ne se termine pas dans les 10 minutes échoue plutôt avec `Download timed out: exceeded the total deadline`. Claude Code ne réessaie pas un téléchargement ayant expiré, car une connexion trop lente pour terminer dans le délai imparti ne terminera pas non plus lors d'une nouvelle tentative immédiate. Les étapes ci-dessous s'appliquent aux deux messages.

674 

675Un proxy ou une passerelle peut fermer un long transfert avant qu'il ne se termine, et le binaire Claude Code est un téléchargement volumineux.

676 

677**Que faire :**

678 

679* Exécutez à nouveau `claude update`. Sur un réseau par ailleurs sain, le téléchargement réussit généralement à l'exécution suivante. Pour le message d'expiration, exécutez-le à nouveau depuis un réseau plus rapide ou moins bridé.

680* Si votre réseau nécessite un proxy, définissez `HTTPS_PROXY` avant d'exécuter le programme d'installation ou `claude update`. Consultez [Vérifier la connectivité réseau](#check-network-connectivity).

681* Si un proxy d'entreprise continue de fermer le transfert, demandez à votre équipe réseau d'autoriser le téléchargement complet depuis `downloads.claude.ai`. Consultez [Exigences d'accès réseau](/docs/fr/network-config#network-access-requirements).

682* Exécutez `claude doctor` depuis votre shell pour obtenir des diagnostics d'installation

683 

540<h3 id="wrong-install-command-on-windows">684<h3 id="wrong-install-command-on-windows">

541 Mauvaise commande d'installation sur Windows685 Mauvaise commande d'installation sur Windows

542</h3>686</h3>


562 irm https://claude.ai/install.ps1 | iex706 irm https://claude.ai/install.ps1 | iex

563 ```707 ```

564 708 

565* **`A parameter cannot be found that matches parameter name 'fsSL'`** : vous avez exécuté le programme d'installation `curl -fsSL ... | bash` macOS/Linux dans Windows PowerShell, où `curl` est un alias pour `Invoke-WebRequest` et rejette les indicateurs `-fsSL`. Utilisez le programme d'installation PowerShell à la place :709* **`A parameter cannot be found that matches parameter name 'fsSL'`** : vous avez exécuté le programme d'installation `curl -fsSL ... | bash` macOS/Linux dans Windows PowerShell, où `curl` est un alias pour `Invoke-WebRequest` et rejette les flags `-fsSL`. Utilisez le programme d'installation PowerShell à la place :

566 ```powershell theme={null}710 ```powershell theme={null}

567 irm https://claude.ai/install.ps1 | iex711 irm https://claude.ai/install.ps1 | iex

568 ```712 ```


572 irm https://claude.ai/install.ps1 | iex716 irm https://claude.ai/install.ps1 | iex

573 ```717 ```

574 718 

575* **La commande affiche le texte du script au lieu d'installer** : vous avez exécuté la moitié du téléchargement de la commande sans la partie qui l'exécute. `irm https://claude.ai/install.ps1` seul affiche le script téléchargé au terminal. Transmettez-le à `iex` pour l'exécuter :719* **La commande affiche le texte du script au lieu d'installer** : vous avez exécuté la moitié du téléchargement de la commande sans la partie qui l'exécute. `irm https://claude.ai/install.ps1` seul affiche le script téléchargé dans le terminal. Transmettez-le à `iex` pour l'exécuter :

576 720 

577 ```powershell theme={null}721 ```powershell theme={null}

578 irm https://claude.ai/install.ps1 | iex722 irm https://claude.ai/install.ps1 | iex


682 826 

6833. **Utilisez une instance plus grande** si possible. Claude Code nécessite au moins 4 Go de RAM.8273. **Utilisez une instance plus grande** si possible. Claude Code nécessite au moins 4 Go de RAM.

684 828 

829<h3 id="installation-was-killed-before-it-could-finish">

830 Installation was killed before it could finish

831</h3>

832 

833Le script d'installation signale lorsque l'étape `claude install` est terminée par un signal. Sur Linux, le code de sortie 137 signifie que le processus a reçu SIGKILL, et sur un hôte à faible mémoire, il s'agit généralement du tueur de mémoire insuffisante (OOM) du noyau. Le script affiche cette explication et se termine avec le code 137 :

834 

835```text theme={null}

836Installation was killed before it could finish (exit code 137). This usually means the system ran out of memory.

837Claude Code needs roughly 512MB of free memory to install. Free up memory, then run this script again.

838```

839 

840Pour tout autre signal fatal, et pour le code de sortie 137 sur macOS, le script affiche `Installation was killed before it could finish (exit code <N>)` avec le code de sortie réel et omet l'explication relative à la mémoire insuffisante. Le message provient du script d'installation utilisé par macOS et Linux, qui couvre également les installations dans WSL ; les scripts d'installation Windows natifs ne l'affichent jamais. Avant v2.1.200, le script se terminait uniquement avec la simple ligne `Killed` du shell.

841 

842**Que faire :**

843 

844* Arrêtez d'autres processus pour libérer de la mémoire, puis réexécutez le programme d'installation

845* Ajoutez de l'espace d'échange ou passez à une instance plus grande. Consultez [Installation arrêtée sur les serveurs Linux à faible mémoire](#install-killed-on-low-memory-linux-servers) pour les commandes du fichier d'échange.

846 

685<h3 id="install-hangs-in-docker">847<h3 id="install-hangs-in-docker">

686 L'installation se bloque dans Docker848 L'installation se bloque dans Docker

687</h3>849</h3>


696 RUN curl -fsSL https://claude.ai/install.sh | bash858 RUN curl -fsSL https://claude.ai/install.sh | bash

697 ```859 ```

698 860 

6992. **Donnez à Docker plus de mémoire** si vous utilisez Docker Desktop. Les conteneurs de construction partagent la mémoire allouée à la machine virtuelle Docker Desktop, donc ouvrez **Settings > Resources** dans Docker Desktop, augmentez la limite de mémoire et réexécutez la construction.8612. **Donnez à Docker plus de mémoire** si vous utilisez Docker Desktop. Les conteneurs de build partagent la mémoire allouée à la machine virtuelle Docker Desktop, donc ouvrez **Settings > Resources** dans Docker Desktop, augmentez la limite de mémoire et relancez le build.

700 862 

701<h3 id="raw-mode-is-not-supported-during-install">863<h3 id="raw-mode-is-not-supported-during-install">

702 `Raw mode is not supported` lors de l'installation864 `Raw mode is not supported` lors de l'installation


754 916 

755**Si PowerShell manque de votre PATH**, son emplacement par défaut est `C:\Windows\System32\WindowsPowerShell\v1.0\`. Ajoutez ce répertoire à votre `PATH`, ou installez [PowerShell 7](https://aka.ms/powershell), qui fournit `pwsh`.917**Si PowerShell manque de votre PATH**, son emplacement par défaut est `C:\Windows\System32\WindowsPowerShell\v1.0\`. Ajoutez ce répertoire à votre `PATH`, ou installez [PowerShell 7](https://aka.ms/powershell), qui fournit `pwsh`.

756 918 

757**Pour installer Git for Windows à la place**, téléchargez-le depuis [git-scm.com/downloads/win](https://git-scm.com/downloads/win). Lors de la configuration, sélectionnez « Add to PATH ». Redémarrez votre terminal après l'installation. L'installation l'active, ce qui active l'outil Bash, utile lorsque vous travaillez avec des scripts et des outils basés sur Bash.919**Pour installer Git for Windows à la place**, téléchargez-le depuis [git-scm.com/downloads/win](https://git-scm.com/downloads/win). Lors de la configuration, sélectionnez « Add to PATH ». Redémarrez votre terminal après l'installation. Son installation active l'outil Bash, utile lorsque vous travaillez avec des scripts et des outils basés sur Bash.

758 920 

759**Si Git est déjà installé** mais Claude Code ne peut pas le trouver, comparez son emplacement par rapport aux endroits où Claude Code cherche. Lorsque `CLAUDE_CODE_GIT_BASH_PATH` n'est pas défini, Claude Code cherche `bash.exe` dans cet ordre :921**Si Git est déjà installé** mais Claude Code ne peut pas le trouver, comparez son emplacement par rapport aux endroits où Claude Code cherche. Lorsque `CLAUDE_CODE_GIT_BASH_PATH` n'est pas défini, Claude Code cherche `bash.exe` dans cet ordre :

760 922 


773}935}

774```936```

775 937 

776**Si `CLAUDE_CODE_GIT_BASH_PATH` est défini sur le chemin correct et que le fichier existe** mais Claude Code ne l'utilise toujours pas, vérifiez d'abord le nom du fichier. Claude Code n'accepte qu'un fichier nommé `bash.exe`, `sh.exe`, `bash`, ou `sh` ; avec tout autre nom, tel que le lanceur `git-bash.exe` de Git for Windows, il ignore la variable et détecte automatiquement Git Bash comme s'il n'était pas défini, en enregistrant un avertissement visible avec `--debug`. Un chemin qui n'existe pas obtient le même repli et avertissement. Avant v2.1.219, Claude Code utilisait n'importe quel fichier existant comme shell sans vérifier son nom, et se terminait au démarrage avec `Claude Code was unable to find CLAUDE_CODE_GIT_BASH_PATH path` lorsque le chemin n'existait pas.938**Si `CLAUDE_CODE_GIT_BASH_PATH` est défini sur le chemin correct et que le fichier existe** mais Claude Code ne l'utilise toujours pas, vérifiez d'abord le nom du fichier. Claude Code n'accepte qu'un fichier nommé `bash.exe`, `sh.exe`, `bash`, ou `sh` ; avec tout autre nom, tel que le lanceur `git-bash.exe` de Git for Windows, il ignore la variable et détecte automatiquement Git Bash comme s'il n'était pas défini, en enregistrant un avertissement visible avec `--debug`. Un chemin qui n'existe pas obtient la même solution de repli et le même avertissement. Avant v2.1.219, Claude Code utilisait n'importe quel fichier existant comme shell sans vérifier son nom, et se terminait au démarrage avec `Claude Code was unable to find CLAUDE_CODE_GIT_BASH_PATH path` lorsque le chemin n'existait pas.

777 939 

778Si le nom du fichier est correct, un logiciel de sécurité des points de terminaison tel que AppLocker, les stratégies de restriction logicielle de la stratégie de groupe, ou les agents EDR peuvent interférer. Demandez à votre équipe informatique de mettre en liste blanche `claude.exe` et les processus qu'il génère, y compris `cmd.exe` et `bash.exe`, dans votre politique de protection des points de terminaison.940Si le nom du fichier est correct, un logiciel de sécurité des endpoints tel que AppLocker, les stratégies de restriction logicielle de la stratégie de groupe, ou les agents EDR peuvent interférer. Demandez à votre équipe informatique d'ajouter `claude.exe` et les processus qu'il génère, y compris `cmd.exe` et `bash.exe`, à la liste d'autorisation de votre politique de protection des endpoints.

779 941 

780<h3 id="claude-code-does-not-support-32-bit-windows">942<h3 id="claude-code-does-not-support-32-bit-windows">

781 Claude Code ne prend pas en charge Windows 32 bits943 Claude Code ne prend pas en charge Windows 32 bits

782</h3>944</h3>

783 945 

784Windows inclut deux entrées PowerShell dans le menu Démarrer : `Windows PowerShell` et `Windows PowerShell (x86)`. L'entrée x86 s'exécute en tant que processus 32 bits et déclenche cette erreur même sur une machine 64 bits. Pour vérifier quel cas vous êtes, exécutez ceci dans la même fenêtre qui a produit l'erreur :946Windows inclut deux entrées PowerShell dans le menu Démarrer : `Windows PowerShell` et `Windows PowerShell (x86)`. L'entrée x86 s'exécute en tant que processus 32 bits et déclenche cette erreur même sur une machine 64 bits. Pour vérifier dans quel cas vous êtes, exécutez ceci dans la même fenêtre qui a produit l'erreur :

785 947 

786```powershell theme={null}948```powershell theme={null}

787[Environment]::Is64BitOperatingSystem949[Environment]::Is64BitOperatingSystem


817 ```bash theme={null}979 ```bash theme={null}

818 apk add libgcc libstdc++ ripgrep980 apk add libgcc libstdc++ ripgrep

819 ```981 ```

820 Sur Alpine, `ripgrep` se trouve dans le référentiel communautaire. Si `apk` signale que le package manque, consultez [Configuration Alpine Linux](/docs/fr/setup#alpine-linux-and-musl-based-distributions).982 Sur Alpine, `ripgrep` se trouve dans le dépôt communautaire. Si `apk` signale que le package manque, consultez [Configuration Alpine Linux](/docs/fr/setup#alpine-linux-and-musl-based-distributions).

821 983 

822<h3 id="illegal-instruction">984<h3 id="illegal-instruction">

823 `Illegal instruction`985 `Illegal instruction`


963 1125 

964Vérifiez les causes suivantes :1126Vérifiez les causes suivantes :

965 1127 

966* **Les dépendances optionnelles sont désactivées.** Supprimez `--omit=optional` de votre commande d'installation npm, `--no-optional` de pnpm, ou `--ignore-optional` de yarn, et vérifiez que `.npmrc` ne définit pas `optional=false`. Ensuite, réinstallez. Le binaire natif est livré uniquement en tant que dépendance optionnelle, il n'y a donc pas de secours JavaScript s'il est ignoré, et l'exécution de `install.cjs` à nouveau ne peut pas placer un binaire qui n'a jamais été téléchargé.1128* **Les dépendances optionnelles sont désactivées.** Supprimez `--omit=optional` de votre commande d'installation npm, `--no-optional` de pnpm, ou `--ignore-optional` de yarn, et vérifiez que `.npmrc` ne définit pas `optional=false`. Ensuite, réinstallez. Le binaire natif est livré uniquement en tant que dépendance optionnelle, il n'y a donc pas de solution de repli JavaScript s'il est ignoré, et l'exécution de `install.cjs` à nouveau ne peut pas placer un binaire qui n'a jamais été téléchargé.

967* **Les scripts d'installation sont désactivés.** `--ignore-scripts` et certaines configurations pnpm ignorent l'étape postinstall mais téléchargent toujours le package de plateforme. Exécutez `node node_modules/@anthropic-ai/claude-code/install.cjs` comme le suggère le message, ou réinstallez sans l'indicateur. Si postinstall ne peut pas s'exécuter du tout dans votre environnement, `node node_modules/@anthropic-ai/claude-code/cli-wrapper.cjs` trouve le package téléchargé et le lance, au prix d'un processus Node supplémentaire à chaque démarrage. Si l'enveloppe affiche `Could not find native binary package` à la place, le package de plateforme n'a jamais été téléchargé, donc corrigez d'abord la cause des dépendances optionnelles ci-dessus.1129* **Les scripts d'installation sont désactivés.** `--ignore-scripts` et certaines configurations pnpm ignorent l'étape postinstall mais téléchargent toujours le package de plateforme. Exécutez `node node_modules/@anthropic-ai/claude-code/install.cjs` comme le suggère le message, ou réinstallez sans le flag. Si postinstall ne peut pas s'exécuter du tout dans votre environnement, `node node_modules/@anthropic-ai/claude-code/cli-wrapper.cjs` trouve le package téléchargé et le lance, au prix d'un processus Node supplémentaire à chaque démarrage. Si l'enveloppe affiche `Could not find native binary package` à la place, le package de plateforme n'a jamais été téléchargé, donc corrigez d'abord la cause des dépendances optionnelles ci-dessus.

968* **Plateforme non prise en charge.** Les binaires précompilés sont publiés pour `darwin-arm64`, `darwin-x64`, `linux-x64`, `linux-arm64`, `linux-x64-musl`, `linux-arm64-musl`, `win32-x64`, et `win32-arm64`. Claude Code ne livre pas de binaire pour d'autres plateformes ; consultez les [exigences système](/docs/fr/setup#system-requirements). Sur FreeBSD, le programme d'installation signale la plateforme comme non prise en charge. Avant v2.1.205, il traitait FreeBSD comme Linux et téléchargeait un binaire qui ne pouvait pas s'exécuter.1130* **Plateforme non prise en charge.** Les binaires précompilés sont publiés pour `darwin-arm64`, `darwin-x64`, `linux-x64`, `linux-arm64`, `linux-x64-musl`, `linux-arm64-musl`, `win32-x64`, et `win32-arm64`. Claude Code ne livre pas de binaire pour d'autres plateformes ; consultez les [exigences système](/docs/fr/setup#system-requirements). Sur FreeBSD, le programme d'installation signale la plateforme comme non prise en charge. Avant v2.1.205, il traitait FreeBSD comme Linux et téléchargeait un binaire qui ne pouvait pas s'exécuter.

969* **Le miroir npm d'entreprise manque les packages de plateforme.** Assurez-vous que votre registre met en miroir les huit packages `@anthropic-ai/claude-code-*` de plateforme en plus du package méta.1131* **Le miroir npm d'entreprise manque les packages de plateforme.** Assurez-vous que votre registre met en miroir les huit packages `@anthropic-ai/claude-code-*` de plateforme en plus du package méta.

970 1132 

Details

11| Symptôme | Aller à |11| Symptôme | Aller à |

12| :- | :- |12| :- | :- |

13| `command not found`, l'installation échoue, problèmes de PATH, `EACCES`, erreurs TLS | [Dépanner l'installation et la connexion](/docs/fr/troubleshoot-install) |13| `command not found`, l'installation échoue, problèmes de PATH, `EACCES`, erreurs TLS | [Dépanner l'installation et la connexion](/docs/fr/troubleshoot-install) |

14| Mise à jour ou l'installation du téléchargement échoue avec `The connection dropped while downloading the update` ou `aborted` | [Référence des erreurs](/docs/fr/errors#the-connection-dropped-while-downloading-the-update) |14| Le téléchargement de la mise à jour ou de l'installation échoue avec `The connection dropped while downloading the update` ou `aborted` | [Dépanner l'installation et la connexion](/docs/fr/troubleshoot-install#the-connection-dropped-while-downloading-the-update) |

15| Boucles de connexion, erreurs OAuth, `403 Forbidden`, « organisation désactivée », identifiants Amazon Bedrock, Google Cloud's Agent Platform ou Microsoft Foundry | [Dépanner l'installation et la connexion](/docs/fr/troubleshoot-install#login-and-authentication) |15| Boucles de connexion, erreurs OAuth, `403 Forbidden`, « organisation désactivée », identifiants Amazon Bedrock, Google Cloud's Agent Platform ou Microsoft Foundry | [Dépanner l'installation et la connexion](/docs/fr/troubleshoot-install#login-and-authentication) |

16| Les paramètres ne s'appliquent pas, les hooks ne se déclenchent pas, les serveurs MCP ne se chargent pas | [Déboguer votre configuration](/docs/fr/debug-your-config) |16| Les paramètres ne s'appliquent pas, les hooks ne se déclenchent pas, les serveurs MCP ne se chargent pas | [Déboguer votre configuration](/docs/fr/debug-your-config) |

17| Session démarrée en mode auto, ou Claude modifie les fichiers et exécute les commandes sans demander | [Mode de démarrage d'une session](/docs/fr/permission-modes#which-mode-a-session-starts-in) |17| Session démarrée en mode auto, ou Claude modifie les fichiers et exécute les commandes sans demander | [Mode de démarrage d'une session](/docs/fr/permission-modes#which-mode-a-session-starts-in) |

ultrareview.md +6 −6

Details

56 Examiner une demande de tirage56 Examiner une demande de tirage

57</h3>57</h3>

58 58 

59Pour examiner une demande de tirage GitHub au lieu d'une branche locale, transmettez le numéro de PR :59Pour examiner une pull request sur `github.com` au lieu d'une branche locale, transmettez le numéro de PR :

60 60 

61```text theme={null}61```text theme={null}

62/code-review ultra 123462/code-review ultra 1234


64 64 

65La commande accepte également `#1234`, `PR 1234` et les URL de PR collées ; une URL collée doit pointer vers le référentiel dans votre répertoire actuel.65La commande accepte également `#1234`, `PR 1234` et les URL de PR collées ; une URL collée doit pointer vers le référentiel dans votre répertoire actuel.

66 66 

67En mode PR, le sandbox cloud clone la demande de tirage directement depuis l'hôte plutôt que de regrouper votre arborescence de travail locale. Le mode PR fonctionne avec les référentiels sur `github.com` et sur les instances [GitHub Enterprise Server](/docs/fr/github-enterprise-server) qu'un propriétaire a connectées à Claude Code.67Le mode PR nécessite un dépôt sur `github.com`. Pour un dépôt sur une instance [GitHub Enterprise Server](/docs/fr/github-enterprise-server), exécutez `/code-review ultra` sans numéro de PR pour examiner plutôt votre branche locale.

68 68 

69Pour les référentiels sur `github.com`, le sandbox clone avec le compte GitHub connecté à votre compte Claude, donc le compte doit pouvoir lire le référentiel de la PR.69En mode PR, le sandbox cloud clone la pull request depuis `github.com` au lieu de charger votre arborescence de travail. Il utilise le compte GitHub connecté à votre compte Claude, ce compte doit donc disposer d'un accès en lecture au dépôt.

70 70 

71Exécutez [`/web-setup`](/docs/fr/web-quickstart#connect-from-your-terminal) pour connecter votre connexion GitHub CLI à votre compte Claude.71Exécutez [`/web-setup`](/docs/fr/web-quickstart#connect-from-your-terminal) pour connecter votre connexion GitHub CLI à votre compte Claude.

72 72 


74 Publier les résultats sur la demande de tirage74 Publier les résultats sur la demande de tirage

75</h3>75</h3>

76 76 

77Sur Claude Code v2.1.227 ou version ultérieure, lorsque vous examinez une demande de tirage sur `github.com`, vous pouvez faire en sorte que Claude publie les résultats terminés sur la PR en tant que commentaire simple unique depuis votre propre compte GitHub. Le commentaire n'est pas une revue ou une approbation, et il se termine par une note « Généré par Claude Code ». Lorsque vous examinez une branche ou une demande de tirage GitHub Enterprise Server, Claude Code affiche les résultats dans votre session uniquement.77Sur Claude Code v2.1.227 ou version ultérieure, lorsque vous examinez une pull request sur `github.com`, vous pouvez faire en sorte que Claude publie les résultats terminés sur la PR en tant que commentaire simple unique depuis votre propre compte GitHub. Le commentaire n'est pas une revue ou une approbation, et il se termine par une note « Generated by Claude Code ». Lorsque vous examinez une branche, Claude Code affiche les résultats dans votre session uniquement.

78 78 

79Claude Code ne publie jamais sauf si vous le choisissez sur cette exécution, et `--no-post` est la valeur par défaut. La publication est un choix que vous faites pour chaque exécution :79Claude Code ne publie jamais sauf si vous le choisissez sur cette exécution, et `--no-post` est la valeur par défaut. La publication est un choix que vous faites pour chaque exécution :

80 80 


106Claude Code traite votre texte comme une note uniquement lorsqu'il contient plus d'un mot et n'est pas un nom de branche ou une référence de PR. Il lit un seul mot comme un nom de branche ou une référence de PR, donc un nom de branche mal orthographié obtient l'erreur de branche la plus proche de [Examiner par rapport à une base différente](#review-against-a-different-base) au lieu de se lancer avec une note. Si votre texte combine une référence de PR avec d'autres mots, comme `check PR 123 again`, Claude Code ne se lance pas non plus ; il vous demande de relancer avec le numéro de PR seul pour examiner cette PR, ou sans la référence pour examiner votre branche actuelle.106Claude Code traite votre texte comme une note uniquement lorsqu'il contient plus d'un mot et n'est pas un nom de branche ou une référence de PR. Il lit un seul mot comme un nom de branche ou une référence de PR, donc un nom de branche mal orthographié obtient l'erreur de branche la plus proche de [Examiner par rapport à une base différente](#review-against-a-different-base) au lieu de se lancer avec une note. Si votre texte combine une référence de PR avec d'autres mots, comme `check PR 123 again`, Claude Code ne se lance pas non plus ; il vous demande de relancer avec le numéro de PR seul pour examiner cette PR, ou sans la référence pour examiner votre branche actuelle.

107 107 

108<Tip>108<Tip>

109 Si votre référentiel est trop volumineux pour être regroupé, Claude Code vous invite à utiliser le mode PR à la place. Poussez votre branche et ouvrez une PR brouillon, puis exécutez `/code-review ultra <PR-number>`.109 Si votre dépôt est trop volumineux pour être regroupé, Claude Code vous invite à utiliser le mode PR à la place. Pour un dépôt sur `github.com`, poussez votre branche et ouvrez une PR brouillon, puis exécutez `/code-review ultra <PR-number>`.

110</Tip>110</Tip>

111 111 

112<h3 id="diff-limits-and-fallbacks">112<h3 id="diff-limits-and-fallbacks">


173claude ultrareview origin/main173claude ultrareview origin/main

174```174```

175 175 

176Sans arguments, la sous-commande examine la différence entre votre branche actuelle et la branche par défaut, avec le même [repli sur l'ensemble du référentiel](#diff-limits-and-fallbacks) que `/code-review ultra` lorsqu'aucune base de fusion n'existe. Transmettez un numéro de PR pour examiner une demande de fusion, ou une branche de base pour examiner la différence par rapport à celle-ci ; la [gestion de la branche de base](#review-against-a-different-base) correspond à la commande interactive.176Sans arguments, la sous-commande examine le diff entre votre branche actuelle et la branche par défaut, avec la même [solution de repli sur l'ensemble du dépôt](#diff-limits-and-fallbacks) que `/code-review ultra` lorsqu'aucune base de fusion n'existe. Transmettez un numéro de PR pour [examiner une pull request sur `github.com`](#review-a-pull-request), ou une branche de base pour examiner le diff par rapport à celle-ci ; la [gestion de la branche de base](#review-against-a-different-base) correspond à la commande interactive.

177 177 

178Vous consentez au repli sur l'ensemble du référentiel et à l'invite de facturation et de conditions lorsque vous exécutez la sous-commande, de sorte que l'exécution démarre sans attendre d'entrée. L'exécution vous-même est ce qui compte comme consentement. Lorsque Claude exécute la sous-commande pour vous à la place, par exemple via l'outil Bash, Claude Code refuse la révision de l'ensemble du référentiel.178Vous consentez au repli sur l'ensemble du référentiel et à l'invite de facturation et de conditions lorsque vous exécutez la sous-commande, de sorte que l'exécution démarre sans attendre d'entrée. L'exécution vous-même est ce qui compte comme consentement. Lorsque Claude exécute la sous-commande pour vous à la place, par exemple via l'outil Bash, Claude Code refuse la révision de l'ensemble du référentiel.

179 179 

vs-code.md +3 −1

Details

166* **Bookmarks** : survolez une réponse et cliquez sur **Bookmark response** pour l'enregistrer, ou cliquez sur **Remove bookmark** sur une réponse enregistrée pour la retirer.166* **Bookmarks** : survolez une réponse et cliquez sur **Bookmark response** pour l'enregistrer, ou cliquez sur **Remove bookmark** sur une réponse enregistrée pour la retirer.

167 167 

168 Pour consulter les réponses enregistrées, ouvrez le panneau Bookmarks : cliquez sur l'icône de signet en haut du panneau Claude Code, sélectionnez **Bookmarks** dans la section Contexte du menu de commande, ou tapez `/bookmarks`. Nécessite Claude Code v2.1.286 ou version ultérieure.168 Pour consulter les réponses enregistrées, ouvrez le panneau Bookmarks : cliquez sur l'icône de signet en haut du panneau Claude Code, sélectionnez **Bookmarks** dans la section Contexte du menu de commande, ou tapez `/bookmarks`. Nécessite Claude Code v2.1.286 ou version ultérieure.

169* **Files Claude sends you** : lorsque la session est connectée à [Remote Control](/docs/fr/remote-control#start-a-remote-control-session) et que Claude vous envoie des fichiers avec l'[outil `SendUserFile`](/docs/fr/tools-reference), la conversation affiche une ligne telle que **Sent report.md, chart.png**. Cliquez sur le nom d'un fichier pour l'ouvrir dans l'éditeur.

169* **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.170* **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.

170* **Prompt cache clock** : une icône d'horloge à côté de l'indicateur de contexte estime le temps qu'il reste au [cache de prompt](/docs/fr/prompt-caching) de la conversation avant son expiration. Il compte à rebours à partir de la [durée de vie](/docs/fr/prompt-caching#cache-lifetime) du cache de cinq minutes ou une heure, et chaque réponse qui utilise le cache redémarre le compte à rebours. À l'exception de la compaction, les [actions qui invalident le cache](/docs/fr/prompt-caching#actions-that-invalidate-the-cache) ne réinitialisent pas l'horloge, elle peut donc toujours afficher des minutes restantes après que vous ayez changé de modèle.171* **Prompt cache clock** : une icône d'horloge à côté de l'indicateur de contexte estime le temps qu'il reste au [cache de prompt](/docs/fr/prompt-caching) de la conversation avant son expiration. Il compte à rebours à partir de la [durée de vie](/docs/fr/prompt-caching#cache-lifetime) du cache de cinq minutes ou une heure, et chaque réponse qui utilise le cache redémarre le compte à rebours. À l'exception de la compaction, les [actions qui invalident le cache](/docs/fr/prompt-caching#actions-that-invalidate-the-cache) ne réinitialisent pas l'horloge, elle peut donc toujours afficher des minutes restantes après que vous ayez changé de modèle.

171 * Jusqu'à ce que le compte à rebours s'écoule, l'icône affiche les minutes restantes, telles que **12m**.172 * Jusqu'à ce que le compte à rebours s'écoule, l'icône affiche les minutes restantes, telles que **12m**.


596| `attachOpenFile` | `true` | Ajoutez le fichier ouvert dans l'éditeur à vos messages et affichez-le dans la zone de saisie. Lorsqu'il est désactivé, seul votre texte sélectionné est ajouté. Nécessite Claude Code v2.1.271 ou ultérieur |597| `attachOpenFile` | `true` | Ajoutez le fichier ouvert dans l'éditeur à vos messages et affichez-le dans la zone de saisie. Lorsqu'il est désactivé, seul votre texte sélectionné est ajouté. Nécessite Claude Code v2.1.271 ou ultérieur |

597| `useCtrlEnterToSend` | `false` | Utilisez Ctrl/Cmd+Entrée au lieu d'Entrée pour envoyer les invites |598| `useCtrlEnterToSend` | `false` | Utilisez Ctrl/Cmd+Entrée au lieu d'Entrée pour envoyer les invites |

598| `scrollToBottomOnSend` | `true` | Faites défiler la conversation vers le bas lorsque vous envoyez un message. Lorsqu'il est désactivé, la conversation reste où vous l'avez laissée. Nécessite Claude Code v2.1.275 ou ultérieur |599| `scrollToBottomOnSend` | `true` | Faites défiler la conversation vers le bas lorsque vous envoyez un message. Lorsqu'il est désactivé, la conversation reste où vous l'avez laissée. Nécessite Claude Code v2.1.275 ou ultérieur |

599| `showMessageTimestamps` | `false` | Affichez le moment où chaque message a été envoyé. Une ligne de date marque le changement de jour. Nécessite Claude Code v2.1.284 ou ultérieur |600| `showMessageTimestamps` | `true` | Affichez le moment où chaque message a été envoyé. Une ligne de date marque le changement de jour. Nécessite Claude Code v2.1.284 ou ultérieur. Avant la v2.1.290, la valeur par défaut était `false` |

601| `spinnerVerbs` | `{"mode": "append", "verbs": []}` | Définissez les verbes que le spinner de la conversation fait défiler pendant l'exécution d'un tour, avec les mêmes champs `mode` et `verbs` que [`spinnerVerbs`](/docs/fr/settings-reference#spinnerverbs) de la CLI. |

600| `enableNewConversationShortcut` | `false` | Activez Cmd/Ctrl+N pour démarrer une nouvelle conversation |602| `enableNewConversationShortcut` | `false` | Activez Cmd/Ctrl+N pour démarrer une nouvelle conversation |

601| `enableReopenClosedSessionShortcut` | `true` | Utilisez Cmd/Ctrl+Maj+T pour rouvrir l'onglet de session Claude le plus récemment fermé. Lorsque le dernier onglet fermé n'était pas une session Claude, le raccourci exécute la commande de réouverture d'éditeur fermé normale de VS Code à la place. |603| `enableReopenClosedSessionShortcut` | `true` | Utilisez Cmd/Ctrl+Maj+T pour rouvrir l'onglet de session Claude le plus récemment fermé. Lorsque le dernier onglet fermé n'était pas une session Claude, le raccourci exécute la commande de réouverture d'éditeur fermé normale de VS Code à la place. |

602| `archiveInactiveSessions` | `14` | [Archivez une session automatiquement](#resume-past-conversations) après ce nombre de jours sans activité : `1`, `2`, `7` ou `14`. Définissez `0` pour le désactiver. Nécessite Claude Code v2.1.265 ou ultérieur |604| `archiveInactiveSessions` | `14` | [Archivez une session automatiquement](#resume-past-conversations) après ce nombre de jours sans activité : `1`, `2`, `7` ou `14`. Définissez `0` pour le désactiver. Nécessite Claude Code v2.1.265 ou ultérieur |

workflows.md +27 −1

Details

354 354 

355Le corps est du JavaScript simple avec `await` au niveau supérieur. `agent()` génère un sous-agent, `pipeline()` en exécute un par élément dans une liste, et `parallel()` exécute un ensemble de tâches d'agent en même temps et attend que toutes se terminent.355Le corps est du JavaScript simple avec `await` au niveau supérieur. `agent()` génère un sous-agent, `pipeline()` en exécute un par élément dans une liste, et `parallel()` exécute un ensemble de tâches d'agent en même temps et attend que toutes se terminent.

356 356 

357Un appel `agent()` se résout en `null` si vous l'arrêtez en cours d'exécution ou s'il rencontre une erreur API irrécupérable. `pipeline()` conserve chaque `null` dans le tableau des résultats, c'est pourquoi l'exemple se termine par `.filter(Boolean)` pour supprimer ces entrées.357Un appel `agent()` se résout en `null` si vous l'arrêtez en cours d'exécution ou s'il rencontre une erreur API irrécupérable. `pipeline()` conserve chaque `null` dans le tableau des résultats, c'est pourquoi l'exemple se termine par `.filter(Boolean)` pour supprimer ces entrées, y compris l'emplacement d'[un agent qui s'est bloqué à chaque tentative](#when-an-agent-stalls-and-restarts).

358 358 

359En [mode auto](/docs/fr/permission-modes#eliminate-prompts-with-auto-mode), le prompt que votre script transmet à `agent()` ne compte pas comme une demande de votre part quand le classificateur examine les actions de ce sous-agent, car Claude Code le marque comme du texte que le script a calculé.359En [mode auto](/docs/fr/permission-modes#eliminate-prompts-with-auto-mode), le prompt que votre script transmet à `agent()` ne compte pas comme une demande de votre part quand le classificateur examine les actions de ce sous-agent, car Claude Code le marque comme du texte que le script a calculé.

360 360 


463* La limite se réinitialise dans les 24 heures. Une limite hebdomadaire peut se réinitialiser plus loin.463* La limite se réinitialise dans les 24 heures. Une limite hebdomadaire peut se réinitialiser plus loin.

464* L'exécution n'a pas déjà attendu deux fois. Quand elle atteint la limite une troisième fois, l'agent échoue.464* L'exécution n'a pas déjà attendu deux fois. Quand elle atteint la limite une troisième fois, l'agent échoue.

465 465 

466<h3 id="when-an-agent-stalls-and-restarts">

467 Quand un agent se bloque et redémarre

468</h3>

469 

470Un agent dont la sortie cesse d'arriver suffisamment longtemps recommence à partir du même prompt. Dans [`/workflows`](#watch-the-run), son nom reçoit un suffixe `(retry 1)` et son détail affiche `attempt 2 (stalled)`. Le redémarrage est automatique, vous n'avez donc rien à faire.

471 

472La nouvelle tentative démarre sans la transcription de la tentative bloquée. Les fichiers que la tentative bloquée a déjà modifiés restent modifiés, et les tokens qu'elle a consommés restent dans le total de l'exécution. La fenêtre de blocage est la durée pendant laquelle Claude Code attend une sortie d'un agent avant de mettre fin à la tentative. Le temps que l'agent passe à attendre ses propres appels d'outils ou une [réinitialisation de la limite d'utilisation](#when-a-run-hits-your-usage-limit) n'est pas compté dans la fenêtre de blocage.

473 

474Un agent redémarre au maximum cinq fois, en comptant tout redémarrage que vous demandez avec `r`. Si la sixième tentative se bloque également, l'appel `agent()` échoue, et le début de l'erreur en indique la raison :

475 

476* `agent stalled on all 6 attempts` : chaque tentative a passé toute la fenêtre sans sortie. Si le travail de l'agent le maintient silencieux aussi longtemps, allongez la fenêtre

477* `agent lost its reply on all 6 attempts` : le flux de réponse de chaque tentative est devenu silencieux et Claude Code a cessé de l'attendre. Allonger la fenêtre de blocage n'aide pas, car un [watchdog d'inactivité du streaming](/docs/fr/network-config#streaming-idle-watchdogs) a mis fin à la réponse en premier et `CLAUDE_STREAM_IDLE_TIMEOUT_MS` définit le délai d'expiration de ce watchdog

478* `agent abandoned after 6 attempts` : les tentatives se sont terminées de différentes manières, que l'erreur liste dans l'ordre

479 

480Pour donner à un agent plus de temps pour produire une sortie avant la fin de la fenêtre :

481 

482* **Un seul agent** : passez `stallMs` en millisecondes dans son appel `agent()`, par exemple `agent(prompt, { stallMs: 1800000 })` pour 30 minutes

483* **Tous les agents** : définissez [`CLAUDE_ASYNC_AGENT_STALL_TIMEOUT_MS`](/docs/fr/env-vars#variables), qui s'applique également aux sous-agents en dehors des workflows

484 

485La poursuite de l'exécution après l'échec dépend de la façon dont votre script a appelé l'agent :

486 

487* **À l'intérieur de [`parallel()` ou `pipeline()`](#what-the-saved-script-looks-like)** : l'exécution continue avec `null` à la place du résultat de l'agent

488* **Attendu directement** : l'exécution se termine avec l'erreur

489 

490Pour réessayer, demandez à Claude de relancer le workflow. [Reprendre après une pause](#resume-after-a-pause) explique ce qui s'exécute à nouveau.

491 

466<h3 id="cost">492<h3 id="cost">

467 Coût493 Coût

468</h3>494</h3>

worktrees.md +1 −1

Details

104* **Redirections Git** : Claude Code bloque une commande Bash ou Monitor qui redirige git vers l'extraction principale. La redirection peut provenir de `git -C`, `--git-dir`, une variable `GIT_DIR` ou `GIT_WORK_TREE`, ou un `cd` dans l'extraction principale avant d'exécuter git.104* **Redirections Git** : Claude Code bloque une commande Bash ou Monitor qui redirige git vers l'extraction principale. La redirection peut provenir de `git -C`, `--git-dir`, une variable `GIT_DIR` ou `GIT_WORK_TREE`, ou un `cd` dans l'extraction principale avant d'exécuter git.

105* **Forme de la commande** : Claude Code bloque une commande Bash ou Monitor quand il ne peut pas vérifier à partir du texte de la commande que tout git que la commande exécute reste à l'intérieur du worktree. Cela se produit, par exemple, quand le nom de la commande est calculé à l'exécution, quand la syntaxe ne peut pas être analysée, ou quand une expansion telle que `${!name}` ou `${ command; }` pourrait exécuter une commande que le texte ne précise pas. Claude Code indique à Claude comment réécrire la commande refusée, par exemple en la divisant en commandes simples et séparées. Vous ne pouvez pas désactiver cette vérification.105* **Forme de la commande** : Claude Code bloque une commande Bash ou Monitor quand il ne peut pas vérifier à partir du texte de la commande que tout git que la commande exécute reste à l'intérieur du worktree. Cela se produit, par exemple, quand le nom de la commande est calculé à l'exécution, quand la syntaxe ne peut pas être analysée, ou quand une expansion telle que `${!name}` ou `${ command; }` pourrait exécuter une commande que le texte ne précise pas. Claude Code indique à Claude comment réécrire la commande refusée, par exemple en la divisant en commandes simples et séparées. Vous ne pouvez pas désactiver cette vérification.

106 106 

107Ces vérifications lisent le chemin ciblé par une modification, le répertoire dans lequel une commande s'exécute et le texte de la commande. Aucune d'elles ne suit les fichiers qu'une commande shell écrit, de sorte qu'une commande qui écrit dans l'extraction principale sans y exécuter git, comme `cp` ou une redirection shell, n'est pas refusée par celles-ci. Claude Code traite cette commande comme n'importe quelle autre commande shell : le fait qu'elle s'exécute ou qu'elle vous demande une permission dépend donc de votre [mode de permission](/docs/fr/permission-modes) et de vos règles.107Ces vérifications lisent le chemin ciblé par une modification, le répertoire dans lequel une commande s'exécute et le texte de la commande. Aucune d'elles ne suit les fichiers qu'une commande shell écrit, de sorte qu'une commande qui écrit dans l'extraction principale sans y exécuter git, comme `cp` ou une redirection shell, n'est pas refusée par celles-ci. Claude Code traite cette commande comme n'importe quelle autre commande shell, selon vos paramètres de [permissions](/docs/fr/permissions) et de [sandboxing](/docs/fr/sandboxing).

108 108 

109Les vérifications s'appliquent au dépôt à partir duquel vous avez lancé Claude Code. Elles couvrent également l'extraction principale à laquelle un worktree lié est lié. Pour les commandes PowerShell, Claude Code applique uniquement la vérification du répertoire de travail.109Les vérifications s'appliquent au dépôt à partir duquel vous avez lancé Claude Code. Elles couvrent également l'extraction principale à laquelle un worktree lié est lié. Pour les commandes PowerShell, Claude Code applique uniquement la vérification du répertoire de travail.

110 110