SpyBara
Go Premium

Documentation 2026-10-07 23:59 UTC to 2026-10-08 21:58 UTC

75 files changed +1,881 −1,217. View all changes and history on the product overview
2026
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

126 126 

127Un style de sortie est un fichier markdown avec [frontmatter](/docs/fr/output-styles#frontmatter) pour les métadonnées, suivi du contenu du prompt. Enregistrez-le dans `~/.claude/output-styles/` pour un style au niveau utilisateur disponible dans chaque projet, ou `.claude/output-styles/` dans votre référentiel pour un style au niveau du projet que vous pouvez valider et partager avec votre équipe.127Un style de sortie est un fichier markdown avec [frontmatter](/docs/fr/output-styles#frontmatter) pour les métadonnées, suivi du contenu du prompt. Enregistrez-le dans `~/.claude/output-styles/` pour un style au niveau utilisateur disponible dans chaque projet, ou `.claude/output-styles/` dans votre référentiel pour un style au niveau du projet que vous pouvez valider et partager avec votre équipe.

128 128 

129Un style de sortie personnalisé laisse les instructions d'ingénierie logicielle du préréglage `claude_code` de côté et utilise les vôtres. Pour les conserver et superposer vos instructions par-dessus, définissez `keep-coding-instructions: true` dans le frontmatter. Ces instructions ne sont que dans le prompt système complet de Claude Code, donc le paramètre n'a aucun effet dans une session sur le prompt système plus court, que vous activez ou désactivez avec [`CLAUDE_CODE_SIMPLE_SYSTEM_PROMPT`](/docs/fr/env-vars#variables). Conservez-les quand votre agent fait toujours du travail d'ingénierie logicielle. Laissez-les de côté quand vous remplacez entièrement le rôle.129Un style de sortie personnalisé laisse les instructions d'ingénierie logicielle du préréglage `claude_code` de côté et utilise les vôtres. Pour les conserver et superposer vos instructions par-dessus, définissez `keep-coding-instructions: true` dans le frontmatter. Ces instructions ne sont que dans le prompt système complet de Claude Code, donc le paramètre n'a aucun effet dans une session sur le prompt système plus court ; définissez [`CLAUDE_CODE_SIMPLE_SYSTEM_PROMPT`](/docs/fr/env-vars#variables) à `0` pour sélectionner le prompt complet sur n'importe quel modèle. Conservez-les quand votre agent fait toujours du travail d'ingénierie logicielle. Laissez-les de côté quand vous remplacez entièrement le rôle.

130 130 

131L'exemple ci-dessous définit une persona d'examen de code qui conserve les instructions de codage, puisque l'examen du code bénéficie toujours des conseils de sécurité et de qualité du code de Claude Code. Enregistrez-le sous `~/.claude/output-styles/code-reviewer.md` pour le rendre disponible dans tous les projets :131L'exemple ci-dessous définit une persona d'examen de code qui conserve les instructions de codage, puisque l'examen du code bénéficie toujours des conseils de sécurité et de qualité du code de Claude Code. Enregistrez-le sous `~/.claude/output-styles/code-reviewer.md` pour le rendre disponible dans tous les projets :

132 132 


547| **Gestion** | Sur le système de fichiers | CLI + fichiers | Dans le code | Dans le code |547| **Gestion** | Sur le système de fichiers | CLI + fichiers | Dans le code | Dans le code |

548| **Outils par défaut** | Préservés | Préservés | Préservés | Perdus (sauf s'ils sont inclus) |548| **Outils par défaut** | Préservés | Préservés | Préservés | Perdus (sauf s'ils sont inclus) |

549| **Sécurité intégrée** | Maintenue | Maintenue | Maintenue | Doit être ajoutée |549| **Sécurité intégrée** | Maintenue | Maintenue | Maintenue | Doit être ajoutée |

550| **Niveau de personnalisation** | Ajouts uniquement | Remplacer la valeur par défaut ou l'étendre | Ajouts uniquement | Contrôle complet |550| **Niveau de personnalisation** | Ajouts uniquement | Ajouts ; peut omettre les instructions de codage | Ajouts uniquement | Contrôle complet |

551| **Contrôle de version** | Avec le projet | Oui | Avec le code | Avec le code |551| **Contrôle de version** | Avec le projet | Oui | Avec le code | Avec le code |

552| **Portée** | Spécifique au projet | Utilisateur ou projet | Session de code | Session de code |552| **Portée** | Spécifique au projet | Utilisateur ou projet | Session de code | Session de code |

553 553 

Details

2786 "prompt": str, # The task for the agent to perform2786 "prompt": str, # The task for the agent to perform

2787 "subagent_type": str | None, # The type of specialized agent to use2787 "subagent_type": str | None, # The type of specialized agent to use

2788 "model": "sonnet" | "opus" | "haiku" | "fable" | None, # Model override for this agent2788 "model": "sonnet" | "opus" | "haiku" | "fable" | None, # Model override for this agent

2789 "effort": "low" | "medium" | "high" | "xhigh" | "max" | None, # Reasoning effort for this agent

2789 "run_in_background": bool | None, # Agents run in the background by default; set to False to run synchronously2790 "run_in_background": bool | None, # Agents run in the background by default; set to False to run synchronously

2790 "name": str | None, # Name for the spawned agent2791 "name": str | None, # Name for the spawned agent

2791 "team_name": str | None, # Deprecated; ignored2792 "team_name": str | None, # Deprecated; ignored

Details

70 `query()`70 `query()`

71</h3>71</h3>

72 72 

73La fonction principale pour interagir avec Claude Code. Crée un générateur asynchrone qui diffuse les messages au fur et à mesure de leur arrivée.73La fonction principale pour interagir avec Claude Code. Crée un générateur asynchrone qui diffuse les messages en streaming au fur et à mesure de leur arrivée.

74 74 

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

76function query({76function query({


88 88 

89| Paramètre | Type | Description |89| Paramètre | Type | Description |

90| :- | :- | :- |90| :- | :- | :- |

91| `prompt` | `string \| AsyncIterable<`[`SDKUserMessage`](#sdkusermessage)`>` | L'invite d'entrée sous forme de chaîne ou d'itérable asynchrone pour le mode de diffusion |91| `prompt` | `string \| AsyncIterable<`[`SDKUserMessage`](#sdkusermessage)`>` | Le prompt d'entrée sous forme de chaîne ou d'itérable asynchrone pour le mode streaming |

92| `options` | [`Options`](#options) | Objet de configuration optionnel (voir le type Options ci-dessous) |92| `options` | [`Options`](#options) | Objet de configuration optionnel (voir le type Options ci-dessous) |

93 93 

94<h4 id="returns">94<h4 id="returns">


101 `startup()`101 `startup()`

102</h3>102</h3>

103 103 

104Préconfigure le sous-processus CLI en le générant et en complétant la poignée de main d'initialisation avant qu'une invite soit disponible. Le handle [`WarmQuery`](#warmquery) retourné accepte une invite plus tard et l'écrit dans un processus déjà prêt, de sorte que le premier appel `query()` se résout sans payer le coût de génération et d'initialisation du sous-processus en ligne. Si vous ne connaissez pas encore le répertoire de travail de la session, utilisez [`prewarm()`](#prewarm) à la place.104Préconfigure le sous-processus CLI en le générant et en complétant la poignée de main d'initialisation avant qu'un prompt soit disponible. Le handle [`WarmQuery`](#warmquery) retourné accepte un prompt plus tard et l'écrit dans un processus déjà prêt, de sorte que le premier appel `query()` se résout sans payer le coût de génération et d'initialisation du sous-processus en ligne. Si vous ne connaissez pas encore le répertoire de travail de la session, utilisez [`prewarm()`](#prewarm) à la place.

105 105 

106```typescript theme={null}106```typescript theme={null}

107function startup(params?: {107function startup(params?: {


129 Exemple129 Exemple

130</h4>130</h4>

131 131 

132Appelez `startup()` tôt, par exemple au démarrage de l'application, puis appelez `.query()` sur le handle retourné une fois qu'une invite est prête. Cela déplace la génération du sous-processus et l'initialisation en dehors du chemin critique.132Appelez `startup()` tôt, par exemple au démarrage de l'application, puis appelez `.query()` sur le handle retourné une fois qu'un prompt est prêt. Cela déplace la génération du sous-processus et l'initialisation en dehors du chemin critique.

133 133 

134```typescript theme={null}134```typescript theme={null}

135import { startup } from "@anthropic-ai/claude-agent-sdk";135import { startup } from "@anthropic-ai/claude-agent-sdk";


137// Payez le coût de démarrage à l'avance137// Payez le coût de démarrage à l'avance

138const warm = await startup({ options: { maxTurns: 3 } });138const warm = await startup({ options: { maxTurns: 3 } });

139 139 

140// Plus tard, quand une invite est prête, c'est immédiat140// Plus tard, quand un prompt est prêt, c'est immédiat

141for await (const message of warm.query("What files are here?")) {141for await (const message of warm.query("What files are here?")) {

142 console.log(message);142 console.log(message);

143}143}


220| `description` | `string` | Une description de ce que fait l'outil |220| `description` | `string` | Une description de ce que fait l'outil |

221| `inputSchema` | `Schema extends AnyZodRawShape` | Schéma Zod définissant les paramètres d'entrée de l'outil (supporte Zod 3 et Zod 4) |221| `inputSchema` | `Schema extends AnyZodRawShape` | Schéma Zod définissant les paramètres d'entrée de l'outil (supporte Zod 3 et Zod 4) |

222| `handler` | `(args, extra) => Promise<`[`CallToolResult`](#calltoolresult)`>` | Fonction asynchrone qui exécute la logique de l'outil |222| `handler` | `(args, extra) => Promise<`[`CallToolResult`](#calltoolresult)`>` | Fonction asynchrone qui exécute la logique de l'outil |

223| `extras` | `{ annotations?: `[`ToolAnnotations`](#toolannotations)`; searchHint?: string; alwaysLoad?: boolean }` | Extras optionnels. `annotations` fournit des indices comportementaux MCP aux clients. `searchHint` est une phrase de capacité d'une ligne affichée dans la liste des outils différés quand la [recherche d'outils](/docs/fr/agent-sdk/tool-search) est active. `alwaysLoad: true` garde le schéma complet de cet outil dans l'invite initiale au lieu de le différer |223| `extras` | `{ annotations?: `[`ToolAnnotations`](#toolannotations)`; searchHint?: string; alwaysLoad?: boolean }` | Extras optionnels. `annotations` fournit des indices comportementaux MCP aux clients. `searchHint` est une phrase de capacité d'une ligne affichée dans la liste des outils différés quand la [recherche d'outils](/docs/fr/agent-sdk/tool-search) est active. `alwaysLoad: true` garde le schéma complet de cet outil dans le prompt initial au lieu de le différer |

224 224 

225<h4 id="toolannotations">225<h4 id="toolannotations">

226 `ToolAnnotations`226 `ToolAnnotations`

227</h4>227</h4>

228 228 

229Réexportée depuis `@modelcontextprotocol/sdk/types.js`. Tous les champs sont des indices optionnels ; les clients ne doivent pas s'y fier pour les décisions de sécurité.229Définie dans `@modelcontextprotocol/sdk/types.js`. Tous les champs sont des indices optionnels ; les clients ne doivent pas s'y fier pour les décisions de sécurité.

230 230 

231| Champ | Type | Par défaut | Description |231| Champ | Type | Par défaut | Description |

232| :- | :- | :- | :- |232| :- | :- | :- | :- |


278| `options.version` | `string` | Chaîne de version optionnelle |278| `options.version` | `string` | Chaîne de version optionnelle |

279| `options.instructions` | `string` | Instructions optionnelles du serveur, retournées depuis `initialize` et exposées au modèle comme un bloc d'instructions MCP |279| `options.instructions` | `string` | Instructions optionnelles du serveur, retournées depuis `initialize` et exposées au modèle comme un bloc d'instructions MCP |

280| `options.tools` | `Array<SdkMcpToolDefinition>` | Tableau de définitions d'outils créées avec [`tool()`](#tool) |280| `options.tools` | `Array<SdkMcpToolDefinition>` | Tableau de définitions d'outils créées avec [`tool()`](#tool) |

281| `options.alwaysLoad` | `boolean` | Quand `true`, chaque outil de ce serveur reste dans le prompt initial et n'est jamais différé derrière la [recherche d'outils](/docs/fr/agent-sdk/tool-search). Se combine avec `alwaysLoad` par outil dans [`tool()`](#tool) |281| `options.alwaysLoad` | `boolean` | Quand `true`, les outils de ce serveur restent dans le prompt initial au lieu d'être différés derrière la [recherche d'outils](/docs/fr/agent-sdk/tool-search). Se combine avec `alwaysLoad` par outil dans [`tool()`](#tool) |

282| `options.timeout` | `number` | Délai d'expiration en millisecondes pour les appels d'outils de ce serveur. Claude Code l'applique à ce serveur à la place de [`MCP_TOOL_TIMEOUT`](/docs/fr/env-vars). Passez un nombre entier d'au moins 1000. Claude Code ignore les autres valeurs. Nécessite TypeScript Agent SDK v0.3.248 ou ultérieur |282| `options.timeout` | `number` | Délai d'expiration en millisecondes pour les appels d'outils de ce serveur. Claude Code l'applique à ce serveur à la place de [`MCP_TOOL_TIMEOUT`](/docs/fr/env-vars). Passez un nombre entier d'au moins 1000. Claude Code ignore les autres valeurs. Nécessite TypeScript Agent SDK v0.3.248 ou ultérieur |

283 283 

284<h3 id="listsessions">284<h3 id="listsessions">


299| :- | :- | :- | :- |299| :- | :- | :- | :- |

300| `options.dir` | `string` | `undefined` | Répertoire pour lequel répertorier les sessions. Lorsqu'il est omis, retourne les sessions dans tous les projets |300| `options.dir` | `string` | `undefined` | Répertoire pour lequel répertorier les sessions. Lorsqu'il est omis, retourne les sessions dans tous les projets |

301| `options.limit` | `number` | `undefined` | Nombre maximum de sessions à retourner |301| `options.limit` | `number` | `undefined` | Nombre maximum de sessions à retourner |

302| `options.includeWorktrees` | `boolean` | `true` | Quand `dir` est à l'intérieur d'un référentiel git, inclure les sessions de tous les chemins worktree |302| `options.includeWorktrees` | `boolean` | `true` | Quand `dir` est à l'intérieur d'un dépôt git, inclure les sessions de tous les chemins worktree |

303 303 

304<h4 id="return-type-sdksessioninfo">304<h4 id="return-type-sdksessioninfo">

305 Type de retour : `SDKSessionInfo`305 Type de retour : `SDKSessionInfo`


308| Propriété | Type | Description |308| Propriété | Type | Description |

309| :- | :- | :- |309| :- | :- | :- |

310| `sessionId` | `string` | Identifiant de session unique (UUID) |310| `sessionId` | `string` | Identifiant de session unique (UUID) |

311| `summary` | `string` | Titre d'affichage : titre personnalisé, résumé généré automatiquement ou première invite |311| `summary` | `string` | Titre d'affichage : titre personnalisé, prompt le plus récent, résumé généré automatiquement ou premier prompt |

312| `lastModified` | `number` | Heure de dernière modification en millisecondes depuis l'époque |312| `lastModified` | `number` | Heure de dernière modification en millisecondes depuis l'époque |

313| `fileSize` | `number \| undefined` | Taille du fichier de session en octets. Rempli uniquement pour le stockage JSONL local |313| `fileSize` | `number \| undefined` | Taille du fichier de session en octets. Rempli uniquement pour le stockage JSONL local |

314| `customTitle` | `string \| undefined` | Titre de session défini par l'utilisateur quand un est défini, par exemple avec `--name`, `/rename`, la sortie `sessionTitle` d'un hook, ou [`renameSession()`](#renamesession). Sinon le titre de session généré par l'IA, si la session en a un |314| `customTitle` | `string \| undefined` | Le titre personnalisé de la session lorsqu'il est défini, par exemple avec `--name`, `/rename`, la sortie `sessionTitle` d'un hook, ou [`renameSession()`](#renamesession). Sinon le titre de session généré par l'IA, si la session en a un |

315| `firstPrompt` | `string \| undefined` | Première invite utilisateur significative dans la session |315| `firstPrompt` | `string \| undefined` | Premier prompt utilisateur significatif dans la session |

316| `gitBranch` | `string \| undefined` | Branche Git à la fin de la session |316| `gitBranch` | `string \| undefined` | Branche Git à la fin de la session |

317| `cwd` | `string \| undefined` | Répertoire de travail pour la session |317| `cwd` | `string \| undefined` | Répertoire de travail pour la session |

318| `tag` | `string \| undefined` | Étiquette de session définie par l'utilisateur (voir [`tagSession()`](#tagsession)) |318| `tag` | `string \| undefined` | Étiquette de session définie par l'utilisateur (voir [`tagSession()`](#tagsession)) |


368| `uuid` | `string` | Identifiant de message unique |368| `uuid` | `string` | Identifiant de message unique |

369| `session_id` | `string` | Session à laquelle ce message appartient |369| `session_id` | `string` | Session à laquelle ce message appartient |

370| `message` | `unknown` | Charge utile de message brute de la transcription |370| `message` | `unknown` | Charge utile de message brute de la transcription |

371| `parent_tool_use_id` | `string \| null` | Pour les messages de sous-agent, le `tool_use_id` de l'appel d'outil `Agent` ou `Skill` qui l'a généré. `null` pour les messages de session principale et les sessions plus anciennes |371| `parent_tool_use_id` | `string \| null` | Pour les messages de sous-agent, le `tool_use_id` de l'appel d'outil `Agent` ou `Skill` qui a démarré le sous-agent. `null` pour les messages de session principale et les sessions plus anciennes |

372| `parent_agent_id` | `string \| null` | Pour les messages d'un [sous-agent imbriqué](/docs/fr/sub-agents#let-subagents-spawn-their-own-subagents), le `agentId` du sous-agent qui l'a généré. `null` pour les messages de session principale, les messages des sous-agents de niveau supérieur et les sessions plus anciennes. Nécessite Claude Code v2.1.202 ou ultérieur |372| `parent_agent_id` | `string \| null` | Pour les messages d'un [sous-agent imbriqué](/docs/fr/sub-agents#let-subagents-spawn-their-own-subagents), le `agentId` du sous-agent qui l'a généré. `null` pour les messages de session principale, les messages des sous-agents de niveau supérieur et les sessions plus anciennes. Nécessite Claude Code v2.1.202 ou ultérieur |

373 373 

374<h4 id="example-4">374<h4 id="example-4">


507 507 

508| Propriété | Type | Description |508| Propriété | Type | Description |

509| :- | :- | :- |509| :- | :- | :- |

510| `effective` | `Settings` | Paramètres fusionnés après application de toutes les sources activées dans l'ordre de précédence |510| `effective` | `Settings` | Paramètres fusionnés après application de toutes les sources activées dans l'ordre de priorité |

511| `provenance` | `Partial<Record<keyof Settings, ProvenanceEntry>>` | Pour chaque clé de niveau supérieur dans `effective`, quelle source a fourni la valeur |511| `provenance` | `Partial<Record<keyof Settings, ProvenanceEntry>>` | Pour chaque clé de niveau supérieur dans `effective`, quelle source a fourni la valeur |

512| `sources` | `Array<{ source, settings, path?, policyOrigin? }>` | Paramètres bruts par source, ordonnés de la plus basse à la plus haute précédence |512| `sources` | `Array<{ source, settings, path?, policyOrigin? }>` | Paramètres bruts par source, ordonnés de la plus basse à la plus haute priorité |

513 513 

514<h4 id="example-5">514<h4 id="example-5">

515 Exemple515 Exemple


1756* `ttft_stream_ms` : temps en millisecondes jusqu'au premier événement de flux `message_start`, quand le flux de réponse s'ouvre. Inférieur à `ttft_ms` ; l'écart entre les deux est le temps passé à diffuser en streaming le premier message. Présent sur le bras de succès uniquement.1756* `ttft_stream_ms` : temps en millisecondes jusqu'au premier événement de flux `message_start`, quand le flux de réponse s'ouvre. Inférieur à `ttft_ms` ; l'écart entre les deux est le temps passé à diffuser en streaming le premier message. Présent sur le bras de succès uniquement.

1757* `user_message_uuid` : l'`uuid` du message que vous avez envoyé auquel ce tour a répondu. Voir [`user_message_uuid`](#user_message_uuid) pour savoir quels résultats le portent.1757* `user_message_uuid` : l'`uuid` du message que vous avez envoyé auquel ce tour a répondu. Voir [`user_message_uuid`](#user_message_uuid) pour savoir quels résultats le portent.

1758* `user_message_uuids` : les `uuid`s de chaque message que vous avez envoyé auquel Claude Code a répondu dans ce tour. Voir [`user_message_uuids`](#user_message_uuids).1758* `user_message_uuids` : les `uuid`s de chaque message que vous avez envoyé auquel Claude Code a répondu dans ce tour. Voir [`user_message_uuids`](#user_message_uuids).

1759* `resume_reason` : pourquoi Claude Code a réexécuté ce tour après un redémarrage qui l'a interrompu. Présent sur les deux bras, et uniquement sur une telle réexécution. Voir [`resume_reason`](#resume_reason).1759* `resume_reason` : la raison pour laquelle Claude Code a réexécuté ce tour après qu'un redémarrage l'a interrompu. Présent sur les deux branches. Consultez [`resume_reason`](#resume_reason).

1760* `local_command` : le nom de la commande que le tour a envoyée, sur le résultat de succès d'un tour qu'une commande a complété sans entrer dans la boucle d'agent, comme `/compact`. Le nom est converti en lettres minuscules et traits de soulignement, donc `/reload-plugins` rapporte `reload_plugins`. Une commande qu'un serveur MCP fournit, et le `/mcp` intégré, rapportent `mcp`. Une commande que vous avez définie vous-même rapporte `custom`. Les arguments ne sont jamais inclus. Absent sur chaque tour qui est entré dans la boucle d'agent et sur les envois qui n'ont exécuté aucune commande. Nécessite Agent SDK v0.3.268 ou ultérieur.1760* `local_command` : le nom de la commande que le tour a envoyée, sur le résultat de succès d'un tour qu'une commande a complété sans entrer dans la boucle d'agent, comme `/compact`. Le nom est converti en lettres minuscules et traits de soulignement, donc `/reload-plugins` rapporte `reload_plugins`. Une commande qu'un serveur MCP fournit, et le `/mcp` intégré, rapportent `mcp`. Une commande que vous avez définie vous-même rapporte `custom`. Les arguments ne sont jamais inclus. Absent sur chaque tour qui est entré dans la boucle d'agent et sur les envois qui n'ont exécuté aucune commande. Nécessite Agent SDK v0.3.268 ou ultérieur.

1761* `request_sent_wall_ms` : millisecondes d'époque auxquelles Claude Code a envoyé la requête API, pour les jointures avec les horodatages côté serveur. Présent uniquement avec [`user_message_uuid`](#user_message_uuid), sur un résultat de succès avec `is_error` false dont le tour a envoyé une requête API.1761* `request_sent_wall_ms` : millisecondes d'époque auxquelles Claude Code a envoyé la requête API, pour les jointures avec les horodatages côté serveur. Présent uniquement avec [`user_message_uuid`](#user_message_uuid), sur un résultat de succès avec `is_error` false dont le tour a envoyé une requête API.

1762* `first_content_frame_ms` : temps en millisecondes jusqu'au premier événement de flux `content_block_start` ou `content_block_delta`, en comptant les blocs de réflexion comme du contenu. Présent sur le bras de succès uniquement, quand `is_error` est false. Nécessite Agent SDK v0.3.260 ou ultérieur.1762* `first_content_frame_ms` : temps en millisecondes jusqu'au premier événement de flux `content_block_start` ou `content_block_delta`, en comptant les blocs de réflexion comme du contenu. Présent sur le bras de succès uniquement, quand `is_error` est false. Nécessite Agent SDK v0.3.260 ou ultérieur.


1845* **Le résultat de la réexécution** : sur les bras de succès et d'erreur, que le résultat porte ou non `user_message_uuid`.1845* **Le résultat de la réexécution** : sur les bras de succès et d'erreur, que le résultat porte ou non `user_message_uuid`.

1846* **Les cadres de réponse de la réexécution** : ceux qui portent [`user_message_uuid`](#user_message_uuid).1846* **Les cadres de réponse de la réexécution** : ceux qui portent [`user_message_uuid`](#user_message_uuid).

1847 1847 

1848La valeur est un court jeton en minuscules indiquant pourquoi le tour a été réexécuté, comme `interrupted_turn`. Le champ est absent sur tous les autres tours.1848La valeur est un court identifiant en minuscules indiquant pourquoi le tour a été réexécuté, comme `interrupted_turn`.

1849 1849 

1850<h4 id="queued_turn_count">1850<h4 id="queued_turn_count">

1851 `queued_turn_count`1851 `queued_turn_count`


1887 | "worktree_resume_refused"1887 | "worktree_resume_refused"

1888 | "worktree_unverified"1888 | "worktree_unverified"

1889 | "cli_version_too_old"1889 | "cli_version_too_old"

1890 | "bypass_root";1890 | "bypass_root"

1891 | "org_config_required_unavailable"

1892 | "org_config_refused";

1891```1893```

1892 1894 

1893Chaque valeur nomme un refus :1895Chaque valeur nomme un refus :


1911| `worktree_unverified` | Le worktree de la session n'a pas pu être vérifié pour le moment, et une nouvelle tentative peut réussir |1913| `worktree_unverified` | Le worktree de la session n'a pas pu être vérifié pour le moment, et une nouvelle tentative peut réussir |

1912| `cli_version_too_old` | Cette version de Claude Code est inférieure au minimum qu'Anthropic exige |1914| `cli_version_too_old` | Cette version de Claude Code est inférieure au minimum qu'Anthropic exige |

1913| `bypass_root` | Le mode de permission de contournement a été demandé lors de l'exécution en tant que root |1915| `bypass_root` | Le mode de permission de contournement a été demandé lors de l'exécution en tant que root |

1916| `org_config_required_unavailable` | La session a besoin des stratégies et des paramètres gérés de l'organisation avant de pouvoir démarrer, et ceux-ci n'ont pas pu être chargés, par exemple en raison d'une défaillance réseau ou d'une erreur de serveur Anthropic. Nécessite l'Agent SDK v0.3.293 ou ultérieur |

1917| `org_config_refused` | Anthropic a refusé de fournir les stratégies et les paramètres gérés de l'organisation pour cette connexion, par exemple parce que la connexion a expiré ou a été révoquée, ou parce que l'organisation n'autorise pas Claude Code pour ce compte. Nécessite l'Agent SDK v0.3.293 ou ultérieur |

1914 1918 

1915<h3 id="sdksystemmessage">1919<h3 id="sdksystemmessage">

1916 `SDKSystemMessage`1920 `SDKSystemMessage`


3260};3264};

3261```3265```

3262 3266 

3263Exécute une source de fond et livre chaque événement à Claude pour qu'il puisse réagir sans interrogation : `command` exécute un script et émet un événement par ligne stdout, et `ws` ouvre une WebSocket et émet un événement par trame texte. Fournissez exactement l'un de `command` ou `ws`. La source `ws` nécessite Claude Code v2.1.195 ou version ultérieure.3267Exécute une source en arrière-plan et livre chaque événement à Claude pour qu'il puisse réagir sans interrogation : `command` exécute un script et émet un événement par ligne stdout, et `ws` ouvre une WebSocket et émet un événement par trame texte. Fournissez exactement l'un de `command` ou `ws`. La source `ws` nécessite Claude Code v2.1.195 ou version ultérieure.

3264 3268 

3265`timeout_ms` est la date limite de la montre en millisecondes. Elle est par défaut 300 000 et accepte les valeurs jusqu'à 3 600 000. La date limite effective est au maximum 1 800 000, soit 30 minutes, donc une valeur acceptée plus grande est raccourcie à cela. À la date limite, la montre se termine et Claude reçoit un avis pour qu'il puisse démarrer une nouvelle montre s'il en a toujours besoin.3269`timeout_ms` est la date limite de la surveillance en millisecondes. Elle est par défaut 300 000 et accepte les valeurs jusqu'à 3 600 000. La date limite effective est au maximum 1 800 000, soit 30 minutes, donc une valeur acceptée plus grande est raccourcie à cela. À la date limite, la surveillance se termine et Claude reçoit un avis pour qu'il puisse démarrer une nouvelle surveillance s'il en a toujours besoin.

3266 3270 

3267Le type exporté marque `timeout_ms` comme requis car le schéma remplit la valeur par défaut ; un appel qui l'omet valide.3271Le type exporté marque `timeout_ms` comme requis car le schéma remplit la valeur par défaut ; un appel qui l'omet valide.

3268 3272 

3269Lorsque Monitor exécute une commande, il suit les mêmes règles de permission que Bash ; une montre WebSocket demande une approbation séparément. Voir la [référence de l'outil Monitor](/docs/fr/tools-reference#monitor-tool) pour le comportement et la disponibilité du fournisseur.3273Lorsque Monitor exécute une commande, il suit les mêmes règles de permission que Bash ; une surveillance WebSocket demande une approbation séparément. Voir la [référence de l'outil Monitor](/docs/fr/tools-reference#monitor-tool) pour le comportement et la disponibilité du fournisseur.

3270 3274 

3271<h3 id="taskoutput">3275<h3 id="taskoutput">

3272 TaskOutput3276 TaskOutput

3273</h3>3277</h3>

3274 3278 

3275Supprimé dans Claude Code v2.1.277, ainsi que son type `TaskOutputInput`. Récupérait précédemment la sortie d'une tâche de fond en cours d'exécution ou terminée ; Claude lit le fichier de sortie d'une tâche de fond avec `Read` à la place.3279Supprimé dans Claude Code v2.1.277, ainsi que son type `TaskOutputInput`. Récupérait précédemment la sortie d'une tâche en arrière-plan en cours d'exécution ou terminée ; Claude lit le fichier de sortie d'une tâche en arrière-plan avec `Read` à la place.

3276 3280 

3277Une entrée `disallowedTools` ou une règle de refus qui nomme toujours `TaskOutput` est ignorée sans avertissement.3281Une entrée `disallowedTools` ou une règle de refus qui nomme toujours `TaskOutput` est ignorée sans avertissement.

3278 3282 


3383};3387};

3384```3388```

3385 3389 

3386Arrête une tâche de fond en cours d'exécution ou un shell par ID. À partir de v2.1.198, `task_id` accepte également un coéquipier d'équipe d'agent ou un agent de fond nommé par ID d'agent ou nom.3390Arrête une tâche en arrière-plan en cours d'exécution ou un shell par ID. À partir de v2.1.198, `task_id` accepte également un coéquipier d'équipe d'agents ou un agent en arrière-plan nommé par ID d'agent ou nom.

3387 3391 

3388<h3 id="notebookedit">3392<h3 id="notebookedit">

3389 NotebookEdit3393 NotebookEdit


3452};3456};

3453```3457```

3454 3458 

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

3456 3460 

3457| Champ | Type | Description |3461| Champ | Type | Description |

3458| - | - | - |3462| - | - | - |

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

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

3461| `scriptPath` | `string` | Chemin vers un fichier de script de flux de travail sur le disque. Prend la priorité sur `script` et `name`. Claude Code persiste chaque invocation du script et retourne le chemin dans le résultat, afin que vous puissiez éditer ce fichier et réinvoquer avec le même `scriptPath` pour itérer |3465| `scriptPath` | `string` | Chemin vers un fichier de script de workflow sur le disque. A priorité sur `script` et `name`. Claude Code persiste chaque invocation du script et retourne le chemin dans le résultat, afin que vous puissiez éditer ce fichier et réinvoquer avec le même `scriptPath` pour itérer |

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

3463| `resumeFromRunId` | `string` | ID d'exécution d'une invocation `Workflow` antérieure à reprendre. Les appels `agent()` complétés avec des entrées inchangées retournent généralement les résultats en cache ; le reste s'exécute en direct. [Reprendre après une pause](/docs/fr/workflows#resume-after-a-pause) couvre les appels complétés qui se réexécutent. Même session uniquement |3467| `resumeFromRunId` | `string` | ID d'exécution d'une invocation `Workflow` antérieure à reprendre. Les appels `agent()` complétés avec des entrées inchangées retournent généralement les résultats en cache ; le reste s'exécute en direct. [Reprendre après une pause](/docs/fr/workflows#resume-after-a-pause) couvre les appels complétés qui se réexécutent. Même session uniquement |

3464| `title` | `string` | Ignoré ; le bloc `meta` du script définit le titre |3468| `title` | `string` | Ignoré ; le bloc `meta` du script définit le titre |

3465| `description` | `string` | Ignoré ; le bloc `meta` du script définit la description |3469| `description` | `string` | Ignoré ; le bloc `meta` du script définit la description |


3580};3584};

3581```3585```

3582 3586 

3583Quitte le mode de planification. Le champ `allowedPrompts` est déprécié et ignoré ; Claude Code l'accepte toujours pour que les appelants existants et les transcriptions se valident. Avant v2.1.205, il demandait des permissions Bash basées sur les invites pour implémenter le plan.3587Quitte le mode plan. Le champ `allowedPrompts` est déprécié et ignoré ; Claude Code l'accepte toujours pour que les appelants existants et les transcriptions se valident. Avant v2.1.205, il demandait des permissions Bash basées sur les prompts pour implémenter le plan.

3584 3588 

3585<h3 id="listmcpresources">3589<h3 id="listmcpresources">

3586 ListMcpResources3590 ListMcpResources


3624};3628};

3625```3629```

3626 3630 

3627Crée et entre dans un worktree git temporaire pour un travail isolé. Passez `path` pour basculer dans un worktree existant au lieu d'en créer un nouveau. À la première entrée, la cible doit être un worktree enregistré du référentiel actuel ou, dans un espace de travail multi-référentiel, d'un référentiel imbriqué à l'intérieur ; depuis une session worktree, elle doit être sous `.claude/worktrees/` du référentiel de la session. `name` et `path` s'excluent mutuellement.3631Crée et entre dans un worktree git temporaire pour un travail isolé. Passez `path` pour basculer dans un worktree existant au lieu d'en créer un nouveau. À la première entrée, la cible doit être un worktree enregistré du dépôt actuel ou, dans un espace de travail multi-dépôt, d'un dépôt imbriqué à l'intérieur ; depuis une session worktree, elle doit être sous `.claude/worktrees/` du dépôt de la session. `name` et `path` s'excluent mutuellement.

3628 3632 

3629<h3 id="exitworktree">3633<h3 id="exitworktree">

3630 ExitWorktree3634 ExitWorktree


3639};3643};

3640```3644```

3641 3645 

3642Quitte le worktree git actuel et retourne au répertoire de travail d'origine. L'action `keep` laisse le worktree et la branche sur le disque, tandis que `remove` supprime les deux. `discard_changes` doit être `true` lors de la suppression d'un worktree qui a des fichiers non validés ou des commits non fusionnés.3646Quitte le worktree git actuel et retourne au répertoire de travail d'origine. L'action `keep` laisse le worktree et la branche sur le disque, tandis que `remove` supprime les deux. `discard_changes` doit être `true` lors de la suppression d'un worktree qui a des fichiers non commités ou des commits non fusionnés.

3643 3647 

3644<h3 id="enterplanmode">3648<h3 id="enterplanmode">

3645 EnterPlanMode3649 EnterPlanMode


3651type EnterPlanModeInput = {};3655type EnterPlanModeInput = {};

3652```3656```

3653 3657 

3654Entre en mode de planification, où Claude recherche et présente un plan avant de faire des modifications.3658Entre en mode plan, où Claude recherche et présente un plan avant de faire des modifications.

3655 3659 

3656<h3 id="croncreate">3660<h3 id="croncreate">

3657 CronCreate3661 CronCreate


3668};3672};

3669```3673```

3670 3674 

3671Planifie une invite pour s'exécuter selon un calendrier cron à 5 champs en heure locale. Définissez `recurring` à `false` pour se déclencher une seule fois à la prochaine correspondance. Les tâches sont limitées à la session par défaut, et reprendre avec `--resume` ou `--continue` restaure les tâches qui n'ont pas expiré. Voir [Tâches planifiées](/docs/fr/scheduled-tasks).3675Planifie un prompt pour s'exécuter selon un calendrier cron à 5 champs en heure locale. Définissez `recurring` à `false` pour se déclencher une seule fois à la prochaine correspondance. Les tâches sont limitées à la session par défaut, et reprendre avec `--resume` ou `--continue` restaure les tâches qui n'ont pas expiré. Voir [Tâches planifiées](/docs/fr/scheduled-tasks).

3672 3676 

3673Définir `durable` à `true` demande la persistance vers `.claude/scheduled_tasks.json` pour que la tâche survive aux redémarrages. La planification durable n'est pas disponible dans chaque session : lorsqu'elle ne l'est pas, Claude Code accepte `durable: true` mais crée la tâche en session uniquement. Lisez le champ `durable` de la sortie pour voir si la tâche a persisté.3677Définir `durable` à `true` demande la persistance vers `.claude/scheduled_tasks.json` pour que la tâche survive aux redémarrages. La planification durable n'est pas disponible dans chaque session : lorsqu'elle ne l'est pas, Claude Code accepte `durable: true` mais crée la tâche en session uniquement. Lisez le champ `durable` de la sortie pour voir si la tâche a persisté.

3674 3678 


3714};3718};

3715```3719```

3716 3720 

3717Planifie un réveil unique qui déclenche l'invite donnée après un délai. Cet outil soutient la commande `/loop` à rythme personnel. Le runtime limite `delaySeconds` entre 60 et 3 600 secondes. Les champs `delaySeconds`, `reason`, `prompt` et `noop` sont requis sauf si `stop` est true. `noop: true` signale un réveil où rien n'a changé. Définir `stop: true` annule le réveil en attente et termine le `/loop` à rythme personnel. Le champ `stop` nécessite Claude Code v2.1.202 ou version ultérieure. Voir la [ligne ScheduleWakeup dans la référence des outils](/docs/fr/tools-reference).3721Planifie un réveil unique qui déclenche le prompt donné après un délai. Cet outil soutient la commande `/loop` à rythme personnel. Le runtime limite `delaySeconds` entre 60 et 3 600 secondes. Les champs `delaySeconds`, `reason`, `prompt` et `noop` sont requis sauf si `stop` est true. `noop: true` signale un réveil où rien n'a changé. Définir `stop: true` annule le réveil en attente et termine le `/loop` à rythme personnel. Le champ `stop` nécessite Claude Code v2.1.202 ou version ultérieure. Voir la [ligne ScheduleWakeup dans la référence des outils](/docs/fr/tools-reference).

3718 3722 

3719<h3 id="remotetrigger">3723<h3 id="remotetrigger">

3720 RemoteTrigger3724 RemoteTrigger


3746 3750 

3747`create_webhook_trigger` attache une source d'événement à une routine existante, telle qu'un [événement GitHub](/docs/fr/routines#add-a-github-trigger) qui la déclenche. Le `body` nomme la source, les événements et la routine à déclencher. Nécessite Claude Code v2.1.225 ou version ultérieure.3751`create_webhook_trigger` attache une source d'événement à une routine existante, telle qu'un [événement GitHub](/docs/fr/routines#add-a-github-trigger) qui la déclenche. Le `body` nomme la source, les événements et la routine à déclencher. Nécessite Claude Code v2.1.225 ou version ultérieure.

3748 3752 

3749`list_runs` répertorie les exécutions récentes d'une routine, et `get_run_log` lit le journal d'une exécution. `session_id` nomme l'exécution à lire, à partir d'un résultat `list_runs`, et `cursor` pagine à travers l'une ou l'autre action. Les deux actions nécessitent Claude Code v2.1.227 ou version ultérieure.3753`list_runs` répertorie les exécutions récentes d'une routine, et `get_run_log` lit le journal d'une exécution. `session_id` nomme l'exécution à lire, à partir d'un résultat `list_runs`, et `cursor` pagine à travers les résultats de l'une ou l'autre action. Les deux actions nécessitent Claude Code v2.1.227 ou version ultérieure.

3750 3754 

3751Cet outil n'est disponible que lorsque la session est authentifiée avec un compte claude.ai sur un plan avec Routines activées, et est absent lorsque la politique de votre organisation désactive [Claude Code sur le web](/docs/fr/claude-code-on-the-web). Sur Claude Code v2.1.227 ou version ultérieure, l'outil est également absent lorsqu'un propriétaire a [désactivé les routines pour l'organisation](/docs/fr/routines#routines-are-disabled-by-your-organizations-policy). Avant v2.1.227, une session avec seulement le basculement des routines désactivé affichait toujours l'outil, et le serveur refusait ses appels.3755Cet outil n'est disponible que lorsque la session est authentifiée avec un compte claude.ai sur un plan avec Routines activées, et est absent lorsque la politique de votre organisation désactive les [sessions cloud](/docs/fr/claude-code-on-the-web). Sur Claude Code v2.1.227 ou version ultérieure, l'outil est également absent lorsqu'un propriétaire a [désactivé les routines pour l'organisation](/docs/fr/routines#routines-are-disabled-by-your-organizations-policy). Avant v2.1.227, une session avec seulement le basculement des routines désactivé affichait toujours l'outil, et le serveur refusait ses appels.

3752 3756 

3753<h3 id="pushnotification">3757<h3 id="pushnotification">

3754 PushNotification3758 PushNotification


3799 3803 

3800Chaque résultat porte ces champs :3804Chaque résultat porte ces champs :

3801 3805 

3802* `file` : chemin relatif au référentiel où se trouve le résultat. Le `line` optionnel est la ligne indexée à 1 à laquelle il s'ancre.3806* `file` : chemin relatif au dépôt où se trouve le résultat. Le `line` optionnel est la ligne indexée à 1 à laquelle il s'ancre.

3803* `summary` : déclaration d'une phrase du défaut. `failure_scenario` décrit les entrées concrètes et l'état qui mènent à la sortie incorrecte ou au crash.3807* `summary` : déclaration d'une phrase du défaut. `failure_scenario` décrit les entrées concrètes et l'état qui mènent à la sortie incorrecte ou au crash.

3804* `short_summary` : étiquette compressée optionnelle d'au maximum 60 caractères pour l'affichage compact. Nécessite Claude Code v2.1.212 ou version ultérieure.3808* `short_summary` : étiquette compressée optionnelle d'au maximum 60 caractères pour l'affichage compact. Nécessite Claude Code v2.1.212 ou version ultérieure.

3805* `category` : slug kebab-case court optionnel du type de résultat, tel que `correctness` ou `test-coverage`. Nécessite Claude Code v2.1.199 ou version ultérieure.3809* `category` : slug kebab-case court optionnel du type de résultat, tel que `correctness` ou `test-coverage`. Nécessite Claude Code v2.1.199 ou version ultérieure.

3806* `verdict` : défini lorsqu'une passe de vérification s'est exécutée ; absent sur les révisions en ligne uniquement.3810* `verdict` : défini lorsqu'une passe de vérification s'est exécutée ; absent sur les revues en ligne uniquement.

3807* `outcome` : défini uniquement lors de la signalisation après l'application des correctifs.3811* `outcome` : défini uniquement lors de la signalisation après l'application des correctifs.

3808 3812 

3809<h3 id="artifact">3813<h3 id="artifact">


3841 3845 

3842Passez `"list"` pour énumérer les artefacts publiés de l'utilisateur ; seuls `limit` et `scope` peuvent l'accompagner. `scope` par défaut à `"mine"`, qui répertorie les artefacts que l'utilisateur possède ; `"shared"` répertorie les artefacts que d'autres personnes ont partagés avec l'utilisateur, et `"all"` répertorie les deux.3846Passez `"list"` pour énumérer les artefacts publiés de l'utilisateur ; seuls `limit` et `scope` peuvent l'accompagner. `scope` par défaut à `"mine"`, qui répertorie les artefacts que l'utilisateur possède ; `"shared"` répertorie les artefacts que d'autres personnes ont partagés avec l'utilisateur, et `"all"` répertorie les deux.

3843 3847 

3848`limit` définit le nombre maximal d'artefacts qu'une liste retourne, de 1 à 200. Un `limit` supérieur à 50 nécessite Agent SDK v0.3.292 ou version ultérieure. Sans `limit`, une liste retourne jusqu'à 25 artefacts.

3849 

3844* `capabilities` : les capacités d'exécution que la page publiée utilise, indexées par nom de capacité, telles que les [connecteurs que la page peut appeler](/docs/fr/artifacts#pull-live-data-with-mcp-connectors). Le service d'artefact valide la déclaration et rejette une publication qui nomme une capacité que le compte ne peut pas utiliser ou en donne une configuration invalide. Passez `{}` pour effacer une déclaration stockée, et omettez le champ lors d'un redéploiement pour la conserver. Nécessite Agent SDK v0.3.235 ou version ultérieure.3850* `capabilities` : les capacités d'exécution que la page publiée utilise, indexées par nom de capacité, telles que les [connecteurs que la page peut appeler](/docs/fr/artifacts#pull-live-data-with-mcp-connectors). Le service d'artefact valide la déclaration et rejette une publication qui nomme une capacité que le compte ne peut pas utiliser ou en donne une configuration invalide. Passez `{}` pour effacer une déclaration stockée, et omettez le champ lors d'un redéploiement pour la conserver. Nécessite Agent SDK v0.3.235 ou version ultérieure.

3845* `contract` : la version d'exécution contre laquelle la page publiée s'exécute. Omettez-la pour conserver la version actuelle de l'artefact, passez `"latest"` pour mettre à niveau, ou passez une version spécifique pour épingler ou revenir en arrière. Nécessite Agent SDK v0.3.235 ou version ultérieure.3851* `contract` : la version d'exécution contre laquelle la page publiée s'exécute. Omettez-la pour conserver la version actuelle de l'artefact, passez `"latest"` pour mettre à niveau, ou passez une version spécifique pour épingler ou revenir en arrière. Nécessite Agent SDK v0.3.235 ou version ultérieure.

3846 3852 


3873 3879 

3874* `project_info` : retourne les métadonnées du projet et la liste des documents.3880* `project_info` : retourne les métadonnées du projet et la liste des documents.

3875* `project_read` : lit un document par `path`.3881* `project_read` : lit un document par `path`.

3876* `project_search` : interroge la base de connaissances du projet avec `query`. `n` limite les résultats et par défaut à 5.3882* `project_search` : interroge la base de connaissances du projet avec `query`. `n` limite les résultats et vaut par défaut `5`.

3877* `project_write` : crée ou remplace un document à `path` à partir d'exactement l'un de `content`, qui porte du texte en ligne, ou `local_path`, qui nomme un fichier dans le répertoire de travail. `present_to_user: true` marque le document écrit comme le livrable que l'utilisateur doit voir.3883* `project_write` : crée ou remplace un document à `path` à partir d'exactement l'un de `content`, qui porte du texte en ligne, ou `local_path`, qui nomme un fichier dans le répertoire de travail. `present_to_user: true` marque le document écrit comme le livrable que l'utilisateur doit voir.

3878* `project_delete` : supprime un document par `path`.3884* `project_delete` : supprime un document par `path`.

3879 3885 


4878 rel?: "mine" | "shared";4884 rel?: "mine" | "shared";

4879 }>;4885 }>;

4880 truncated?: boolean;4886 truncated?: boolean;

4887 total?: number;

4888 total_at_least?: true;

4881 scope?: "shared" | "all";4889 scope?: "shared" | "all";

4882 };4890 };

4883```4891```

4884 4892 

4885Retourne l'`url` de la page publiée et le `path` local qui a été publié pour l'action de publication, avec `updated` défini à true lorsque la publication a redéployé un artefact existant, et `warnings` contenant tous les avis au moment de la publication. L'action de liste retourne les lignes `artifacts` à la place, avec `truncated` défini lorsque plus d'artefacts existent que la limite demandée. Sur les listes dont la portée n'est pas `"mine"`, chaque ligne porte `rel` marquant si l'utilisateur possède l'artefact ou s'il lui a été partagé, et la `scope` de la sortie enregistre quelle portée non-défaut a produit la liste ; les deux sont absents sur les listes par défaut.4893Retourne l'`url` de la page publiée et le `path` local qui a été publié pour l'action de publication, avec `updated` défini à true lorsque la publication a redéployé un artefact existant, et `warnings` contenant tous les avis au moment de la publication. L'action de liste retourne les lignes `artifacts` à la place, avec `truncated` défini lorsque plus d'artefacts existent que la limite demandée. Sur les listes dont la portée n'est pas `"mine"`, chaque ligne porte `rel` marquant si l'utilisateur possède l'artefact ou s'il lui a été partagé, et la `scope` de la sortie enregistre quelle portée non-défaut a produit la liste ; les deux sont absents sur les listes par défaut.

4886 4894 

4895Un résultat de liste signale également `total`, le nombre d'artefacts correspondant à la portée listée, y compris ceux au-delà de `limit`. Lorsque `total_at_least` est défini, ce nombre est une limite inférieure et d'autres artefacts peuvent exister. Les deux champs nécessitent Agent SDK v0.3.292 ou ultérieur.

4896 

4887<h3 id="projects-2">4897<h3 id="projects-2">

4888 Projects4898 Projects

4889</h3>4899</h3>

agent-teams.md +2 −0

Details

1593. [`CLAUDE_CODE_SUBAGENT_MODEL`](/docs/fr/model-config#environment-variables), lorsqu'il est défini sur autre chose que `inherit`.1593. [`CLAUDE_CODE_SUBAGENT_MODEL`](/docs/fr/model-config#environment-variables), lorsqu'il est défini sur autre chose que `inherit`.

1604. Le modèle actuel du chef.1604. Le modèle actuel du chef.

161 161 

162Si un [mod](/docs/fr/plugins/mods/overview) installé définit un modèle dans son hook [`agent.spawn`](/docs/fr/plugins/mods/reference#subagents), Claude Code utilise ce modèle à la place de la première source.

163 

162Si vous définissez [`CLAUDE_CODE_SUBAGENT_MODEL_FORCE=1`](/docs/fr/sub-agents#run-every-subagent-on-one-model), les deux premières sources ne s'appliquent pas. Claude Code choisit le modèle de chaque coéquipier à partir de `CLAUDE_CODE_SUBAGENT_MODEL` lorsqu'il est défini sur autre chose que `inherit`, et à partir du modèle actuel du chef sinon. Nécessite Claude Code v2.1.257 ou ultérieur.164Si vous définissez [`CLAUDE_CODE_SUBAGENT_MODEL_FORCE=1`](/docs/fr/sub-agents#run-every-subagent-on-one-model), les deux premières sources ne s'appliquent pas. Claude Code choisit le modèle de chaque coéquipier à partir de `CLAUDE_CODE_SUBAGENT_MODEL` lorsqu'il est défini sur autre chose que `inherit`, et à partir du modèle actuel du chef sinon. Nécessite Claude Code v2.1.257 ou ultérieur.

163 165 

164Avant la v2.1.251, `CLAUDE_CODE_SUBAGENT_MODEL` venait en premier dans cet ordre.166Avant la v2.1.251, `CLAUDE_CODE_SUBAGENT_MODEL` venait en premier dans cet ordre.

agent-view.md +12 −7

Details

226 226 

227Tapez une réponse dans le panneau d'aperçu et appuyez sur `Enter` pour l'envoyer à cette session. Préfixez une réponse avec `!` pour envoyer une commande Bash à la place. Ce qu'il advient de la réponse dépend de la session et de ce que vous envoyez :227Tapez une réponse dans le panneau d'aperçu et appuyez sur `Enter` pour l'envoyer à cette session. Préfixez une réponse avec `!` pour envoyer une commande Bash à la place. Ce qu'il advient de la réponse dépend de la session et de ce que vous envoyez :

228 228 

229* Une session en cours de travail : la réponse rejoint la [file d'attente de messages](/docs/fr/interactive-mode#queue-messages-while-claude-works) de la session au lieu d'interrompre la réponse, et prend effet [au même moment que les entrées en file d'attente](/docs/fr/interactive-mode#when-claude-code-sends-what-you-queued). Une [commande](/docs/fr/commands) attend la fin du tour, même une commande qui s'exécute dès que vous la tapez dans le prompt de la session elle-même229* Une session en cours de travail : `/model`, `/effort`, `/rename` et `/usage` s'exécutent immédiatement. Les autres réponses rejoignent la [file d'attente de messages](/docs/fr/interactive-mode#queue-messages-while-claude-works) de la session au lieu d'interrompre la réponse, et prennent effet [au même moment que les entrées en file d'attente](/docs/fr/interactive-mode#when-claude-code-sends-what-you-queued). Les autres [commandes](/docs/fr/commands) attendent la fin du tour, même celles qui s'exécutent dès que vous les tapez dans le prompt de la session elle-même

230* Une réponse qui est exactement `/stop` : arrête immédiatement la session au lieu de lui être transmise, que la session soit en cours de travail ou qu'elle vous attende230* Une réponse qui est exactement `/stop` : arrête immédiatement la session au lieu de lui être transmise, que la session soit en cours de travail ou qu'elle vous attende

231* Une [tâche shell](#run-a-shell-command) : la réponse, `/stop` compris, est transmise au terminal de la commande comme saisie231* Une [tâche shell](#run-a-shell-command) : la réponse, `/stop` compris, est transmise au terminal de la commande comme saisie

232 232 


238 238 

239Lorsqu'un hook [`PermissionRequest`](/docs/fr/hooks#permissionrequest) ou [`PreToolUse`](/docs/fr/hooks#pretooluse) retourne une sortie que Claude Code ne peut pas valider pour l'appel que la session demande, la ligne affiche l'événement du hook et `hook output invalid:` avec l'erreur de validation avant le texte de la demande en attente. Pour un hook qui échoue d'une autre manière, la ligne indique que le hook a échoué. La session attend toujours la même demande.239Lorsqu'un hook [`PermissionRequest`](/docs/fr/hooks#permissionrequest) ou [`PreToolUse`](/docs/fr/hooks#pretooluse) retourne une sortie que Claude Code ne peut pas valider pour l'appel que la session demande, la ligne affiche l'événement du hook et `hook output invalid:` avec l'erreur de validation avant le texte de la demande en attente. Pour un hook qui échoue d'une autre manière, la ligne indique que le hook a échoué. La session attend toujours la même demande.

240 240 

241Une réponse qui ne peut pas être livrée, parce que le service en arrière-plan est inaccessible ou que l'envoi échoue, est enregistrée et envoyée à la session comme son prochain prompt lorsque son processus redémarre, et le message d'erreur indique que la réponse a été enregistrée. Une réponse préfixée avec `!` n'est pas enregistrée, car le texte enregistré atteindrait la session en tant que simple prompt plutôt que de s'exécuter en tant que commande Bash.241Lorsqu'une réponse ne peut pas être livrée, le message d'erreur indique si elle a été enregistrée. Une réponse préfixée avec `!` ou `/` n'est jamais enregistrée. Claude Code envoie une réponse enregistrée comme prochain prompt de la session la prochaine fois que vous redémarrez la session ; renvoyez toute autre réponse.

242 242 

243Avec la [dictée vocale](/docs/fr/voice-dictation) activée en [mode maintien](/docs/fr/voice-dictation#hold-to-record), maintenez votre touche push-to-talk enfoncée pendant que l'entrée de réponse a le focus pour dicter une réponse au lieu de la taper. La même chose fonctionne dans l'entrée de dispatch en bas de la vue agent.243Avec la [dictée vocale](/docs/fr/voice-dictation) activée en [mode maintien](/docs/fr/voice-dictation#hold-to-record), maintenez votre touche push-to-talk enfoncée pendant que l'entrée de réponse a le focus pour dicter une réponse au lieu de la taper. La même chose fonctionne dans l'entrée de dispatch en bas de la vue agent.

244 244 


288 288 

289La ligne depuis laquelle vous avez appuyé sur `←` conserve également un nom en gras et non estompé après que vous avez déplacé la sélection avec les touches fléchées ou la souris, afin que vous puissiez savoir de quelle session vous venez.289La ligne depuis laquelle vous avez appuyé sur `←` conserve également un nom en gras et non estompé après que vous avez déplacé la sélection avec les touches fléchées ou la souris, afin que vous puissiez savoir de quelle session vous venez.

290 290 

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

292 292 

293La limite de dix secondes ne s'applique pas tant que les [sous-agents au premier plan](/docs/fr/sub-agents#run-subagents-in-foreground-or-background) que Claude a démarrés dans la conversation s'exécutent encore. Claude Code continue d'attendre afin que leur travail soit transféré, et affiche un avis `Still backgrounding after the current tool` pendant qu'il attend. Appuyez à nouveau sur `←` pour mettre en arrière-plan sans attendre, ce qui redémarre ces sous-agents depuis le début. Claude Code n'attend pas les sous-agents qu'un [workflow dynamique](/docs/fr/workflows) exécute. Lorsqu'un workflow a des sous-agents en cours d'exécution, Claude Code affiche le dialogue `Background this session?` à la place.293Après environ dix secondes, Claude Code met la session en arrière-plan sans attendre davantage, sauf dans des cas comme ceux-ci :

294 294 

295Claude Code ne met pas la session en arrière-plan tant que vous avez du texte non envoyé dans l'entrée du prompt, car le texte reste dans la zone de saisie de votre terminal et ne serait pas déplacé vers la session en arrière-plan. Si vous tapez dans l'entrée pendant que Claude Code attend de mettre la session en arrière-plan, il annule le basculement avec `Backgrounding cancelled — you have unsent text in the input. Send it or clear it, then press ← again.`295* **Des sous-agents au premier plan s'exécutent encore** : Claude Code continue d'attendre afin que le travail des [sous-agents au premier plan](/docs/fr/sub-agents#run-subagents-in-foreground-or-background) que Claude a démarrés soit transféré, et affiche `Still backgrounding after the current tool`. Appuyez à nouveau sur `←` pour mettre en arrière-plan sans attendre, ce qui redémarre ces sous-agents depuis le début.

296* **Une demande de permission ou une question attend votre réponse** : pendant qu'une demande de permission ou une question posée par Claude attend, Claude Code continue d'attendre et affiche `Still backgrounding after the current tool — a question is waiting for your answer.`

297* **Vous tapez dans l'entrée du prompt** : Claude Code annule le basculement, car le texte non envoyé reste dans la zone de saisie de votre terminal et ne serait pas déplacé vers la session en arrière-plan. Il affiche `Backgrounding cancelled — you have unsent text in the input. Send it or clear it, then press ← again.`

298* **Un message en file d'attente ne peut pas être déplacé** : les messages que vous avez [mis en file d'attente pendant que Claude travaillait](/docs/fr/interactive-mode#queue-messages-while-claude-works) sont déplacés vers la session en arrière-plan avec la conversation. Lorsque l'un d'eux ne peut pas l'être, la session reste au premier plan et Claude Code affiche un avis comme `Cannot open agents — 1 queued message can't move to the background. Press ← again once Claude has read it.`

296 299 

297Appuyer sur `←` crée la ligne de la session même lorsque la conversation n'a pas encore de messages, afin que `→` y revienne toujours.300Appuyer sur `←` crée la ligne de la session même lorsque la conversation n'a pas encore de messages, afin que `→` y revienne toujours.

298 301 


876 879 

877Chaque session est son propre processus Claude Code sous le superviseur, et ce qui arrive à ce processus dépend de l'état de la session :880Chaque session est son propre processus Claude Code sous le superviseur, et ce qui arrive à ce processus dépend de l'état de la session :

878 881 

879* **En cours d'exécution, en pause sur une demande de permission ou un autre dialogue, ou attaché** : le processus continue de s'exécuter. Un sous-agent, un workflow ou un monitor en cours d'exécution compte comme en cours d'exécution.882* **En cours d'exécution, en pause sur une demande de permission ou un autre dialogue, ou attaché** : le processus continue de s'exécuter. Un sous-agent, un workflow ou un monitor en cours d'exécution compte comme en cours d'exécution, tout comme une [tâche planifiée à l'échelle de la session](/docs/fr/scheduled-tasks) en attente, par exemple un réveil `/loop`.

880* **Terminé ou en attente de votre prochain message, et non attaché pendant environ une heure** : le superviseur arrête le processus pour libérer des ressources. Une session qui a terminé son tour en vous posant une question compte comme en attente de votre prochain message. La conversation reste sur le disque, et la prochaine fois que vous vous attachez ou répondez, la session reprend là où elle s'était arrêtée. Épinglez une session avec `Ctrl+T` pour garder son processus en cours d'exécution.883* **Terminé ou en attente de votre prochain message, et non attaché pendant environ une heure** : le superviseur arrête le processus pour libérer des ressources. Une session qui a terminé son tour en vous posant une question compte comme en attente de votre prochain message. La conversation reste sur le disque, et la prochaine fois que vous vous attachez ou répondez, la session reprend là où elle s'était arrêtée. Épinglez une session avec `Ctrl+T` pour garder son processus en cours d'exécution.

881* **Arrêté de manière inattendue tandis que le superviseur est en cours d'exécution** : le superviseur redémarre le processus. Terminer une session que vous avez mise en arrière-plan vous-même avec `←` ou `/background`, par exemple avec `kill`, la marque comme arrêtée au lieu de la redémarrer. Pour les sessions qui se sont terminées avec un arrêt, voir [Les sessions s'affichent comme échouées ou arrêtées après l'arrêt](#sessions-show-as-failed-after-shutdown).884* **Arrêté de manière inattendue tandis que le superviseur est en cours d'exécution** : le superviseur redémarre le processus. Terminer une session que vous avez mise en arrière-plan vous-même avec `←` ou `/background`, par exemple avec `kill`, la marque comme arrêtée au lieu de la redémarrer. Pour les sessions qui se sont terminées avec un arrêt, voir [Les sessions s'affichent comme échouées ou arrêtées après l'arrêt](#sessions-show-as-failed-after-shutdown).

882* **Après une mise à jour automatique** : le superviseur redémarre lui-même sur la nouvelle version et déplace les sessions inactives en arrière-plan. Les sessions qui fonctionnent, qui attendent votre entrée, ou qui sont attachées ne sont pas interrompues.885* **Après une mise à jour automatique** : le superviseur redémarre lui-même sur la nouvelle version et déplace les sessions inactives en arrière-plan. Les sessions qui fonctionnent, qui attendent votre entrée, ou qui sont attachées ne sont pas interrompues.


970* Un terminal où vous avez repris la conversation, par exemple avec `claude --resume` ou `/resume` : la ligne affiche `Open in a terminal` avec un indice pour la continuer là, et l'ouverture de la ligne affiche `Can't open — this session is running in another terminal`. Continuez dans ce terminal, ou quittez-le et ouvrez la ligne à nouveau.973* Un terminal où vous avez repris la conversation, par exemple avec `claude --resume` ou `/resume` : la ligne affiche `Open in a terminal` avec un indice pour la continuer là, et l'ouverture de la ligne affiche `Can't open — this session is running in another terminal`. Continuez dans ce terminal, ou quittez-le et ouvrez la ligne à nouveau.

971* Un autre processus Claude Code non interactif, par exemple un processus de session en arrière-plan pour la même conversation qui n'a pas encore quitté : l'ouverture de la ligne affiche `This conversation is already open in another running Claude session`. Utilisez ce processus, ou attendez qu'il se termine et ouvrez la ligne à nouveau.974* Un autre processus Claude Code non interactif, par exemple un processus de session en arrière-plan pour la même conversation qui n'a pas encore quitté : l'ouverture de la ligne affiche `This conversation is already open in another running Claude session`. Utilisez ce processus, ou attendez qu'il se termine et ouvrez la ligne à nouveau.

972 975 

973Claude Code enregistre une réponse que vous avez tapée avec la tentative refusée et l'envoie la prochaine fois que la session démarre.976Claude Code enregistre une réponse que vous avez tapée avec la tentative refusée, sauf si elle commence par `!` ou `/`, et l'envoie la prochaine fois que la session démarre.

974 977 

975<h3 id="opening-a-session-says-it-has-no-saved-transcript">978<h3 id="opening-a-session-says-it-has-no-saved-transcript">

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


1093| Version | Changement |1096| Version | Changement |

1094| - | - |1097| - | - |

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

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

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

1096| 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). |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). |

1097| v2.1.287 | Le [filtre `n:<text>`](#filter-sessions) trouve les sessions par nom ou par premier prompt. Tant qu'un filtre est actif, les groupes que vous avez réduits se développent pour afficher leurs correspondances et la première correspondance est sélectionnée, de sorte que `Enter` l'ouvre. |1102| v2.1.287 | Le [filtre `n:<text>`](#filter-sessions) trouve les sessions par nom ou par premier prompt. Tant qu'un filtre est actif, les groupes que vous avez réduits se développent pour afficher leurs correspondances et la première correspondance est sélectionnée, de sorte que `Enter` l'ouvre. |

1098| v2.1.287 | Une commande envoyée comme [réponse depuis le panneau d'aperçu](#peek-and-reply) s'exécute à la fin du tour en cours de la session, y compris les commandes qui s'exécutent dès que vous les tapez dans le prompt propre à la session. Une réponse qui est exactement `/stop` arrête immédiatement la session. |1103| v2.1.287 | Une commande envoyée comme [réponse depuis le panneau d'aperçu](#peek-and-reply) s'exécute à la fin du tour en cours de la session, y compris les commandes qui s'exécutent dès que vous les tapez dans le prompt propre à la session. Une réponse qui est exactement `/stop` arrête immédiatement la session. |

amazon-bedrock.md +49 −12

Details

136 2. Configurer les identifiants AWS136 2. Configurer les identifiants AWS

137</h3>137</h3>

138 138 

139Claude Code utilise la chaîne d'identifiants par défaut du SDK AWS. Configurez vos identifiants en utilisant l'une de ces méthodes :139Claude Code utilise la chaîne d'identifiants par défaut du SDK AWS. Si la machine fournit déjà des identifiants à cette chaîne, comme un profil d'instance Amazon EC2 ou des identifiants de tâche Amazon ECS, passez directement à l'[étape 3](#3-configure-claude-code).

140 140 

141**Option A : Configuration AWS CLI**141AWS [déconseille d'utiliser les clés d'accès d'un utilisateur IAM](https://docs.aws.amazon.com/cli/latest/userguide/cli-authentication-user.html) lorsque vous développez des logiciels spécifiques ou travaillez avec des données réelles. Configurez vos identifiants avec l'une de ces méthodes :

142 

143* [`aws configure`](#use-aws-configure) : enregistrez la clé d'accès d'un utilisateur IAM dans un profil de votre répertoire `~/.aws`

144* [Variables d'environnement de clé d'accès](#export-an-access-key) : définissez une clé d'accès, ou des identifiants temporaires avec un jeton de session, dans le shell actuel uniquement

145* [Profil SSO](#use-an-sso-profile) : connectez-vous via le Centre d'identité IAM dans votre navigateur et obtenez des identifiants temporaires. Utilisez cette méthode si vous accédez à votre compte AWS via le Centre d'identité IAM.

146* [Identifiants de la console de gestion AWS](#use-aws-management-console-credentials) : connectez-vous via votre navigateur avec vos identifiants de la console de gestion AWS et obtenez des identifiants temporaires. AWS [recommande cette méthode](https://docs.aws.amazon.com/signin/latest/userguide/command-line-sign-in.html) si vous accédez à votre compte AWS en tant qu'utilisateur root, en tant qu'utilisateur IAM ou via une fédération avec IAM.

147* [Clé API Amazon Bedrock](#use-an-amazon-bedrock-api-key) : authentifiez-vous avec un jeton bearer qui fonctionne uniquement pour Amazon Bedrock, au lieu d'identifiants AWS

148 

149<h4 id="use-aws-configure">

150 Utiliser `aws configure`

151</h4>

152 

153Exécutez `aws configure` et saisissez votre ID de clé d'accès, votre clé d'accès secrète et votre région par défaut lorsque vous y êtes invité :

142 154 

143```bash theme={null}155```bash theme={null}

144aws configure156aws configure

145```157```

146 158 

147**Option B : Variables d'environnement (clé d'accès)**159L'AWS CLI enregistre la clé dans le profil `default` de `~/.aws/credentials`, où la chaîne d'identifiants la lit.

160 

161<h4 id="export-an-access-key">

162 Exporter une clé d'accès

163</h4>

164 

165Exportez votre clé d'accès sous forme de variables d'environnement. `AWS_SESSION_TOKEN` n'est requis qu'avec des identifiants temporaires ; omettez donc cette ligne si votre clé d'accès appartient à un utilisateur IAM :

148 166 

149```bash theme={null}167```bash theme={null}

150export AWS_ACCESS_KEY_ID=your-access-key-id168export AWS_ACCESS_KEY_ID=your-access-key-id


152export AWS_SESSION_TOKEN=your-session-token170export AWS_SESSION_TOKEN=your-session-token

153```171```

154 172 

155**Option C : Variables d'environnement (profil SSO)**173<h4 id="use-an-sso-profile">

174 Utiliser un profil SSO

175</h4>

156 176 

157Remplacez `your-profile-name` par le nom de votre profil AWS avant d'exécuter ces commandes.177Créez un profil avec `aws configure sso` si vous n'en avez pas. Connectez-vous ensuite au Centre d'identité IAM et définissez `AWS_PROFILE` afin que la chaîne d'identifiants utilise ce profil. Remplacez `your-profile-name` par le nom de votre profil AWS avant d'exécuter ces commandes.

158 178 

159```bash theme={null}179```bash theme={null}

160aws sso login --profile=your-profile-name180aws sso login --profile=your-profile-name


164 184 

165Claude Code demande les identifiants de rôle à la région du Centre d'identité IAM nommée par le `sso_region` du profil, qui n'a pas besoin de correspondre à la région dans laquelle vous exécutez Amazon Bedrock. En v2.1.207, la région Amazon Bedrock a remplacé `sso_region`, donc un profil dont l'instance du Centre d'identité IAM se trouve dans une région différente n'a pas pu s'authentifier avec une erreur `Session token not found or invalid`.185Claude Code demande les identifiants de rôle à la région du Centre d'identité IAM nommée par le `sso_region` du profil, qui n'a pas besoin de correspondre à la région dans laquelle vous exécutez Amazon Bedrock. En v2.1.207, la région Amazon Bedrock a remplacé `sso_region`, donc un profil dont l'instance du Centre d'identité IAM se trouve dans une région différente n'a pas pu s'authentifier avec une erreur `Session token not found or invalid`.

166 186 

167**Option D : Identifiants de la console de gestion AWS**187<h4 id="use-aws-management-console-credentials">

188 Utiliser les identifiants de la console de gestion AWS

189</h4>

190 

191La commande `aws login` nécessite AWS CLI 2.32.0 ou ultérieur. Pour la politique IAM dont votre identité a besoin, consultez les [instructions AWS pour `aws login`](https://docs.aws.amazon.com/signin/latest/userguide/command-line-sign-in.html).

192 

193Exécutez la commande pour vous connecter via votre navigateur avec vos identifiants de la console de gestion AWS :

168 194 

169```bash theme={null}195```bash theme={null}

170aws login196aws login

171```197```

172 198 

173[En savoir plus](https://docs.aws.amazon.com/signin/latest/userguide/command-line-sign-in.html) sur `aws login`.199La session est valide jusqu'à 12 heures, après quoi vous exécutez à nouveau `aws login`.

200 

201<h4 id="use-an-amazon-bedrock-api-key">

202 Utiliser une clé API Amazon Bedrock

203</h4>

204 

205Une clé API Amazon Bedrock est un jeton bearer qui authentifie vos requêtes à la place des identifiants AWS. AWS émet [deux types de clés](https://docs.aws.amazon.com/bedrock/latest/userguide/api-keys.html) :

174 206 

175**Option E : Clés API Amazon Bedrock**207* **Clés à court terme** : durent jusqu'à 12 heures. AWS les préfère aux clés à long terme pour les environnements de production.

208* **Clés à long terme** : durent jusqu'à une date d'expiration que vous définissez. AWS les recommande uniquement pour l'exploration.

209 

210Exportez la clé en tant que `AWS_BEARER_TOKEN_BEDROCK` :

176 211 

177```bash theme={null}212```bash theme={null}

178export AWS_BEARER_TOKEN_BEDROCK=your-bedrock-api-key213export AWS_BEARER_TOKEN_BEDROCK=your-bedrock-api-key

179```214```

180 215 

181Les clés API Amazon Bedrock fournissent une méthode d'authentification plus simple sans avoir besoin d'identifiants AWS complets. [En savoir plus sur les clés API Amazon Bedrock](https://aws.amazon.com/blogs/machine-learning/accelerate-ai-development-with-amazon-bedrock-api-keys/).216Lorsque `AWS_BEARER_TOKEN_BEDROCK` est défini, Claude Code s'authentifie avec la clé et ne résout pas la chaîne d'identifiants, même si d'autres identifiants AWS sont présents. [En savoir plus sur les clés API Amazon Bedrock](https://aws.amazon.com/blogs/machine-learning/accelerate-ai-development-with-amazon-bedrock-api-keys/).

182 217 

183<h4 id="credential-caching-and-resolution-timeout">218<h4 id="credential-caching-and-resolution-timeout">

184 Mise en cache des identifiants et délai d'expiration de la résolution219 Mise en cache des identifiants et délai d'expiration de la résolution


186 221 

187Claude Code résout la chaîne du fournisseur d'identifiants par défaut AWS une fois et conserve les identifiants résolus en mémoire. Il les réutilise jusqu'à cinq minutes avant leur expiration, ou pendant une heure quand ils n'ont pas d'expiration, donc un profil soutenu par SSO demande des identifiants au Centre d'identité IAM environ une fois par durée de vie des identifiants. Une erreur d'identifiant de l'API efface le cache, et la nouvelle tentative résout les identifiants frais. Nécessite Claude Code v2.1.207 ou ultérieur.222Claude Code résout la chaîne du fournisseur d'identifiants par défaut AWS une fois et conserve les identifiants résolus en mémoire. Il les réutilise jusqu'à cinq minutes avant leur expiration, ou pendant une heure quand ils n'ont pas d'expiration, donc un profil soutenu par SSO demande des identifiants au Centre d'identité IAM environ une fois par durée de vie des identifiants. Une erreur d'identifiant de l'API efface le cache, et la nouvelle tentative résout les identifiants frais. Nécessite Claude Code v2.1.207 ou ultérieur.

188 223 

189Le cache couvre chaque option d'identifiant ci-dessus sauf une clé API Amazon Bedrock, qui n'utilise pas la chaîne du fournisseur. Pour résoudre la chaîne à chaque demande à la place, définissez [`CLAUDE_CODE_SKIP_AWS_CRED_CACHE=1`](/docs/fr/env-vars).224Le cache couvre chaque méthode d'identification listée au début de cette étape, sauf une clé API Amazon Bedrock, qui n'utilise pas la chaîne du fournisseur. Pour résoudre la chaîne à chaque requête à la place, définissez [`CLAUDE_CODE_SKIP_AWS_CRED_CACHE=1`](/docs/fr/env-vars).

190 225 

191La résolution qui remplit le cache expire après 60 secondes. Si une étape de la chaîne s'arrête, par exemple un assistant `credential_process` qui attend une entrée qu'il ne peut pas recevoir, la requête échoue avec [`AWS default-chain credential resolve timed out`](/docs/fr/errors#aws-default-chain-credential-resolve-timed-out). Si votre chaîne exécute une connexion interactive qui a légitimement besoin de plus de temps, comme SSO basé sur navigateur avec MFA via un wrapper comme `aws-vault`, augmentez la limite en millisecondes avec [`CLAUDE_CODE_AWS_CHAIN_RESOLVE_TIMEOUT_MS`](/docs/fr/env-vars). Lorsque `CLAUDE_CODE_SKIP_AWS_CRED_CACHE=1` est défini, chaque requête API résout la chaîne sans cette limite.226La résolution qui remplit le cache expire après 60 secondes. Si une étape de la chaîne s'arrête, par exemple un assistant `credential_process` qui attend une entrée qu'il ne peut pas recevoir, la requête échoue avec [`AWS default-chain credential resolve timed out`](/docs/fr/errors#aws-default-chain-credential-resolve-timed-out). Si votre chaîne exécute une connexion interactive qui a légitimement besoin de plus de temps, comme SSO basé sur navigateur avec MFA via un wrapper comme `aws-vault`, augmentez la limite en millisecondes avec [`CLAUDE_CODE_AWS_CHAIN_RESOLVE_TIMEOUT_MS`](/docs/fr/env-vars). Lorsque `CLAUDE_CODE_SKIP_AWS_CRED_CACHE=1` est défini, chaque requête API résout la chaîne sans cette limite.

192 227 


509 Fenêtre de contexte de 1M de jetons544 Fenêtre de contexte de 1M de jetons

510</h2>545</h2>

511 546 

512Claude Sonnet 5, Opus 4.6 et versions ultérieures, ainsi que Sonnet 4.6, prennent en charge la [fenêtre de contexte de 1M de jetons](https://platform.claude.com/docs/fr/build-with-claude/context-windows#context-window-sizes-by-model) sur Amazon Bedrock. Sonnet 5 s'exécute toujours avec la fenêtre 1M sur l'API Invoke et le [point de terminaison Mantle](#use-the-mantle-endpoint), sans variante `[1m]` à sélectionner. Pour les autres modèles sur l'API Invoke, Claude Code active automatiquement la fenêtre de contexte étendue lorsque vous sélectionnez une variante de modèle 1M.547Les modèles Fable, Sonnet 5 et versions ultérieures, ainsi qu'Opus 4.7 et versions ultérieures s'exécutent par défaut avec la [fenêtre de contexte de 1M de tokens](https://platform.claude.com/docs/fr/build-with-claude/context-windows#context-window-sizes-by-model) sur Amazon Bedrock, aussi bien sur l'API Invoke que sur l'[endpoint Mantle](#use-the-mantle-endpoint), sans qu'aucun suffixe `[1m]` ne soit nécessaire. Un ARN de profil d'inférence d'application obtient la fenêtre 1M lorsqu'une entrée [`modelOverrides`](#map-each-model-version-to-an-inference-profile) y associe son modèle. Pour conserver plutôt une fenêtre de 200K, définissez [`CLAUDE_CODE_DISABLE_1M_CONTEXT=1`](/docs/fr/model-config#turn-off-1m-context).

548 

549Opus 4.6 et Sonnet 4.6 sur l'API Invoke accèdent à la fenêtre 1M lorsque vous sélectionnez leur variante `[1m]`. L'[assistant de configuration](#sign-in-with-bedrock) offre une option de contexte 1M lorsqu'il épingle les modèles. Pour l'activer pour un modèle épinglé manuellement à la place, ajoutez `[1m]` à l'ID du modèle. Voir [Épingler les modèles pour les déploiements tiers](/docs/fr/model-config#pin-models-for-third-party-deployments) pour plus de détails, notamment comment utiliser la fenêtre 1M sans modifier l'épingle.

513 550 

514L'[assistant de configuration](#sign-in-with-bedrock) offre une option de contexte 1M lorsqu'il épingle les modèles. Pour l'activer pour un modèle épinglé manuellement à la place, ajoutez `[1m]` à l'ID du modèle. Voir [Épingler les modèles pour les déploiements tiers](/docs/fr/model-config#pin-models-for-third-party-deployments) pour plus de détails, notamment comment utiliser la fenêtre 1M sans modifier l'épingle.551Avant la v2.1.287, les modèles Fable ainsi qu'Opus 4.7 et versions ultérieures s'exécutaient par défaut avec une fenêtre de 200K sur l'API Invoke et y accédaient à la fenêtre 1M via un suffixe `[1m]`.

515 552 

516<h2 id="service-tiers">553<h2 id="service-tiers">

517 Niveaux de service554 Niveaux de service

artifacts.md +1 −1

Details

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

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

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

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, et lorsque [`CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`](/docs/fr/env-vars) est défini. |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. |

395 395 

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

397 397 

Details

134* Tout fichier de paramètres définit [`forceLoginOrgUUID`](#restrict-login-to-your-organization), ou définit `forceLoginMethod` sur `"claudeai"` ou `"console"`134* Tout fichier de paramètres définit [`forceLoginOrgUUID`](#restrict-login-to-your-organization), ou définit `forceLoginMethod` sur `"claudeai"` ou `"console"`

135* Une source de paramètres gérés sur votre machine, telle que le fichier de paramètres gérés, un profil MDM ou les paramètres gérés par serveur en cache, existe mais Claude Code [ne peut pas le lire](/docs/fr/managed-settings#invalid-entries-in-managed-settings) et aucune autre source gérée ne fournit de politique135* Une source de paramètres gérés sur votre machine, telle que le fichier de paramètres gérés, un profil MDM ou les paramètres gérés par serveur en cache, existe mais Claude Code [ne peut pas le lire](/docs/fr/managed-settings#invalid-entries-in-managed-settings) et aucune autre source gérée ne fournit de politique

136 136 

137Désactivez `ANTHROPIC_API_KEY` avant de vous connecter sans clé.137Supprimez `ANTHROPIC_API_KEY` avant de vous connecter sans clé.

138 138 

139Après vous être connecté sans clé, vous avez un profil au lieu d'une clé API stockée :139Après vous être connecté sans clé, vous avez un profil au lieu d'une clé API stockée :

140 140 


142* **Ce dont il vous déconnecte** : Claude Code vous déconnecte de toute connexion claude.ai stockée sur la machine142* **Ce dont il vous déconnecte** : Claude Code vous déconnecte de toute connexion claude.ai stockée sur la machine

143* **Comment l'annuler** : exécutez `/logout`, qui supprime et révoque l'identifiant que cette connexion a écrit143* **Comment l'annuler** : exécutez `/logout`, qui supprime et révoque l'identifiant que cette connexion a écrit

144 144 

145Si votre organisation utilise les [paramètres gérés par serveur](/docs/fr/server-managed-settings), ils s'appliquent à cette connexion sur Claude Code v2.1.257 ou version ultérieure.

146 

147Tout le reste concernant les profils s'applique à cette connexion, y compris son classement par rapport à vos autres identifiants, la ligne `Profile` que vous obtenez dans `/status`, et les fonctionnalités qui nécessitent une connexion claude.ai. Voir [Anthropic profiles and federation credentials](#anthropic-profiles-and-federation-credentials).145Tout le reste concernant les profils s'applique à cette connexion, y compris son classement par rapport à vos autres identifiants, la ligne `Profile` que vous obtenez dans `/status`, et les fonctionnalités qui nécessitent une connexion claude.ai. Voir [Anthropic profiles and federation credentials](#anthropic-profiles-and-federation-credentials).

148 146 

149<h3 id="cloud-provider-authentication">147<h3 id="cloud-provider-authentication">


298 296 

299Les fonctionnalités qui nécessitent votre connexion claude.ai, telles que [les connecteurs claude.ai](/docs/fr/mcp#use-mcp-servers-from-claude-ai) et [`/schedule`](/docs/fr/routines), ne sont pas disponibles lorsqu'une de ces sources est sélectionnée. Pour empêcher Claude Code de sélectionner une source :297Les fonctionnalités qui nécessitent votre connexion claude.ai, telles que [les connecteurs claude.ai](/docs/fr/mcp#use-mcp-servers-from-claude-ai) et [`/schedule`](/docs/fr/routines), ne sont pas disponibles lorsqu'une de ces sources est sélectionnée. Pour empêcher Claude Code de sélectionner une source :

300 298 

301* **Profil nommé ou variables de fédération** : désactivez `ANTHROPIC_PROFILE`, ou désactivez l'une des variables de fédération299* **Profil nommé ou variables de fédération** : supprimez `ANTHROPIC_PROFILE`, ou supprimez l'une des variables de fédération

302* **Profil actif** : exécutez `/logout` pour un profil `user_oauth` dont l'identifiant actuel vous avez écrit en [vous connectant à un compte Console sans clé API](#sign-in-without-an-api-key), exécutez `ant auth logout` pour un dont l'identifiant actuel `ant auth login` a écrit, ou supprimez le fichier du profil de `configs/` dans votre répertoire de configuration pour l'un ou l'autre mode d'authentification300* **Profil actif** : exécutez `/logout` pour un profil `user_oauth` dont l'identifiant actuel vous avez écrit en [vous connectant à un compte Console sans clé API](#sign-in-without-an-api-key), exécutez `ant auth logout` pour un dont l'identifiant actuel `ant auth login` a écrit, ou supprimez le fichier du profil de `configs/` dans votre répertoire de configuration pour l'un ou l'autre mode d'authentification

303 301 

304<h3 id="generate-a-long-lived-token">302<h3 id="generate-a-long-lived-token">

Details

305 Autoriser une passerelle sur l'espace d'adresses publiques que vous possédez305 Autoriser une passerelle sur l'espace d'adresses publiques que vous possédez

306</h3>306</h3>

307 307 

308Certaines organisations numérotent leur réseau interne à partir d'un bloc IPv4 public qu'elles possèdent, comme l'espace d'adresses propre d'un opérateur ou un `/8` hérité, donc leur passerelle ne peut pas avoir d'adresse privée. Listez ces blocs dans le paramètre géré `gatewayInternalNetworks`. `/login` accepte alors une passerelle à l'intérieur d'un bloc listé quand la machine du développeur s'y connecte à partir d'une adresse à l'intérieur du même bloc. Cela nécessite Claude Code v2.1.268 ou ultérieur sur la machine du développeur ; les versions antérieures ignorent la clé et appliquent la règle d'adresse privée.308Certaines organisations numérotent leur réseau interne à partir d'un bloc IPv4 public qu'elles possèdent, comme l'espace d'adresses propre d'un opérateur ou un `/8` hérité, donc leur passerelle n'a pas d'adresse privée. Listez ces blocs dans le paramètre géré `gatewayInternalNetworks`. `/login` accepte alors une passerelle à l'intérieur d'un bloc listé quand la machine du développeur s'y connecte à partir d'une adresse à l'intérieur du même bloc. Cela nécessite Claude Code v2.1.268 ou ultérieur sur la machine du développeur ; les versions antérieures ignorent la clé et appliquent la règle d'adresse privée.

309 309 

310<Warning>310<Warning>

311 `gatewayInternalNetworks` est pour les réseaux internes qui se trouvent être numérotés à partir de l'espace d'adresses public. Cela ne rend pas sûr d'exposer une passerelle à Internet : une passerelle de confiance peut pousser des paramètres qui exécutent des commandes sur les machines des développeurs.311 `gatewayInternalNetworks` est pour les réseaux internes qui se trouvent être numérotés à partir de l'espace d'adresses public. Cela ne rend pas sûr d'exposer une passerelle à Internet : une passerelle de confiance peut pousser des paramètres qui exécutent des commandes sur les machines des développeurs.


523| Fonctionnalité | Statut | Notes |523| Fonctionnalité | Statut | Notes |

524| - | - | - |524| - | - | - |

525| Transfert d'inférence (Amazon Bedrock, Claude Platform on AWS, Agent Platform de Google Cloud, Microsoft Foundry, Anthropic) | Disponible | Avec traduction de modèle par amont et basculement. L'amont Amazon Bedrock utilise l'endpoint `bedrock-runtime` et la chaîne d'identifiants AWS par défaut. L'[amont Amazon Bedrock Mantle](/docs/fr/claude-apps-gateway-config#amazon-bedrock-mantle-endpoint) nécessite Claude Code v2.1.283 ou ultérieur sur le serveur de passerelle, et l'[amont Claude Platform on AWS](/docs/fr/claude-apps-gateway-config#claude-platform-on-aws) nécessite v2.1.198 ou ultérieur. |525| Transfert d'inférence (Amazon Bedrock, Claude Platform on AWS, Agent Platform de Google Cloud, Microsoft Foundry, Anthropic) | Disponible | Avec traduction de modèle par amont et basculement. L'amont Amazon Bedrock utilise l'endpoint `bedrock-runtime` et la chaîne d'identifiants AWS par défaut. L'[amont Amazon Bedrock Mantle](/docs/fr/claude-apps-gateway-config#amazon-bedrock-mantle-endpoint) nécessite Claude Code v2.1.283 ou ultérieur sur le serveur de passerelle, et l'[amont Claude Platform on AWS](/docs/fr/claude-apps-gateway-config#claude-platform-on-aws) nécessite v2.1.198 ou ultérieur. |

526| Fenêtre de contexte de 1M tokens | Disponible | Les modèles Fable, Sonnet 5 et ultérieurs, et Opus 4.7 et ultérieurs s'exécutent avec la fenêtre de 1M par défaut ; voir [Contexte étendu](/docs/fr/model-config#extended-context). La valeur par défaut de 1M pour les modèles Fable et Opus nécessite Claude Code v2.1.287 ou ultérieur sur la machine du développeur |

526| Accès au modèle et paramètres gérés par groupe IdP | Disponible | L'accès au modèle est appliqué côté serveur ; les paramètres gérés sont livrés par groupe IdP et appliqués par la CLI au [niveau des paramètres gérés](/docs/fr/settings#settings-precedence) |527| Accès au modèle et paramètres gérés par groupe IdP | Disponible | L'accès au modèle est appliqué côté serveur ; les paramètres gérés sont livrés par groupe IdP et appliqués par la CLI au [niveau des paramètres gérés](/docs/fr/settings#settings-precedence) |

527| Claude Desktop | Disponible avec opt-in | La passerelle sert la configuration de Claude Desktop à `/user/bootstrap` une fois qu'une politique [opte pour une clé `desktop`](/docs/fr/claude-apps-gateway-config#claude-desktop-overlay), et Claude Desktop envoie les requêtes de modèle de ses onglets Cowork et Code, et de l'onglet Chat quand vous l'activez, via la passerelle. Pour activer l'onglet Chat, voir [Connecter Claude Desktop](#connect-claude-desktop). Nécessite Claude Code v2.1.203 ou ultérieur sur le serveur de passerelle. |528| Claude Desktop | Disponible avec opt-in | La passerelle sert la configuration de Claude Desktop à `/user/bootstrap` une fois qu'une politique [opte pour une clé `desktop`](/docs/fr/claude-apps-gateway-config#claude-desktop-overlay), et Claude Desktop envoie les requêtes de modèle de ses onglets Cowork et Code, et de l'onglet Chat quand vous l'activez, via la passerelle. Pour activer l'onglet Chat, voir [Connecter Claude Desktop](#connect-claude-desktop). Nécessite Claude Code v2.1.203 ou ultérieur sur le serveur de passerelle. |

528| Fan-out de télémétrie (OTLP/HTTP) | Disponible | Estampillé d'identité par export ; encodages protobuf et JSON |529| Fan-out de télémétrie (OTLP/HTTP) | Disponible | Estampillé d'identité par export ; encodages protobuf et JSON |

Details

6 6 

7> Enregistrez la passerelle auprès de votre fournisseur d'identité, créez le conteneur, déployez sur Kubernetes ou Cloud Run, et exploitez-la : vérifications de santé, rotation des secrets, mises à jour et sécurité.7> Enregistrez la passerelle auprès de votre fournisseur d'identité, créez le conteneur, déployez sur Kubernetes ou Cloud Run, et exploitez-la : vérifications de santé, rotation des secrets, mises à jour et sécurité.

8 8 

9<Info>

10 **Planifiez d'abord le réseau de votre passerelle.** Lors de la connexion, Claude Code refuse une passerelle Claude apps dont le nom d'hôte se résout en une adresse IP publique, même si celle-ci n'est pas accessible depuis Internet.

11 

12 Une passerelle Claude apps peut envoyer des paramètres vers les machines des utilisateurs, y compris des hooks qui exécutent des commandes shell. Cette vérification aide à éviter que les utilisateurs ne se connectent accidentellement à une passerelle malveillante sur l'Internet public. Gardez également votre propre passerelle hors d'Internet.

13 

14 Choisissez l'adresse de la passerelle avant de choisir où elle s'exécute. Il s'agit généralement d'une adresse privée que les utilisateurs atteignent sur votre réseau interne ou via un VPN. Si votre réseau interne utilise des plages IPv4 publiques, vous pouvez indiquer une plage qui contient à la fois la passerelle et les machines de vos utilisateurs. Claude Code considère cette correspondance comme un signe que la passerelle se trouve sur votre réseau interne. Consultez [Choisir une adresse pour la passerelle](#choose-an-address-for-the-gateway). Si aucune de ces options ne convient à votre réseau, contactez l'équipe chargée de votre compte Anthropic.

15</Info>

16 

9Cette page couvre l'aspect opérationnel de l'exécution de la [passerelle Claude apps](/docs/fr/claude-apps-gateway) : enregistrement d'un client OAuth auprès de votre fournisseur d'identité (IdP), déploiement de la passerelle en tant que conteneur, et son exploitation au quotidien. Pour chaque option du fichier `gateway.yaml` que la passerelle lit au démarrage, consultez la [Référence de configuration](/docs/fr/claude-apps-gateway-config).17Cette page couvre l'aspect opérationnel de l'exécution de la [passerelle Claude apps](/docs/fr/claude-apps-gateway) : enregistrement d'un client OAuth auprès de votre fournisseur d'identité (IdP), déploiement de la passerelle en tant que conteneur, et son exploitation au quotidien. Pour chaque option du fichier `gateway.yaml` que la passerelle lit au démarrage, consultez la [Référence de configuration](/docs/fr/claude-apps-gateway-config).

10 18 

11Un déploiement en production suit quatre étapes dans l'ordre, et les sections ci-dessous les correspondent. Les deux premières sont des choix à faire ; les deux dernières sont des documents de référence à consulter une fois qu'elle est en cours d'exécution.19Un déploiement en production suit quatre étapes dans l'ordre, et les sections ci-dessous les correspondent. Les deux premières sont des choix à faire ; les deux dernières sont des documents de référence à consulter une fois qu'elle est en cours d'exécution.


17 25 

18Si une connexion ou un démarrage échoue en cours de route, allez directement à [Dépannage](#troubleshooting), qui est indexé sur l'erreur que vous voyez.26Si une connexion ou un démarrage échoue en cours de route, allez directement à [Dépannage](#troubleshooting), qui est indexé sur l'erreur que vous voyez.

19 27 

20<Note>

21 **Déployez sur votre réseau privé.** Claude Code ne se connecte qu'à une passerelle dont l'adresse est privée. C'est une protection de sécurité, car une passerelle de confiance peut envoyer des paramètres qui exécutent des commandes sur les machines des développeurs. Placez la passerelle derrière un équilibreur de charge interne ou un VPN et donnez-lui un nom d'hôte qui se résout uniquement en adresses IP privées. Si votre réseau interne est numéroté à partir d'un espace d'adresses IPv4 public que votre organisation possède, consultez [Autoriser une passerelle sur un espace d'adresses public que vous possédez](/docs/fr/claude-apps-gateway#allow-a-gateway-on-public-address-space-you-own).

22</Note>

23 

24<h2 id="identity-provider-setup">28<h2 id="identity-provider-setup">

25 Configuration du fournisseur d'identité29 Configuration du fournisseur d'identité

26</h2>30</h2>


51 Déploiement55 Déploiement

52</h2>56</h2>

53 57 

54La passerelle est un seul binaire Linux sans état qui se coordonne via Postgres, donc déployez-la comme vous déployez tout autre service sans état dans votre environnement. Gardez-la à l'intérieur de votre réseau, où vos développeurs et votre IdP peuvent la joindre via HTTPS, et traitez-la comme tout service détenant une credential de production.58La passerelle est un seul binaire Linux sans état qui se coordonne via Postgres, donc déployez-la comme vous déployez tout autre service sans état dans votre environnement. Gardez-la à l'intérieur de votre réseau, où vos développeurs peuvent la joindre via HTTPS et où elle peut joindre votre IdP, et traitez-la comme tout service détenant des identifiants de production.

55 59 

56Quelques décisions façonnent le déploiement au-delà de l'endroit où il s'exécute :60Quelques décisions façonnent le déploiement au-delà de l'endroit où il s'exécute :

57 61 


71 75 

72Une valeur par défaut telle que les 60 secondes de l'ALB est suffisante pour garder un flux silencieux ouvert. L'[exemple travaillé AWS](/docs/fr/claude-apps-gateway-on-aws#troubleshooting) l'augmente à une heure de toute façon, et sa ligne de dépannage couvre les passerelles antérieures à v2.1.229, qui n'envoyaient rien pendant les périodes silencieuses sur les amonts qui reçoivent maintenant des pings.76Une valeur par défaut telle que les 60 secondes de l'ALB est suffisante pour garder un flux silencieux ouvert. L'[exemple travaillé AWS](/docs/fr/claude-apps-gateway-on-aws#troubleshooting) l'augmente à une heure de toute façon, et sa ligne de dépannage couvre les passerelles antérieures à v2.1.229, qui n'envoyaient rien pendant les périodes silencieuses sur les amonts qui reçoivent maintenant des pings.

73 77 

78<h3 id="choose-an-address-for-the-gateway">

79 Choisir une adresse pour la passerelle

80</h3>

81 

82Claude Code accepte l'adresse d'une passerelle de l'une de deux manières :

83 

84* **Adresse privée** : placez la passerelle derrière un équilibreur de charge interne ou un VPN, avec un nom d'hôte qui se résout uniquement en adresses privées, telles que RFC 1918 ou CGNAT `100.64.0.0/10`. Les machines des utilisateurs peuvent avoir n'importe quelle adresse. Le [prérequis de réseau privé](/docs/fr/claude-apps-gateway#prerequisites) liste les plages acceptées.

85* **Bloc déclaré** : si votre réseau interne utilise un espace IPv4 public que possède votre organisation, listez le bloc dans le paramètre géré `gatewayInternalNetworks`. La passerelle et la machine de l'utilisateur doivent toutes deux se trouver dans ce bloc. Consultez [Autoriser une passerelle sur un espace d'adressage public que vous possédez](/docs/fr/claude-apps-gateway#allow-a-gateway-on-public-address-space-you-own).

86 

87Si aucun bloc unique ne contient les deux, attribuez plutôt une adresse privée à la passerelle.

88 

74<h3 id="container-image">89<h3 id="container-image">

75 Image de conteneur90 Image de conteneur

76</h3>91</h3>


375 Dépannage390 Dépannage

376</h2>391</h2>

377 392 

378Pour les questions et les commentaires, utilisez le [support Claude Code](https://support.claude.com/en/collections/14445694-claude-code), ou ouvrez un problème sur le [dépôt GitHub Claude Code](https://github.com/anthropics/claude-code/issues). Lors de la signalisation d'un problème, incluez :393Pour les questions et les commentaires, utilisez le [support Claude Code](https://support.claude.com/en/collections/14445694-claude-code), ou ouvrez un problème sur le [dépôt GitHub Claude Code](https://github.com/anthropics/claude-code/issues). Vous pouvez également contacter l'équipe chargée de votre compte Anthropic. Lors de la signalisation d'un problème, incluez :

379 394 

380* **Problème de passerelle** : la sortie d'erreur de la passerelle pour la fenêtre pertinente, votre `gateway.yaml` avec les secrets masqués, la version de la passerelle, affichée sur la page d'accueil à `/` et dans l'en-tête de réponse `x-cc-gateway-version` sur `/managed/settings`, et ce qui a changé récemment395* **Problème de passerelle** : la sortie d'erreur de la passerelle pour la fenêtre pertinente, votre `gateway.yaml` avec les secrets masqués, la version de la passerelle, affichée sur la page d'accueil à `/` et dans l'en-tête de réponse `x-cc-gateway-version` sur `/managed/settings`, et ce qui a changé récemment

381* **Problème de connexion** : le développeur exécute `claude --debug-file ./claude-debug.txt`, reproduit le problème, et envoie ce fichier plus le journal d'audit de la passerelle pour la même fenêtre396* **Problème de connexion** : le développeur exécute `claude --debug-file ./claude-debug.txt`, reproduit le problème, et envoie ce fichier plus le journal d'audit de la passerelle pour la même fenêtre


394| CLI `/login` : `The gateway is limiting sign-in attempts right now`, ou `Request failed with status code 429` sur les versions antérieures. La page `/device` peut afficher `Too many attempts` aux développeurs qui n'ont pas essayé auparavant | La limite de débit de connexion par IP a été atteinte. Soit `listen.trusted_proxies` ne couvre pas l'équilibreur de charge, donc chaque développeur partage son adresse, soit de nombreux développeurs partagent une adresse de sortie NAT ou VPN. Les événements d'audit avec `result: rate_limited` affichent la même une ou quelques valeurs `client_ip`. | Définissez d'abord `listen.trusted_proxies` sur les plages sources de l'équilibreur de charge, puis augmentez `rate_limits` si les développeurs partagent toujours des adresses. Voir [Déploiements à grande échelle](#large-rollouts). |409| CLI `/login` : `The gateway is limiting sign-in attempts right now`, ou `Request failed with status code 429` sur les versions antérieures. La page `/device` peut afficher `Too many attempts` aux développeurs qui n'ont pas essayé auparavant | La limite de débit de connexion par IP a été atteinte. Soit `listen.trusted_proxies` ne couvre pas l'équilibreur de charge, donc chaque développeur partage son adresse, soit de nombreux développeurs partagent une adresse de sortie NAT ou VPN. Les événements d'audit avec `result: rate_limited` affichent la même une ou quelques valeurs `client_ip`. | Définissez d'abord `listen.trusted_proxies` sur les plages sources de l'équilibreur de charge, puis augmentez `rate_limits` si les développeurs partagent toujours des adresses. Voir [Déploiements à grande échelle](#large-rollouts). |

395| CLI `/login` : `Gateway hosts must be on your organization's private network; <host> resolves to the public (or unrecognized) address <ip>` | Le nom d'hôte de la passerelle se résout en au moins une adresse IP publique. Claude Code vérifie chaque adresse résolue et exige que chacune soit privée. Une cause courante est un nom double pile où une famille se résout en une adresse publique, y compris les équilibreurs de charge double pile internes AWS, qui renvoient des adresses AAAA de plage publique. | Faites en sorte que le nom de la passerelle se résout uniquement en adresses privées sur les machines des développeurs. Pour un nom double pile, supprimez l'enregistrement de plage publique ou servez un nom DNS interne uniquement. Voir le [prérequis du réseau privé](/docs/fr/claude-apps-gateway#prerequisites). Si l'adresse est un espace public que votre organisation possède et utilise en interne, [déclarez ce bloc](/docs/fr/claude-apps-gateway#allow-a-gateway-on-public-address-space-you-own) à la place. |410| CLI `/login` : `Gateway hosts must be on your organization's private network; <host> resolves to the public (or unrecognized) address <ip>` | Le nom d'hôte de la passerelle se résout en au moins une adresse IP publique. Claude Code vérifie chaque adresse résolue et exige que chacune soit privée. Une cause courante est un nom double pile où une famille se résout en une adresse publique, y compris les équilibreurs de charge double pile internes AWS, qui renvoient des adresses AAAA de plage publique. | Faites en sorte que le nom de la passerelle se résout uniquement en adresses privées sur les machines des développeurs. Pour un nom double pile, supprimez l'enregistrement de plage publique ou servez un nom DNS interne uniquement. Voir le [prérequis du réseau privé](/docs/fr/claude-apps-gateway#prerequisites). Si l'adresse est un espace public que votre organisation possède et utilise en interne, [déclarez ce bloc](/docs/fr/claude-apps-gateway#allow-a-gateway-on-public-address-space-you-own) à la place. |

396| CLI `/login` : `Gateway login would go through proxy <proxy>, which is not on a private network` | Un `HTTPS_PROXY` ou `HTTP_PROXY` s'applique à l'hôte de la passerelle et le nom d'hôte du proxy se résout en une adresse publique. Un proxy dont l'hôte se résout uniquement en adresses privées est autorisé et ne déclenche pas cette erreur | Ajoutez l'hôte de la passerelle à `NO_PROXY` sur la machine du développeur pour que la connexion soit directe, ou utilisez un proxy dont le nom d'hôte se résout en adresses privées. Le message nomme l'entrée `NO_PROXY` exacte à ajouter |411| CLI `/login` : `Gateway login would go through proxy <proxy>, which is not on a private network` | Un `HTTPS_PROXY` ou `HTTP_PROXY` s'applique à l'hôte de la passerelle et le nom d'hôte du proxy se résout en une adresse publique. Un proxy dont l'hôte se résout uniquement en adresses privées est autorisé et ne déclenche pas cette erreur | Ajoutez l'hôte de la passerelle à `NO_PROXY` sur la machine du développeur pour que la connexion soit directe, ou utilisez un proxy dont le nom d'hôte se résout en adresses privées. Le message nomme l'entrée `NO_PROXY` exacte à ajouter |

397| CLI `/login` : `Claude Code only signs in to <host> from inside its declared network <block> (managed settings), and this machine is connecting from <ip>, outside it` | La passerelle se trouve sur un bloc déclaré dans [`gatewayInternalNetworks`](/docs/fr/claude-apps-gateway#allow-a-gateway-on-public-address-space-you-own), et la machine du développeur l'a atteinte à partir d'une adresse en dehors de ce bloc : une adresse de pool VPN, un segment NAT de conteneur ou WSL2, ou un réseau qui n'est pas le vôtre | Demandez au développeur d'exécuter `/login` à partir du système d'exploitation hôte sur votre réseau. Si l'adresse affichée est également votre propre espace public, remplacez l'entrée de la passerelle par un bloc qui couvre les deux, jusqu'à `/8` ; une deuxième entrée chevauchante est refusée |412| CLI `/login` : `Claude Code only signs in to <host> from inside its declared network <block> (managed settings), and this machine is connecting from <ip>, outside it` | La passerelle se trouve sur un bloc déclaré dans [`gatewayInternalNetworks`](/docs/fr/claude-apps-gateway#allow-a-gateway-on-public-address-space-you-own), et la machine du développeur l'a atteinte à partir d'une adresse en dehors de ce bloc : une adresse de pool VPN, un segment NAT de conteneur ou WSL2, ou un réseau qui n'est pas le vôtre | Demandez au développeur d'exécuter `/login` à partir du système d'exploitation hôte sur votre réseau. Si l'adresse affichée appartient également à l'espace public propre à votre organisation, remplacez l'entrée de la passerelle par un bloc qui couvre les deux, jusqu'à `/8` ; une deuxième entrée chevauchante est refusée. Si aucun bloc ne couvre les deux, voir [Choisir une adresse pour la passerelle](#choose-an-address-for-the-gateway) |

398| CLI `/login` : `Every address for gateway host <host> must be inside its declared network <block>, and it also resolves to <ip>` | Le nom de la passerelle se résout en une adresse en dehors du bloc déclaré dans [`gatewayInternalNetworks`](/docs/fr/claude-apps-gateway#allow-a-gateway-on-public-address-space-you-own) : un deuxième site, ou un enregistrement IPv6 sur un nom double pile. Sous un bloc déclaré, chaque enregistrement doit être à l'intérieur de ce bloc IPv4, adresses privées et IPv6 incluses | Publiez uniquement les enregistrements à l'intérieur du bloc pour le nom de la passerelle sur les machines des développeurs, ou servez un nom interne uniquement |413| CLI `/login` : `Every address for gateway host <host> must be inside its declared network <block>, and it also resolves to <ip>` | Le nom de la passerelle se résout en une adresse en dehors du bloc déclaré dans [`gatewayInternalNetworks`](/docs/fr/claude-apps-gateway#allow-a-gateway-on-public-address-space-you-own) : un deuxième site, ou un enregistrement IPv6 sur un nom double pile. Sous un bloc déclaré, chaque enregistrement doit être à l'intérieur de ce bloc IPv4, adresses privées et IPv6 incluses | Publiez uniquement les enregistrements à l'intérieur du bloc pour le nom de la passerelle sur les machines des développeurs, ou servez un nom interne uniquement |

399| CLI `/login` : `<host> is on the declared network <block>, which Claude Code checks over a direct connection, not through an HTTP proxy` | Un `HTTPS_PROXY` ou `HTTP_PROXY` s'applique à une passerelle sur un bloc déclaré | Sur la machine du développeur, ajoutez l'entrée `NO_PROXY` que le message nomme |414| CLI `/login` : `<host> is on the declared network <block>, which Claude Code checks over a direct connection, not through an HTTP proxy` | Un `HTTPS_PROXY` ou `HTTP_PROXY` s'applique à une passerelle sur un bloc déclaré | Sur la machine du développeur, ajoutez l'entrée `NO_PROXY` que le message nomme |

400| CLI `/login` : un message commençant par `gatewayInternalNetworks in managed settings` | La valeur viole l'une des [règles de validation](/docs/fr/claude-apps-gateway#allow-a-gateway-on-public-address-space-you-own), et le message nomme laquelle. Jusqu'à ce que vous la corrigiez, Claude Code refuse chaque nouveau `/login` de passerelle sur la machine, y compris les passerelles sur adresses privées ; les connexions existantes continuent de fonctionner | Dans la source des paramètres gérés que vous déployez, corrigez l'entrée que le message nomme, puis réexécutez `/login` |415| CLI `/login` : un message commençant par `gatewayInternalNetworks in managed settings` | La valeur viole l'une des [règles de validation](/docs/fr/claude-apps-gateway#allow-a-gateway-on-public-address-space-you-own), et le message nomme laquelle. Jusqu'à ce que vous la corrigiez, Claude Code refuse chaque nouveau `/login` de passerelle sur la machine, y compris les passerelles sur adresses privées ; les connexions existantes continuent de fonctionner | Dans la source des paramètres gérés que vous déployez, corrigez l'entrée que le message nomme, puis réexécutez `/login` |

Details

4 4 

5# Utiliser Claude Code dans le cloud5# Utiliser Claude Code dans le cloud

6 6 

7> Exécutez les sessions Claude Code dans le cloud depuis votre navigateur, téléphone, application de bureau ou terminal, déplacez-les avec `--cloud` et `--teleport`, et corrigez automatiquement les demandes de tirage.7> Exécutez les sessions Claude Code dans le cloud depuis votre navigateur, téléphone, application de bureau ou terminal, déplacez-les avec `--cloud` et `--teleport`, et corrigez automatiquement les pull requests.

8 8 

9<Note>9<Note>

10 Les sessions cloud sont disponibles sur les plans Pro, Max et Team, ainsi que pour les utilisateurs Enterprise disposant de sièges premium ou de sièges Chat + Claude Code.10 Les sessions cloud sont disponibles sur les plans Pro, Max et Team, ainsi que pour les utilisateurs Enterprise disposant de sièges premium ou de sièges Chat + Claude Code.

11</Note>11</Note>

12 12 

13Une session cloud est une session Claude Code qui s'exécute sur l'infrastructure cloud au lieu de sur votre machine. Par défaut, elle s'exécute sur l'infrastructure gérée par Anthropic, ou sur l'[environnement auto-hébergé](/docs/fr/self-hosted-environments) de votre organisation lorsqu'elle y est acheminée. La session continue de s'exécuter après que vous fermiez votre ordinateur portable, et vous pouvez la vérifier ou la diriger depuis n'importe quel appareil.13Une session cloud est une session Claude Code qui s'exécute sur l'infrastructure cloud au lieu de sur votre machine. Par défaut, elle s'exécute sur l'infrastructure gérée par Anthropic, ou sur l'[environnement auto-hébergé](/docs/fr/self-hosted-environments) de votre organisation lorsqu'elle y est acheminée. La session continue de s'exécuter après que vous fermiez votre ordinateur portable, et vous pouvez la vérifier ou la diriger depuis n'importe quel appareil. Elle est comptabilisée dans les limites d'utilisation de votre plan, avec le reste de votre utilisation de Claude et de Claude Code, et la VM cloud ne fait l'objet d'aucune facturation séparée.

14 14 

15Pour permettre aux sessions cloud de cloner votre code depuis GitHub et de pousser des branches, connectez GitHub avec l'une des [méthodes de connexion GitHub](#github-authentication-options). Si votre dépôt est hébergé sur GitLab, Bitbucket ou un autre hébergeur, consultez [Restrictions de plateforme](#limitations) pour savoir ce qui fonctionne.15Pour permettre aux sessions cloud de cloner votre code depuis GitHub et de pousser des branches, connectez GitHub avec l'une des [méthodes de connexion GitHub](#github-authentication-options). Si votre dépôt est hébergé sur GitLab, Bitbucket ou un autre hébergeur, consultez [Restrictions de plateforme](#limitations) pour savoir ce qui fonctionne.

16 16 


416* **Machines virtuelles isolées** : chaque session s'exécute dans une VM isolée gérée par Anthropic. Les sessions que votre organisation achemine vers un [environnement auto-hébergé](/docs/fr/self-hosted-environments) s'exécutent sur votre propre infrastructure à la place, où l'isolation est la responsabilité de votre déploiement416* **Machines virtuelles isolées** : chaque session s'exécute dans une VM isolée gérée par Anthropic. Les sessions que votre organisation achemine vers un [environnement auto-hébergé](/docs/fr/self-hosted-environments) s'exécutent sur votre propre infrastructure à la place, où l'isolation est la responsabilité de votre déploiement

417* <span id="default-allowed-domains" />**Contrôles d'accès réseau** : dans les environnements hébergés par Anthropic, l'accès réseau est limité par défaut et peut être désactivé. Consultez [Accès réseau](/docs/fr/cloud-environments#network-access) pour les niveaux d'accès, les [domaines autorisés par défaut](/docs/fr/cloud-environments#default-allowed-domains), et le trafic qui ne passe pas par la liste d'autorisation. Dans un environnement auto-hébergé, vous restreignez la sortie de session à votre propre limite réseau. Lors de l'exécution avec l'accès réseau désactivé, Claude Code peut toujours communiquer avec l'API Anthropic, ce qui peut permettre aux données de quitter la VM.417* <span id="default-allowed-domains" />**Contrôles d'accès réseau** : dans les environnements hébergés par Anthropic, l'accès réseau est limité par défaut et peut être désactivé. Consultez [Accès réseau](/docs/fr/cloud-environments#network-access) pour les niveaux d'accès, les [domaines autorisés par défaut](/docs/fr/cloud-environments#default-allowed-domains), et le trafic qui ne passe pas par la liste d'autorisation. Dans un environnement auto-hébergé, vous restreignez la sortie de session à votre propre limite réseau. Lors de l'exécution avec l'accès réseau désactivé, Claude Code peut toujours communiquer avec l'API Anthropic, ce qui peut permettre aux données de quitter la VM.

418* **Protection des identifiants** : dans les environnements hébergés par Anthropic, les identifiants git et les clés de signature restent en dehors du sandbox, et un proxy authentifie au nom de la session avec des identifiants limités. Dans un environnement auto-hébergé, votre déploiement fournit les identifiants git ; consultez [Configurer git](/docs/fr/self-hosted-environments-deploy#configure-git)418* **Protection des identifiants** : dans les environnements hébergés par Anthropic, les identifiants git et les clés de signature restent en dehors du sandbox, et un proxy authentifie au nom de la session avec des identifiants limités. Dans un environnement auto-hébergé, votre déploiement fournit les identifiants git ; consultez [Configurer git](/docs/fr/self-hosted-environments-deploy#configure-git)

419* **Secrets réseau** : dans les environnements hébergés par Anthropic sur les plans Pro et Max, les clés que vous [ajoutez à un environnement cloud](/docs/fr/cloud-environments#add-api-credentials) restent en dehors du sandbox de la même manière, attachées aux requêtes correspondantes après qu'elles quittent la session. Un environnement auto-hébergé n'a pas de secrets réseau, et les plans Team et Enterprise ne les ont pas encore419* **Secrets réseau** : dans les environnements hébergés par Anthropic sur les plans Pro et Max, les clés que vous [ajoutez à un environnement cloud](/docs/fr/cloud-environments#add-network-secrets) restent en dehors du sandbox de la même manière, attachées aux requêtes correspondantes après qu'elles quittent la session. Un environnement auto-hébergé n'a pas de secrets réseau, et les plans Team et Enterprise ne les ont pas encore

420* **Analyse sécurisée** : le code est analysé et modifié dans l'environnement isolé de la session avant la création de PR420* **Analyse sécurisée** : le code est analysé et modifié dans l'environnement isolé de la session avant la création de PR

421 421 

422<h2 id="troubleshooting">422<h2 id="troubleshooting">


491 491 

492Avant de compter sur les sessions cloud pour un flux de travail, tenez compte de ces contraintes :492Avant de compter sur les sessions cloud pour un flux de travail, tenez compte de ces contraintes :

493 493 

494* **Limites de débit** : les sessions cloud partagent les limites de débit avec tous les autres usages de Claude et Claude Code au sein de votre compte. L'exécution de plusieurs tâches en parallèle consomme proportionnellement plus de limites de débit. Il n'y a pas de frais de calcul séparé pour la VM cloud.494* **Limites de débit** : les sessions cloud partagent les limites de débit avec tous les autres usages de Claude et Claude Code au sein de votre compte. L'exécution de plusieurs tâches en parallèle consomme proportionnellement plus de limites de débit.

495* **Limites de temps** : les commandes que Claude exécute et les hooks SessionStart ont des délais d'expiration par défaut que vous pouvez modifier, et un script de configuration n'est mis en cache que lorsqu'il se termine en environ cinq minutes. Voir [Limites de temps](/docs/fr/cloud-environments#time-limits)495* **Limites de temps** : les commandes que Claude exécute et les hooks SessionStart ont des délais d'expiration par défaut que vous pouvez modifier, et un script de configuration n'est mis en cache que lorsqu'il se termine en environ cinq minutes. Voir [Limites de temps](/docs/fr/cloud-environments#time-limits)

496* **Authentification du référentiel** : vous ne pouvez déplacer une session cloud vers votre terminal que lorsque vous êtes authentifié au même compte496* **Authentification du référentiel** : vous ne pouvez déplacer une session cloud vers votre terminal que lorsque vous êtes authentifié au même compte

497* **Restrictions de plateforme** : le clonage du référentiel et la création de demandes de tirage nécessitent GitHub. Les instances [GitHub Enterprise Server](/docs/fr/github-enterprise-server) auto-hébergées sont prises en charge pour les plans Team et Enterprise. Vous pouvez envoyer un référentiel GitLab, Bitbucket ou autre référentiel non-GitHub à une session cloud en tant que [paquet local](#send-local-repositories-without-github) en définissant `CCR_FORCE_BUNDLE=1`, mais la session ne peut pas pousser les résultats vers ce serveur distant497* **Restrictions de plateforme** : le clonage du référentiel et la création de demandes de tirage nécessitent GitHub. Les instances [GitHub Enterprise Server](/docs/fr/github-enterprise-server) auto-hébergées sont prises en charge pour les plans Team et Enterprise. Vous pouvez envoyer un référentiel GitLab, Bitbucket ou autre référentiel non-GitHub à une session cloud en tant que [paquet local](#send-local-repositories-without-github) en définissant `CCR_FORCE_BUNDLE=1`, mais la session ne peut pas pousser les résultats vers ce serveur distant

Details

217 1. Configurez les identifiants AWS217 1. Configurez les identifiants AWS

218</h3>218</h3>

219 219 

220Claude Code prend en charge deux méthodes d'authentification pour Claude Platform on AWS. Choisissez la méthode qui correspond à la façon dont votre équipe gère l'accès.220Claude Code prend en charge deux méthodes d'authentification pour Claude Platform on AWS. Choisissez la méthode qui correspond à la façon dont votre équipe gère l'accès :

221 221 

222**Option A : Identifiants AWS avec SigV4**222* [Identifiants AWS avec SigV4](#use-aws-credentials-with-sigv4) : authentifiez-vous en tant que principal IAM, avec des identifiants issus de la chaîne d'identifiants AWS standard

223* [Clé API d'espace de travail](#use-a-workspace-api-key) : authentifiez-vous avec une clé de longue durée que vous générez dans la console AWS

224 

225<h4 id="use-aws-credentials-with-sigv4">

226 Utiliser des identifiants AWS avec SigV4

227</h4>

223 228 

224Claude Code signe les requêtes avec SigV4 en utilisant la chaîne d'identifiants AWS standard : variables d'environnement, identifiants partagés dans `~/.aws/credentials`, rôles IAM, sessions AWS SSO et toute autre source que le SDK AWS prend en charge.229Claude Code signe les requêtes avec SigV4 en utilisant la chaîne d'identifiants AWS standard : variables d'environnement, identifiants partagés dans `~/.aws/credentials`, rôles IAM, sessions AWS SSO et toute autre source que le SDK AWS prend en charge.

225 230 


244 249 

245Avec `awsAuthRefresh` configuré, exécutez `/login`, sélectionnez **plateforme tierce**, puis sélectionnez **Claude Platform on AWS · actualiser les identifiants** sous **Utilisation de plateformes tierces**. Claude Code exécute la commande configurée et relit vos identifiants AWS sans redémarrage.250Avec `awsAuthRefresh` configuré, exécutez `/login`, sélectionnez **plateforme tierce**, puis sélectionnez **Claude Platform on AWS · actualiser les identifiants** sous **Utilisation de plateformes tierces**. Claude Code exécute la commande configurée et relit vos identifiants AWS sans redémarrage.

246 251 

247**Option B : Clé API d'espace de travail**252<h4 id="use-a-workspace-api-key">

253 Utiliser une clé API d'espace de travail

254</h4>

248 255 

249Une clé API d'espace de travail est un secret de longue durée, utile lorsque vous ne souhaitez pas gérer les identifiants AWS fédérés. Générez-en une dans la console AWS sous **Claude Platform on AWS → API keys** et définissez-la comme `ANTHROPIC_AWS_API_KEY` :256Une clé API d'espace de travail est un secret de longue durée, utile lorsque vous ne souhaitez pas gérer les identifiants AWS fédérés. Générez-en une dans la console AWS sous **Claude Platform on AWS → API keys** et définissez-la comme `ANTHROPIC_AWS_API_KEY` :

250 257 

claude-projects.md +25 −25

Details

316 Donner un contexte permanent à un projet316 Donner un contexte permanent à un projet

317</h2>317</h2>

318 318 

319La mémoire du projet, les instructions du projet et les référentiels, fichiers et environnement du projet portent le contexte sur les threads. Vous définissez chacun une fois.319La mémoire du projet, les instructions du projet et les dépôts, fichiers et environnement du projet portent le contexte sur les threads. Vous définissez chacun une fois.

320 320 

321| Contexte | Ce qu'il porte | Comment vous le définissez |321| Contexte | Ce qu'il porte | Comment vous le définissez |

322| :- | :- | :- |322| :- | :- | :- |

323| Mémoire du projet | Notes que Claude garde sur le projet, comme les exigences, les décisions et les pièges, stockées sous forme de fichiers. Chaque thread cloud lit le fichier d'index `MEMORY.md` au démarrage et ouvre les autres fichiers quand il en a besoin | Demandez à Claude dans la conversation du projet ou n'importe quel thread cloud de mémoriser une exigence, une décision ou un piège, ou d'en oublier un. Lisez, modifiez et supprimez les fichiers dans **Project settings > Memory** |323| Mémoire du projet | Notes que Claude garde sur le projet, comme les exigences, les décisions et les pièges, stockées sous forme de fichiers. Chaque thread cloud lit le fichier d'index `MEMORY.md` au démarrage et ouvre les autres fichiers quand il en a besoin | Demandez à Claude dans la conversation du projet ou n'importe quel thread cloud de mémoriser une exigence, une décision ou un piège, ou d'en oublier un. Lisez, modifiez et supprimez les fichiers dans **Project settings > Memory** |

324| Instructions du projet | Texte envoyé à chaque nouveau thread et à Claude dans la conversation du projet, jusqu'à 16 000 caractères. [Écrire les instructions du projet](#write-project-instructions) couvre ce qu'il faut y mettre | **Project settings > Memory > Project instructions**, ou demandez à Claude de changer les instructions |324| Instructions du projet | Texte envoyé à chaque nouveau thread et à Claude dans la conversation du projet, jusqu'à 16 000 caractères. [Écrire les instructions du projet](#write-project-instructions) couvre ce qu'il faut y mettre | **Project settings > Memory > Project instructions**, ou demandez à Claude de changer les instructions |

325| Référentiels, fichiers et environnement | Les référentiels que chaque thread cloud clone, les dossiers et fichiers qu'il peut lire sous `/mnt/project-files`, et l'environnement cloud dans lequel il s'exécute | Référentiels et environnement dans **Project settings > Environment**, ou demandez à Claude dans la conversation d'ajouter un référentiel au projet. [Fichiers et dossiers](#add-files-and-folders) depuis **Add** sur l'onglet **Library** dans **Overview** |325| Dépôts, fichiers et environnement | Les dépôts que chaque thread cloud clone, les dossiers et fichiers qu'il peut lire sous `/mnt/project-files`, et l'environnement cloud dans lequel il s'exécute | Dépôts et environnement dans **Project settings > Environment**, ou demandez à Claude dans la conversation d'ajouter un dépôt au projet. [Fichiers et dossiers](#add-files-and-folders) depuis **Add** sur l'onglet **Library** dans **Overview** |

326 326 

327**Project settings > Memory** énumère ces fichiers sous **Auto memory**, car Claude les écrit lui-même en travaillant dans le projet. Ils sont distincts de la [mémoire automatique](/docs/fr/memory) que Claude Code garde sur votre machine, même si les deux utilisent un index `MEMORY.md`. La mémoire du projet est également distincte des fichiers `CLAUDE.md` dans les référentiels du projet. Chaque thread cloud lit toujours ces fichiers `CLAUDE.md` à partir de son clone au démarrage, donc mettez les instructions sur un référentiel dans son `CLAUDE.md` et les notes sur le projet dans la mémoire du projet.327**Project settings > Memory** énumère ces fichiers sous **Auto memory**, car Claude les écrit lui-même en travaillant dans le projet. Ils sont distincts de la [mémoire automatique](/docs/fr/memory) que Claude Code garde sur votre machine, même si les deux utilisent un index `MEMORY.md`. La mémoire du projet est également distincte des fichiers `CLAUDE.md` dans les dépôts du projet. Chaque thread cloud lit toujours ces fichiers `CLAUDE.md` à partir de son clone au démarrage, donc mettez les instructions sur un dépôt dans son `CLAUDE.md` et les notes sur le projet dans la mémoire du projet.

328 328 

329<h3 id="write-project-instructions">329<h3 id="write-project-instructions">

330 Écrire les instructions du projet330 Écrire les instructions du projet


333Les instructions du projet sont le brief que chaque nouveau thread commence. Cliquez sur l'icône d'engrenage dans l'en-tête du projet pour ouvrir **Project settings**, puis allez à **Memory > Project instructions**. Un brief utile couvre :333Les instructions du projet sont le brief que chaque nouveau thread commence. Cliquez sur l'icône d'engrenage dans l'en-tête du projet pour ouvrir **Project settings**, puis allez à **Memory > Project instructions**. Un brief utile couvre :

334 334 

335* À quoi sert le projet335* À quoi sert le projet

336* Où le travail se fait : quels référentiels, à partir de quelle branche commencer, comment nommer les pull requests336* Où le travail se fait : quels dépôts, à partir de quelle branche commencer, comment nommer les pull requests

337* Comment un thread vérifie son propre travail avant de l'appeler terminé337* Comment un thread vérifie son propre travail avant de l'appeler terminé

338* Quoi faire quand quelque chose dont il a besoin manque338* Quoi faire quand quelque chose dont il a besoin manque

339* Ce qui a besoin de votre approbation en premier339* Ce qui a besoin de votre approbation en premier


341Par exemple :341Par exemple :

342 342 

343```text theme={null}343```text theme={null}

344Ce projet maintient la latence p95 de l'API des paiements sous 200 ms : profilage, corrections de requêtes et de cache, et les mises à jour de dépendances qui les accompagnent, dans le référentiel payments-api.344Ce projet maintient la latence p95 de l'API des paiements sous 200 ms : profilage, corrections de requêtes et de cache, et les mises à jour de dépendances qui les accompagnent, dans le dépôt payments-api.

345 345 

346- Brancher à partir de main et ouvrir une pull request brouillon par thread.346- Créez une branche à partir de main et ouvrez une pull request brouillon par thread.

347- Avant d'appeler le travail terminé, exécutez `make test` et `make lint` et collez les lignes de résumé dans votre message final.347- Avant d'appeler le travail terminé, exécutez `make test` et `make lint` et collez les lignes de résumé dans votre message final.

348- Si vous ne pouvez pas atteindre quelque chose dont vous avez besoin, comme un référentiel, un secret, une API ou un connecteur, dites exactement ce qui manque dans votre premier message et arrêtez. Ne substituez pas, ne simulez pas et ne devinez pas.348- Si vous ne pouvez pas atteindre quelque chose dont vous avez besoin, comme un dépôt, un secret, une API ou un connecteur, dites exactement ce qui manque dans votre premier message et arrêtez. Ne substituez pas, ne simulez pas et ne devinez pas.

349- Ne fusionnez pas, ne forcez pas de push et ne changez pas la configuration CI sans me le demander dans le thread.349- Ne fusionnez pas, ne forcez pas de push et ne changez pas la configuration CI sans me le demander dans le thread.

350```350```

351 351 

352Les règles sur un référentiel, comme ses commandes de construction, appartiennent au `CLAUDE.md` de ce référentiel, que chaque thread cloud lit quand le référentiel fait partie du projet. Une fois que le travail est en cours, quand vous corrigez un thread, dites aussi à Claude de mémoriser la correction : elle va dans la [mémoire du projet](#give-a-project-standing-context) et les threads ultérieurs commencent avec elle.352Les règles sur un dépôt, comme ses commandes de build, appartiennent au `CLAUDE.md` de ce dépôt, que chaque thread cloud lit quand le dépôt fait partie du projet. Une fois que le travail est en cours, quand vous corrigez un thread, dites aussi à Claude de mémoriser la correction : elle va dans la [mémoire du projet](#give-a-project-standing-context) et les threads cloud ultérieurs commencent avec elle.

353 353 

354<h3 id="decide-which-repositories-to-add">354<h3 id="decide-which-repositories-to-add">

355 Décider quels référentiels ajouter355 Décider quels dépôts ajouter

356</h3>356</h3>

357 357 

358Les référentiels que vous ajoutez à un projet viennent avec tout ce qu'ils contiennent, leur code, `CLAUDE.md` et skills, dans chaque thread cloud. Les référentiels que vous n'ajoutez pas sont toujours à portée : un thread cloud peut en ajouter un à lui-même quand sa tâche en a besoin. La plupart des projets utilisent les deux :358Les dépôts que vous ajoutez à un projet viennent avec tout ce qu'ils contiennent, leur code, `CLAUDE.md` et skills, dans chaque thread cloud. Les dépôts que vous n'ajoutez pas sont toujours à portée : un thread cloud peut en ajouter un à lui-même quand sa tâche en a besoin. La plupart des projets utilisent les deux :

359 359 

360* **L'ajouter au projet**, dans la boîte de dialogue **New project**, dans **Project settings > Environment**, ou en demandant à Claude dans la conversation de l'ajouter au projet. Chaque thread cloud à partir de là clone et commence avec son `CLAUDE.md` et ses skills chargés, que la tâche le touche ou non. Passer d'un référentiel à plusieurs change également ce que les threads prennent du `.claude/settings.json` de chaque référentiel ; voir [Ce que les threads reprennent de vos référentiels](#what-threads-pick-up-from-your-repositories).360* **L'ajouter au projet**, dans la boîte de dialogue **New project**, dans **Project settings > Environment**, ou en demandant à Claude dans la conversation de l'ajouter au projet. Chaque thread cloud à partir de là le clone et commence avec son `CLAUDE.md` et ses skills chargés, que la tâche le touche ou non. Passer d'un dépôt à plusieurs change également ce que les threads prennent du `.claude/settings.json` de chaque dépôt ; voir [Ce que les threads reprennent de vos dépôts](#what-threads-pick-up-from-your-repositories).

361* **Le laisser de côté et laisser les threads l'ajouter quand nécessaire.** Un thread cloud dont la tâche a besoin d'un référentiel que le projet n'a pas peut l'ajouter à lui-même, et une note dans le thread dit qu'il a été ajouté à ce thread seulement. Le clone se produit à mi-chemin de la tâche, donc le `CLAUDE.md` et les skills de ce référentiel n'étaient pas là quand le thread a commencé. Le thread suivant commence sans lui. Un référentiel ajouté de cette façon a besoin des mêmes [prérequis](#check-the-prerequisites) qu'un référentiel de projet : l'application Claude GitHub installée dessus et l'accès en push de votre compte GitHub.361* **Le laisser de côté et laisser les threads l'ajouter quand nécessaire.** Un thread cloud dont la tâche a besoin d'un dépôt que le projet n'a pas peut l'ajouter à lui-même, et une note dans le thread dit qu'il a été ajouté à ce thread seulement. Le clone se produit à mi-chemin de la tâche, donc le `CLAUDE.md` et les skills de ce dépôt n'étaient pas là quand le thread a commencé. Le thread suivant commence sans lui. Un dépôt ajouté de cette façon a besoin des mêmes [prérequis](#check-the-prerequisites) qu'un dépôt de projet : l'application Claude GitHub installée dessus et l'accès en push de votre compte GitHub.

362 362 

363Un projet n'a pas besoin d'un référentiel du tout. Ses threads cloud peuvent toujours faire de la recherche, écrire des documents et écrire et exécuter du code dans leur propre sandbox, et ils livrent des fichiers à l'onglet **Library**. N'importe quel thread cloud peut aussi ajouter un référentiel à lui-même quand une tâche l'exige.363Un projet n'a pas besoin d'un dépôt du tout. Ses threads cloud peuvent toujours faire de la recherche, écrire des documents et écrire et exécuter du code dans leur propre sandbox, et ils livrent des fichiers à l'onglet **Library**. N'importe quel thread cloud peut aussi ajouter un dépôt à lui-même quand une tâche l'exige.

364 364 

365Une fois que le projet a des référentiels, Claude ne peut ajouter que des référentiels d'un propriétaire GitHub que le projet utilise déjà, qu'il en ajoute un au projet ou qu'un thread en ajoute un à lui-même. Pour apporter un référentiel d'un propriétaire différent, ajoutez-le au projet vous-même dans **Project settings > Environment**.365Une fois que le projet a des dépôts, Claude ne peut ajouter que des dépôts d'un propriétaire GitHub que le projet utilise déjà, qu'il en ajoute un au projet ou qu'un thread en ajoute un à lui-même. Pour apporter un dépôt d'un propriétaire différent, ajoutez-le au projet vous-même dans **Project settings > Environment**.

366 366 

367Pour un projet qui s'étend sur plusieurs référentiels, comme une fonctionnalité avec du code serveur, web, mobile et de bureau, ajoutez le ou les deux référentiels que presque chaque tâche touche et nommez les autres dans [les instructions du projet](#write-project-instructions) pour que Claude sache où le reste du code vit. Les threads cloud commencent alors petit et tirent les autres référentiels seulement pour les tâches qui en ont besoin.367Pour un projet qui s'étend sur plusieurs dépôts, comme une fonctionnalité avec du code serveur, web, mobile et de bureau, ajoutez le ou les deux dépôts que presque chaque tâche touche et nommez les autres dans [les instructions du projet](#write-project-instructions) pour que Claude sache où le reste du code vit. Les threads cloud commencent alors petit et tirent les autres dépôts seulement pour les tâches qui en ont besoin.

368 368 

369<h3 id="add-files-and-folders">369<h3 id="add-files-and-folders">

370 Ajouter des fichiers et des dossiers370 Ajouter des fichiers et des dossiers


378* **Changes after upload** : les uploads sont des copies, donc une modification que vous apportez sur votre ordinateur après ne parvient au projet que si vous téléchargez le fichier à nouveau et choisissez **Replace** quand on vous demande le nom existant.378* **Changes after upload** : les uploads sont des copies, donc une modification que vous apportez sur votre ordinateur après ne parvient au projet que si vous téléchargez le fichier à nouveau et choisissez **Replace** quand on vous demande le nom existant.

379 379 

380<h3 id="what-threads-pick-up-from-your-repositories">380<h3 id="what-threads-pick-up-from-your-repositories">

381 Ce que les threads reprennent de vos référentiels381 Ce que les threads reprennent de vos dépôts

382</h3>382</h3>

383 383 

384Chaque thread cloud clone chaque référentiel du projet et charge `CLAUDE.md` et les skills de tous. Les règles de permission, les hooks et `env` viennent seulement du `.claude/settings.json` dans le répertoire où le thread commence : à l'intérieur du référentiel quand le projet en a un, et au-dessus des clones quand il en a plusieurs, où aucun fichier du référentiel n'est lu pour eux.384Chaque thread cloud clone chaque dépôt du projet et charge `CLAUDE.md` et les skills de tous. Les règles de permission, les hooks et `env` viennent seulement du `.claude/settings.json` dans le répertoire où le thread commence : à l'intérieur du dépôt quand le projet en a un, et au-dessus des clones quand il en a plusieurs, où aucun fichier de dépôt n'est lu pour eux.

385 385 

386| Dans chaque référentiel | Un référentiel | Plusieurs référentiels |386| Dans chaque dépôt | Un dépôt | Plusieurs dépôts |

387| :- | :- | :- |387| :- | :- | :- |

388| `CLAUDE.md` | Chargé au démarrage du thread | Chargé à partir de chaque référentiel au démarrage du thread |388| `CLAUDE.md` | Chargé au démarrage du thread | Chargé à partir de chaque dépôt au démarrage du thread |

389| Skills, agents et commandes sous `.claude/` | Chargés | Chargés à partir de chaque référentiel |389| Skills, agents et commandes sous `.claude/` | Chargés | Chargés à partir de chaque dépôt |

390| Plugins activés dans `.claude/settings.json` | Non chargés. Ajoutez le plugin dans **Project settings > Plugins** à la place | Non chargés. Ajoutez le plugin dans **Project settings > Plugins** à la place |390| Plugins activés dans `.claude/settings.json` | Non chargés. Ajoutez le plugin dans **Project settings > Plugins** à la place | Non chargés. Ajoutez le plugin dans **Project settings > Plugins** à la place |

391| Règles de permission, hooks et `env` définis dans `.claude/settings.json` | S'appliquent au thread, sauf les clés `env` que [aucune session cloud n'honore](/docs/fr/cloud-environments#what-carries-over-from-your-setup) | Ne s'appliquent pas |391| Règles de permission, hooks et `env` définis dans `.claude/settings.json` | S'appliquent au thread, sauf les clés `env` que [aucune session cloud n'honore](/docs/fr/cloud-environments#what-carries-over-from-your-setup) | Ne s'appliquent pas |

392 392 

393Dans un projet avec plusieurs référentiels, chaque clone est attaché au thread en tant que [répertoire supplémentaire](/docs/fr/memory#load-from-additional-directories) avec le chargement de `CLAUDE.md` activé, c'est pourquoi le `CLAUDE.md` et les skills de chaque référentiel se chargent au démarrage même si le thread commence au-dessus d'eux. Dans un tel projet, mettez les règles permanentes dans les instructions du projet et donnez aux threads les variables d'environnement via l'[environnement cloud](#choose-an-environment-for-threads).393Dans un projet avec plusieurs dépôts, chaque clone est attaché au thread en tant que [répertoire supplémentaire](/docs/fr/memory#load-from-additional-directories) avec le chargement de `CLAUDE.md` activé, c'est pourquoi le `CLAUDE.md` et les skills de chaque dépôt se chargent au démarrage même si le thread commence au-dessus d'eux. Dans un tel projet, mettez les règles permanentes dans les instructions du projet et donnez aux threads les variables d'environnement via l'[environnement cloud](#choose-an-environment-for-threads).

394 394 

395<h3 id="choose-an-environment-for-threads">395<h3 id="choose-an-environment-for-threads">

396 Choisir un environnement pour les threads396 Choisir un environnement pour les threads


398 398 

399Chaque nouveau thread cloud démarre dans l'[environnement cloud](/docs/fr/cloud-environments) du projet. L'environnement définit quels domaines les threads peuvent atteindre, quelles variables d'environnement ils ont, quels secrets réseau sont ajoutés à leurs requêtes et ce que le script de configuration installe avant que Claude commence. Les threads cloud utilisent un environnement par défaut hébergé par Anthropic jusqu'à ce que vous en choisissiez un dans **Project settings > Environment**.399Chaque nouveau thread cloud démarre dans l'[environnement cloud](/docs/fr/cloud-environments) du projet. L'environnement définit quels domaines les threads peuvent atteindre, quelles variables d'environnement ils ont, quels secrets réseau sont ajoutés à leurs requêtes et ce que le script de configuration installe avant que Claude commence. Les threads cloud utilisent un environnement par défaut hébergé par Anthropic jusqu'à ce que vous en choisissiez un dans **Project settings > Environment**.

400 400 

401Si les threads cloud ont besoin d'atteindre une API interne ou un registre de packages privé, ou ont besoin d'un jeton que votre machine détient normalement, changez l'environnement plutôt que le projet : voir [Accès réseau](/docs/fr/cloud-environments#network-access), [Ajouter des secrets réseau](/docs/fr/cloud-environments#add-api-credentials) et [Scripts de configuration](/docs/fr/cloud-environments#setup-scripts).401Si les threads cloud ont besoin d'atteindre une API interne ou un registre de packages privé, ou ont besoin d'un jeton que votre machine détient normalement, changez l'environnement plutôt que le projet : voir [Accès réseau](/docs/fr/cloud-environments#network-access), [Ajouter des secrets réseau](/docs/fr/cloud-environments#add-network-secrets) et [Scripts de configuration](/docs/fr/cloud-environments#setup-scripts).

402 402 

403<h3 id="get-skills-plugins-connectors-and-tools-into-threads">403<h3 id="get-skills-plugins-connectors-and-tools-into-threads">

404 Obtenir des skills, des plugins, des connecteurs et des outils dans les threads404 Obtenir des skills, des plugins, des connecteurs et des outils dans les threads


406 406 

407Les threads cloud n'ont pas les skills, les serveurs MCP, les plugins et les outils installés seulement sur votre machine. Un thread que Claude exécute sur votre machine via [Remote Control](/docs/fr/remote-control) utilise ce qui y est installé. Pour rendre chacun de ceux-ci disponible aux threads cloud :407Les threads cloud n'ont pas les skills, les serveurs MCP, les plugins et les outils installés seulement sur votre machine. Un thread que Claude exécute sur votre machine via [Remote Control](/docs/fr/remote-control) utilise ce qui y est installé. Pour rendre chacun de ceux-ci disponible aux threads cloud :

408 408 

409* Skills, subagents et commandes : validez-les dans un référentiel que vous avez ajouté au projet, par exemple un skill à `.claude/skills/<skill-name>/SKILL.md`. Chaque thread cloud clone chaque référentiel du projet et charge `.claude/skills/`, `.claude/agents/` et `.claude/commands/` à partir de chacun d'eux, donc un skill validé dans un référentiel est disponible dans chaque thread cloud. Les threads cloud chargent également les skills que vous activez pour votre compte claude.ai.409* Skills, sous-agents et commandes : commitez-les dans un dépôt que vous avez ajouté au projet, par exemple un skill à `.claude/skills/<skill-name>/SKILL.md`. Chaque thread cloud clone chaque dépôt du projet et charge `.claude/skills/`, `.claude/agents/` et `.claude/commands/` à partir de chacun d'eux, donc un skill commité dans un dépôt est disponible dans chaque thread cloud. Les threads cloud chargent également les skills que vous activez pour votre compte claude.ai.

410* Plugins : ajoutez-les dans **Project settings > Plugins** ; ils se chargent dans chaque nouveau thread cloud. Les plugins qu'un référentiel déclare dans son `.claude/settings.json` [ne se chargent pas dans les threads cloud](/docs/fr/cloud-environments#what-carries-over-from-your-setup).410* Plugins : ajoutez-les dans **Project settings > Plugins** ; ils se chargent dans chaque nouveau thread cloud. Les plugins qu'un dépôt déclare dans son `.claude/settings.json` [ne se chargent pas dans les threads cloud](/docs/fr/cloud-environments#what-carries-over-from-your-setup).

411* Serveurs MCP : les threads cloud obtiennent leurs outils MCP à partir des connecteurs sur votre compte claude.ai, qui sont des serveurs MCP que vous connectez une fois à [claude.ai/customize/connectors](https://claude.ai/customize/connectors) ou via le lien **Manage connectors** dans **Project settings > Environment**. Chaque thread cloud peut tous les utiliser sans configuration par projet. La conversation du projet elle-même n'a pas de connecteurs, donc envoyez le travail qui en a besoin en tant que tâche pour un thread cloud. Dans un projet avec un référentiel, les threads cloud chargent également les serveurs MCP à partir du [`.mcp.json`](/docs/fr/cloud-environments#what-carries-over-from-your-setup) de ce référentiel. [Comment les connecteurs atteignent Claude Code](/docs/fr/mcp#how-connectors-reach-claude-code) énumère les règles pour les sessions cloud et les paramètres qui désactivent les connecteurs.411* Serveurs MCP : les threads cloud obtiennent leurs outils MCP à partir des connecteurs sur votre compte claude.ai, qui sont des serveurs MCP que vous connectez une fois à [claude.ai/customize/connectors](https://claude.ai/customize/connectors) ou via le lien **Manage connectors** dans **Project settings > Environment**. Chaque thread cloud peut tous les utiliser sans configuration par projet. La conversation du projet elle-même n'a pas de connecteurs, donc envoyez le travail qui en a besoin en tant que tâche pour un thread cloud. Dans un projet avec un dépôt, les threads cloud chargent également les serveurs MCP à partir du [`.mcp.json`](/docs/fr/cloud-environments#what-carries-over-from-your-setup) de ce dépôt. [Comment les connecteurs atteignent Claude Code](/docs/fr/mcp#how-connectors-reach-claude-code) énumère les règles pour les sessions cloud et les paramètres qui désactivent les connecteurs.

412* Outils en ligne de commande et packages : installez-les dans le [script de configuration](/docs/fr/cloud-environments#setup-scripts) de l'environnement.412* Outils en ligne de commande et packages : installez-les dans le [script de configuration](/docs/fr/cloud-environments#setup-scripts) de l'environnement.

413 413 

414Pour voir quels connecteurs un thread cloud en cours d'exécution a à claude.ai/code, ouvrez le thread et sélectionnez **Connectors** dans le menu **+** à côté de sa boîte de message. Désactiver un connecteur là le supprime de ce thread et enregistre cela comme votre paramètre par défaut du compte, donc les nouveaux threads et les chats claude.ai commencent sans lui jusqu'à ce que vous le réactiviez. Un thread cloud reprend un connecteur que vous ajoutez ou reconnectez après le prochain message que vous lui envoyez.414Pour voir quels connecteurs un thread cloud en cours d'exécution a à claude.ai/code, ouvrez le thread et sélectionnez **Connectors** dans le menu **+** à côté de sa boîte de message. Désactiver un connecteur là le supprime de ce thread et enregistre cela comme votre paramètre par défaut du compte, donc les nouveaux threads et les chats claude.ai commencent sans lui jusqu'à ce que vous le réactiviez. Un thread cloud reprend un connecteur que vous ajoutez ou reconnectez après le prochain message que vous lui envoyez.

Details

10 Les environnements cloud s'appliquent aux [sessions cloud](/docs/fr/claude-code-on-the-web), qui sont disponibles sur les plans Pro, Max et Team, et pour les utilisateurs Enterprise disposant de [sièges premium ou de sièges Chat + Claude Code](https://support.claude.com/en/articles/11845131-use-claude-code-with-your-team-or-enterprise-plan).10 Les environnements cloud s'appliquent aux [sessions cloud](/docs/fr/claude-code-on-the-web), qui sont disponibles sur les plans Pro, Max et Team, et pour les utilisateurs Enterprise disposant de [sièges premium ou de sièges Chat + Claude Code](https://support.claude.com/en/articles/11845131-use-claude-code-with-your-team-or-enterprise-plan).

11</Note>11</Note>

12 12 

13Chaque [session cloud](/docs/fr/claude-code-on-the-web) s'exécute dans un environnement cloud. Vous pouvez configurer un environnement pour autoriser ou refuser l'[accès réseau](#access-levels), [définir des variables d'environnement](#set-environment-variables) pour la session, sur les plans Pro et Max stocker des [secrets réseau](#add-api-credentials) que les sessions utilisent sans les voir, et exécuter un [script de configuration](#setup-scripts) avant que Claude ne commence à travailler.13Chaque [session cloud](/docs/fr/claude-code-on-the-web) s'exécute dans un environnement cloud. Vous pouvez configurer un environnement pour autoriser ou refuser l'[accès réseau](#access-levels), [définir des variables d'environnement](#set-environment-variables) pour la session, sur les plans Pro et Max stocker des [secrets réseau](#add-network-secrets) que les sessions utilisent sans les voir, et exécuter un [script de configuration](#setup-scripts) avant que Claude ne commence à travailler.

14 14 

15Les mêmes environnements s'appliquent partout où vous démarrez une session cloud : l'[application de bureau](/docs/fr/desktop), l'[application mobile Claude](/docs/fr/mobile), votre navigateur sur [claude.ai/code](https://claude.ai/code), le terminal avec [`claude --cloud`](/docs/fr/claude-code-on-the-web#from-terminal-to-cloud), les [routines](/docs/fr/routines) et [Claude Tag](https://claude.com/docs/claude-tag/overview). Chacune de ces surfaces peut également router vers un [environnement auto-hébergé](/docs/fr/self-hosted-environments). La section [Disponibilité et limitations](/docs/fr/self-hosted-environments#availability-and-limitations) couvre ce que Claude ne peut pas encore utiliser quand une session Claude Tag s'exécute dans un.15Les mêmes environnements s'appliquent partout où vous démarrez une session cloud : l'[application de bureau](/docs/fr/desktop), l'[application mobile Claude](/docs/fr/mobile), votre navigateur sur [claude.ai/code](https://claude.ai/code), le terminal avec [`claude --cloud`](/docs/fr/claude-code-on-the-web#from-terminal-to-cloud), les [routines](/docs/fr/routines) et [Claude Tag](https://claude.com/docs/claude-tag/overview). Chacune de ces surfaces peut également router vers un [environnement auto-hébergé](/docs/fr/self-hosted-environments). La section [Disponibilité et limitations](/docs/fr/self-hosted-environments#availability-and-limitations) couvre ce que Claude ne peut pas encore utiliser quand une session Claude Tag s'exécute dans un.

16 16 


58 <Step title="Ajouter ou modifier un environnement">58 <Step title="Ajouter ou modifier un environnement">

59 Sélectionnez **Cloud** pour lister vos environnements. Ensuite, sélectionnez **Add cloud environment**, ou survolez un environnement existant et sélectionnez l'icône de paramètres qui apparaît à droite.59 Sélectionnez **Cloud** pour lister vos environnements. Ensuite, sélectionnez **Add cloud environment**, ou survolez un environnement existant et sélectionnez l'icône de paramètres qui apparaît à droite.

60 60 

61 La boîte de dialogue inclut le nom, le niveau d'accès réseau, les variables d'environnement et le script de configuration. Lorsque vous modifiez un environnement cloud existant sur un plan Pro ou Max, la boîte de dialogue inclut également les [secrets réseau](#add-api-credentials).61 La boîte de dialogue inclut le nom, le niveau d'accès réseau, les variables d'environnement et le script de configuration. Lorsque vous modifiez un environnement cloud existant sur un plan Pro ou Max, la boîte de dialogue inclut également les [secrets réseau](#add-network-secrets).

62 62 

63 <Frame>63 <Frame>

64 <img src="https://mintcdn.com/claude-code/ZFId6l95856c5LSw/images/cloud-environment-dialog.png?fit=max&auto=format&n=ZFId6l95856c5LSw&q=85&s=30d4478b31d1f879f7ee287ddab32505" alt="La boîte de dialogue New cloud environment. Un champ Name avec le texte d'espace réservé Default, un sélecteur Network access défini sur Trusted avec des liens vers la politique réseau et les niveaux d'accès, une zone Environment variables affichant un texte d'espace réservé au format .env avec une note indiquant que les valeurs sont visibles pour quiconque utilise l'environnement, une zone Setup script décrite comme un script Bash qui s'exécute au démarrage d'une nouvelle session avant le lancement de Claude Code, et les boutons Cancel et Create environment." width="874" height="1372" data-path="images/cloud-environment-dialog.png" />64 <img src="https://mintcdn.com/claude-code/ZFId6l95856c5LSw/images/cloud-environment-dialog.png?fit=max&auto=format&n=ZFId6l95856c5LSw&q=85&s=30d4478b31d1f879f7ee287ddab32505" alt="La boîte de dialogue New cloud environment. Un champ Name avec le texte d'espace réservé Default, un sélecteur Network access défini sur Trusted avec des liens vers la politique réseau et les niveaux d'accès, une zone Environment variables affichant un texte d'espace réservé au format .env avec une note indiquant que les valeurs sont visibles pour quiconque utilise l'environnement, une zone Setup script décrite comme un script Bash qui s'exécute au démarrage d'une nouvelle session avant le lancement de Claude Code, et les boutons Cancel et Create environment." width="874" height="1372" data-path="images/cloud-environment-dialog.png" />


91 91 

92Une session cloud définit également certaines variables elle-même au démarrage. Pour [`CLAUDE_AUTOCOMPACT_PCT_OVERRIDE`](/docs/fr/claude-code-on-the-web#manage-context), la valeur que la session définit remplace celle que vous ajoutez ici, donc ajouter cette clé ici n'a aucun effet.92Une session cloud définit également certaines variables elle-même au démarrage. Pour [`CLAUDE_AUTOCOMPACT_PCT_OVERRIDE`](/docs/fr/claude-code-on-the-web#manage-context), la valeur que la session définit remplace celle que vous ajoutez ici, donc ajouter cette clé ici n'a aucun effet.

93 93 

94Quiconque utilise l'environnement peut lire les valeurs. Sur les plans Pro et Max, utilisez plutôt un [secret réseau](#add-api-credentials) pour une clé que le proxy d'agent peut joindre à une requête. Les [requêtes qui ne reçoivent jamais de secret](#requests-that-never-get-the-credential) y sont listées.94Quiconque utilise l'environnement peut lire les valeurs. Sur les plans Pro et Max, utilisez plutôt un [secret réseau](#add-network-secrets) pour une clé que le proxy d'agent peut joindre à une requête. Les [requêtes qui ne reçoivent jamais de secret](#requests-that-never-get-the-credential) y sont listées.

95 95 

96<h3 id="add-api-credentials">96<span id="add-api-credentials" />

97 

98<h3 id="add-network-secrets">

97 Ajouter des secrets réseau99 Ajouter des secrets réseau

98</h3>100</h3>

99 101 


197 199 

198Les propriétaires choisissent l'[environnement par défaut](#the-default-environment) de l'organisation séparément, sur [claude.ai/admin-settings/claude-code](https://claude.ai/admin-settings/claude-code).200Les propriétaires choisissent l'[environnement par défaut](#the-default-environment) de l'organisation séparément, sur [claude.ai/admin-settings/claude-code](https://claude.ai/admin-settings/claude-code).

199 201 

200Les sessions de chaque membre dans un environnement partagé lisent ses variables, donc n'y incluez pas de secrets. Les [secrets réseau](#add-api-credentials), qui donnent aux sessions une clé qu'elles ne peuvent pas lire, ne sont pas encore disponibles sur les plans Team ou Enterprise.202Les sessions de chaque membre dans un environnement partagé lisent ses variables, donc n'y incluez pas de secrets. Les [secrets réseau](#add-network-secrets), qui donnent aux sessions une clé qu'elles ne peuvent pas lire, ne sont pas encore disponibles sur les plans Team ou Enterprise.

201 203 

202<h3 id="set-the-environment-a-claude-tag-channel-uses">204<h3 id="set-the-environment-a-claude-tag-channel-uses">

203 Définir l'environnement qu'un canal Claude Tag utilise205 Définir l'environnement qu'un canal Claude Tag utilise


239 241 

240* GitHub, via son [proxy séparé](#github-proxy)242* GitHub, via son [proxy séparé](#github-proxy)

241* Les [connecteurs MCP](#network-access) que vous activez, dont le trafic transite par les serveurs d'Anthropic243* Les [connecteurs MCP](#network-access) que vous activez, dont le trafic transite par les serveurs d'Anthropic

242* Les hôtes que vous avez listés sur les [secrets réseau](#add-api-credentials) de l'environnement, sauf les [hôtes qui ne reçoivent jamais le secret](#requests-that-never-get-the-credential)244* Les hôtes que vous avez listés sur les [secrets réseau](#add-network-secrets) de l'environnement, sauf les [hôtes qui ne reçoivent jamais le secret](#requests-that-never-get-the-credential)

243* L'API Anthropic, pour les propres requêtes de Claude Code, même au niveau **None**, comme noté sous [Security and isolation](/docs/fr/claude-code-on-the-web#security-and-isolation)245* L'API Anthropic, pour les propres requêtes de Claude Code, même au niveau **None**, comme noté sous [Security and isolation](/docs/fr/claude-code-on-the-web#security-and-isolation)

244 246 

245<h3 id="allow-specific-domains">247<h3 id="allow-specific-domains">


254registry.example.com256registry.example.com

255```257```

256 258 

257Les sessions dans cet environnement peuvent maintenant atteindre `api.example.com`, n'importe quel sous-domaine de `internal.example.com`, et `registry.example.com`, et aucun autre domaine via le réseau de la session. Le [trafic GitHub](#github-proxy), le [trafic des connecteurs MCP](#network-access), et les requêtes vers les hôtes des [secrets réseau](#add-api-credentials) de l'environnement, autres que les [hôtes qui ne reçoivent jamais le secret](#requests-that-never-get-the-credential), ne passent pas par cette liste d'autorisation. Un `*.` au début correspond à tous les sous-domaines. Pour conserver également les [domaines Trusted](#default-allowed-domains), cochez **Also include default list of common package managers** ; laissez-le décoché pour autoriser uniquement ce que vous listez.259Les sessions dans cet environnement peuvent maintenant atteindre `api.example.com`, n'importe quel sous-domaine de `internal.example.com`, et `registry.example.com`, et aucun autre domaine via le réseau de la session. Le [trafic GitHub](#github-proxy), le [trafic des connecteurs MCP](#network-access), et les requêtes vers les hôtes des [secrets réseau](#add-network-secrets) de l'environnement, autres que les [hôtes qui ne reçoivent jamais le secret](#requests-that-never-get-the-credential), ne passent pas par cette liste d'autorisation. Un `*.` au début correspond à tous les sous-domaines. Pour conserver également les [domaines Trusted](#default-allowed-domains), cochez **Also include default list of common package managers** ; laissez-le décoché pour autoriser uniquement ce que vous listez.

258 260 

259Si votre organisation utilise les [artifacts](/docs/fr/artifacts#availability), vous n'avez pas besoin de `*.frame.claudeusercontent.com` dans la liste pour que les sessions les lisent. Lorsque la liste omet cet hôte, Claude Code lit le contenu des artifacts via la connexion de la session à Anthropic à la place. Conservez l'hôte dans une liste d'autorisation dans deux situations :261Si votre organisation utilise les [artifacts](/docs/fr/artifacts#availability), vous n'avez pas besoin de `*.frame.claudeusercontent.com` dans la liste pour que les sessions les lisent. Lorsque la liste omet cet hôte, Claude Code lit le contenu des artifacts via la connexion de la session à Anthropic à la place. Conservez l'hôte dans une liste d'autorisation dans deux situations :

260 262 


316| Plugins activés seulement dans vos paramètres utilisateur | Non | L'`enabledPlugins` de portée utilisateur vit dans `~/.claude/settings.json` sur votre machine |318| Plugins activés seulement dans vos paramètres utilisateur | Non | L'`enabledPlugins` de portée utilisateur vit dans `~/.claude/settings.json` sur votre machine |

317| Serveurs MCP que vous avez ajoutés avec `claude mcp add` à la portée locale par défaut ou à la portée utilisateur | Non | Ceux-ci écrivent dans `~/.claude.json` sur votre machine, pas le dépôt. Ajoutez le serveur avec `claude mcp add --scope project`, qui écrit le [`.mcp.json`](/docs/fr/mcp#project-scope) du dépôt, et commitez ce fichier. Une session avec un seul dépôt le charge |319| Serveurs MCP que vous avez ajoutés avec `claude mcp add` à la portée locale par défaut ou à la portée utilisateur | Non | Ceux-ci écrivent dans `~/.claude.json` sur votre machine, pas le dépôt. Ajoutez le serveur avec `claude mcp add --scope project`, qui écrit le [`.mcp.json`](/docs/fr/mcp#project-scope) du dépôt, et commitez ce fichier. Une session avec un seul dépôt le charge |

318| Variables de transport dans le bloc `env` de `.claude/settings.json` de votre dépôt, comme `NODE_EXTRA_CA_CERTS` et les [variables de certificat client mTLS](/docs/fr/network-config#mtls-authentication) | Non | L'environnement d'hébergement gère la connexion API de la session, donc Claude Code ignore ces clés et note chaque clé ignorée dans le journal de débogage de la session |320| Variables de transport dans le bloc `env` de `.claude/settings.json` de votre dépôt, comme `NODE_EXTRA_CA_CERTS` et les [variables de certificat client mTLS](/docs/fr/network-config#mtls-authentication) | Non | L'environnement d'hébergement gère la connexion API de la session, donc Claude Code ignore ces clés et note chaque clé ignorée dans le journal de débogage de la session |

319| Clés API et jetons pour les services que Claude appelle | Sur les plans Pro et Max, en tant que [secrets réseau](#add-api-credentials) | Vous ajoutez la clé une fois sur l'environnement et le proxy d'agent la joint aux requêtes pour les hôtes que vous listez. Une clé que le proxy d'agent [ne peut pas joindre](#requests-that-never-get-the-credential), ou n'importe quelle clé sur un plan Team ou Enterprise, reste dans une variable d'environnement |321| Clés API et jetons pour les services que Claude appelle | Sur les plans Pro et Max, en tant que [secrets réseau](#add-network-secrets) | Vous ajoutez la clé une fois sur l'environnement et le proxy d'agent la joint aux requêtes pour les hôtes que vous listez. Une clé que le proxy d'agent [ne peut pas joindre](#requests-that-never-get-the-credential), ou n'importe quelle clé sur un plan Team ou Enterprise, reste dans une variable d'environnement |

320| Authentification interactive comme AWS SSO | Non | Non supporté. SSO nécessite une connexion basée sur un navigateur qui ne peut pas s'exécuter dans une session cloud |322| Authentification interactive comme AWS SSO | Non | Non supporté. SSO nécessite une connexion basée sur un navigateur qui ne peut pas s'exécuter dans une session cloud |

321 323 

322Pour rendre votre propre configuration disponible dans les sessions cloud, commitez-la dans le dépôt.324Pour rendre votre propre configuration disponible dans les sessions cloud, commitez-la dans le dépôt.

323 325 

324Quiconque utilise l'environnement peut lire ses variables d'environnement et son script de configuration. La note de la boîte de dialogue sous **Environment variables** le dit et avertit contre l'ajout de secrets dedans. Sur les plans Pro et Max, stockez une clé que le proxy d'agent peut joindre en tant que [secret réseau](#add-api-credentials) à la place.326Quiconque utilise l'environnement peut lire ses variables d'environnement et son script de configuration. La note de la boîte de dialogue sous **Environment variables** le dit et avertit contre l'ajout de secrets dedans. Sur les plans Pro et Max, stockez une clé que le proxy d'agent peut joindre en tant que [secret réseau](#add-network-secrets) à la place.

325 327 

326<h4 id="add-personal-preferences-without-committing-to-the-repo">328<h4 id="add-personal-preferences-without-committing-to-the-repo">

327 Ajouter des préférences personnelles sans les commiter dans le dépôt329 Ajouter des préférences personnelles sans les commiter dans le dépôt

commands.md +1 −1

Details

87| `/design-sync [hint]` | **[Skill](/docs/fr/skills#bundled-skills).** Convertir le système de conception React de votre dépôt et le télécharger vers [Claude Design](https://claude.ai/design), afin que les conceptions qu'il produit utilisent vos vrais composants. Nommez éventuellement le système de conception, par exemple `/design-sync Acme DS`. Une première synchronisation vérifie chaque composant et peut prendre quelques heures sur un grand dépôt. Disponible sur l'API Anthropic. Il a besoin de claude.ai, que la CLI ne contacte pas sur Amazon Bedrock, la plateforme d'agents de Google Cloud, Microsoft Foundry ou Claude Platform sur AWS, ou via une [passerelle d'applications Claude](/docs/fr/claude-apps-gateway#availability-and-limitations), donc la commande n'est pas disponible là-bas |87| `/design-sync [hint]` | **[Skill](/docs/fr/skills#bundled-skills).** Convertir le système de conception React de votre dépôt et le télécharger vers [Claude Design](https://claude.ai/design), afin que les conceptions qu'il produit utilisent vos vrais composants. Nommez éventuellement le système de conception, par exemple `/design-sync Acme DS`. Une première synchronisation vérifie chaque composant et peut prendre quelques heures sur un grand dépôt. Disponible sur l'API Anthropic. Il a besoin de claude.ai, que la CLI ne contacte pas sur Amazon Bedrock, la plateforme d'agents de Google Cloud, Microsoft Foundry ou Claude Platform sur AWS, ou via une [passerelle d'applications Claude](/docs/fr/claude-apps-gateway#availability-and-limitations), donc la commande n'est pas disponible là-bas |

88| `/desktop` | Continuer la session actuelle dans l'application Claude Code Desktop. Nécessite macOS ou Windows x64 et un abonnement Claude. Alias : `/app` |88| `/desktop` | Continuer la session actuelle dans l'application Claude Code Desktop. Nécessite macOS ou Windows x64 et un abonnement Claude. Alias : `/app` |

89| `/diff` | Examiner les modifications dans votre arborescence de travail, y compris les modifications que Claude a apportées jusqu'à présent. Consultez [Examiner les modifications avec /diff](/docs/fr/interactive-mode#review-changes-with-%2Fdiff) |89| `/diff` | Examiner les modifications dans votre arborescence de travail, y compris les modifications que Claude a apportées jusqu'à présent. Consultez [Examiner les modifications avec /diff](/docs/fr/interactive-mode#review-changes-with-%2Fdiff) |

90| `/doctor [prompt-audit [path]]` | **[Skill](/docs/fr/skills#bundled-skills).** Exécuter une vérification de configuration qui diagnostique les problèmes et peut les corriger. Vérifie la santé de l'installation, y compris les installations en double ou résiduelles, les problèmes de `PATH`, et les fichiers de paramètres non analysables. Trouve les skills, serveurs MCP et plugins inutilisés par rapport à leur coût de contexte, signale les [hooks](/docs/fr/hooks) lents, et vérifie une version plus récente sur votre [canal de version](/docs/fr/setup#configure-release-channel). Déduplique les fichiers `CLAUDE.md` locaux par rapport aux fichiers archivés, réduit les fichiers [`CLAUDE.md`](/docs/fr/memory#my-claude-md-is-too-large) archivés en coupant le contenu que Claude pourrait dériver de la base de code, et migre les conseils toujours chargés qui restent dans les [skills](/docs/fr/skills) et les fichiers `CLAUDE.md` imbriqués qui se chargent à la demande. Offre également de faire du [mode auto](/docs/fr/permissions#permission-modes) votre défaut et de [pré-approuver](/docs/fr/permissions) les commandes en lecture seule fréquemment refusées. Signale d'abord les résultats et demande une confirmation avant de modifier quoi que ce soit. À partir du terminal, `claude doctor` affiche les diagnostics d'installation en lecture seule sans démarrer une session. Alias : `/checkup`. Exécutez `/doctor prompt-audit` pour que Claude [audite vos fichiers `CLAUDE.md`, skills et autres configurations](/docs/fr/memory#audit-your-instruction-files) pour les instructions obsolètes ou conflictuelles au lieu d'exécuter la vérification. La sous-commande `prompt-audit` nécessite Claude Code v2.1.283 ou ultérieur. La vérification de réduction `CLAUDE.md` nécessite Claude Code v2.1.206 ou ultérieur. Avant la v2.1.205, `/doctor` ouvrait un écran de diagnostics en lecture seule et appuyer sur `f` envoyait le rapport à Claude |90| `/doctor [prompt-audit [path]]` | **[Skill](/docs/fr/skills#bundled-skills).** Exécuter une vérification de configuration qui diagnostique les problèmes d'installation, de paramètres, d'extensions et de `CLAUDE.md`, et propose des corrections que Claude applique après votre confirmation. Pour ce que couvre la vérification, ou pour auditer plutôt vos instructions avec `prompt-audit`, consultez [Vérifier votre configuration avec `/doctor`](/docs/fr/skills#check-your-setup-with-/doctor). La sous-commande `prompt-audit` nécessite Claude Code v2.1.283 ou ultérieur. Alias : `/checkup` |

91| `/effort [level\|auto\|status\|ultracode [on\|off]]` | Définir le [niveau d'effort](/docs/fr/model-config#adjust-effort-level) : `low` à `xhigh`, `max`, ou `auto` ; `status` l'affiche. `ultracode` ou `ultracode on` active [ultracode](/docs/fr/workflows#let-claude-decide-with-ultracode) pour la session au niveau actuel, et `ultracode off` le désactive ; la clé [`ultracode`](/docs/fr/settings-reference#ultracode) persiste. `max` est réservé à la session. Les arguments `on` et `off` et le maintien du niveau actuel nécessitent Claude Code v2.1.284 ou ultérieur. Avant la v2.1.284, `/effort ultracode` définissait la session à `xhigh`, et `/effort ultracode off` échouait avec `Invalid argument`. L'exécuter pendant que Claude répond et, une fois que vous confirmez l'[avertissement de cache](/docs/fr/prompt-caching#changing-effort-level), si Claude Code en affiche un, Claude Code applique le nouveau niveau à la requête suivante dans ce tour. 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). Fonctionne en `-p` |91| `/effort [level\|auto\|status\|ultracode [on\|off]]` | Définir le [niveau d'effort](/docs/fr/model-config#adjust-effort-level) : `low` à `xhigh`, `max`, ou `auto` ; `status` l'affiche. `ultracode` ou `ultracode on` active [ultracode](/docs/fr/workflows#let-claude-decide-with-ultracode) pour la session au niveau actuel, et `ultracode off` le désactive ; la clé [`ultracode`](/docs/fr/settings-reference#ultracode) persiste. `max` est réservé à la session. Les arguments `on` et `off` et le maintien du niveau actuel nécessitent Claude Code v2.1.284 ou ultérieur. Avant la v2.1.284, `/effort ultracode` définissait la session à `xhigh`, et `/effort ultracode off` échouait avec `Invalid argument`. L'exécuter pendant que Claude répond et, une fois que vous confirmez l'[avertissement de cache](/docs/fr/prompt-caching#changing-effort-level), si Claude Code en affiche un, Claude Code applique le nouveau niveau à la requête suivante dans ce tour. 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). Fonctionne en `-p` |

92| `/exit` | Quitter la CLI. Dans une [session en arrière-plan](/docs/fr/agent-view#attach-to-a-session) attachée, cela se détache et la session continue de s'exécuter. Alias : `/quit` |92| `/exit` | Quitter la CLI. Dans une [session en arrière-plan](/docs/fr/agent-view#attach-to-a-session) attachée, cela se détache et la session continue de s'exécuter. Alias : `/quit` |

93| `/export [filename]` | Exporter la conversation actuelle en texte brut. Avec un nom de fichier, écrit directement dans ce fichier. Sans, ouvre une boîte de dialogue pour copier dans le presse-papiers ou enregistrer dans un fichier |93| `/export [filename]` | Exporter la conversation actuelle en texte brut. Avec un nom de fichier, écrit directement dans ce fichier. Sans, ouvre une boîte de dialogue pour copier dans le presse-papiers ou enregistrer dans un fichier |

Details

391 Explain the logic in @src/utils/auth.js391 Explain the logic in @src/utils/auth.js

392 ```392 ```

393 393 

394 Cela inclut le contenu complet du fichier dans la conversation.394 Cela inclut le contenu du fichier dans la conversation lorsqu'il respecte la limite de tokens de l'[outil Read](/docs/fr/tools-reference#read-tool-behavior), soit 25 000 tokens par défaut. Un fichier texte de plus de 256 Ko n'est pas inclus.

395 </Step>395 </Step>

396 396 

397 <Step title="Référencez un répertoire">397 <Step title="Référencez un répertoire">


446 Demandez à Claude ses capacités446 Demandez à Claude ses capacités

447</h3>447</h3>

448 448 

449Claude a un accès intégré à sa documentation et peut répondre à des questions sur ses propres fonctionnalités et limitations.449Claude peut répondre à des questions sur ses propres fonctionnalités et limitations. Il recherche les réponses dans la documentation actuelle de Claude Code, elles ne sont donc pas limitées à la version que vous utilisez.

450 450 

451<h4 id="example-questions">451<h4 id="example-questions">

452 Exemples de questions452 Exemples de questions


483<Tip>483<Tip>

484 Conseils :484 Conseils :

485 485 

486 * Claude a toujours accès à la dernière documentation de Claude Code, quelle que soit la version que vous utilisez

487 * Posez des questions spécifiques pour obtenir des réponses détaillées486 * Posez des questions spécifiques pour obtenir des réponses détaillées

488 * Claude peut expliquer les fonctionnalités complexes comme l'intégration MCP, les configurations d'entreprise et les flux de travail avancés487 * Claude peut expliquer les fonctionnalités complexes comme l'intégration MCP, les configurations d'entreprise et les flux de travail avancés

489</Tip>488</Tip>

Details

1634 1634 

1635Si vous avez besoin d'une fenêtre plus grande plutôt qu'une conversation plus petite, les modèles Fable, Sonnet 5 et versions ultérieures, Haiku 5.5, Opus 4.6 et versions ultérieures, et Sonnet 4.6 supportent une fenêtre de contexte de 1 million de tokens. Consultez [Contexte étendu](/docs/fr/model-config#extended-context) pour la disponibilité par plan et comment sélectionner une variante de modèle `[1m]`. La compaction fonctionne de la même manière à la limite plus grande.1635Si vous avez besoin d'une fenêtre plus grande plutôt qu'une conversation plus petite, les modèles Fable, Sonnet 5 et versions ultérieures, Haiku 5.5, Opus 4.6 et versions ultérieures, et Sonnet 4.6 supportent une fenêtre de contexte de 1 million de tokens. Consultez [Contexte étendu](/docs/fr/model-config#extended-context) pour la disponibilité par plan et comment sélectionner une variante de modèle `[1m]`. La compaction fonctionne de la même manière à la limite plus grande.

1636 1636 

1637Sonnet 5.5 et Sonnet 5 s'exécutent avec la fenêtre de contexte 1M et n'ont pas de variante `[1m]` à sélectionner. Consultez [Fenêtre de contexte Sonnet 5.5 et Sonnet 5](/docs/fr/model-config#sonnet-5-5-and-sonnet-5-context-window) pour leurs seuils de compaction automatique, et [la fenêtre de contexte derrière une passerelle](/docs/fr/model-config#context-window-behind-a-gateway) pour savoir comment Claude Code dimensionne la fenêtre quand vous définissez `ANTHROPIC_BASE_URL` sur une [passerelle LLM](/docs/fr/llm-gateway).

1638 

1639Le point où la compaction automatique s'exécute dépend de votre modèle et de votre configuration. Consultez [Default auto-compact thresholds](/docs/fr/model-config#default-auto-compact-thresholds) pour les limites par modèle, et [Correct the window for a gateway or custom model ID](/docs/fr/model-config#correct-the-window-for-a-gateway-or-custom-model-id) si Claude Code suppose la mauvaise fenêtre pour votre ID de modèle, comme un alias de [passerelle LLM](/docs/fr/llm-gateway).1637Le point où la compaction automatique s'exécute dépend de votre modèle et de votre configuration. Consultez [Default auto-compact thresholds](/docs/fr/model-config#default-auto-compact-thresholds) pour les limites par modèle, et [Correct the window for a gateway or custom model ID](/docs/fr/model-config#correct-the-window-for-a-gateway-or-custom-model-id) si Claude Code suppose la mauvaise fenêtre pour votre ID de modèle, comme un alias de [passerelle LLM](/docs/fr/llm-gateway).

1640 1638 

1641<h2 id="check-your-own-session">1639<h2 id="check-your-own-session">

Details

128* **Atteignez `exec` en environ trois secondes chaque fois que le lanceur s'exécute.** Une expédition d'arrière-plan à froid exécute le lanceur deux fois en série avant le premier octet de sortie, donc faites un travail lent comme un échange d'authentification unique paresseusement ou à partir d'un cache.128* **Atteignez `exec` en environ trois secondes chaque fois que le lanceur s'exécute.** Une expédition d'arrière-plan à froid exécute le lanceur deux fois en série avant le premier octet de sortie, donc faites un travail lent comme un échange d'authentification unique paresseusement ou à partir d'un cache.

129* **Tolérez d'être invoqué de l'intérieur de vous-même.** Claude Code applique le lanceur à chaque auto-génération imbriquée, donc un lanceur qui acquiert une ressource exclusive doit détecter qu'il la détient déjà.129* **Tolérez d'être invoqué de l'intérieur de vous-même.** Claude Code applique le lanceur à chaque auto-génération imbriquée, donc un lanceur qui acquiert une ressource exclusive doit détecter qu'il la détient déjà.

130* **N'écrivez pas sur le terminal avant que Claude Code ne démarre.** Tout ce qui est imprimé avant le `exec` est signalé comme la cause du plantage si la session meurt avant l'initialisation.130* **N'écrivez pas sur le terminal avant que Claude Code ne démarre.** Tout ce qui est imprimé avant le `exec` est signalé comme la cause du plantage si la session meurt avant l'initialisation.

131* **Ne dépendez pas de la façon dont les arguments sont écrits.** La valeur d'un flag peut arriver comme son propre argument, `--flag value`, ou jointe au flag, `--flag=value`. La forme qu'utilise un flag peut changer d'une version à l'autre.

131 132 

132<h3 id="format-of-the-launcher-value">133<h3 id="format-of-the-launcher-value">

133 Format de la valeur du lanceur134 Format de la valeur du lanceur

Details

85 Tester avec une configuration propre85 Tester avec une configuration propre

86</h2>86</h2>

87 87 

88Commencez par [`claude --safe-mode`](/docs/fr/cli-reference#cli-flags), qui lance une session avec toutes les personnalisations désactivées, y compris `CLAUDE.md`, les skills, les plugins, les hooks, les serveurs MCP, et les commandes et agents personnalisés. L'authentification, la sélection du modèle, les outils intégrés et les permissions fonctionnent normalement. Si le problème disparaît en mode sécurisé, l'une de ces surfaces en est la cause ; utilisez les vérifications ciblées ci-dessus pour trouver laquelle. Le mode sécurisé applique toujours les hooks gérés et la politique de paramètres de votre organisation. Les plugins gérés, les skills, `CLAUDE.md` et les serveurs MCP sont désactivés.88Commencez par [`claude --safe-mode`](/docs/fr/cli-reference#cli-flags), qui lance une session avec vos personnalisations désactivées, y compris :

89 

90* `CLAUDE.md`

91* Les skills, les plugins et les hooks

92* Les serveurs MCP

93* Les commandes et agents personnalisés

94* Les styles de sortie personnalisés

95* Les raccourcis clavier personnalisés

96 

97L'authentification, la sélection du modèle, les outils intégrés et les permissions fonctionnent normalement. Si le problème disparaît en mode sécurisé, vous avez réduit la cause à l'un des éléments que vous avez désactivés. Pour le trouver, utilisez la vérification correspondant à cet élément, comme [Voir ce qui a été chargé dans le contexte](#see-what-loaded-into-context), [Vérifier les serveurs MCP](#check-mcp-servers) ou [Vérifier les hooks](#check-hooks).

98 

99Le mode sécurisé applique toujours les hooks gérés et la politique de paramètres de votre organisation. Les plugins gérés, les skills, `CLAUDE.md` et les serveurs MCP sont désactivés.

89 100 

90Si le problème persiste en mode sécurisé, ou si vos paramètres eux-mêmes sont suspects, comparez avec une session qui ne charge rien de votre configuration habituelle. Pointez [`CLAUDE_CONFIG_DIR`](/docs/fr/env-vars) vers un répertoire vide pour contourner tout ce qui se trouve sous `~/.claude`, et lancez depuis un répertoire qui n'a pas de dossier `.claude`, `.mcp.json` ou `CLAUDE.md` afin que la configuration du projet soit également ignorée.101Si le problème persiste en mode sécurisé, ou si vos paramètres eux-mêmes sont suspects, comparez avec une session qui ne charge rien de votre configuration habituelle. Pointez [`CLAUDE_CONFIG_DIR`](/docs/fr/env-vars) vers un répertoire vide pour contourner tout ce qui se trouve sous `~/.claude`, et lancez depuis un répertoire qui n'a pas de dossier `.claude`, `.mcp.json` ou `CLAUDE.md` afin que la configuration du projet soit également ignorée.

91 102 

desktop.md +89 −41

Details

67 67 

68Le bouton **+** à côté de la zone de prompt vous donne accès aux pièces jointes de fichiers, [skills](#use-skills), [connecteurs](#connect-external-tools) et [plugins](#install-plugins).68Le bouton **+** à côté de la zone de prompt vous donne accès aux pièces jointes de fichiers, [skills](#use-skills), [connecteurs](#connect-external-tools) et [plugins](#install-plugins).

69 69 

70<h3 id="accept-a-suggested-prompt">

71 Accepter un prompt suggéré

72</h3>

73 

74Après la réponse de Claude, l'onglet Code peut afficher un prompt suivant suggéré sous forme de texte gris dans la zone de prompt vide. Claude Code [génère chaque suggestion](/docs/fr/interactive-mode#prompt-suggestions) à partir de votre conversation grâce à une courte requête en arrière-plan qui est décomptée des limites d'utilisation de votre forfait ou de vos coûts d'API.

75 

76* **Utiliser la suggestion** : appuyez sur **Tab** ou **Flèche droite** pour la placer dans la zone de prompt, modifiez-la si vous le souhaitez, puis appuyez sur **Entrée** pour l'envoyer. Appuyer sur **Entrée** avant d'accepter la suggestion ne l'envoie pas.

77* **Rédiger votre propre prompt** : commencez à taper. La suggestion s'affiche uniquement tant que la zone de prompt est vide et ne contient aucun fichier joint.

78 

79Accédez à **Paramètres > Claude Code** et désactivez **Suggestions de prompts** sous **Sessions** pour arrêter les suggestions dans chaque session à partir de son prochain démarrage ou de sa prochaine reprise.

80 

70<h3 id="add-files-and-context-to-prompts">81<h3 id="add-files-and-context-to-prompts">

71 Ajouter des fichiers et du contexte aux prompts82 Ajouter des fichiers et du contexte aux prompts

72</h3>83</h3>


82 93 

83Les modes de permission contrôlent le niveau d'autonomie de Claude pendant une session : s'il demande avant de modifier des fichiers, d'exécuter des commandes ou les deux. Vous pouvez changer de mode à tout moment en utilisant le sélecteur de mode à côté du bouton d'envoi. Pour approuver chaque modification vous-même, passez à Manuel.94Les modes de permission contrôlent le niveau d'autonomie de Claude pendant une session : s'il demande avant de modifier des fichiers, d'exécuter des commandes ou les deux. Vous pouvez changer de mode à tout moment en utilisant le sélecteur de mode à côté du bouton d'envoi. Pour approuver chaque modification vous-même, passez à Manuel.

84 95 

85Pour définir un mode par défaut pour les nouvelles sessions locales, ajoutez `permissions.defaultMode` à votre [fichier de paramètres](/docs/fr/settings#where-settings-live). L'application de bureau lit les mêmes fichiers de paramètres que la CLI. Un mode que vous choisissez dans le sélecteur est mémorisé par dossier et prend la priorité sur `defaultMode` pour ce dossier, sauf Plan, qui s'applique à la session actuelle uniquement.96Pour définir un mode par défaut pour les nouvelles sessions locales, ajoutez `permissions.defaultMode` à votre [fichier de paramètres](/docs/fr/settings#where-settings-live). L'application de bureau lit les mêmes fichiers de paramètres que la CLI. Un mode que vous choisissez dans le sélecteur est mémorisé par dossier et a priorité sur `defaultMode` pour ce dossier, sauf Plan, qui s'applique à la session actuelle uniquement.

86 97 

87| Mode | Clé de paramètres | Comportement |98| Mode | Clé de paramètres | Comportement |

88| - | - | - |99| - | - | - |

89| **Manuel** | `default` | Claude demande avant de modifier des fichiers ou d'exécuter des commandes. Vous voyez une différence et pouvez accepter ou rejeter chaque modification. |100| **Manuel** | `default` | Claude demande avant de modifier des fichiers ou d'exécuter des commandes. Vous voyez un diff et pouvez accepter ou rejeter chaque modification. |

90| **Accepter les modifications** | `acceptEdits` | Claude accepte automatiquement les modifications de fichiers et les commandes courantes du système de fichiers comme `mkdir`, `touch` et `mv`, mais demande toujours avant d'exécuter les autres commandes du terminal. Utilisez ceci quand vous faites confiance aux modifications de fichiers et voulez une itération plus rapide. |101| **Accepter les modifications** | `acceptEdits` | Claude accepte automatiquement les modifications de fichiers et les commandes courantes du système de fichiers comme `mkdir`, `touch` et `mv`, mais demande toujours avant d'exécuter les autres commandes du terminal. Utilisez ceci quand vous faites confiance aux modifications de fichiers et voulez une itération plus rapide. |

91| **Plan** | `plan` | Claude lit les fichiers et exécute les commandes pour explorer, puis propose un plan sans modifier votre code source. Bon pour les tâches complexes où vous voulez examiner l'approche en premier. |102| **Plan** | `plan` | Claude lit les fichiers et exécute les commandes pour explorer, puis propose un plan sans modifier votre code source. Bon pour les tâches complexes où vous voulez examiner l'approche en premier. |

92| **Auto** | `auto` | Claude s'exécute sans invites de routine ; avant que des actions telles que les commandes shell et les demandes réseau s'exécutent, un classificateur en arrière-plan vérifie qu'elles s'alignent avec votre demande. Apparaît quand [auto mode est disponible](#auto-mode-availability) ; il n'y a pas de bascule Paramètres séparée pour cela. |103| **Auto** | `auto` | Claude s'exécute sans demandes de permission courantes ; avant que des actions telles que les commandes shell et les requêtes réseau s'exécutent, un classificateur en arrière-plan vérifie qu'elles s'alignent avec votre demande. Apparaît quand [le mode auto est disponible](#auto-mode-availability) ; il n'y a pas de bascule Paramètres séparée pour cela. |

93| **Contourner les permissions** | `bypassPermissions` | Claude s'exécute sans invites de permission, sauf pour les [actions qu'aucun mode n'approuve automatiquement](/docs/fr/permission-modes#actions-no-mode-auto-approves), les classificateurs de sécurité quand Claude [agit sur des sites externes](#browse-external-sites), ou les actions de bureau où Claude demande toujours en premier, comme [archiver une session](#work-across-sessions). Équivalent à `--dangerously-skip-permissions` dans la CLI. Sur les plans Pro et Max, activez-le dans vos Paramètres → Claude Code sous « Autoriser le mode de contournement des permissions » ; sur les plans Team et Enterprise, il n'y a pas de bascule Paramètres, et la politique organisationnelle le contrôle à la place. Utilisez uniquement dans les conteneurs sandboxés ou les machines virtuelles. |104| **Contourner les permissions** | `bypassPermissions` | Claude s'exécute sans demandes de permission, sauf pour les [actions qu'aucun mode n'approuve automatiquement](/docs/fr/permission-modes#actions-no-mode-auto-approves), les classificateurs de sécurité quand Claude [agit sur des sites externes](#browse-external-sites), ou les actions de bureau où Claude demande toujours en premier, comme [archiver une session](#work-across-sessions). Équivalent à `--dangerously-skip-permissions` dans la CLI. Sur les plans Pro et Max, activez-le dans vos Paramètres → Claude Code sous « Autoriser le mode de contournement des permissions » ; sur les plans Team et Enterprise, il n'y a pas de bascule Paramètres, et la politique organisationnelle le contrôle à la place. Utilisez uniquement dans les conteneurs sandboxés ou les machines virtuelles. |

94 105 

95Les versions antérieures de l'onglet Code étiquetaient ces modes Demander les permissions, Accepter automatiquement les modifications et Plan mode.106Les versions antérieures de l'onglet Code étiquetaient ces modes Demander les permissions, Accepter automatiquement les modifications et Plan mode.

96 107 

97Le mode de permission `dontAsk` est disponible uniquement dans la [CLI](/docs/fr/permission-modes#allow-only-pre-approved-tools-with-dontask-mode).108Le mode de permission `dontAsk` est disponible uniquement dans la [CLI](/docs/fr/permission-modes#allow-only-pre-approved-tools-with-dontask-mode).

98 109 

99<Tip title="Bonne pratique">110<Tip title="Bonne pratique">

100 Commencez les tâches complexes en Plan pour que Claude trace une approche avant de faire des modifications. Une fois que vous approuvez le plan, passez à Accepter les modifications ou Manuel pour l'exécuter. Voir [explorer d'abord, puis planifier, puis coder](/docs/fr/best-practices#explore-first-then-plan-then-code) pour plus d'informations sur ce flux de travail.111 Commencez les tâches complexes en Plan pour que Claude trace une approche avant de faire des modifications. Une fois que vous approuvez le plan, passez à Accepter les modifications ou Manuel pour l'exécuter. Voir [explorer d'abord, puis planifier, puis coder](/docs/fr/best-practices#explore-first-then-plan-then-code) pour plus d'informations sur ce workflow.

101</Tip>112</Tip>

102 113 

103Les sessions cloud supportent Accepter les modifications, Plan et Auto. Accepter les modifications correspond au mode `default` : les sessions cloud pré-approuvent les modifications de fichiers, donc le sélecteur affiche Accepter les modifications au lieu de Manuel. Contourner les permissions n'est pas disponible dans les sessions cloud, y compris les sessions dans un [environnement auto-hébergé](/docs/fr/self-hosted-environments).114Les sessions cloud supportent Accepter les modifications, Plan et Auto. Accepter les modifications correspond au mode `default` : les sessions cloud pré-approuvent les modifications de fichiers, donc le sélecteur affiche Accepter les modifications au lieu de Manuel. Contourner les permissions n'est pas disponible dans les sessions cloud, y compris les sessions dans un [environnement auto-hébergé](/docs/fr/self-hosted-environments).


116 Aperçu de votre application127 Aperçu de votre application

117</h3>128</h3>

118 129 

119Claude peut démarrer un serveur de développement et l'ouvrir dans le volet Navigateur pour vérifier ses modifications. Ceci fonctionne pour les applications web frontend ainsi que les serveurs backend : Claude peut tester les points de terminaison API, afficher les journaux du serveur et itérer sur les problèmes qu'il trouve. Dans la plupart des cas, Claude démarre le serveur automatiquement après la modification des fichiers du projet. Vous pouvez également demander à Claude de prévisualiser à tout moment. Par défaut, Claude [vérifie automatiquement](#auto-verify-changes) les modifications après chaque modification.130Claude peut démarrer un serveur de développement et l'ouvrir dans le volet Navigateur pour vérifier ses modifications. Ceci fonctionne pour les applications web frontend ainsi que les serveurs backend : Claude peut tester les endpoints d'API, afficher les logs du serveur et itérer sur les problèmes qu'il trouve. Dans la plupart des cas, Claude démarre le serveur automatiquement après la modification des fichiers du projet. Vous pouvez également demander à Claude de prévisualiser à tout moment. Par défaut, Claude [vérifie automatiquement](#auto-verify-changes) les modifications après chaque modification.

120 131 

121Le volet Navigateur peut également ouvrir des fichiers HTML statiques, des PDF, des images et des vidéos de votre projet. Cliquez sur un chemin HTML, PDF, image ou vidéo dans le chat pour l'ouvrir là.132Le volet Navigateur peut également ouvrir des fichiers HTML statiques, des PDF, des images et des vidéos de votre projet. Cliquez sur un chemin HTML, PDF, image ou vidéo dans le chat pour l'ouvrir là.

122 133 


141 152 

142Claude peut lire et interagir avec les pages externes en utilisant les mêmes outils qu'il utilise pour [vérifier votre application](#preview-your-app), avec deux vérifications de sécurité supplémentaires :153Claude peut lire et interagir avec les pages externes en utilisant les mêmes outils qu'il utilise pour [vérifier votre application](#preview-your-app), avec deux vérifications de sécurité supplémentaires :

143 154 

144* Les classificateurs de sécurité examinent les actions d'écriture de Claude sur les pages externes, telles que cliquer et taper, dans tous les modes de permission. Ce sont les mêmes classificateurs que [auto mode](#choose-a-permission-mode) utilise, et quand ils signalent une action, vous obtenez une invite de permission quel que soit le mode.155* Les classificateurs de sécurité examinent les actions d'écriture de Claude sur les pages externes, telles que cliquer et taper, dans tous les modes de permission. Ce sont les mêmes classificateurs que le [mode auto](#choose-a-permission-mode) utilise, et quand ils signalent une action, vous obtenez une demande de permission quel que soit le mode.

145* Dans les modes de permission autres que Auto et Contourner les permissions, une vérification de liste d'autorisation de domaine s'applique également avant que Claude ne navigue vers un nouveau site.156* Dans les modes de permission autres que Auto et Contourner les permissions, une vérification de liste d'autorisation de domaine s'applique également avant que Claude ne navigue vers un nouveau site.

146 157 

147<h4 id="approve-claude’s-actions-on-a-site">158<h4 id="approve-claude’s-actions-on-a-site">

148 Approuver les actions de Claude sur un site159 Approuver les actions de Claude sur un site

149</h4>160</h4>

150 161 

151La première fois que Claude agit sur un site externe, une carte de permission apparaît et Claude attend votre choix : **Autoriser une fois**, **Toujours autoriser** ou **Refuser**. **Autoriser une fois** approuve l'action sans rien enregistrer. **Toujours autoriser** enregistre l'approbation pour ce site sur votre appareil, et vous pouvez la révoquer dans Paramètres. Chaque site a besoin de sa propre approbation, y compris les sous-domaines. Vos serveurs de développement locaux et fichiers de projet n'ont pas besoin d'approbation, donc [auto-verify](#auto-verify-changes) continue de fonctionner sans invites.162La première fois que Claude agit sur un site externe, une carte de permission apparaît et Claude attend votre choix : **Autoriser une fois**, **Toujours autoriser** ou **Refuser**. **Autoriser une fois** approuve l'action sans rien enregistrer. **Toujours autoriser** enregistre l'approbation pour ce site sur votre appareil, et vous pouvez la révoquer dans Paramètres. Chaque site a besoin de sa propre approbation, y compris les sous-domaines. Vos serveurs de développement locaux et fichiers de projet n'ont pas besoin d'approbation, donc [auto-verify](#auto-verify-changes) continue de fonctionner sans demandes.

152 163 

153Même sur un site approuvé, Claude n'achètera pas d'articles, ne créera pas de comptes ou ne contournera pas les CAPTCHA sans votre entrée. La navigation dans le volet Navigateur utilise le même modèle de sécurité que l'[extension Claude dans Chrome](/docs/fr/chrome). Voir [Utiliser Claude dans Chrome en toute sécurité](https://support.claude.com/en/articles/12902428-using-claude-in-chrome-safely) pour savoir comment Claude gère les sites sensibles et les actions risquées.164Même sur un site approuvé, Claude n'achètera pas d'articles, ne créera pas de comptes ou ne contournera pas les CAPTCHA sans votre entrée. La navigation dans le volet Navigateur utilise le même modèle de sécurité que l'[extension Claude dans Chrome](/docs/fr/chrome). Voir [Utiliser Claude dans Chrome en toute sécurité](https://support.claude.com/en/articles/12902428-using-claude-in-chrome-safely) pour savoir comment Claude gère les sites sensibles et les actions risquées.

154 165 


167Pour désactiver complètement la navigation externe, définissez le paramètre géré [`disableBrowserExternalNavigation`](#managed-settings) sur `true`. Ceci bloque toute navigation externe dans le Navigateur, y compris les sites sur la liste d'autorisation de votre organisation ; les serveurs de développement localhost et les aperçus de fichiers continuent de fonctionner. Utilisez `browserExternalPageTools` pour laisser les utilisateurs continuer à naviguer sur des sites externes sans les outils de Claude, et `disableBrowserExternalNavigation` pour bloquer les sites externes pour les utilisateurs et Claude.178Pour désactiver complètement la navigation externe, définissez le paramètre géré [`disableBrowserExternalNavigation`](#managed-settings) sur `true`. Ceci bloque toute navigation externe dans le Navigateur, y compris les sites sur la liste d'autorisation de votre organisation ; les serveurs de développement localhost et les aperçus de fichiers continuent de fonctionner. Utilisez `browserExternalPageTools` pour laisser les utilisateurs continuer à naviguer sur des sites externes sans les outils de Claude, et `disableBrowserExternalNavigation` pour bloquer les sites externes pour les utilisateurs et Claude.

168 179 

169<h3 id="review-changes-with-diff-view">180<h3 id="review-changes-with-diff-view">

170 Examiner les modifications avec la vue de différence181 Examiner les modifications avec la vue diff

171</h3>182</h3>

172 183 

173Après que Claude ait modifié votre code, la vue de différence vous permet d'examiner les modifications fichier par fichier avant de créer une demande de tirage.184Après que Claude a modifié votre code, la vue diff vous permet d'examiner les modifications fichier par fichier avant de créer une pull request.

174 185 

175Quand Claude modifie des fichiers, un indicateur de statistiques de différence apparaît montrant le nombre de lignes ajoutées et supprimées, comme `+12 -1`. Cliquez sur cet indicateur pour ouvrir la visionneuse de différences, qui affiche une liste de fichiers à gauche et les modifications pour chaque fichier à droite.186Quand Claude modifie des fichiers, un indicateur de statistiques de diff apparaît montrant le nombre de lignes ajoutées et supprimées, comme `+12 -1`. Cliquez sur cet indicateur pour ouvrir la visionneuse de diff, qui affiche une liste de fichiers à gauche et les modifications pour chaque fichier à droite.

176 187 

177Pour commenter des lignes spécifiques, cliquez sur n'importe quelle ligne dans la différence pour ouvrir une boîte de commentaire. Tapez votre retour et appuyez sur **Entrée** pour ajouter le commentaire. Après avoir ajouté des commentaires à plusieurs lignes, soumettez tous les commentaires à la fois :188Pour commenter des lignes spécifiques, cliquez sur n'importe quelle ligne dans le diff pour ouvrir une boîte de commentaire. Tapez votre retour et appuyez sur **Entrée** pour ajouter le commentaire. Après avoir ajouté des commentaires à plusieurs lignes, soumettez tous les commentaires à la fois :

178 189 

179* **macOS** : appuyez sur **Cmd+Entrée**190* **macOS** : appuyez sur **Cmd+Entrée**

180* **Windows** : appuyez sur **Ctrl+Entrée**191* **Windows** : appuyez sur **Ctrl+Entrée**

181 192 

182Claude lit vos commentaires et effectue les modifications demandées, qui apparaissent comme une nouvelle différence que vous pouvez examiner.193Claude lit vos commentaires et effectue les modifications demandées, qui apparaissent comme un nouveau diff que vous pouvez examiner.

183 194 

184<h3 id="review-your-code">195<h3 id="review-your-code">

185 Examiner votre code196 Examiner votre code


195Dans n'importe quelle session, vous pouvez également demander à Claude, dans la zone de prompt, de corriger ce que la revue a trouvé. Pour savoir ce que `/code-review` recherche et les arguments qu'il accepte, voir [Examiner un diff localement](/docs/fr/code-review#review-a-diff-locally).206Dans n'importe quelle session, vous pouvez également demander à Claude, dans la zone de prompt, de corriger ce que la revue a trouvé. Pour savoir ce que `/code-review` recherche et les arguments qu'il accepte, voir [Examiner un diff localement](/docs/fr/code-review#review-a-diff-locally).

196 207 

197<h3 id="monitor-pull-request-status">208<h3 id="monitor-pull-request-status">

198 Surveiller l'état de la demande de tirage209 Surveiller l'état de la pull request

199</h3>210</h3>

200 211 

201Après avoir ouvert une demande de tirage, une barre d'état CI apparaît dans la session. Claude Code utilise la CLI GitHub pour interroger les résultats des vérifications et afficher les défaillances.212Après avoir ouvert une pull request, une barre d'état CI apparaît dans la session. Claude Code utilise la CLI GitHub pour interroger les résultats des vérifications et afficher les défaillances.

202 213 

203* **Corriger automatiquement la CI et traiter les commentaires** : lorsque cette option est activée, Claude tente automatiquement de corriger les vérifications CI en échec en lisant la sortie d'échec et en itérant. Dans une session locale, Claude traite également les nouveaux commentaires de revue laissés par une autre personne que vous, lorsque l'auteur est le propriétaire du dépôt, un membre de l'organisation, un collaborateur ou une GitHub App.214* **Corriger automatiquement la CI et traiter les commentaires** : lorsque cette option est activée, Claude tente automatiquement de corriger les vérifications CI en échec en lisant la sortie d'échec et en itérant. Dans une session locale, Claude traite également les nouveaux commentaires de revue laissés par une autre personne que vous, lorsque l'auteur est le propriétaire du dépôt, un membre de l'organisation, un collaborateur ou une GitHub App.

204* **Fusionner automatiquement une fois prête** : lorsque cette option est activée, Claude fusionne la PR une fois que toutes les vérifications réussissent. La méthode de fusion est squash. Activez d'abord la fusion automatique dans les [paramètres de votre dépôt GitHub](https://docs.github.com/en/repositories/configuring-branches-and-merges-in-your-repository/configuring-pull-request-merges/managing-auto-merge-for-pull-requests-in-your-repository) ; sans cela, Claude ne peut pas fusionner la PR.215* **Fusionner automatiquement une fois prête** : lorsque cette option est activée, Claude fusionne la PR une fois que toutes les vérifications réussissent. La méthode de fusion est squash. Activez d'abord la fusion automatique dans les [paramètres de votre dépôt GitHub](https://docs.github.com/en/repositories/configuring-branches-and-merges-in-your-repository/configuring-pull-request-merges/managing-auto-merge-for-pull-requests-in-your-repository) ; sans cela, Claude ne peut pas fusionner la PR.


215 226 

216L'onglet Code est construit autour de volets que vous pouvez arranger dans n'importe quelle disposition : chat, diff, navigateur, terminal, fichier, plan, tâches et sous-agent, ainsi que le [Simulateur iOS](/docs/fr/desktop-ios-simulator) sur macOS. Glissez un volet par son en-tête pour le repositionner, ou glissez un bord de volet pour le redimensionner. Appuyez sur **Cmd+\\** sur macOS ou **Ctrl+\\** sur Windows pour fermer le volet actif. Cliquez sur **Terminal**, **Modifications** ou **Navigateur** dans la barre de titre de la session pour ouvrir le volet de terminal, de diff ou Navigateur. Le menu **⋮** à côté de ces boutons ouvre d'autres volets, comme **Fichiers**, et contient ces boutons lorsque la fenêtre est trop étroite pour les afficher.227L'onglet Code est construit autour de volets que vous pouvez arranger dans n'importe quelle disposition : chat, diff, navigateur, terminal, fichier, plan, tâches et sous-agent, ainsi que le [Simulateur iOS](/docs/fr/desktop-ios-simulator) sur macOS. Glissez un volet par son en-tête pour le repositionner, ou glissez un bord de volet pour le redimensionner. Appuyez sur **Cmd+\\** sur macOS ou **Ctrl+\\** sur Windows pour fermer le volet actif. Cliquez sur **Terminal**, **Modifications** ou **Navigateur** dans la barre de titre de la session pour ouvrir le volet de terminal, de diff ou Navigateur. Le menu **⋮** à côté de ces boutons ouvre d'autres volets, comme **Fichiers**, et contient ces boutons lorsque la fenêtre est trop étroite pour les afficher.

217 228 

218Pour travailler sur plusieurs écrans, extrayez un volet tel que la différence ou le terminal dans sa propre fenêtre, et redockez-le quand vous avez terminé. Claude continue de travailler dans la fenêtre principale.229Pour travailler sur plusieurs écrans, extrayez un volet tel que le diff ou le terminal dans sa propre fenêtre, et redockez-le quand vous avez terminé. Claude continue de travailler dans la fenêtre principale.

219 230 

220<Note>231<Note>

221 La disposition des volets, le terminal, l'éditeur de fichiers et les modes d'affichage dans cette section nécessitent Claude Desktop v1.2581.0 ou une version ultérieure. Ouvrez **Claude → Vérifier les mises à jour** sur macOS ou **Aide → Vérifier les mises à jour** sur Windows pour mettre à jour.232 La disposition des volets, le terminal, l'éditeur de fichiers et les modes d'affichage dans cette section nécessitent Claude Desktop v1.2581.0 ou une version ultérieure. Ouvrez **Claude → Vérifier les mises à jour** sur macOS ou **Aide → Vérifier les mises à jour** sur Windows pour mettre à jour.


231 Ouvrir et modifier les fichiers242 Ouvrir et modifier les fichiers

232</h3>243</h3>

233 244 

234Cliquez sur un chemin de fichier dans le chat ou la visionneuse de différences pour l'ouvrir dans le volet de fichier. Les chemins HTML, PDF, image et vidéo s'ouvrent dans le [volet d'aperçu](#preview-your-app) à la place. Effectuez des modifications ponctuelles et cliquez sur **Enregistrer** pour les écrire. Si le fichier a changé sur le disque depuis que vous l'avez ouvert, le volet vous avertit et vous permet de remplacer ou d'abandonner. Cliquez sur **Abandonner** pour annuler vos modifications, ou cliquez sur le chemin dans l'en-tête du volet pour copier le chemin absolu.245Cliquez sur un chemin de fichier dans le chat ou la visionneuse de diff pour l'ouvrir dans le volet de fichier. Les chemins HTML, PDF, image et vidéo s'ouvrent dans le [volet Navigateur](#preview-your-app) à la place. Effectuez des modifications ponctuelles et cliquez sur **Enregistrer** pour les écrire. Si le fichier a changé sur le disque depuis que vous l'avez ouvert, le volet vous avertit et vous permet de remplacer ou d'abandonner. Cliquez sur **Abandonner** pour annuler vos modifications, ou cliquez sur le chemin dans l'en-tête du volet pour copier le chemin absolu.

235 246 

236Le volet de fichier est disponible dans les sessions locales et SSH. Pour les sessions distantes, demandez à Claude de faire la modification.247Le volet de fichier est disponible dans les sessions locales et SSH. Pour les sessions cloud, demandez à Claude de faire la modification.

237 248 

238<h3 id="open-files-in-other-apps">249<h3 id="open-files-in-other-apps">

239 Ouvrir les fichiers dans d'autres applications250 Ouvrir les fichiers dans d'autres applications

240</h3>251</h3>

241 252 

242Cliquez avec le bouton droit sur n'importe quel chemin de fichier dans le chat, la visionneuse de différences ou le volet de fichier pour ouvrir un menu contextuel :253Cliquez avec le bouton droit sur n'importe quel chemin de fichier dans le chat, la visionneuse de diff ou le volet de fichier pour ouvrir un menu contextuel :

243 254 

244* **Joindre comme contexte** : ajouter le fichier à votre prochain prompt255* **Joindre comme contexte** : ajouter le fichier à votre prochain prompt

245* **Ouvrir dans** : ouvrir le fichier dans un éditeur installé comme VS Code, Cursor ou Zed256* **Ouvrir dans** : ouvrir le fichier dans un éditeur installé comme VS Code, Cursor ou Zed


255| Mode | Ce qu'il affiche |266| Mode | Ce qu'il affiche |

256| - | - |267| - | - |

257| **Normal** | Les appels d'outils réduits en résumés, avec les réponses texte complètes |268| **Normal** | Les appels d'outils réduits en résumés, avec les réponses texte complètes |

258| **Thinking** | Les appels d'outils réduits en résumés, plus le thinking de Claude |269| **Thinking** | Les appels d'outils réduits en résumés, plus la réflexion de Claude |

259| **Verbose** | Chaque appel d'outil, lecture de fichier et étape intermédiaire que Claude prend, plus le thinking de Claude |270| **Verbose** | Chaque appel d'outil, lecture de fichier et étape intermédiaire que Claude prend, plus la réflexion de Claude |

260 271 

261Utilisez Thinking pour suivre le raisonnement de Claude avec les appels d'outils toujours réduits. Utilisez Verbose lors du débogage pour savoir pourquoi Claude a pris une action particulière. Les versions de Claude Desktop antérieures à 1.46388.1 listent également un mode Résumé, et une session toujours définie sur Résumé s'ouvre en Normal une fois que vous mettez à jour.272Utilisez Thinking pour suivre le raisonnement de Claude avec les appels d'outils toujours réduits. Utilisez Verbose lors du débogage pour savoir pourquoi Claude a pris une action particulière. Les versions de Claude Desktop antérieures à 1.46388.1 listent également un mode Résumé, et une session toujours définie sur Résumé s'ouvre en Normal une fois que vous mettez à jour.

262 273 


274| `Ctrl` `Tab` / `Ctrl` `Shift` `Tab` | Session suivante ou précédente |285| `Ctrl` `Tab` / `Ctrl` `Shift` `Tab` | Session suivante ou précédente |

275| `Cmd` `Shift` `]` / `Cmd` `Shift` `[` | Session suivante ou précédente |286| `Cmd` `Shift` `]` / `Cmd` `Shift` `[` | Session suivante ou précédente |

276| `Esc` | Arrêter la réponse de Claude |287| `Esc` | Arrêter la réponse de Claude |

277| `Cmd` `Shift` `D` | Basculer le volet de différence |288| `Tab` / `Right arrow` | [Accepter le prompt suggéré](#accept-a-suggested-prompt) dans une zone de prompt vide |

278| `Cmd` `Shift` `B` | Basculer le volet d'aperçu |289| `Cmd` `Shift` `D` | Basculer le volet de diff |

279| `Cmd` `Shift` `S` | Sélectionner un élément dans l'aperçu |290| `Cmd` `Shift` `B` | Basculer le volet Navigateur |

291| `Cmd` `Shift` `S` | Sélectionner un élément dans le Navigateur |

280| `Ctrl` `` ` `` | Basculer le volet de terminal |292| `Ctrl` `` ` `` | Basculer le volet de terminal |

281| `Cmd` `\` | Fermer le volet actif |293| `Cmd` `\` | Fermer le volet actif |

282| `Cmd` `;` | Ouvrir le chat latéral |294| `Cmd` `;` | Ouvrir le chat latéral |


286| `Cmd` `Shift` `E` | Ouvrir le menu d'effort |298| `Cmd` `Shift` `E` | Ouvrir le menu d'effort |

287| `1`–`9` | Sélectionner un élément dans un menu ouvert |299| `1`–`9` | Sélectionner un élément dans un menu ouvert |

288 300 

289Ces raccourcis s'appliquent uniquement à l'onglet Code. Les raccourcis du [mode interactif](/docs/fr/interactive-mode#keyboard-shortcuts) basés sur le terminal, comme `Shift+Tab` pour parcourir les modes de permission, ne s'appliquent pas dans Desktop.301Ces raccourcis s'appliquent à l'onglet Code. Dans Desktop, `Shift+Tab` ne parcourt pas les modes de permission comme il le fait dans le [mode interactif](/docs/fr/interactive-mode#keyboard-shortcuts) du terminal.

290 302 

291<h3 id="check-usage">303<h3 id="check-usage">

292 Vérifier l'utilisation304 Vérifier l'utilisation


458* Sélectionnez **Cloud** pour continuer la session en tant que [session cloud](/docs/fr/claude-code-on-the-web), votre conversation étant reprise sous forme de résumé. Avant que vous ne confirmiez, la boîte de dialogue indique si vos fichiers sont également déplacés et si cette session est archivée une fois la session cloud prête. Vous ne pouvez pas déplacer ainsi une session qui s'exécute via [SSH](#ssh-sessions) ou dans [WSL](/docs/fr/desktop-wsl).470* Sélectionnez **Cloud** pour continuer la session en tant que [session cloud](/docs/fr/claude-code-on-the-web), votre conversation étant reprise sous forme de résumé. Avant que vous ne confirmiez, la boîte de dialogue indique si vos fichiers sont également déplacés et si cette session est archivée une fois la session cloud prête. Vous ne pouvez pas déplacer ainsi une session qui s'exécute via [SSH](#ssh-sessions) ou dans [WSL](/docs/fr/desktop-wsl).

459* Sélectionnez un éditeur installé ou votre gestionnaire de fichiers pour y ouvrir le dossier de la session sur le disque.471* Sélectionnez un éditeur installé ou votre gestionnaire de fichiers pour y ouvrir le dossier de la session sur le disque.

460 472 

473<h3 id="control-which-sessions-appear-on-your-other-devices">

474 Contrôler quelles sessions apparaissent sur vos autres appareils

475</h3>

476 

477Une session locale apparaît sur vos autres appareils dès que [Remote Control](/docs/fr/remote-control) la connecte. Une session connectée apparaît dans la liste des sessions sur [claude.ai/code](https://claude.ai/code) et dans les applications Claude sur les appareils connectés à votre compte claude.ai.

478 

479Une session locale se connecte quand vous activez Remote Control pour elle, ou quand elle se connecte automatiquement à son démarrage :

480 

481* **Vous l'activez pour cette session** : avec l'interrupteur **Remote Control** de la session, ou en tapant `/remote-control` dans sa zone de prompt.

482* **Elle se connecte à son démarrage** : les nouvelles sessions se connectent automatiquement tant que **Connecter les nouvelles sessions à Remote Control** est activé dans **Paramètres > Claude Code**. Si vous n'avez jamais modifié ce paramètre, Desktop suit [`remoteControlAtStartup`](/docs/fr/settings-reference#remotecontrolatstartup) dans vos paramètres utilisateur ou vos paramètres gérés, puis la valeur par défaut de votre organisation.

483 

484Pour savoir si une session est connectée, regardez l'icône d'ordinateur portable devant le titre de la session dans la barre d'outils. L'icône est mise en surbrillance tant que la session est connectée ou en cours de connexion. Cliquez dessus pour ouvrir l'interrupteur **Remote Control** de la session.

485 

486Pour que vos sessions n'apparaissent pas sur vos autres appareils, désactivez Remote Control au niveau dont vous avez besoin :

487 

488* **Une session** : désactivez son interrupteur **Remote Control**. Dans une session qui s'est connectée à son démarrage, taper `/remote-control` laisse Remote Control activé et affiche `Remote Control is already on. This session connected automatically when it started.` Cliquez sur **Désactiver** sur cette ligne pour vous déconnecter.

489* **Les nouvelles sessions Desktop sur cet ordinateur** : désactivez **Connecter les nouvelles sessions à Remote Control** dans **Paramètres > Claude Code**. S'il apparaît déjà désactivé, activez-le puis désactivez-le pour que Desktop enregistre votre choix. Une fois enregistré, il a priorité sur `remoteControlAtStartup` et sur les valeurs par défaut.

490* **Toute session sur cet ordinateur, y compris le CLI** : définissez [`disableRemoteControl`](/docs/fr/settings-reference#disableremotecontrol) à `true` dans `~/.claude/settings.json` pour empêcher les sessions de se connecter. Une session déjà connectée au moment où vous avez enregistré le fichier reste connectée jusqu'à ce que vous désactiviez Remote Control pour elle.

491 

492Pour masquer une session qui apparaît déjà sur vos autres appareils, archivez-la dans Desktop. Desktop archive également la copie Remote Control de la session, qui quitte donc la liste des sessions par défaut sur ces appareils. Pour l'y afficher ou la supprimer, voir [Archiver les sessions](/docs/fr/claude-code-on-the-web#archive-sessions).

493 

461<h3 id="sessions-from-dispatch">494<h3 id="sessions-from-dispatch">

462 Sessions depuis Dispatch495 Sessions depuis Dispatch

463</h3>496</h3>


836 Pré-configurer les connexions SSH pour votre équipe869 Pré-configurer les connexions SSH pour votre équipe

837</h4>870</h4>

838 871 

839Les administrateurs peuvent distribuer les connexions SSH aux membres de l'équipe en ajoutant `sshConfigs` à un fichier de [paramètres gérés](/docs/fr/managed-settings). Les connexions définies de cette manière apparaissent dans la liste déroulante d'environnement de chaque utilisateur automatiquement et sont affichées comme gérées, de sorte que les utilisateurs peuvent les sélectionner mais ne peuvent pas les modifier ou les supprimer dans l'application.872Les administrateurs peuvent distribuer les connexions SSH aux membres de l'équipe en définissant `sshConfigs` dans les [paramètres gérés](/docs/fr/managed-settings). Les connexions définies de cette manière apparaissent dans la liste déroulante d'environnement de chaque utilisateur automatiquement et sont affichées comme gérées, de sorte que les utilisateurs peuvent les sélectionner mais ne peuvent pas les modifier ou les supprimer dans l'application.

840 873 

841L'exemple suivant pré-configure une seule connexion :874L'exemple suivant pré-configure une seule connexion :

842 875 


860 Restreindre les hôtes SSH auxquels les utilisateurs peuvent se connecter893 Restreindre les hôtes SSH auxquels les utilisateurs peuvent se connecter

861</h4>894</h4>

862 895 

863Les administrateurs peuvent limiter les sessions SSH de Desktop à un ensemble approuvé d'hôtes en ajoutant `sshHostAllowlist` à un fichier de [paramètres gérés](/docs/fr/managed-settings). Lorsqu'il est défini, les utilisateurs ne peuvent se connecter qu'à des hôtes dont le nom d'hôte résolu correspond à l'un des modèles. Définissez-le sur un tableau vide pour désactiver complètement les sessions SSH.896Les administrateurs peuvent limiter les sessions SSH de Desktop à un ensemble approuvé d'hôtes en définissant `sshHostAllowlist` dans les [paramètres gérés](/docs/fr/managed-settings). Lorsqu'il est défini, les utilisateurs ne peuvent se connecter qu'à des hôtes dont le nom d'hôte résolu correspond à l'un des modèles. Définissez-le sur un tableau vide pour désactiver les sessions SSH. L'[entrée de référence `sshHostAllowlist`](/docs/fr/settings-reference#sshhostallowlist) indique comment un tableau vide se combine avec les listes d'autres sources gérées.

864 897 

865L'exemple suivant autorise les connexions à n'importe quel hôte sous `devboxes.example.com` et à un seul hôte bastion nommé :898L'exemple suivant autorise les connexions à n'importe quel hôte sous `devboxes.example.com` et à un seul hôte bastion nommé :

866 899 


870}903}

871```904```

872 905 

906<Warning>

907 Si votre organisation fournit des [paramètres gérés par le serveur](/docs/fr/server-managed-settings), définissez `sshHostAllowlist` à cet endroit. Par défaut, Desktop lit la clé uniquement à partir de la [source gérée la mieux classée qui fournit une clé de politique](/docs/fr/managed-settings#how-claude-code-combines-managed-sources). Si cette source laisse la clé non définie, Desktop ignore une liste figurant dans une politique MDM ou un fichier de paramètres gérés moins bien classé et traite la clé comme [non définie](/docs/fr/settings-reference#sshhostallowlist). Desktop n'affiche aucun avertissement.

908 

909 Conservez également la même liste sur la machine de chaque utilisateur, dans la politique MDM ou le fichier de paramètres gérés le mieux classé sur celle-ci. Desktop récupère les paramètres gérés par le serveur au lancement et n'en conserve aucune copie en cache ; ainsi, tant qu'une récupération n'a pas réussi, c'est la liste de la machine qui s'applique.

910</Warning>

911 

873Les modèles sont insensibles à la casse. `*` correspond à n'importe quel hôte, et `*.example.com` correspond à `example.com` et à n'importe quel sous-domaine. Tout le reste est une correspondance exacte. La vérification s'exécute sur le nom d'hôte après la résolution `~/.ssh/config` via `ssh -G`, de sorte que les alias `Host` et les entrées `ProxyCommand`/`ProxyJump` sont autorisés tant que le `HostName` résolu correspond.912Les modèles sont insensibles à la casse. `*` correspond à n'importe quel hôte, et `*.example.com` correspond à `example.com` et à n'importe quel sous-domaine. Tout le reste est une correspondance exacte. La vérification s'exécute sur le nom d'hôte après la résolution `~/.ssh/config` via `ssh -G`, de sorte que les alias `Host` et les entrées `ProxyCommand`/`ProxyJump` sont autorisés tant que le `HostName` résolu correspond.

874 913 

875`sshHostAllowlist` est lu uniquement à partir des paramètres gérés ; les valeurs dans les paramètres utilisateur ou projet sont ignorées. Seule l'application Claude Desktop honore ce paramètre ; la CLI Claude Code et les extensions IDE ne le lisent pas, et il ne restreint pas les commandes `ssh` exécutées via l'outil Bash. Il gouverne les hôtes auxquels l'application Desktop se connecte, pas la sortie réseau, donc associez-le aux contrôles réseau ou zero-trust de votre organisation si vous avez besoin d'une limite stricte.914`sshHostAllowlist` est lu uniquement à partir des paramètres gérés ; les valeurs dans les paramètres utilisateur ou projet sont ignorées. Seule l'application Claude Desktop honore ce paramètre ; la CLI Claude Code et les extensions IDE ne le lisent pas, et il ne restreint pas les commandes `ssh` exécutées via l'outil Bash. Il gouverne les hôtes auxquels l'application Desktop se connecte, pas la sortie réseau, donc associez-le aux contrôles réseau ou zero-trust de votre organisation si vous avez besoin d'une limite stricte.


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

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

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

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

917| `disableDesktopLocalSessions` | définissez sur `true` pour désactiver les [sessions Code qui s'exécutent sur l'appareil](#local-sessions-on-managed-devices), en laissant les sessions SSH vers d'autres hôtes et les sessions cloud disponibles. La valeur doit être le booléen JSON `true`. Lecture à partir des paramètres gérés uniquement. Nécessite Claude Desktop v1.37937.0 ou version ultérieure. |956| `disableDesktopLocalSessions` | définissez sur `true` pour désactiver les [sessions Code qui s'exécutent sur l'appareil](#local-sessions-on-managed-devices), en laissant les sessions SSH vers d'autres hôtes et les sessions cloud disponibles. La valeur doit être le booléen JSON `true`. Lecture à partir des paramètres gérés uniquement. Nécessite Claude Desktop v1.37937.0 ou version ultérieure. |

918| `disableSshSavedPasswords` | définissez sur `true` pour empêcher Desktop de proposer de mémoriser les mots de passe SSH et d'utiliser ou d'afficher ceux qu'il a enregistrés précédemment. L'activer ne les supprime pas. Lecture à partir des paramètres gérés uniquement. Nécessite Claude Desktop v1.49585.0 ou version ultérieure. |957| `disableSshSavedPasswords` | définissez sur `true` pour empêcher Desktop de proposer de mémoriser les mots de passe SSH et d'utiliser ou d'afficher ceux qu'il a enregistrés précédemment. L'activer ne les supprime pas. Lecture à partir des paramètres gérés uniquement. Nécessite Claude Desktop v1.49585.0 ou version ultérieure. |

919| `managedMcpServers` | poussez les configurations du serveur MCP à tous les utilisateurs. Disponible dans les déploiements Desktop tiers (3P) uniquement. Dans chaque entrée, définissez un transport de `"http"`, `"sse"` ou `"stdio"`, les détails de connexion et optionnellement une carte `toolPolicy` pour restreindre les outils de ce serveur que les utilisateurs peuvent invoquer. Livrez-le via le fichier de paramètres gérés, MDM ou la politique de bloc [`desktop`](/docs/fr/claude-apps-gateway-config#claude-desktop-overlay) d'une passerelle d'applications Claude, car les déploiements tiers ne reçoivent pas les paramètres de la console d'administration. Pour le livrer via la passerelle, vous avez besoin de Claude Code v2.1.232 ou version ultérieure sur le serveur de la passerelle. Ceci est la clé propre de l'application de bureau ; Claude Code lit un [paramètre géré de même nom](/docs/fr/managed-mcp#provide-servers-through-managed-settings) qui lui est propre, avec une forme d'entrée différente. |958| `managedMcpServers` | poussez les configurations du serveur MCP à tous les utilisateurs. Disponible dans les déploiements Desktop tiers (3P) uniquement. Dans chaque entrée, définissez un transport de `"http"`, `"sse"` ou `"stdio"`, les détails de connexion et optionnellement une carte `toolPolicy` pour restreindre les outils de ce serveur que les utilisateurs peuvent invoquer. Livrez-le via le fichier de paramètres gérés, MDM ou le [bloc `desktop`](/docs/fr/claude-apps-gateway-config#claude-desktop-overlay) d'une politique de passerelle d'applications Claude, car les déploiements tiers ne reçoivent pas les paramètres de la console d'administration. Pour le livrer via la passerelle, vous avez besoin de Claude Code v2.1.232 ou version ultérieure sur le serveur de la passerelle. Ceci est la clé propre de l'application de bureau ; Claude Code lit un [paramètre géré de même nom](/docs/fr/managed-mcp#provide-servers-through-managed-settings) qui lui est propre, avec une forme d'entrée différente. |

920 959 

921Les paramètres gérés qui atteignent une session Desktop dépendent de l'endroit où cette session s'exécute. Les restrictions de modèle telles que [`availableModels`](/docs/fr/model-config#restrict-model-selection) sont appliquées dans les sessions Claude Code de Desktop de la même manière que dans le CLI du terminal ; voir [couverture de surface](/docs/fr/model-config#surface-coverage).960Les paramètres gérés qui atteignent une session Desktop dépendent de l'endroit où cette session s'exécute. Les restrictions de modèle telles que [`availableModels`](/docs/fr/model-config#restrict-model-selection) sont appliquées dans les sessions Claude Code de Desktop de la même manière que dans le CLI du terminal ; voir [couverture de surface](/docs/fr/model-config#surface-coverage).

922 961 

923* **Sessions locales sur cette machine** : un fichier de paramètres gérés déployé sur le disque s'applique. Les paramètres gérés poussés à distance via la console d'administration atteignent également ces sessions sur l'API d'Anthropic lorsque la session s'authentifie avec une [connexion ou clé éligible](/docs/fr/server-managed-settings#platform-availability), en suivant la même [priorité des paramètres](/docs/fr/settings#settings-precedence) que le CLI du terminal.962* **Sessions locales sur cette machine** : un fichier de paramètres gérés déployé sur le disque s'applique. Les paramètres gérés poussés à distance via la console d'administration atteignent également ces sessions sur l'API d'Anthropic lorsque la session s'authentifie avec une [connexion éligible](/docs/fr/server-managed-settings#platform-availability), en suivant la même [priorité des paramètres](/docs/fr/settings#settings-precedence) que le CLI du terminal.

924* **[Sessions cloud](#cloud-sessions)** : reçoivent les [paramètres gérés par le serveur](/docs/fr/server-managed-settings) ; les fichiers déployés sur l'appareil ne les atteignent pas, car ils s'exécutent sur des machines virtuelles gérées par Anthropic. Les sessions acheminées vers un [environnement auto-hébergé](/docs/fr/self-hosted-environments) lisent également le fichier de paramètres gérés dans l'image du 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.963* **[Sessions cloud](#cloud-sessions)** : reçoivent les [paramètres gérés par le serveur](/docs/fr/server-managed-settings) ; les fichiers déployés sur l'appareil ne les atteignent pas, car ils s'exécutent sur des machines virtuelles gérées par Anthropic. Les sessions acheminées vers un [environnement auto-hébergé](/docs/fr/self-hosted-environments) lisent également le fichier de paramètres gérés dans l'image du 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.

925* **[Sessions SSH](#ssh-sessions)** : la session lit le fichier de paramètres gérés à partir de l'hôte distant. Desktop lui-même lit `sshConfigs`, `sshHostAllowlist`, `disableSshSavedPasswords` et `disableDesktopLocalSessions` à partir des paramètres gérés de la machine locale.964* **[Sessions SSH](#ssh-sessions)** : la session lit le fichier de paramètres gérés à partir de l'hôte distant. Desktop lui-même lit `sshConfigs`, `sshHostAllowlist`, `disableSshSavedPasswords` et `disableDesktopLocalSessions` sur la machine locale. Si vous fournissez plus d'une source gérée, il les lit à partir d'[une seule par défaut](/docs/fr/managed-settings#how-claude-code-combines-managed-sources).

926* **Sessions [Cowork](https://claude.com/docs/cowork/overview)** : dans une session Cowork sur cette machine, Claude Code ne récupère jamais les paramètres de la console d'administration, même lorsque l'utilisateur se connecte avec un compte Team ou Enterprise, et lit la politique déployée sur la machine sauf si votre configuration Claude Desktop définit `requireCoworkFullVmSandbox`. Les sessions Cowork distantes ne reçoivent ni l'une ni l'autre. Voir [où et quand une politique s'applique](/docs/fr/managed-settings#where-and-when-a-policy-applies) pour savoir quels fichiers d'appareil atteignent Cowork, et [règles de permission MCP](/docs/fr/permissions#mcp) pour savoir comment les règles `Bash` et `WebFetch` s'appliquent aux outils de Cowork.965* **Sessions [Cowork](https://claude.com/docs/cowork/overview)** : dans une session Cowork sur cette machine, Claude Code ne récupère jamais les paramètres de la console d'administration, même lorsque l'utilisateur se connecte avec un compte Team ou Enterprise, et lit la politique déployée sur la machine sauf si votre configuration Claude Desktop définit `requireCoworkFullVmSandbox`. Les sessions Cowork distantes ne reçoivent ni l'une ni l'autre. Voir [où et quand une politique s'applique](/docs/fr/managed-settings#where-and-when-a-policy-applies) pour savoir quels fichiers d'appareil atteignent Cowork, et [règles de permission MCP](/docs/fr/permissions#mcp) pour savoir comment les règles `Bash` et `WebFetch` s'appliquent aux outils de Cowork.

927 966 

928Dans les sessions locales et SSH, l'application de bureau fournit les connecteurs claude.ai connectés de chaque utilisateur à Claude Code directement. Aucun paramètre MCP ou `managed-mcp.json` n'atteint ces connecteurs, quelle que soit la source de paramètres ou l'emplacement du fichier que vous utilisez. Pour bloquer les outils d'un connecteur dans ces sessions, utilisez les [contrôles des outils de connecteur](/docs/fr/mcp#organization-controls-on-connector-tools) de votre organisation. [Comment les connecteurs atteignent Claude Code](/docs/fr/mcp#how-connectors-reach-claude-code) montre quels paramètres gouvernent les connecteurs dans chaque type de session.967Dans les sessions locales et SSH, l'application de bureau fournit les connecteurs claude.ai connectés de chaque utilisateur à Claude Code directement. Aucun paramètre MCP ou `managed-mcp.json` n'atteint ces connecteurs, quelle que soit la source de paramètres ou l'emplacement du fichier que vous utilisez. Pour bloquer les outils d'un connecteur dans ces sessions, utilisez les [contrôles des outils de connecteur](/docs/fr/mcp#organization-controls-on-connector-tools) de votre organisation. [Comment les connecteurs atteignent Claude Code](/docs/fr/mcp#how-connectors-reach-claude-code) montre quels paramètres gouvernent les connecteurs dans chaque type de session.


975assets-proxy.anthropic.com1014assets-proxy.anthropic.com

976claude.ai1015claude.ai

977a.claude.ai1016a.claude.ai

978a-cdn.claude.ai

979assets.claude.ai1017assets.claude.ai

980downloads.claude.ai1018downloads.claude.ai

981*.livepreview.claude.ai1019*.livepreview.claude.ai


1023 Venant de la CLI ?1061 Venant de la CLI ?

1024</h2>1062</h2>

1025 1063 

1026Si vous utilisez déjà la CLI Claude Code, Desktop exécute le même moteur sous-jacent avec une interface graphique. Vous pouvez exécuter les deux simultanément sur la même machine, même sur le même projet. Chacun maintient un historique de session séparé, et vous pouvez amener une session CLI dans Desktop. Ils partagent la configuration et la mémoire du projet via les fichiers CLAUDE.md.1064Si vous utilisez déjà la CLI Claude Code, Desktop exécute le même moteur sous-jacent avec une interface graphique. Vous pouvez exécuter les deux simultanément sur la même machine, même sur le même projet. Chacun conserve sa propre liste de sessions, et vous pouvez amener une session CLI dans Desktop. Ils partagent la configuration et la mémoire du projet via les fichiers CLAUDE.md.

1027 1065 

1028Pour déplacer une session CLI dans Desktop, exécutez `/desktop` dans le terminal. Claude enregistre votre session et l'ouvre dans l'application de bureau, puis quitte la CLI. Cette commande est disponible sur macOS et Windows x64 quand vous êtes connecté avec un abonnement Claude. Elle n'est pas disponible avec l'authentification par clé API ou sur Amazon Bedrock, Google Cloud's Agent Platform ou Microsoft Foundry.1066Pour déplacer une session CLI dans Desktop, exécutez `/desktop` dans le terminal. Claude enregistre votre session et l'ouvre dans l'application de bureau, puis quitte la CLI. Cette commande est disponible sur macOS et Windows x64 quand vous êtes connecté avec un abonnement Claude. Elle n'est pas disponible avec l'authentification par clé API ou sur Amazon Bedrock, Google Cloud's Agent Platform ou Microsoft Foundry.

1029 1067 


1046Desktop continue la même session plutôt qu'une copie, donc `claude --resume` dans le terminal la trouve toujours après.1084Desktop continue la même session plutôt qu'une copie, donc `claude --resume` dans le terminal la trouve toujours après.

1047 1085 

1048<Tip>1086<Tip>

1049 Quand utiliser Desktop vs CLI : utilisez Desktop quand vous voulez gérer les sessions parallèles dans une fenêtre, arranger les volets côte à côte ou examiner les modifications visuellement. Utilisez la CLI quand vous avez besoin de scripts, d'automatisation ou préférez un flux de travail terminal.1087 Quand utiliser Desktop vs CLI : utilisez Desktop quand vous voulez gérer les sessions parallèles dans une fenêtre, arranger les volets côte à côte ou examiner les modifications visuellement. Utilisez la CLI quand vous avez besoin de scripts, d'automatisation ou préférez un workflow terminal.

1050</Tip>1088</Tip>

1051 1089 

1052<h3 id="cli-flag-equivalents">1090<h3 id="cli-flag-equivalents">

1053 Équivalents des drapeaux CLI1091 Équivalents des flags CLI

1054</h3>1092</h3>

1055 1093 

1056Ce tableau montre l'équivalent de l'application de bureau pour les drapeaux CLI courants. Les drapeaux non listés n'ont pas d'équivalent de bureau car ils sont conçus pour les scripts ou l'automatisation.1094Ce tableau montre l'équivalent de l'application de bureau pour les flags CLI courants. Les flags non listés n'ont pas d'équivalent de bureau car ils sont conçus pour les scripts ou l'automatisation.

1057 1095 

1058| CLI | Équivalent de bureau |1096| CLI | Équivalent de bureau |

1059| - | - |1097| - | - |


1098 Comparaison des fonctionnalités1136 Comparaison des fonctionnalités

1099</h3>1137</h3>

1100 1138 

1101Ce tableau compare les capacités principales entre la CLI et Desktop. Pour une liste complète des drapeaux CLI, voir la [référence CLI](/docs/fr/cli-reference).1139Ce tableau compare les capacités principales entre la CLI et Desktop. Pour une liste complète des flags CLI, voir la [référence CLI](/docs/fr/cli-reference).

1102 1140 

1103| Fonctionnalité | CLI | Desktop |1141| Fonctionnalité | CLI | Desktop |

1104| - | - | - |1142| - | - | - |


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

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

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

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

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

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

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


1124 1162 

1125* **Fournisseurs tiers** : Desktop se connecte à l'API d'Anthropic par défaut. Pour router Desktop via une passerelle, ou pour exécuter l'onglet Code sur Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry ou une passerelle LLM auto-hébergée, suivez les liens dans la [ligne Fournisseurs tiers](#feature-comparison).1163* **Fournisseurs tiers** : Desktop se connecte à l'API d'Anthropic par défaut. Pour router Desktop via une passerelle, ou pour exécuter l'onglet Code sur Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry ou une passerelle LLM auto-hébergée, suivez les liens dans la [ligne Fournisseurs tiers](#feature-comparison).

1126* **Linux (bêta)** : l'utilisation informatique n'est pas encore disponible dans l'application de bureau Linux. Voir [Claude Desktop sur Linux](/docs/fr/desktop-linux).1164* **Linux (bêta)** : l'utilisation informatique n'est pas encore disponible dans l'application de bureau Linux. Voir [Claude Desktop sur Linux](/docs/fr/desktop-linux).

1127* **Suggestions de code en ligne** : Desktop ne fournit pas de suggestions de style autocomplétion. Il fonctionne via des prompts conversationnels et des modifications de code explicites.1165* **Suggestions de code en ligne** : Desktop ne fournit pas de suggestions de style autocomplétion. Il fonctionne via des prompts conversationnels et des modifications de code explicites, et peut [suggérer votre prochain prompt](#accept-a-suggested-prompt) après la réponse de Claude.

1128* **Équipes d'agents** : les équipes coordonnées, où Claude en tant que chef d'équipe assigne des tâches aux coéquipiers à partir d'une liste de tâches partagée, sont disponibles dans la [CLI](/docs/fr/agent-teams), pas dans Desktop. Pour le travail multi-agents dans une seule session, utilisez les [flux de travail dynamiques](/docs/fr/workflows), qui s'exécutent dans Desktop ; Claude peut également [envoyer des messages et gérer vos autres sessions](#work-across-sessions) directement.1166* **Équipes d'agents** : les équipes coordonnées, où Claude en tant que chef d'équipe assigne des tâches aux coéquipiers à partir d'une liste de tâches partagée, sont disponibles dans la [CLI](/docs/fr/agent-teams), pas dans Desktop. Pour le travail multi-agents dans une seule session, utilisez les [workflows dynamiques](/docs/fr/workflows), qui s'exécutent dans Desktop ; Claude peut également [envoyer des messages et gérer vos autres sessions](#work-across-sessions) directement.

1129* **Commandes de dialogue terminal** : les commandes intégrées qui ouvrent un panneau interactif dans le terminal se comportent différemment dans l'onglet Code. Modifiez les [fichiers de paramètres](/docs/fr/settings) directement pour gérer les règles de permission et la configuration, ou exécutez les commandes à partir de la CLI autonome.1167* **Commandes de dialogue terminal** : les commandes intégrées qui ouvrent un panneau interactif dans le terminal se comportent différemment dans l'onglet Code. Modifiez les [fichiers de paramètres](/docs/fr/settings) directement pour gérer les règles de permission et la configuration, ou exécutez les commandes à partir de la CLI autonome.

1130 * Les commandes sans forme d'argument, telles que `/permissions`, répondent avec `n'est pas disponible dans cet environnement`.1168 * Les commandes sans forme d'argument, telles que `/permissions`, répondent avec `isn't available in this environment`.

1131 * `/config` ouvre Paramètres → Claude Code. Le texte après la commande est ignoré, donc `/config theme=dark` ne définit pas le thème.1169 * `/config` ouvre Paramètres → Claude Code. Le texte après la commande est ignoré, donc `/config theme=dark` ne définit pas le thème.

1132 1170 

1133<h2 id="troubleshooting">1171<h2 id="troubleshooting">


1147 1185 

1148Cliquez sur le numéro de version pour le copier dans votre presse-papiers.1186Cliquez sur le numéro de version pour le copier dans votre presse-papiers.

1149 1187 

1188<h4 id="claude-code-version-in-the-code-tab">

1189 Version de Claude Code dans l'onglet Code

1190</h4>

1191 

1192Pour voir quelle version de Claude Code une session exécute, tapez `/status` dans une session locale de l'onglet **Code** et lisez la ligne **Claude Code**, qui affiche une version telle que `2.1.286`.

1193 

1194Pour obtenir une version plus récente pour les sessions locales, ouvrez **Claude → Rechercher les mises à jour** sur macOS ou **Aide → Rechercher les mises à jour** sur Windows, puis démarrez une nouvelle session.

1195 

1196Dans une session locale, l'onglet **Code** exécute sa propre copie de Claude Code, qui possède son propre numéro de version. L'application de bureau télécharge et met à jour cette copie ; elle peut donc différer de la commande `claude` de votre terminal, et la mise à jour de l'une ne met pas à jour l'autre.

1197 

1150<h3 id="403-or-authentication-errors-in-the-code-tab">1198<h3 id="403-or-authentication-errors-in-the-code-tab">

1151 Erreurs 403 ou d'authentification dans l'onglet Code1199 Erreurs 403 ou d'authentification dans l'onglet Code

1152</h3>1200</h3>

Details

135 135 

136**Mettre Claude sur un calendrier.** Configurez des [tâches planifiées](/docs/fr/desktop-scheduled-tasks) pour exécuter Claude automatiquement de manière récurrente : un examen de code quotidien chaque matin, un audit de dépendances hebdomadaire, ou un briefing qui extrait de vos outils connectés.136**Mettre Claude sur un calendrier.** Configurez des [tâches planifiées](/docs/fr/desktop-scheduled-tasks) pour exécuter Claude automatiquement de manière récurrente : un examen de code quotidien chaque matin, un audit de dépendances hebdomadaire, ou un briefing qui extrait de vos outils connectés.

137 137 

138**Augmenter l'échelle quand vous êtes prêt.** Ouvrez des [sessions parallèles](/docs/fr/desktop#work-in-parallel-with-sessions) à partir de la barre latérale pour travailler sur plusieurs tâches à la fois, chacune, si vous le souhaitez, dans son propre Git worktree, et ouvrez le [volet des tâches](/docs/fr/desktop#watch-background-tasks) pour surveiller les sous-agents et les commandes en arrière-plan qu'une session exécute. Ouvrez un [side chat](/docs/fr/desktop#ask-a-side-question-without-derailing-the-session) pour poser une question sans dérailler le fil principal. Envoyez des [travaux de longue durée vers le cloud](/docs/fr/desktop#run-long-running-tasks-in-the-cloud) pour qu'ils continuent même si vous fermez l'application, ou [transférez vers le cloud une session que vous avez déjà commencée](/docs/fr/desktop#continue-in-another-surface) si une tâche prend plus de temps que prévu. [Connectez des outils externes](/docs/fr/desktop#extend-claude-code) comme GitHub, Slack et Linear pour réunir votre workflow.138**Augmenter l'échelle quand vous êtes prêt.** Ouvrez des [sessions parallèles](/docs/fr/desktop#work-in-parallel-with-sessions) à partir de la barre latérale pour travailler sur plusieurs tâches à la fois, chacune, si vous le souhaitez, dans son propre Git worktree, et ouvrez le [volet des tâches](/docs/fr/desktop#watch-background-tasks) pour surveiller les sous-agents et les commandes en arrière-plan qu'une session exécute. Ouvrez un [chat latéral](/docs/fr/desktop#ask-a-side-question-without-derailing-the-session) pour poser une question sans dérailler le fil principal. Envoyez des [travaux de longue durée vers le cloud](/docs/fr/desktop#run-long-running-tasks-in-the-cloud) pour qu'ils continuent même si vous fermez l'application, ou [transférez vers le cloud une session que vous avez déjà commencée](/docs/fr/desktop#continue-in-another-surface) si une tâche prend plus de temps que prévu. [Connectez des outils externes](/docs/fr/desktop#extend-claude-code) comme GitHub, Slack et Linear pour réunir votre workflow.

139 139 

140<h2 id="what’s-next">140<h2 id="what’s-next">

141 Étapes suivantes141 Étapes suivantes

env-vars.md +299 −296

Details

126 Variables126 Variables

127</h2>127</h2>

128 128 

129Les variables numériques, comme 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 2000 et `64_000` comme 64000. Avant la v2.1.211, ces écritures pouvaient définir silencieusement une valeur bien inférieure, par exemple `1e6` qui définissait un délai d'expiration à 1.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 fixait un délai d'expiration à 1.

130 130 

131<Note>131<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.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.

133 133 

134 Certaines variables vérifient uniquement si vous les avez définies, de sorte que toute valeur non vide, y compris `0`, active le comportement, et vous le désactivez en supprimant la variable ou en lui attribuant une valeur vide. Ces variables fonctionnent ainsi :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 le désactivez en supprimant la variable ou en lui attribuant une valeur vide. Les variables suivantes fonctionnent ainsi :

135 135 

136 * `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`136 * `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`

137 * `DISABLE_TELEMETRY`137 * `DISABLE_TELEMETRY`


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

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

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

149| `ANTHROPIC_AUTH_TOKEN` | Valeur personnalisée pour l'en-tête `Authorization` (la valeur définie ici sera préfixée par `Bearer `) |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 `) |

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 |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 l'AWS Console. 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 avec la [même priorité que sur Amazon Bedrock](/docs/fr/amazon-bedrock#3-configure-claude-code) |151| `ANTHROPIC_AWS_BASE_URL` | Remplace l'URL de l'endpoint de [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 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 à chaque requête dans l'en-tête `anthropic-workspace-id` |152| `ANTHROPIC_AWS_WORKSPACE_ID` | Obligatoire pour [Claude Platform on AWS](/docs/fr/claude-platform-on-aws). Envoyé dans chaque requête via 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 |153| `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 non 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) |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) |

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) |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) |

156| `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ée dans les régions AWS GovCloud. Nécessite Claude Code v2.1.224 ou une version ultérieure. Voir [Amazon Bedrock](/docs/fr/amazon-bedrock#cross-region-inference-profile-prefixes) |156| `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) |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é via 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 supplémentaires d'en-tête `anthropic-beta` à 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 |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 |

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 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 une 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 les 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) |159| `ANTHROPIC_CUSTOM_HEADERS` | En-têtes personnalisés à ajouter aux requêtes (format `Name: Value`, séparés par des sauts de ligne pour plusieurs en-têtes). Si un nom ou une valeur contient un caractère qu'un en-tête HTTP ne peut pas transporter, comme un guillemet 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 qui déterminent quand les valeurs `env` s'appliquent](/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 propre à une passerelle sans remplacer les alias intégrés. Voir [Configuration du modèle](/docs/fr/model-config#add-a-custom-model-option) |160| `ANTHROPIC_CUSTOM_MODEL_OPTION` | ID de modèle à ajouter comme entrée personnalisée dans le sélecteur `/model`. Utilisez-le 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) |

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 |161| `ANTHROPIC_CUSTOM_MODEL_OPTION_DESCRIPTION` | Description affichée pour l'entrée de modèle personnalisé dans le sélecteur `/model`. Vaut 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 |162| `ANTHROPIC_CUSTOM_MODEL_OPTION_NAME` | Nom affiché pour l'entrée de modèle personnalisé dans le sélecteur `/model`. S'il n'est pas défini, 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) |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) |

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) |164| `ANTHROPIC_DEFAULT_FABLE_MODEL` | ID de modèle vers lequel se résout l'alias `fable`, et ID que Claude Code reconnaît comme modèle Fable pour le [basculement automatique de modèle](/docs/fr/model-config#automatic-model-fallback) sur 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) |165| `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 commençant 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) |166| `ANTHROPIC_DEFAULT_FABLE_MODEL_NAME` | Nom affiché pour le modèle Fable épinglé dans le sélecteur `/model`. S'il n'est pas défini, 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) |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) |

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) |168| `ANTHROPIC_DEFAULT_HAIKU_MODEL` | ID de modèle vers lequel se résout l'alias `haiku`, é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) |169| `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 commençant 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) |170| `ANTHROPIC_DEFAULT_HAIKU_MODEL_NAME` | Nom affiché pour le modèle Haiku épinglé dans le sélecteur `/model`. S'il n'est pas défini, 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) |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) |

172| `ANTHROPIC_DEFAULT_MODEL` | Modèle sur lequel les nouvelles sessions démarrent par défaut. Nécessite Claude Code v2.1.236 ou une 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) |172| `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) |173| `ANTHROPIC_DEFAULT_OPUS_MODEL` | ID de modèle vers lequel se résout l'alias `opus`, 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) |174| `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 commençant 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) |175| `ANTHROPIC_DEFAULT_OPUS_MODEL_NAME` | Nom affiché pour le modèle Opus épinglé dans le sélecteur `/model`. S'il n'est pas défini, 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) |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) |

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) |177| `ANTHROPIC_DEFAULT_SONNET_MODEL` | ID de modèle vers lequel se résout l'alias `sonnet`, 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) |178| `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 commençant 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) |179| `ANTHROPIC_DEFAULT_SONNET_MODEL_NAME` | Nom affiché pour le modèle Sonnet épinglé dans le sélecteur `/model`. S'il n'est pas défini, 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) |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) |

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 sont prioritaires sur vos identifiants `/login`. Voir [priorité d'authentification](/docs/fr/authentication#authentication-precedence) |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 le définissez conjointement avec `ANTHROPIC_ORGANIZATION_ID`, Claude Code sélectionne les identifiants de fédération, qui sont prioritaires 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)) |182| `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 une version ultérieure |183| `ANTHROPIC_FOUNDRY_AUTH_TOKEN` | Jeton Bearer pour l'authentification Microsoft Foundry, comme un jeton d'accès Microsoft Entra. Claude Code l'envoie via 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)) |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)) |

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)) |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). Obligatoire 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)) |186| `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) |187| `ANTHROPIC_ORGANIZATION_ID` | ID d'organisation pour [Workload Identity Federation](https://platform.claude.com/docs/en/manage-claude/workload-identity-federation). À définir conjointement 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) |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) |

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) |189| `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, elle 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 |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 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) |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) |

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) |192| `ANTHROPIC_VERTEX_PROJECT_ID` | ID du projet GCP auquel sont adressées les requêtes Google Cloud's Agent Platform. 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 |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-le lorsque votre règle de fédération s'étend à 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 des pauses de plus de 5 minutes entre les blocs, ou `1` pour le maintenir actif chez tous les fournisseurs. Lorsqu'elle 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 lorsque vous définissez `0` ici |194| `API_FORCE_IDLE_TIMEOUT` | Remplace le délai d'inactivité de 5 minutes sur le corps, 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 fragments, ou `1` pour le maintenir actif pour tous les fournisseurs. Lorsqu'il n'est pas défini, 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 streaming](/docs/fr/network-config#streaming-idle-watchdogs) fonctionnent indépendamment de lui et interrompent une longue pause silencieuse même lorsque vous définissez `0` ici |

195| `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 |195| `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/)) |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/)) |

197| `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 par défaut supérieure à 30 minutes devient également la [limite de temps par défaut des commandes en arrière-plan](/docs/fr/tools-reference#time-limit-for-background-commands) dans les sessions sans surveillance. La limite de temps en arrière-plan nécessite Claude Code v2.1.285 ou une version ultérieure |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 : 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 : 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) |198| `BASH_MAX_OUTPUT_LENGTH` | Nombre maximal de caractères de 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 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 maximale des commandes en arrière-plan](/docs/fr/tools-reference#time-limit-for-background-commands) dans les sessions sans surveillance. La limite de temps en arrière-plan nécessite Claude Code v2.1.285 ou une version ultérieure |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 : 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 [tracing 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) |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 des exportateurs configurés. Définissez-le dans votre shell, vos paramètres utilisateur ou vos paramètres gérés. Ignoré dans les [paramètres de projet et locaux](/docs/fr/settings-reference#variables-claude-code-ignores-in-env) |

201| `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 |201| `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 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 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'à l'intérieur d'un serveur MCP stdio démarré par Claude Code, utilisez plutôt `CLAUDE_CODE_CHILD_SESSION` |202| `CLAUDECODE` | Défini 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 le définissent également dans leurs terminaux intégrés. Permet de détecter si 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 s'affiche à l'écran sur une boîte de dialogue [`AskUserQuestion`](/docs/fr/tools-reference) restée sans réponse. Valeur par défaut `20000` (20 secondes), plafonnée 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`. Nécessite Claude Code v2.1.198 ou une version ultérieure |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) restée sans réponse. Par défaut `20000` (20 secondes), plafonné au délai de poursuite automatique. N'a aucun 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`. 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) restée 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. Dans les v2.1.198 et v2.1.199, 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 une version ultérieure |204| `CLAUDE_AFK_TIMEOUT_MS` | Nombre de millisecondes d'inactivité avant qu'une boîte de dialogue [`AskUserQuestion`](/docs/fr/tools-reference) restée 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. Dans les v2.1.198 et v2.1.199, 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 sur `1` pour désactiver tous les types de [sous-agents](/docs/fr/sub-agents) intégrés, comme Explore et Plan. Ne s'applique qu'en mode non interactif (le flag `-p`). Utile pour les utilisateurs du SDK qui veulent 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) |205| `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 comme Explore et Plan. S'applique uniquement en mode non interactif (le flag `-p`). Utile pour les utilisateurs du SDK qui veulent partir d'une page blanche. 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 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 avec le SDK uniquement |206| `CLAUDE_AGENT_SDK_MCP_NO_PREFIX` | Définissez sur `1` pour omettre le préfixe `mcp__<server>__` sur les noms d'outils des serveurs MCP créés par le SDK. Les outils utilisent leurs noms d'origine. Usage SDK uniquement |

207| `CLAUDE_ASYNC_AGENT_STALL_TIMEOUT_MS` | Délai de blocage en millisecondes pour les sous-agents. Valeur 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 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 se réinitialise à 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 |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 flux est activé, 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). Le minuteur est réinitialisé à chaque événement de progression en streaming ; si aucune progression n'arrive dans l'intervalle, Claude Code interrompt le sous-agent et signale le blocage au parent |

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 aussi bien aux conversations principales qu'aux sous-agents |208| `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, les valeurs supérieures au pourcentage par défaut sont donc ignorées. Elle s'applique uniquement aux sessions qui [compactent avant la limite de contexte du modèle](/docs/fr/model-config#context-window-and-auto-compaction). S'applique aux conversations principales comme aux sous-agents |

209| `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 passent 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 une version ultérieure |209| `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 passent en arrière-plan après environ deux minutes d'exécution. Active également la [mise en arrière-plan automatique des longs appels d'outils MCP](/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. Valeur 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 une version ultérieure |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 ultérieur |

211| `CLAUDE_AX_SCREEN_READER` | Définissez sur `1` pour produire une sortie adaptée aux lecteurs d'écran : du 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 une version ultérieure |211| `CLAUDE_AX_SCREEN_READER` | Définissez sur `1` pour afficher 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. Valeur 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 une version ultérieure |212| `CLAUDE_AX_STARTUP_QUIET_MS` | En [mode lecteur d'écran](/docs/fr/accessibility), nombre de millisecondes pendant lesquelles Claude Code retarde le premier rendu de l'interface après la ligne de confirmation de démarrage, afin que votre lecteur d'écran puisse prononcer 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 ce délai à `600000` (10 minutes). Votre première frappe au clavier met fin au délai 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 |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 |

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, 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 une version ultérieure |214| `CLAUDE_BYTE_STREAM_IDLE_TIMEOUT_MS` | Délai d'expiration en millisecondes du watchdog d'inactivité de 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 entre 10 secondes et 30 minutes. Nécessite Claude Code v2.1.210 ou ultérieur |

215| `CLAUDE_CLIENT_PRESENCE_FILE` | Chemin d'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 ignore les [notifications push mobiles de Remote Control](/docs/fr/remote-control#mobile-push-notifications), afin que vous ne receviez plus de notifications push lorsque 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 une version ultérieure |215| `CLAUDE_CLIENT_PRESENCE_FILE` | Chemin d'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 sur `1` pour garder visible le curseur natif du terminal et désactiver l'indicateur de curseur en texte inversé. Permet aux loupes d'écran comme Zoom de macOS de suivre la position du curseur |216| `CLAUDE_CODE_ACCESSIBILITY` | Définissez sur `1` pour garder visible le curseur natif du terminal 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 sur `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 |217| `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 sur `1` pour redessiner l'écran entier à chaque image dans le [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 |218| `CLAUDE_CODE_ALT_SCREEN_FULL_REPAINT` | Définissez sur `1` pour redessiner l'écran entier à chaque frame 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 |

219| `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 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 |219| `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 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 |

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)) |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)) |

221| `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é |221| `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 sur `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 une version ultérieure |222| `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. N'a aucun 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 sur `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 une version ultérieure |223| `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 sur `0` pour omettre le [bloc d'attribution](/docs/fr/llm-gateway-protocol#system-prompt-attribution-block), qui contient la version du client et une empreinte du prompt, au début du prompt système. La mise en cache sur une connexion directe à l'API Anthropic n'est affectée dans aucun cas. Dans certaines configurations à connexion directe, Claude Code conserve le bloc dans 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 propre à chaque 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 |224| `CLAUDE_CODE_ATTRIBUTION_HEADER` | Définissez sur `0` pour omettre le [bloc d'attribution](/docs/fr/llm-gateway-protocol#system-prompt-attribution-block), qui contient la version du client et une empreinte du prompt, au début du prompt système. La mise en cache sur une connexion directe à l'API Anthropic n'est affectée dans aucun des deux 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 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` |225| `CLAUDE_CODE_AUTO_BACKGROUND_WORKER_CHECKIN_SECONDS` | Supprimée dans la v2.1.283. Utilisez plutôt `CLAUDE_CODE_WORKER_CHECKIN_SCHEDULE` |

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 |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`. Accepte uniquement 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. A priorité sur la commande `/autocompact`, le flag `--autocompact` et le paramètre `autoCompactWindow`. Le `used_percentage` de la barre de statut est toujours mesuré 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 automatique à l'IDE](/docs/fr/vs-code). 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) |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 sur `false` pour l'en 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. A priorité sur le paramètre de configuration globale [`autoConnectIde`](/docs/fr/settings-reference#autoconnectide) |

228| `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 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 une 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 une version ultérieure |228| `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 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 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 navigateur avec MFA au moyen d'un wrapper comme `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 une version ultérieure |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 navigateur avec MFA au moyen d'un wrapper tel que `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 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 une version ultérieure |230| `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. A priorité 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 sur `0` pour qu'une session non interactive signale un statut inactif à son hôte à chaque fin de tour, même lorsqu'un 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 à distance, 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 avec `0` nécessitent Claude Code v2.1.269 ou une version ultérieure ; sur les versions antérieures, définissez `1` pour maintenir le statut en cours d'exécution |231| `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 pendant que 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 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) tant que 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 au format `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 une version ultérieure. Dans les [sessions cloud](/docs/fr/claude-code-on-the-web), lisez plutôt `CLAUDE_CODE_REMOTE_SESSION_ID` |232| `CLAUDE_CODE_BRIDGE_SESSION_ID` | Défini 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é à 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 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 sur `0` pour que Claude Code lise l'octet `0x08`, également noté `^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) |233| `CLAUDE_CODE_BS_AS_CTRL_BACKSPACE` | Définissez sur `0` pour que Claude Code lise l'octet `0x08`, également noté `^H`, comme un simple Backspace, ou sur `1` pour le lire comme Ctrl+Backspace. L'une ou l'autre valeur 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) |

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 une 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` |234| `CLAUDE_CODE_CERT_STORE` | Liste séparée par des virgules de 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). La valeur par défaut est `bundled,system` |

235| `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`, de `--continue`, de l'historique accessible avec la flèche haut et de la liste `claude agents`. Les sessions `claude -p` non interactives sont toujours conservées. Définissez `CLAUDE_CODE_FORCE_SESSION_PERSISTENCE=1` pour lever cette exclusion. Nécessite Claude Code v2.1.172 ou une version ultérieure |235| `CLAUDE_CODE_CHILD_SESSION` | Défini 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éfini pour les sous-processus de [serveur MCP](/docs/fr/mcp) stdio, qui sont de longue durée et survivent à la session qui les a lancés. Contrairement à `CLAUDECODE`, cette variable 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 façon 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 manière est automatiquement exclue de `--resume`, `--continue`, de l'historique accessible avec la flèche du haut et de la liste `claude agents`. Les sessions `claude -p` non interactives 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 du fichier de certificat client pour l'authentification mTLS |236| `CLAUDE_CODE_CLIENT_CERT` | Chemin du fichier de certificat client pour l'authentification mTLS |

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

238| `CLAUDE_CODE_CLIENT_KEY_PASSPHRASE` | Phrase secrète de la clé CLAUDE\_CODE\_CLIENT\_KEY chiffrée (facultatif) |238| `CLAUDE_CODE_CLIENT_KEY_PASSPHRASE` | Phrase secrète pour 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 des en-têtes de réponse d'une requête en streaming, voir `CLAUDE_STREAM_FIRST_BYTE_TIMEOUT_MS` |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 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 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. Valeur par défaut : `~/.claude/debug/<session-id>.txt` |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 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 passez à `error` pour réduire le bruit |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 sur `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 |

242| `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). Lorsqu'elle est définie, les variantes de modèles 1M ne sont pas disponibles dans le sélecteur de modèle, et Claude Code limite à une fenêtre de 200K les sessions sur des modèles dotés d'une fenêtre native de 1M, comme [Sonnet 5.5](/docs/fr/model-config#sonnet-5-5-and-sonnet-5-context-window) et les modèles Fable ; voir [Contexte étendu](/docs/fr/model-config#extended-context) pour savoir comment cette limite est appliquée. 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) |242| `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 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) |

243| `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 versions ultérieures, Haiku 5.5, ou Opus 4.7 et versions ultérieures, qui utilisent toujours le raisonnement adaptatif |243| `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`. N'a aucun effet sur les [modèles Fable](/docs/fr/model-config#extended-thinking), Sonnet 5 et ultérieurs, Haiku 5.5, ni Opus 4.7 et ultérieurs, qui utilisent toujours le raisonnement adaptatif |

244| `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 une version ultérieure |244| `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 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 reste sans effet, de sorte que les scripts existants qui le transmettent continuent de fonctionner sans erreur |245| `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 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) |246| `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 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 comme d'habitude. 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 |247| `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. A priorité 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 |

248| `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 la 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 |248| `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 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 |249| `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 |

250| `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 qu'un autre processus l'exécute. Nécessite Claude Code v2.1.286 ou une version ultérieure |250| `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 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 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. Lorsqu'elle est désactivée, Claude ne crée ni ne charge de fichiers de mémoire automatique |251| `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 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 |252| `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 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. Définissez-la uniquement pour une passerelle qui réémet également le flux sous forme de server-sent events ; Claude Code lit alors plutôt le corps sans en-tête comme des server-sent events. Nécessite Claude Code v2.1.239 ou une version ultérieure |253| `CLAUDE_CODE_DISABLE_BEDROCK_CONTENT_TYPE_DEFAULT` | Définissez sur `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 ultérieur |

254| `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 une version ultérieure |254| `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 content-type différent, Claude Code fait échouer la requête avec une erreur nommant 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 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), les workflows dynamiques, et, depuis la v2.1.198, les 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 transférer au processus suivant de la session. N'affecte que ce transfert : 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 une version ultérieure |255| `CLAUDE_CODE_DISABLE_BG_EXIT_HANDOFF` | Définissez sur `1` pour arrêter les commandes shell en arrière-plan, les workflows dynamiques et, depuis la v2.1.198, les sous-agents en arrière-plan en cours d'exécution dans une [session en arrière-plan](/docs/fr/agent-view) 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 ce transfert : mettre une session en arrière-plan avec `←` ou [`/background`](/docs/fr/agent-view#from-inside-a-session) continue de transférer 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 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 une version ultérieure |256| `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 sur `1` pour désactiver les [skills](/docs/fr/skills) et les workflows inclus 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 pour le 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) |257| `CLAUDE_CODE_DISABLE_BUNDLED_SKILLS` | Définissez sur `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` restent saisissables mais sont masquées au modèle. `/doctor` reste saisissable comme les commandes intégrées ; masquez-le 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 sur `1` pour conserver les outils de navigateur de [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 pour le navigateur. Nécessite Claude Code v2.1.257 ou une version ultérieure |258| `CLAUDE_CODE_DISABLE_CFC_PROMPT` | Définissez sur `1` pour conserver 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é 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 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 |259| `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 automatique |

260| `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 celles qui sont déjà en cours d'exécution en milieu de session |260| `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 celles déjà en cours d'exécution en milieu de session |

261| `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 plutôt 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 une version ultérieure |261| `CLAUDE_CODE_DISABLE_DANGEROUS_RM_TIMEOUT` | Définissez sur `1` pour désactiver la limite de temps des demandes de permission pour la [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 sur `1` pour supprimer des requêtes API les en-têtes de requête `anthropic-beta` de préversion, les champs du corps qui leur sont associés, et les champs bêta de schéma d'outil comme `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 fonctionnalités de préversion](/docs/fr/llm-gateway-protocol#disable-pre-release-capabilities) liste 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 |262| `CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS` | Définissez sur `1` pour retirer 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 bêta de schéma d'outil 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 en préversion](/docs/fr/llm-gateway-protocol#disable-pre-release-capabilities) liste 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 sur `1` pour désactiver les [sous-agents intégrés Explore et Plan](/docs/fr/sub-agents#built-in-subagents). 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 plutôt que 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 une version ultérieure |263| `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 sur `1` pour désactiver le [mode rapide](/docs/fr/fast-mode) |264| `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 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éfinie, 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) |265| `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 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) |

266| `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 du code. Remplace le paramètre [`fileCheckpointingEnabled`](/docs/fr/settings-reference#filecheckpointingenabled) |266| `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 sur `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. Prioritaire sur le paramètre [`includeGitInstructions`](/docs/fr/settings-reference#includegitinstructions) lorsqu'elle est définie |267| `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. A priorité 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 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 une version ultérieure |268| `CLAUDE_CODE_DISABLE_INLINE_SHELL_RM_PROMPT` | Définissez sur `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 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 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 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 |269| `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 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 une version ultérieure |270| `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) basculent toujours au lancement. Nécessite Claude Code v2.1.285 ou ultérieur |

271| `CLAUDE_CODE_DISABLE_MOUSE` | Définissez sur `1` pour désactiver le suivi de la souris dans le [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 |271| `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-la pour conserver le comportement natif de copie à la sélection de votre terminal |

272| `CLAUDE_CODE_DISABLE_MOUSE_CLICKS` | Définissez sur `1` pour désactiver la gestion des clics, des glisser-déposer et du survol dans le [rendu plein écran](/docs/fr/fullscreen) tout en conservant le défilement à la molette. Utilisez-la 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 une version ultérieure |272| `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-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` a priorité 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 sur `1` pour empêcher Claude Code de relire le [certificat client et la clé 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 une version ultérieure |273| `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. Lorsque le rechargement est désactivé, Claude Code ne charge les fichiers renouvelés qu'à 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 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, commande `/feedback`, [feedback rédigé par Claude](/docs/fr/tools-reference#sendfeedback-tool-behavior), notes de version, vérifications du [badge de statut des PR et MR](/docs/fr/interactive-mode#pr-review-status) et 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 et non 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 ; 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 officielle de plugins 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 |274| `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` de plugin](/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 option d'activation |

275| `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 transmises à 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 |275| `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 entraîne une exécution d'outil en double |

276| `CLAUDE_CODE_DISABLE_NOTIFICATION_PRESENCE_CHECK` | Définissez sur `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 une version ultérieure |276| `CLAUDE_CODE_DISABLE_NOTIFICATION_PRESENCE_CHECK` | Définissez sur `1` pour envoyer la notification de bureau de l'outil `PushNotification` même pendant que vous tapez dans le terminal ou qu'il 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 sur `1` pour désactiver l'enregistrement automatique de la marketplace officielle de plugins. 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 ce choix. Exécutez `claude plugin marketplace add anthropics/claude-plugins-official` pour enregistrer la marketplace à tout moment |277| `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 abandon. 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 sur `1` pour empêcher Claude Code d'exécuter vos [hooks `Notification` pour les demandes de permission restées 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 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 une version ultérieure |278| `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 façon dont Claude Desktop et l'extension VS Code hébergent Claude Code. N'a aucun effet dans les sessions de terminal. Nécessite Claude Code v2.1.233 ou ultérieur |

279| `CLAUDE_CODE_DISABLE_POLICY_SKILLS` | Définissez sur `1` pour ne pas charger les skills du 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 |279| `CLAUDE_CODE_DISABLE_POLICY_SKILLS` | Définissez sur `1` pour ignorer le chargement des 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 |

280| `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 une version ultérieure |280| `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 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), le comportement que contrôle le paramètre [`switchModelsOnFlag`](/docs/fr/settings-reference#switchmodelsonflag) |281| `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), le comportement que contrôle le paramètre [`switchModelsOnFlag`](/docs/fr/settings-reference#switchmodelsonflag) |

282| `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. Cela laisse actives les autres fonctionnalités de préversion que [`CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS`](/docs/fr/llm-gateway-protocol#disable-pre-release-capabilities) désactive. Nécessite Claude Code v2.1.288 ou une version ultérieure |282| `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 l'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 activées. Nécessite Claude Code v2.1.288 ou ultérieur |

283| `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 une version ultérieure |283| `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 sur `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 petit/rapide qui [génère un titre de session](/docs/fr/sessions#name-your-sessions) |284| `CLAUDE_CODE_DISABLE_TERMINAL_TITLE` | Définissez sur `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) |

285| `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 quand 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, dont 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, de sorte que les deux variables s'y comportent de la même façon |285| `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 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. Sur les [fournisseurs tiers](/docs/fr/third-party-integrations), `MAX_THINKING_TOKENS=0` omet de même le paramètre, de sorte que les deux variables s'y comportent de la même façon |

286| `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 l'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 une version ultérieure |286| `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 en fonction de 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 sur `1` pour désactiver le défilement virtuel dans le [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 |287| `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-la 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 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 une version ultérieure |288| `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 sur `1` pour démarrer directement les commandes de l'[outil PowerShell](/docs/fr/tools-reference#powershell-tool) sous Windows 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 une version ultérieure |289| `CLAUDE_CODE_DISABLE_WINDOWS_SHELL_LAUNCHER` | Définissez sur `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 [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 sur `1` pour désactiver les [workflows](/docs/fr/workflows#turn-workflows-off). Équivalent au paramètre [`disableWorkflows`](/docs/fr/settings-reference#disableworkflows) |290| `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) |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. A priorité sur `--effort`, `/effort` et les paramètres `modelSettings` et `effortLevel`. Un plafond [`maxEffortLevel`](/docs/fr/settings-reference#maxeffortlevel) s'applique toujours. Voir [Ajuster le niveau d'effort](/docs/fr/model-config#adjust-effort-level) |

292| `CLAUDE_CODE_EMIT_SESSION_STATE_EVENTS` | Définissez sur `1` pour ajouter au flux de messages les messages [`session_state_changed`](/docs/fr/agent-sdk/typescript#sdksessionstatechangedmessage), qui contiennent l'état de la session. Nécessite soit l'[Agent SDK](/docs/fr/agent-sdk/overview), soit `--print`, `--output-format stream-json` et `--verbose` |292| `CLAUDE_CODE_EMIT_SESSION_STATE_EVENTS` | Définissez sur `1` pour ajouter au flux de messages des messages [`session_state_changed`](/docs/fr/agent-sdk/typescript#sdksessionstatechangedmessage), qui contiennent 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 anciennes versions et sans effet. Le mode auto est disponible par défaut sur 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, définir cette variable sur `1` était nécessaire pour rendre le [mode auto](/docs/fr/permission-modes#eliminate-prompts-with-auto-mode) disponible sur ces fournisseurs |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, Agent Platform de Google Cloud, Microsoft Foundry et les sessions connectées de la [passerelle des applications Claude](/docs/fr/claude-apps-gateway). 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 |

294| `CLAUDE_CODE_ENABLE_AWAY_SUMMARY` | Remplace la disponibilité du [récapitulatif de session](/docs/fr/interactive-mode#session-recap). Définissez sur `0` pour forcer la désactivation des récapitulatifs quel que soit l'interrupteur de `/config`. Définissez 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` |294| `CLAUDE_CODE_ENABLE_AWAY_SUMMARY` | Remplace la disponibilité du [récapitulatif de session](/docs/fr/interactive-mode#session-recap). Définissez-la sur `0` pour forcer la désactivation des récapitulatifs quel que soit l'interrupteur de `/config`. Définissez-la 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éfinissez 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 |295| `CLAUDE_CODE_ENABLE_BACKGROUND_PLUGIN_REFRESH` | Définissez-la sur `1` pour actualiser l'état des plugins entre les tours en [mode non interactif](/docs/fr/headless) une fois une installation en arrière-plan 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éfinissez 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 retours produit de l'organisation ont priorité |296| `CLAUDE_CODE_ENABLE_FEEDBACK_SURVEY_FOR_OTEL` | Définissez-la 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 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 dans le cas contraire. `CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY` et la politique de retours produit de l'organisation ont priorité |

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é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éfinissez sur `0` pour la désactiver. Définissez sur `1` pour forcer son 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 sur les connexions via une [passerelle](/docs/fr/llm-gateway) |297| `CLAUDE_CODE_ENABLE_FINE_GRAINED_TOOL_STREAMING` | Détermine si les entrées des appels d'outils sont diffusées en streaming depuis l'API à mesure que Claude les génère. Lorsqu'elle 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ée par défaut sur l'API Anthropic. Sur Amazon Bedrock et Agent Platform de Google Cloud, activée modèle par modèle lorsque le conteneur déployé la prend en charge. Définissez-la sur `0` pour la désactiver. Définissez-la sur `1` pour forcer son 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 pour les connexions via une [passerelle](/docs/fr/llm-gateway) |

298| `CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY` | Définissez 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 telle que LiteLLM, Kong ou un proxy interne. Désactivée par défaut car les passerelles reposant sur une clé API partagée montreraient sinon à chaque utilisateur tous les modèles auxquels la clé a 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 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 serveur n'est pas disponible sur les configurations de passerelle](/docs/fr/server-managed-settings#platform-availability) |298| `CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY` | Définissez-la 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 telle que LiteLLM, Kong ou un proxy interne. Désactivée par défaut, car les passerelles reposant sur une clé API partagée afficheraient sinon à chaque utilisateur tous les modèles accessibles avec cette clé. Les modèles découverts restent filtrés par toute liste d'autorisation [`availableModels`](/docs/fr/settings-reference#availablemodels) que reçoit 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 pour les configurations avec 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 |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 |

300| `CLAUDE_CODE_ENABLE_PROMPT_SUGGESTION` | Définissez 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éfinissez 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) |300| `CLAUDE_CODE_ENABLE_PROMPT_SUGGESTION` | Définissez-la 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), 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éfinissez-la sur `true` pour les conserver jusqu'à ce que vous atteigniez la limite. Nécessite Claude Code v2.1.238 ou une version ultérieure. Consultez [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éfinissez sur `0` pour obtenir à la place l'ancien outil `TodoWrite`. Voir [Liste des tâches](/docs/fr/interactive-mode#task-list) |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éfinissez-la sur `0` pour obtenir à la place l'ancien outil `TodoWrite`. Consultez [Liste des tâches](/docs/fr/interactive-mode#task-list) |

302| `CLAUDE_CODE_ENABLE_TELEMETRY` | Définissez sur `1` pour activer la collecte de données OpenTelemetry pour les métriques et les logs. 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) |302| `CLAUDE_CODE_ENABLE_TELEMETRY` | Définissez-la 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). Consultez [Surveillance](/docs/fr/monitoring-usage) |

303| `CLAUDE_CODE_ENABLE_TODO_TOOLS` | Définissez 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 répertoriés sous [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 |303| `CLAUDE_CODE_ENABLE_TODO_TOOLS` | Définissez-la sur `1` pour obtenir les outils de suivi des tâches sur tous les modèles. Sans elle, Claude Code ne les fournit par défaut que sur les modèles répertoriés sous [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 une version ultérieure |

304| `CLAUDE_CODE_EXIT_AFTER_STOP_DELAY` | Durée en millisecondes d'attente après que la boucle de requêtes devient inactive avant de quitter automatiquement. Utile pour les workflows automatisés et les scripts utilisant le mode SDK |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 |

305| `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS` | Définissez 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 |305| `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS` | Définissez-la 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 à un 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 héritée par le processus superviseur en arrière-plan |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 à un 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 dont héritait 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 intégralement des fichiers plus volumineux |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 intégralement des fichiers plus volumineux |

308| `CLAUDE_CODE_FORCE_SESSION_PERSISTENCE` | Définissez sur `1` pour forcer la persistance de la transcription, l'historique des prompts et l'enregistrement dans `claude agents`, même lorsque ce `claude` a été lancé depuis une autre session Claude Code. Utilisez-la 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é, de sorte que tmux n'a plus besoin de cette variable. Également prise en compte dans la 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 remplace avait été supprimée |308| `CLAUDE_CODE_FORCE_SESSION_PERSISTENCE` | Définissez-la 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é 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 la v2.1.169 et les versions antérieures ; sans effet dans les v2.1.170 et v2.1.171, où la détection des sessions imbriquées qu'elle remplace avait été supprimée |

309| `CLAUDE_CODE_FORCE_STRIKETHROUGH` | Définissez sur `1` pour forcer l'affichage 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 cela, les terminaux non détectés affichent les marqueurs `~~` littéraux au lieu d'afficher le texte barré. Nécessite Claude Code v2.1.186 ou ultérieur |309| `CLAUDE_CODE_FORCE_STRIKETHROUGH` | Définissez-la 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 elle, 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 une version ultérieure |

310| `CLAUDE_CODE_FORCE_SYNC_OUTPUT` | Définissez sur `1` pour forcer l'activation de la [sortie synchronisée](https://gist.github.com/christianparpart/d8a62cc1ab659194337d73e399004036) du mode privé DEC 2026 lorsque votre terminal la prend en charge mais n'est pas détecté automatiquement. Utile pour les émulateurs tels que `eat` d'Emacs qui implémentent BSU/ESU mais ne répondent pas à la sonde de capacité. 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 |310| `CLAUDE_CODE_FORCE_SYNC_OUTPUT` | Définissez-la sur `1` pour forcer l'activation de la [sortie synchronisée](https://gist.github.com/christianparpart/d8a62cc1ab659194337d73e399004036) du mode privé DEC 2026 lorsque votre terminal la prend en charge sans être détecté automatiquement. Utile pour les émulateurs tels que `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), elle ne modifie pas le moteur de rendu |

311| `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éfinissez 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 sessions. 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 |311| `CLAUDE_CODE_FORCE_TERMINAL_IMAGES` | Définissez-la 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. Consultez [les terminaux que Claude Code détecte](/docs/fr/plugins/mods/gallery#image-and-client) et pourquoi cette variable n'aide pas dans tmux ou screen |

312| `CLAUDE_CODE_FORWARD_SUBAGENT_TEXT` | Définissez 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 se termine avec une erreur en dehors du mode non interactif avec une 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 |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éfinissez-la 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 sessions. Vous pouvez exécuter `/subtask` que le mode fork soit activé ou non. L'activation par défaut en mode interactif nécessite Claude Code v2.1.232 ou une version ultérieure ; dans les versions antérieures, définissez la variable sur `1` pour activer le mode fork |

313| `CLAUDE_CODE_GATEWAY_HINT_HEADERS` | Définissez 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`, sur un proxy personnalisé ou un fournisseur tiers comme Amazon Bedrock ou Claude Platform on AWS. Définissez sur `0` pour ne plus les envoyer sur aucune connexion, 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 |313| `CLAUDE_CODE_FORWARD_SUBAGENT_TEXT` | Définissez-la 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 se termine par 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 une version ultérieure |

314| `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 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 |314| `CLAUDE_CODE_GATEWAY_HINT_HEADERS` | Définissez-la 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éfinissez-la 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 une version ultérieure |

315| `CLAUDE_CODE_GIT_BASH_PATH` | Windows uniquement : chemin vers l'exécutable Git Bash (`bash.exe`). Utilisez-la lorsque Git Bash est installé mais ne figure pas dans 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 s'arrêtait 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) |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 une version ultérieure |

316| `CLAUDE_CODE_GLOB_HIDDEN` | Définissez 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 |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 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. Consultez [Configuration sous Windows](/docs/fr/setup#set-up-on-windows) |

317| `CLAUDE_CODE_GLOB_NO_IGNORE` | Définissez 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) |317| `CLAUDE_CODE_GLOB_HIDDEN` | Définissez-la 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 |

318| `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 |318| `CLAUDE_CODE_GLOB_NO_IGNORE` | Définissez-la 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) |

319| `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). Valeur par défaut : `30`. Définissez `0` pour désactiver ces vérifications. Indiquez des minutes entières 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 |319| `CLAUDE_CODE_GLOB_TIMEOUT_SECONDS` | Délai d'expiration en secondes de 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_GZIP_REQUEST_BODIES` | Définissez sur `0` pour désactiver la compression gzip des corps de requêtes de l'API Claude, de 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 |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). Valeur par défaut : `30`. Définissez `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 une version ultérieure |

321| `CLAUDE_CODE_HIDE_CWD` | Définissez 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 expose votre nom d'utilisateur du système d'exploitation |321| `CLAUDE_CODE_GZIP_REQUEST_BODIES` | Définissez-la sur `0` pour désactiver la compression gzip des corps de requêtes vers l'API Claude, de 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 les 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_IDE_HOST_OVERRIDE` | Remplace l'adresse de l'hôte utilisée pour se connecter à l'extension de l'IDE. Par défaut, Claude Code détecte automatiquement l'adresse correcte, y compris le routage de WSL vers Windows |322| `CLAUDE_CODE_HIDE_CWD` | Définissez-la sur `1` pour masquer le répertoire de travail dans le logo de démarrage. Utile pour les partages d'écran ou les enregistrements dans lesquels le chemin révèle votre nom d'utilisateur du système d'exploitation |

323| `CLAUDE_CODE_IDE_SKIP_AUTO_INSTALL` | Définissez sur `1` pour ignorer l'installation automatique des extensions d'IDE. Équivaut à définir [`autoInstallIdeExtension`](/docs/fr/settings-reference#autoinstallideextension) sur `false` |323| `CLAUDE_CODE_IDE_HOST_OVERRIDE` | Remplace l'adresse de l'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_VALID_CHECK` | Définissez sur `1` pour ignorer la validation des entrées du fichier de verrouillage de l'IDE lors de la connexion. Utilisez-la lorsque la connexion automatique ne trouve pas votre IDE alors qu'il est en cours d'exécution |324| `CLAUDE_CODE_IDE_SKIP_AUTO_INSTALL` | Définissez-la sur `1` pour ignorer l'installation automatique des extensions IDE. Équivaut à définir [`autoInstallIdeExtension`](/docs/fr/settings-reference#autoinstallideextension) sur `false` |

325| `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 |325| `CLAUDE_CODE_IDE_SKIP_VALID_CHECK` | Définissez-la 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_CONTEXT_TOKENS` | Remplace la taille de la fenêtre de contexte que Claude Code suppose pour le modèle actif. Depuis la v2.1.193, son application dépend de la façon 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). Utilisez-la 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 |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 : la variable peut donc ajuster le plafond, mais pas le désactiver. Nécessite Claude Code v2.1.217 ou une version ultérieure |

327| `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 |327| `CLAUDE_CODE_MAX_CONTEXT_TOKENS` | Remplace la taille de la fenêtre de contexte que Claude Code suppose pour le modèle actif. Depuis la v2.1.193, son application dépend de la façon dont Claude Code résout l'ID du modèle ; consultez [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). Utilisez-la 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_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 au plafond une valeur supérieure au 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) |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 une version ultérieure |

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 ; consultez [max output tokens](https://platform.claude.com/docs/en/about-claude/models/overview#latest-models-comparison). Claude Code ramène au plafond toute valeur qui le dépasse. 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) |

329| `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` |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` |

330| `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 |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) ; au-delà du plafond, le lancement é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 |

331| `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 au troisième niveau ne peut plus en lancer ; définissez `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 les siens à 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 |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 en lancer davantage ; définissez `1` pour désactiver l'imbrication. De la v2.1.217 à la v2.1.218, la valeur par défaut était 1 : un sous-agent ne pouvait donc pas lancer les siens à 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 : la limite peut donc être ajustée, mais pas supprimée. Nécessite Claude Code v2.1.217 ou une version ultérieure |

332| `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 |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 |

333| `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 plutôt que d'être traitée comme une absence de plafond |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 |

334| `CLAUDE_CODE_MAX_WEB_SEARCHES_PER_SESSION` | Plafond du nombre total d'appels [WebSearch](/docs/fr/tools-reference#websearch-tool-behavior) qu'une session peut effectuer (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 |335| `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 demandant 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 : le plafond peut donc être relevé, mais pas désactivé. Nécessite Claude Code v2.1.212 ou une version ultérieure |

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

336| `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éfinissez sur `0` pour désactiver le passage automatique en arrière-plan. Nécessite Claude Code v2.1.212 ou ultérieur |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éfinissez-la sur `0` pour désactiver le passage automatique en arrière-plan. Nécessite Claude Code v2.1.212 ou une version ultérieure |

337| `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éfinissez 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 |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éfinissez-la 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 une version ultérieure |

338| `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 par transport de 300000 (5 minutes) pour les serveurs réseau et de 1800000 (30 minutes) pour les serveurs stdio. Définissez 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 de l'IDE ni aux serveurs SDK en 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é |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 par transport de 300000 (5 minutes) pour les serveurs réseau et de 1800000 (30 minutes) pour les serveurs stdio. Définissez-la 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 en cours de processus. Nécessite Claude Code v2.1.187 ou une version ultérieure. Avant la v2.1.203, les serveurs stdio étaient exemptés du délai d'inactivité |

339| `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 lorsqu'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 dé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 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 |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 lorsqu'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 transmettent 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 une version ultérieure |

340| `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 même temps que `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 |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 même temps que `CLAUDE_CODE_MESSAGING_SOCKET`. Un script qui écrit 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](/docs/fr/cross-session-messaging#the-sessions-inbox-socket) précisent 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 une version ultérieure |

341| `CLAUDE_CODE_NATIVE_CURSOR` | Définissez sur `1` pour afficher le curseur propre au terminal au 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, de sorte que cela ne rétablit pas le bloc dessiné dans une session où le curseur propre au terminal est déjà activé |342| `CLAUDE_CODE_NATIVE_CURSOR` | Définissez-la sur `1` pour afficher le curseur propre au terminal au point d'insertion de la saisie 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é |

342| `CLAUDE_CODE_NEW_INIT` | Définissez 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 |343| `CLAUDE_CODE_NEW_INIT` | Définissez-la 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 |

343| `CLAUDE_CODE_NONBLOCKING_STDOUT` | Définissez 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 |344| `CLAUDE_CODE_NONBLOCKING_STDOUT` | Définissez-la 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 une version ultérieure |

344| `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 le premier délai d'expiration. Non définie par défaut, de sorte que `CLAUDE_CODE_MAX_RETRIES` limite ces renvois. 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 |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. Consultez [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 |

345| `CLAUDE_CODE_NO_FLICKER` | Définissez sur `1` pour activer le [rendu plein écran](/docs/fr/fullscreen), en 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 aussi basculer avec `/tui fullscreen` |346| `CLAUDE_CODE_NO_FLICKER` | Définissez-la 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` |

346| `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 |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 des environnements automatisés |

347| `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éfinie |348| `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 |

348| `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 que vous avez défini pour toute la session. Pour remplacer un jeton expiré, générez-en un nouveau et redémarrez |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 que vous avez défini pendant toute la session. Pour remplacer un jeton expiré, générez-en un nouveau et redémarrez |

349| `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 |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 |

350| `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). Ne l'augmentez que si votre backend de télémétrie accepte des valeurs d'attributs 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) |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). Ne l'augmentez que si votre backend de télémétrie accepte des valeurs d'attributs 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 une version ultérieure. Consultez [Surveillance](/docs/fr/monitoring-usage) |

351| `CLAUDE_CODE_OTEL_DIAG_STDERR` | Définissez sur `1` pour écrire les erreurs de diagnostic de l'exportateur OpenTelemetry sur stderr. Par défaut, ces erreurs n'apparaissent qu'avec `--debug`, de sorte qu'un exportateur mal configuré, 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) |352| `CLAUDE_CODE_OTEL_DIAG_STDERR` | Définissez-la sur `1` pour écrire les erreurs de diagnostic de l'exportateur OpenTelemetry sur stderr. Par défaut, ces erreurs n'apparaissent qu'avec `--debug` : un exportateur mal configuré, par exemple en raison d'un conflit de port Prometheus, échoue donc sinon silencieusement. Nécessite Claude Code v2.1.179 ou une version ultérieure. Consultez [Surveillance](/docs/fr/monitoring-usage) |

352| `CLAUDE_CODE_OTEL_FLUSH_TIMEOUT_MS` | Délai d'expiration en millisecondes pour vider les spans OpenTelemetry en attente (par défaut : 5000). 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). Consultez [Surveillance](/docs/fr/monitoring-usage) |

353| `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) |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). Consultez [En-têtes dynamiques](/docs/fr/monitoring-usage#dynamic-headers) |

354| `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) |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 fermeture. Consultez [Surveillance](/docs/fr/monitoring-usage) |

355| `CLAUDE_CODE_PACKAGE_MANAGER_AUTO_UPDATE` | Définissez 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) |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 répartir les nouvelles tentatives sur une période plus longue lorsque l'API est à pleine capacité. Indiquez des millisecondes entières de 500 à 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 |

356| `CLAUDE_CODE_PERFORCE_MODE` | Définissez sur `1` pour activer la protection en écriture adaptée à 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 |357| `CLAUDE_CODE_PACKAGE_MANAGER_AUTO_UPDATE` | Définissez-la 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. Consultez [Mises à jour automatiques](/docs/fr/setup#auto-updates) |

357| `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. Valeur par défaut : `~/.claude/plugins` |358| `CLAUDE_CODE_PERFORCE_MODE` | Définissez-la sur `1` pour activer la protection en écriture compatible avec 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 |

358| `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 de chemin absolu ou commencez-le par `~`, car Claude Code ignore les chemins relatifs. Nécessite Claude Code v2.1.280 ou ultérieur. Voir [Charger un plugin pour une seule session](/docs/fr/plugins/create#load-a-directory-or-archive-for-one-session) |359| `CLAUDE_CODE_PLUGIN_CACHE_DIR` | Remplace le répertoire racine des plugins. Malgré son nom, elle 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` |

359| `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éfinissez 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) |360| `CLAUDE_CODE_PLUGIN_DIRS` | Répertoires de plugins à charger pour la session, chacun chargé de la même manière qu'avec 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 par `;` sous Windows. Indiquez chaque chemin sous forme de chemin absolu ou commencez-le par `~`, car Claude Code ignore les chemins relatifs. Nécessite Claude Code v2.1.280 ou une version ultérieure. Consultez [Charger un plugin pour une seule session](/docs/fr/plugins/create#load-a-directory-or-archive-for-one-session) |

360| `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) |361| `CLAUDE_CODE_PLUGIN_DIR_WATCH` | Détermine 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éfinissez-la 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 une version ultérieure. Consultez [paramètres et variables d'environnement des mods](/docs/fr/plugins/mods/reference#settings-and-environment-variables) |

361| `CLAUDE_CODE_PLUGIN_KEEP_MARKETPLACE_ON_FAILURE` | Définissez sur `1` pour ignorer la tentative de reclonage et continuer à utiliser l'extraction existante de la marketplace lorsqu'une actualisation de 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ù le 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) |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. Consultez [Git clone timed out](/docs/fr/plugins/troubleshooting#git-clone-timed-out-after-120s) |

362| `CLAUDE_CODE_PLUGIN_PREFER_HTTPS` | Définissez sur `1` pour cloner les sources abrégées GitHub `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` |363| `CLAUDE_CODE_PLUGIN_KEEP_MARKETPLACE_ON_FAILURE` | Définissez-la sur `1` pour ignorer la tentative de reclonage et continuer à utiliser la copie existante 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. Consultez [Les mises à jour de marketplace échouent dans les environnements hors ligne](/docs/fr/plugins/troubleshooting#marketplace-updates-keep-failing-offline) |

363| `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) |364| `CLAUDE_CODE_PLUGIN_PREFER_HTTPS` | Définissez-la 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` |

364| `CLAUDE_CODE_POWERSHELL_RESPECT_EXECUTION_POLICY` | Définissez 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 en mode Restricted par défaut. Le contournement au niveau du processus ne remplace jamais les stratégies de groupe `MachinePolicy` ou `UserPolicy`, quel que soit ce paramètre |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 par `;` sous Windows. Utilisez-la pour intégrer un répertoire de plugins préremplis dans une image de conteneur. Claude Code enregistre les marketplaces à partir de ces répertoires au démarrage et utilise les plugins déjà en cache sans les recloner. Consultez [Préremplir les plugins pour les conteneurs](/docs/fr/plugins/org#seed-containers-and-ci) |

365| `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 redémarre chaque fois que Claude effectue un tour pour traiter un résultat en arrière-plan. Valeur 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 et quitte. Définissez sur `0` pour attendre indéfiniment. Ce plafond est distinct du délai de grâce de cinq secondes qui s'applique aux simples shells en arrière-plan. Nécessite Claude Code v2.1.182 ou ultérieur |366| `CLAUDE_CODE_POWERSHELL_RESPECT_EXECUTION_POLICY` | Définissez-la sur `1` pour que Claude Code cesse de transmettre `-ExecutionPolicy Bypass` lorsqu'il lance PowerShell pour les appels d'outils, les hooks et les commandes de barre de statut, et respecte à 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 sur Restricted. Le contournement au niveau du processus ne remplace jamais les stratégies de groupe `MachinePolicy` ou `UserPolicy`, quel que soit ce paramètre |

366| `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, par exemple `/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 |367| `CLAUDE_CODE_PRINT_BG_WAIT_CEILING_MS` | Plafond en millisecondes de l'attente inactive des travaux en arrière-plan, tels que 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. Valeur 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éfinissez-la sur `0` pour attendre indéfiniment. Nécessite Claude Code v2.1.182 ou une version ultérieure |

367| `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éfinie, et ne la lit que dans l'environnement depuis lequel vous démarrez `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 |368| `CLAUDE_CODE_PROCESS_WRAPPER` | Lance les processus que Claude Code démarre à partir de son propre binaire, tels que 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 une version ultérieure ; 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. Consultez [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 une version ultérieure |

368| `CLAUDE_CODE_PROMPT_CACHE_TTL` | Définissez `5m` ou `1h`, les seules valeurs acceptées par Claude Code, pour choisir le [TTL du cache de prompt](/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 en cache d'une heure à un tarif plus élevé. Nécessite Claude Code v2.1.242 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, au lieu 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éfinie, et ne la lit que dans l'environnement à partir duquel vous démarrez `claude`, jamais dans un [bloc `env` d'un fichier de paramètres](#in-settings-files). Consultez [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 une version ultérieure |

369| `CLAUDE_CODE_PROPAGATE_TRACEPARENT` | Définissez 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 vers le modèle et vers les 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) |370| `CLAUDE_CODE_PROMPT_CACHE_TTL` | Définissez `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 en cache d'une heure à un tarif plus élevé. Nécessite Claude Code v2.1.242 ou une version ultérieure |

370| `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 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, afin que les paramètres utilisateur ne puissent 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 l'emporte 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 sur 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) |371| `CLAUDE_CODE_PROPAGATE_TRACEPARENT` | Définissez-la 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` des requêtes au modèle et des requêtes MCP HTTP, ainsi que la variable d'environnement `TRACEPARENT` des sous-processus Bash, PowerShell et des 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. Consultez [Traces (bêta)](/docs/fr/monitoring-usage#traces-beta) |

371| `CLAUDE_CODE_PROXY_RESOLVES_HOSTS` | Définissez 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 |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 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, afin que les paramètres utilisateur ne puissent pas remplacer le routage de l'hôte. Claude Code ignore également les clés de sélection du 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 modèle épinglé obsolète dans les paramètres gérés. Claude Code ignore aussi les variables de sélection du 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 également 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, Agent Platform de Google Cloud et Microsoft Foundry : la télémétrie suit alors la désactivation standard via `DISABLE_TELEMETRY`. Consultez [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éfinissez-la 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 |

372| `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 |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-la depuis un hook ou un script de configuration pour détecter si vous êtes dans une session cloud |

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

374| `CLAUDE_CODE_RESTRICTED` | Définissez 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 |376| `CLAUDE_CODE_RESTRICTED` | Définissez-la 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 une version ultérieure |

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

376| `CLAUDE_CODE_RESUME_INTERRUPTED_TURN_MAX_AGE_MS` | Ancienneté maximale en millisecondes du dernier message de la transcription pour qu'une session terminée en plein tour continue automatiquement à la reprise. 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 continuiez explicitement. Une valeur 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 chaque tour, 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 afin 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é et qui avait hérité sa conversation d'une session interactive. Nécessite Claude Code v2.1.211 ou ultérieur |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 continue 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 afin que vous poursuiviez explicitement. Non définie ou `0` signifie aucune limite, à ceci près 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-ci ; une valeur négative ou non numérique applique une limite d'une heure. Les scripts de lancement des 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 périmé. Claude Code applique 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é sa conversation d'une session interactive. Nécessite Claude Code v2.1.211 ou une version ultérieure |

377| `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`. Valeur par défaut : `Continue from where you left off.`. Une chaîne vide utilise la valeur par défaut |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 |

378| `CLAUDE_CODE_RETRY_WATCHDOG` | Définissez sur `1` pour les sessions sans surveillance telles que les harnais d'évaluation, les jobs CI ou les workers distants. Réessaie indéfiniment les 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 les réessayait indéfiniment. 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. Dans la v2.1.199 ou ultérieure, elle porte également à 300 le nombre de nouvelles tentatives par défaut pour les autres erreurs transitoires, telles que les erreurs serveur, les délais d'expiration et les connexions interrompues, soit environ trois heures d'attente progressive, 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 |380| `CLAUDE_CODE_RETRY_WATCHDOG` | Définissez-la 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 la 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, consultez [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 : une session qui atteint une limite d'utilisation patiente ainsi 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, telles que les erreurs serveur, les délais dépassés et les connexions interrompues, soit environ trois heures d'attente progressive, 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 une version ultérieure |

379| `CLAUDE_CODE_SAFE_MODE` | Définissez 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 ; les plugins gérés, les skills gérés, le CLAUDE.md géré et les serveurs MCP configurés par la politique ne s'appliquent pas. Équivaut à transmettre [`--safe-mode`](/docs/fr/cli-reference#cli-flags). Les processus enfants lancés directement héritent de la variable |381| `CLAUDE_CODE_SAFE_MODE` | Définissez-la 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 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 politique. Équivaut à transmettre [`--safe-mode`](/docs/fr/cli-reference#cli-flags). Les processus enfants lancés directement héritent de la variable |

380| `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éfinie. 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 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 décomptées du plafond. La 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 |382| `CLAUDE_CODE_SCRIPT_CAPS` | Objet JSON limitant le nombre de fois que 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 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 |

381| `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éfinissez sur `3` pour correspondre à `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 |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éfinissez-la 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 |

382| `CLAUDE_CODE_SEND_FEEDBACK` | Définissez sur `0` pour désactiver les [retours rédigés par Claude](/docs/fr/tools-reference#sendfeedback-tool-behavior) pour une session. Définissez 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 interrupteurs 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 |384| `CLAUDE_CODE_SEND_FEEDBACK` | Définissez-la sur `0` pour désactiver les [retours rédigés par Claude](/docs/fr/tools-reference#sendfeedback-tool-behavior) pour une session. Définissez-la 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 interrupteurs qui désactivent les retours, tels que `DISABLE_FEEDBACK_COMMAND` et la valeur `off` du paramètre [`feedbackDrafts`](/docs/fr/settings-reference#feedbackdrafts), s'appliquent toujours |

383| `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` 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 |385| `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 fermeture de la 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 |

384| `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 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 de la session reprise, comme les hooks et Bash. Avec `--continue` ou `--resume` sans ID explicite, il peut recevoir à la place l'ID initial du démarrage. Utilisez-la pour corréler les scripts et les outils externes avec la session Claude Code qui les a lancés |386| `CLAUDE_CODE_SESSION_ID` | Définie automatiquement avec 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 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 des scripts et des outils externes avec la session Claude Code qui les a lancés |

385| `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 |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 revient à la détection automatique. La détection automatique utilise votre `$SHELL` lorsqu'il pointe vers `bash` ou `zsh` ; sinon, elle choisit le premier `zsh` fonctionnel, puis `bash`, trouvé dans votre `PATH` et dans les emplacements d'installation standard |

386| `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 [hooks](/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 en forme 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>'`. L'encapsuleur reçoit la ligne de commande sous la forme d'un argument unique 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 |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 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 |

387| `CLAUDE_CODE_SIMPLE` | Définissez sur `1` pour s'exécuter avec un prompt système minimal et uniquement les outils Bash, de lecture de fichiers et de modification de fichiers. Les outils MCP issus 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 que vous transmettez avec `--add-dir` sont toujours chargés. Les jetons OAuth et les identifiants du trousseau ne sont pas lus, de sorte que l'authentification Anthropic doit provenir de `ANTHROPIC_API_KEY` ou d'un `apiKeyHelper` dans `--settings`. Équivaut à transmettre [`--bare`](/docs/fr/headless#start-faster-with-bare-mode) |389| `CLAUDE_CODE_SIMPLE` | Définissez-la sur `1` pour exécuter avec un prompt système minimal et uniquement les outils Bash, de lecture de fichiers et de modification de fichiers. Les outils MCP provenant 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 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) |

388| `CLAUDE_CODE_SIMPLE_SYSTEM_PROMPT` | Définissez sur `1` pour utiliser un prompt système plus court et des descriptions d'outils abrégées sur n'importe quel modèle. Définissez sur `0`, `false`, `no` ou `off` pour le refuser, même sur les modèles où l'expérimentation ou la configuration du serveur l'activerait autrement. L'ensemble complet des outils, les hooks, les serveurs MCP et la découverte de CLAUDE.md restent activés |390| `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 la version courte. Définissez-la sur `1` pour utiliser le prompt court sur n'importe quel modèle. Définissez-la 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 |

389| `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 |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 |

390| `CLAUDE_CODE_SKIP_AWS_CRED_CACHE` | Définissez sur `1` pour désactiver le cache en 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 d'expiration de la résolution](/docs/fr/amazon-bedrock#credential-caching-and-resolution-timeout). Nécessite Claude Code v2.1.207 ou ultérieur |392| `CLAUDE_CODE_SKIP_AWS_CRED_CACHE` | Définissez-la sur `1` pour désactiver le cache en cours de 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. Consultez [mise en cache des identifiants et délai d'expiration de la résolution](/docs/fr/amazon-bedrock#credential-caching-and-resolution-timeout). Nécessite Claude Code v2.1.207 ou une version ultérieure |

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

392| `CLAUDE_CODE_SKIP_FAST_MODE_NETWORK_ERRORS` | Définissez sur `1` pour considérer comme disponible une vérification de disponibilité du [mode rapide](/docs/fr/fast-mode#use-fast-mode-behind-proxies-and-llm-gateways) ayant échoué, pour les réseaux qui bloquent la requête directe de la vérification vers `api.anthropic.com`. Claude Code respecte toujours une réponse « désactivé par votre organisation » |394| `CLAUDE_CODE_SKIP_FAST_MODE_NETWORK_ERRORS` | Définissez-la sur `1` pour considérer comme disponible une vérification de disponibilité du [mode rapide](/docs/fr/fast-mode#use-fast-mode-behind-proxies-and-llm-gateways) qui a échoué, 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 » |

393| `CLAUDE_CODE_SKIP_FAST_MODE_ORG_CHECK` | Définissez 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 |395| `CLAUDE_CODE_SKIP_FAST_MODE_ORG_CHECK` | Définissez-la sur `1` pour ignorer la vérification côté client de la disponibilité du [mode rapide](/docs/fr/fast-mode#use-fast-mode-behind-proxies-and-llm-gateways), 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 |

394| `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éfinie. Avant la v2.1.203, cette variable empêchait le client Microsoft Foundry d'envoyer des requêtes à moins qu'une clé API soit également définie |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 |

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

396| `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éfinissez sur `1` pour désactiver cette mémorisation. Nécessite Claude Code v2.1.285 ou ultérieur |398| `CLAUDE_CODE_SKIP_MODEL_ACCESS_MEMORY` | Les [vérifications des modèles au démarrage](/docs/fr/amazon-bedrock#startup-model-checks) sur [Amazon Bedrock](/docs/fr/amazon-bedrock) et [Agent Platform de Google Cloud](/docs/fr/google-vertex-ai) mémorisent sur cette machine, pendant au plus une journée, les modèles que votre compte ne peut pas invoquer. Définissez-la sur `1` pour désactiver cette mémorisation. Nécessite Claude Code v2.1.285 ou une version ultérieure |

397| `CLAUDE_CODE_SKIP_PROMPT_HISTORY` | Définissez sur `1` pour ne pas écrire l'historique des prompts et 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 vers le haut. Utile pour les sessions scriptées éphémères |399| `CLAUDE_CODE_SKIP_PROMPT_HISTORY` | Définissez-la 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 vers le haut. Utile pour les sessions scriptées éphémères |

398| `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) |400| `CLAUDE_CODE_SKIP_VERTEX_AUTH` | Ignore l'authentification Google pour Agent Platform de Google Cloud (par exemple, lors de l'utilisation d'une passerelle LLM) |

399| `CLAUDE_CODE_STARTUP_FAILURE_RESULTS` | Définissez 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 se terminent sinon uniquement par stderr. Nécessite Claude Code v2.1.274 ou ultérieur |401| `CLAUDE_CODE_STARTUP_FAILURE_RESULTS` | Définissez-la 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 au démarrage qui se terminent sinon uniquement par stderr. Nécessite Claude Code v2.1.274 ou une version ultérieure |

400| `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éfinissez sur `0` pour désactiver le plafond. Augmentez cette valeur si votre hook a légitimement besoin de plus d'itérations pour aboutir |402| `CLAUDE_CODE_STOP_HOOK_BLOCK_CAP` | Nombre maximal de fois consécutives qu'un hook [Stop](/docs/fr/hooks#stop) ou [SubagentStop](/docs/fr/hooks#subagentstop) peut empêcher la fin du tour avant que Claude Code ne passe outre et termine tout de même le tour (par défaut : 8). Définissez-la sur `0` pour désactiver le plafond. Augmentez-la si votre hook a légitimement besoin de davantage d'itérations pour aboutir |

401| `CLAUDE_CODE_SUBAGENT_MODEL` | Modèle par défaut des [sous-agents](/docs/fr/sub-agents#choose-a-model), des coéquipiers d'une [équipe 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 |403| `CLAUDE_CODE_SUBAGENT_MODEL` | Modèle par défaut des [sous-agents](/docs/fr/sub-agents#choose-a-model), des coéquipiers d'une [équipe 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 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). Consultez [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 transmis à chaque invocation et le champ `model` de la définition |

402| `CLAUDE_CODE_SUBAGENT_MODEL_FORCE` | Définissez sur `1` pour imposer un modèle unique aux sous-agents, aux coéquipiers et aux 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 |404| `CLAUDE_CODE_SUBAGENT_MODEL_FORCE` | Définissez-la sur `1` pour imposer un modèle unique aux sous-agents, aux coéquipiers et aux 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 une version ultérieure |

403| `CLAUDE_CODE_SUBAGENT_PROMPT_CACHE_TTL` | Définissez `5m` ou `1h`, les seules valeurs acceptées par Claude Code, pour choisir le [TTL du cache de prompt](/docs/fr/prompt-caching#cache-lifetime) des requêtes en dehors 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 en cache d'une heure à un tarif plus élevé. Nécessite Claude Code v2.1.242 ou ultérieur |405| `CLAUDE_CODE_SUBAGENT_PROMPT_CACHE_TTL` | Définissez `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 extérieures à la conversation principale, telles que les [sous-agents](/docs/fr/sub-agents), les workflows et les travaux 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 en cache d'une heure à un tarif plus élevé. Nécessite Claude Code v2.1.242 ou une version ultérieure |

404| `CLAUDE_CODE_SUBPROCESS_ENV_SCRUB` | Définissez 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 secret par le nom de sa variable ou par sa 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é |406| `CLAUDE_CODE_SUBPROCESS_ENV_SCRUB` | Définissez-la sur `1` pour retirer les identifiants des environnements des sous-processus que lance Claude Code, 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 laisse en place les jetons GitHub et les paramètres de proxy. Consultez [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é |

405| `CLAUDE_CODE_SYNC_PLUGIN_INSTALL` | Définissez 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 borner l'attente |407| `CLAUDE_CODE_SYNC_PLUGIN_INSTALL` | Définissez-la 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 elle, 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 |

406| `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 journalise une erreur. Aucune valeur par défaut : sans cette variable, l'installation synchrone attend jusqu'à la fin |408| `CLAUDE_CODE_SYNC_PLUGIN_INSTALL_TIMEOUT_MS` | Délai d'expiration en millisecondes de l'installation synchrone des plugins. Une fois dépassé, Claude Code poursuit sans les plugins et journalise une erreur. Aucune valeur par défaut : sans cette variable, l'installation synchrone attend jusqu'à son achèvement |

407| `CLAUDE_CODE_SYNC_SKILLS` | Définissez-la 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 l'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 |409| `CLAUDE_CODE_SYNC_SKILLS` | Définissez-la 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 dans lesquelles 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 |

408| `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 |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 |

409| `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éfinie (par défaut : 5000). Lorsqu'il est 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 |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 |

410| `CLAUDE_CODE_SYNTAX_HIGHLIGHT` | Définissez 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) |412| `CLAUDE_CODE_SYNTAX_HIGHLIGHT` | Définissez-la 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) |

411| `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 des tâches](/docs/fr/interactive-mode#task-list) |413| `CLAUDE_CODE_TASK_LIST_ID` | Partage une liste de tâches entre les 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). Consultez [Liste des tâches](/docs/fr/interactive-mode#task-list) |

412| `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 des valeurs 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 |414| `CLAUDE_CODE_TEAM_TEARDOWN_PARK_TIMEOUT_MS` | Remplace, en millisecondes, la durée pendant laquelle une session non interactive attend à la fermeture que son [équipe d'agents](/docs/fr/agent-teams) ait fini de s'arrêter. Accepte des valeurs 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 une version ultérieure |

413| `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. Valeur 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 l'emplacement 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) |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 la valeur 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) |

414| `CLAUDE_CODE_TMUX_TRUECOLOR` | Définissez 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 d'activation/désactivation ; 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 à moins d'être 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 |416| `CLAUDE_CODE_TMUX_TRUECOLOR` | Définissez-la 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 d'activation ; 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`. Consultez [Configuration du terminal](/docs/fr/terminal-config) pour les autres paramètres de tmux |

415| `CLAUDE_CODE_TOOL_MEMORY_CGROUP_EXCLUDE` | Sur Linux et WSL, définissez une liste, séparée par des virgules, des types de processus que Claude Code [exclut du plafond de mémoire des outils](/docs/fr/tools-reference#memory-limit-on-linux-and-wsl), comme `mcp` ou `lsp`. Définissez `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 indiquiez. Nécessite Claude Code v2.1.246 ou ultérieur |417| `CLAUDE_CODE_TOOL_MEMORY_CGROUP_EXCLUDE` | Sous Linux et WSL, définissez-la 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), tels que `mcp` ou `lsp`. Définissez `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 indiquiez. Nécessite Claude Code v2.1.246 ou une version ultérieure |

416| `CLAUDE_CODE_TOOL_MEMORY_LIMIT` | Sur Linux et WSL, définissez une taille comme `4G` pour [plafonner la mémoire que les commandes des outils Bash et PowerShell peuvent utiliser](/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, seule pour un nombre d'octets ou avec un suffixe `K`, `M`, `G` ou `T`. Définissez `0` ou `off` pour désactiver le plafond. Une fois que le premier processus 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 |418| `CLAUDE_CODE_TOOL_MEMORY_LIMIT` | Sous Linux et WSL, définissez-la 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 à partir de la v2.1.246. Écrivez la taille en chiffres simples, seule pour un nombre d'octets ou avec un suffixe `K`, `M`, `G` ou `T`. Définissez `0` ou `off` pour désactiver le plafond. Une fois que le premier processus 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 une version ultérieure |

417| `CLAUDE_CODE_TRANSCRIPT_LOCAL_GC` | Définissez sur `1` pour limiter la croissance 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 depuis lequel vous démarrez Claude Code, car un bloc `env` des paramètres ne peut pas l'activer. Nécessite Claude Code v2.1.287 ou ultérieur |419| `CLAUDE_CODE_TRANSCRIPT_LOCAL_GC` | Définissez-la 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 démarrez Claude Code, car un bloc `env` des paramètres ne peut pas l'activer. Nécessite Claude Code v2.1.287 ou une version ultérieure |

418| `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 régies par cette variable. Dans Claude Code v2.1.236 ou ultérieur, elle borne é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 |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 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 concernées. À partir de Claude Code v2.1.236, elle limite également la [demande de consentement aux crédits d'utilisation de 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é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 |

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

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

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

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

423| `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 les outils Grep ni de recherche de fichiers |425| `CLAUDE_CODE_USE_NATIVE_FILE_SEARCH` | Définissez-la 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 fourni est indisponible ou bloqué dans votre environnement. N'affecte pas les outils Grep ni de recherche de fichiers |

424| `CLAUDE_CODE_USE_POWERSHELL_TOOL` | Contrôle l'outil PowerShell. Sous Windows sans Git Bash, l'outil est activé automatiquement ; définissez `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 `1` pour l'activer dans les sessions Amazon Bedrock, Google Cloud's Agent Platform et Microsoft Foundry, ou `0` pour le désactiver. Sous Linux, macOS et WSL, définissez `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) |426| `CLAUDE_CODE_USE_POWERSHELL_TOOL` | Contrôle l'outil PowerShell. Sous Windows sans Git Bash, l'outil est activé automatiquement ; définissez `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 `1` pour l'activer dans les sessions Amazon Bedrock, Google Cloud's Agent Platform et Microsoft Foundry, ou `0` pour le désactiver. Sous Linux, macOS et WSL, définissez `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) |

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

426| `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, de sorte qu'une modification dans un bloc `env` des paramètres s'applique lors du prochain lancement de `claude`. Nécessite Claude Code v2.1.233 ou ultérieur |428| `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 |

427| `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 non terminé à l'issue de ce délai échoue avec une erreur de délai dépassé. La valeur par défaut est `300000`, soit cinq minutes. Définissez `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 |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é à cette échéance échoue avec une erreur d'échéance. La valeur par défaut est `300000`, soit cinq minutes. Définissez `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 |

428| `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. Lorsque la variable n'est pas définie, aucun rappel n'a lieu. Nécessite Claude Code v2.1.283 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 |

429| `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, de sorte que 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 |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. Lorsque la variable n'est pas définie, il n'y a aucun rappel. Nécessite Claude Code v2.1.283 ou ultérieur |

430| `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 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. Valeur par défaut : `5000`. Définissez `0` pour désactiver l'attente. Lorsque `DISABLE_PROMPT_CACHING` est défini, les agents n'attendent jamais. Nécessite Claude Code v2.1.229 ou ultérieur |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 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 cette durée maximale afin que les autres lisent le préfixe en cache au lieu de le traiter chacun sans cache. Valeur par défaut : `5000`. Définissez `0` pour désactiver l'attente. Lorsque `DISABLE_PROMPT_CACHING` est défini, les agents n'attendent jamais. Nécessite Claude Code v2.1.229 ou ultérieur |

431| `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, 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) |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, 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) |

432| `CLAUDE_DISABLE_ADOPT` | Définissez `1` pour arrêter le travail en arrière-plan en cours au lieu de le conserver 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 auraient sinon été conservées. Nécessite Claude Code v2.1.195 ou ultérieur |435| `CLAUDE_DISABLE_ADOPT` | Définissez `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 auraient autrement été reportées. Nécessite Claude Code v2.1.195 ou ultérieur |

433| `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 |436| `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 |

434| `CLAUDE_ENABLE_BYTE_WATCHDOG` | Définissez `1` pour forcer l'activation du watchdog d'inactivité du streaming au niveau des octets, ou `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. Lorsque la variable 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 alors même que des pings keep-alive arrivaient. Pour les délais d'expiration et l'interaction entre les minuteurs, voir [Watchdogs d'inactivité du streaming](/docs/fr/network-config#streaming-idle-watchdogs) |437| `CLAUDE_ENABLE_BYTE_WATCHDOG` | Définissez `1` pour forcer l'activation du watchdog d'inactivité de streaming au niveau des octets, ou `0` pour forcer sa désactivation. `0` désactive également 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 via 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) |

435| `CLAUDE_ENABLE_BYTE_WATCHDOG_BEDROCK` | Définissez `1` pour activer le watchdog d'inactivité du streaming au niveau des octets sur les réponses Amazon Bedrock `vnd.amazon.eventstream`, 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` |438| `CLAUDE_ENABLE_BYTE_WATCHDOG_BEDROCK` | Définissez `1` pour activer le watchdog d'inactivité de streaming au niveau des octets sur les réponses Amazon Bedrock `vnd.amazon.eventstream`, ce qui active également 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` |

436| `CLAUDE_ENABLE_STREAM_WATCHDOG` | Définissez `0` pour forcer la désactivation du watchdog d'inactivité du streaming au niveau des événements, ou `1` pour forcer son activation. Lorsque la variable 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 sur 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 parallèlement à celui-ci, voir [Watchdogs d'inactivité du streaming](/docs/fr/network-config#streaming-idle-watchdogs) |439| `CLAUDE_ENABLE_STREAM_WATCHDOG` | Définissez `0` pour forcer la désactivation du watchdog d'inactivité de streaming au niveau des événements, ou `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 sur 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) |

437| `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 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) |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, afin que les exports du fichier soient visibles par la commande. À utiliser pour conserver l'activation de virtualenv ou 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) |

438| `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 |441| `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 déclenchent pas de demande de permission, et le répertoire est supprimé lorsque la session est supprimée |

439| `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 le processus parent Claude Code ou lui envoyer délibérément un signal. Nécessite Claude Code v2.1.214 ou ultérieur |442| `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 |

440| `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 |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, 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 |

441| `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 comment il choisit le délai 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 |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ù s'applique l'[échéance du premier octet](/docs/fr/network-config#streaming-idle-watchdogs). Pour savoir comment Claude Code la borne, le temps supplémentaire qu'il ajoute pour les corps de requête volumineux et la façon dont il choisit l'échéance 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 |

442| `CLAUDE_STREAM_IDLE_TIMEOUT_MS` | Délai d'expiration, en millisecondes, avant que les watchdogs d'inactivité du 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 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 en l'absence de définition, voir [Watchdogs d'inactivité du streaming](/docs/fr/network-config#streaming-idle-watchdogs) |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 en l'absence de définition, voir [Watchdogs d'inactivité de streaming](/docs/fr/network-config#streaming-idle-watchdogs) |

443| `CLAUDE_SUBAGENT_BG_SHELL_MAX_MS` | Supprimée dans la v2.1.260 et désormais sans effet. Plafonnait auparavant, en millisecondes, la durée d'exécution 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) |446| `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) |

444| `DEBUG` | Définissez `1` pour activer le mode débogage, ce qui équivaut à 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 |447| `DEBUG` | Définissez `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 |

445| `DISABLE_AUTOUPDATER` | Définissez `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 |448| `DISABLE_AUTOUPDATER` | Définissez `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 |

446| `DISABLE_AUTO_COMPACT` | Définissez `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) |449| `DISABLE_AUTO_COMPACT` | Définissez `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 où la compaction a lieu. Remplace le paramètre [`autoCompactEnabled`](/docs/fr/settings-reference#autocompactenabled) |

447| `DISABLE_COMPACT` | Définissez `1` pour désactiver toute compaction : à la fois la compaction automatique et la commande manuelle `/compact` |450| `DISABLE_COMPACT` | Définissez `1` pour désactiver toute compaction : à la fois la compaction automatique et la commande manuelle `/compact` |

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

449| `DISABLE_DOCTOR_COMMAND` | Définissez `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` |452| `DISABLE_DOCTOR_COMMAND` | Définissez `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` |

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

451| `DISABLE_EXTRA_USAGE_COMMAND` | Définissez `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 |454| `DISABLE_EXTRA_USAGE_COMMAND` | Définissez `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 |

452| `DISABLE_FEEDBACK_COMMAND` | Définissez `1` pour désactiver la commande `/feedback` et les [commentaires 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, ils étaient des 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é |455| `DISABLE_FEEDBACK_COMMAND` | Définissez `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 effectuent leurs signalements par le même chemin ; 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é |

453| `DISABLE_GROWTHBOOK` | Définissez `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 activée, sauf si `DISABLE_TELEMETRY` est également défini |456| `DISABLE_GROWTHBOOK` | Définissez `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 nécessitant 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 active, sauf si `DISABLE_TELEMETRY` est également définie |

454| `DISABLE_INSTALLATION_CHECKS` | Définissez `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 liés aux installations standard |457| `DISABLE_INSTALLATION_CHECKS` | Définissez `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 |

455| `DISABLE_INSTALL_GITHUB_APP_COMMAND` | Définissez `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) |458| `DISABLE_INSTALL_GITHUB_APP_COMMAND` | Définissez `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) |

456| `DISABLE_INTERLEAVED_THINKING` | Définissez `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) |459| `DISABLE_INTERLEAVED_THINKING` | Définissez `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) |

457| `DISABLE_LOGIN_COMMAND` | Définissez `1` pour masquer la commande `/login`. Utile lorsque l'authentification est gérée en externe via des clés API ou `apiKeyHelper` |460| `DISABLE_LOGIN_COMMAND` | Définissez `1` pour masquer la commande `/login`. Utile lorsque l'authentification est gérée en externe via des clés API ou `apiKeyHelper` |

458| `DISABLE_LOGOUT_COMMAND` | Définissez `1` pour masquer la commande `/logout` |461| `DISABLE_LOGOUT_COMMAND` | Définissez `1` pour masquer la commande `/logout` |

459| `DISABLE_PROMPT_CACHING` | Définissez `1` pour désactiver le [prompt caching](/docs/fr/prompt-caching#disable-prompt-caching) pour tous les modèles (a priorité sur les paramètres par modèle) |462| `DISABLE_PROMPT_CACHING` | Définissez `1` pour désactiver le [prompt caching](/docs/fr/prompt-caching#disable-prompt-caching) pour tous les modèles (a priorité sur les paramètres par modèle) |

460| `DISABLE_PROMPT_CACHING_FABLE` | Définissez `1` pour désactiver le prompt caching pour les modèles Fable |463| `DISABLE_PROMPT_CACHING_FABLE` | Définissez `1` pour désactiver le prompt caching pour les modèles Fable |

461| `DISABLE_PROMPT_CACHING_HAIKU` | Définissez `1` pour désactiver le prompt caching pour le [modèle Haiku par défaut](/docs/fr/prompt-caching#disable-prompt-caching), quel que soit l'endroit où il s'exécute |464| `DISABLE_PROMPT_CACHING_HAIKU` | Définissez `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 |

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

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

464| `DISABLE_TELEMETRY` | Définissez une valeur non vide quelconque, comme `1`, pour désactiver la télémétrie. **La définir sur `0` ou `false` désactive tout de même la télémétrie**, 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) |467| `DISABLE_TELEMETRY` | Définissez n'importe quelle valeur non vide, comme `1`, pour refuser la télémétrie. **La définir sur `0` ou `false` désactive tout de même la télémétrie**, 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) |

465| `DISABLE_UPDATES` | Définissez `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 par vos propres canaux et que les utilisateurs ne doivent pas effectuer eux-mêmes les mises à jour |468| `DISABLE_UPDATES` | Définissez `1` pour bloquer toutes les mises à jour, y compris les commandes manuelles `claude update` et `claude install`. Plus stricte que `DISABLE_AUTOUPDATER`. À utiliser lorsque vous distribuez Claude Code via vos propres canaux et que les utilisateurs ne doivent pas effectuer eux-mêmes les mises à jour |

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

467| `DO_NOT_TRACK` | Définissez `1` pour désactiver 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, de sorte que `0` laisse la télémétrie activée, et la respecte en tant que convention inter-outils reconnue par de nombreux CLI pour développeurs |470| `DO_NOT_TRACK` | Définissez `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 pour développeurs |

468| `ENABLE_BETA_TRACING_DETAILED` | Définissez `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 porteurs de 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) |471| `ENABLE_BETA_TRACING_DETAILED` | Définissez `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 ainsi que 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) |

469| `ENABLE_CLAUDEAI_MCP_SERVERS` | Définissez `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 cette fonctionnalité par projet ou par organisation, définissez plutôt [`disableClaudeAiConnectors`](/docs/fr/settings-reference#disableclaudeaiconnectors) dans les paramètres |472| `ENABLE_CLAUDEAI_MCP_SERVERS` | Définissez `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é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 |

470| `ENABLE_PROMPT_CACHING_1H` | Définissez `1` pour demander une [durée de vie (TTL) du cache de prompt](/docs/fr/prompt-caching#cache-lifetime) d'une heure au lieu des 5 minutes par défaut. Destinée aux utilisateurs d'une 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 d'un abonnement dans le cadre de l'utilisation incluse bénéficient automatiquement du TTL d'une heure sur la [conversation principale](/docs/fr/prompt-caching#which-ttl-each-request-gets). Les utilisateurs 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 |473| `ENABLE_PROMPT_CACHING_1H` | Définissez `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, 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 consomment des [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 |

471| `ENABLE_PROMPT_CACHING_1H_BEDROCK` | Dépréciée. Utilisez plutôt `ENABLE_PROMPT_CACHING_1H` |474| `ENABLE_PROMPT_CACHING_1H_BEDROCK` | Dépréciée. Utilisez plutôt `ENABLE_PROMPT_CACHING_1H` |

472| `ENABLE_TOOL_SEARCH` | Contrôle [MCP Tool Search](/docs/fr/mcp#scale-with-mcp-tool-search). Si la variable n'est pas définie, Claude Code diffère par défaut le chargement de tous les outils MCP. Il les charge néanmoins dès le départ sur les modèles 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 le chargement 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 les outils 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` |475| `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éfinie. 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` |

473| `FALLBACK_FOR_ALL_PRIMARY_MODELS` | Définissez une valeur non vide quelconque, 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 tout modèle principal, de sorte que cette variable n'affecte pas le basculement vers un modèle de secours |476| `FALLBACK_FOR_ALL_PRIMARY_MODELS` | Définissez 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 de nouvelle tentative par défaut. Sans elle, Claude Code cesse de réessayer de cette façon 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 tout modèle principal, de sorte que cette variable n'affecte pas le basculement vers un modèle de secours |

474| `FORCE_AUTOUPDATE_PLUGINS` | Définissez `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` |477| `FORCE_AUTOUPDATE_PLUGINS` | Définissez `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` |

475| `FORCE_HYPERLINK` | Définissez `1` pour activer les hyperliens OSC 8 cliquables lorsque votre terminal les prend en charge sans être détecté automatiquement, ou `0` pour les désactiver. Lorsque la variable 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, de sorte qu'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 par le terminal, par exemple via SSH. Définissez `0` pour afficher le badge en texte brut |478| `FORCE_HYPERLINK` | Définissez `1` pour activer les hyperliens OSC 8 cliquables lorsque votre terminal les prend en charge mais n'est pas détecté automatiquement, ou `0` pour les désactiver. Lorsqu'elle n'est pas définie, Claude Code n'active les hyperliens que lorsqu'il détecte leur prise en charge par le terminal. Claude Code interprète cette valeur comme un nombre, et non comme un booléen, de sorte qu'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 par le terminal, par exemple via SSH. Définissez `0` pour afficher le badge en texte brut |

476| `FORCE_PROMPT_CACHING_5M` | Définissez `1` pour forcer le TTL de 5 minutes du cache de prompt 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` |479| `FORCE_PROMPT_CACHING_5M` | Définissez `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` |

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

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

479| `IS_DEMO` | Définissez une valeur non vide quelconque, 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 |482| `IS_DEMO` | Définissez n'importe quelle valeur non vide, comme `1`, pour activer le mode démo : masque votre e-mail et le nom de votre organisation dans l'en-tête et 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 |

480| `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 |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) indépendamment de cette variable |

481| `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. La valeur par défaut est 5, soit une première tentative plus quatre nouvelles tentatives |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 infructueuses 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. Valeur par défaut : 5, soit une première tentative plus quatre nouvelles tentatives |

482| `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. Lorsque la variable 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 `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 |485| `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 leur propre profondeur de réflexion, et les autres modèles utilisent le plafond. Définissez `0` pour désactiver la réflexion sur l'API Anthropic, sauf sur 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 plus élevé 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 |

483| `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` |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` |

484| `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 `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 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 dispose d'un délai plus long ; voir l'entrée de ce flag pour l'exception relative aux serveurs en cache |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 au fur et à mesure qu'ils terminent. Définissez `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 dans tous les cas, 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, indépendamment de cette variable. Lorsque vous transmettez explicitement [`--mcp-config`](/docs/fr/cli-reference#cli-flags), l'attente dispose d'une échéance plus longue ; consultez l'entrée de ce flag pour l'exception relative aux serveurs en cache |

485| `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 |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. Distincte de `MCP_TIMEOUT`, qui borne la tentative de connexion d'un serveur individuel |

486| `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 `1` pour l'activer, ou `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 |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 `1` pour l'activer, ou `0` pour le maintenir désactivé même lorsque le déploiement 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 |

487| `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 |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 il le fait 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 |

488| `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 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 |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 le nombre d'actualisations consécutives pouvant échouer avant que Claude Code 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 tombe occasionnellement, afin qu'une seule actualisation échouée ne supprime pas l'entrée. Nécessite Claude Code v2.1.238 ou ultérieur |

489| `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`, qui est de 4 heures par défaut. Avant la v2.1.238, Claude Code ne plafonnait pas la valeur |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 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`, qui vaut 4 heures par défaut. Avant la v2.1.238, Claude Code ne plafonnait pas la valeur |

490| `MCP_OAUTH_CALLBACK_PORT` | Port fixe pour le callback de redirection OAuth, en 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) |493| `MCP_OAUTH_CALLBACK_PORT` | Port fixe pour le callback de redirection OAuth, en 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) |

491| `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, 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 débogage. Nécessite Claude Code v2.1.221 ou ultérieur |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, 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 débogage. Nécessite Claude Code v2.1.221 ou ultérieur |

492| `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) |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) |

493| `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 MCP TypeScript SDK 1.x, ou `v2`, basé sur le [MCP TypeScript SDK 2.0](https://ts.sdk.modelcontextprotocol.io/v2/). Sans cette 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 |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 cette 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 |

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

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

496| `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-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 de l'exécution des outils, 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 é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 |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 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 augmenter cette limite par requête. Une valeur inférieure raccourcit toujours le délai d'expiration global d'exécution des outils, 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 é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 |

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

498| `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 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) |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 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 façon 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) |

499| `OTEL_LOG_ASSISTANT_RESPONSES` | Définissez `1` pour inclure le texte de la réponse du modèle dans les événements de log OpenTelemetry `assistant_response`. Lorsque la variable n'est pas définie, Claude Code utilise plutôt la valeur de `OTEL_LOG_USER_PROMPTS`. Définissez `0` pour conserver 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) |502| `OTEL_LOG_ASSISTANT_RESPONSES` | Définissez `1` pour inclure le texte de la 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 `0` pour que les réponses restent masquées même lorsque `OTEL_LOG_USER_PROMPTS` est définie. 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) |

500| `OTEL_LOG_MANAGED_SETTINGS` | Définissez `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) |503| `OTEL_LOG_MANAGED_SETTINGS` | Définissez `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) |

501| `OTEL_LOG_RAW_API_BODIES` | Émet le JSON des requêtes et réponses de l'API Anthropic Messages sous forme d'événements de log `api_request_body` / `api_response_body`. Définissez `1` pour des corps intégrés tronqués à la limite de contenu, ou `file:<dir>` pour écrire les corps non tronqués sur le disque et émettre à la place un chemin `body_ref`. `CLAUDE_CODE_OTEL_CONTENT_MAX_LENGTH` configure la limite de contenu, de 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) |504| `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 `1` pour des corps en ligne tronqués à la limite de contenu, ou `file:<dir>` pour écrire les corps non tronqués sur le disque et émettre à la place 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) |

502| `OTEL_LOG_TOOL_CONTENT` | Définissez `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é 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) |505| `OTEL_LOG_TOOL_CONTENT` | Définissez `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) |

503| `OTEL_LOG_TOOL_DETAILS` | Définissez `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 des outils ; la `category` de refus sur 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) ; et d'autres détails sur les outils dans les métriques, traces et logs OpenTelemetry. Désactivé par défaut pour protéger les données personnelles (PII). 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) |506| `OTEL_LOG_TOOL_DETAILS` | Définissez `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 vrais noms 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 des 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) |

504| `OTEL_LOG_USER_PROMPTS` | Définissez `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), à 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 `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) |

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

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

507| `OTEL_METRICS_INCLUDE_REPOSITORY` | Définissez `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 : exclus). Nécessite Claude Code v2.1.269 ou ultérieur. Voir [Attributs de dépôt](/docs/fr/monitoring-usage#repository-attributes) |510| `OTEL_METRICS_INCLUDE_REPOSITORY` | Définissez `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 de dépôt](/docs/fr/monitoring-usage#repository-attributes) |

508| `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 `false` pour les exclure (par défaut : incluses). Voir [Surveillance](/docs/fr/monitoring-usage#multi-team-organization-support) |511| `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 `false` pour les exclure (par défaut : incluses). Voir [Surveillance](/docs/fr/monitoring-usage#multi-team-organization-support) |

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

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

511| `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. Ancien nom conservé pour la rétrocompatibilité |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. Ancien nom conservé pour la rétrocompatibilité |

512| `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) conservés par l'outil `TaskOutput`. Claude lit désormais le fichier de sortie d'une tâche en arrière-plan avec `Read` |515| `TASK_MAX_OUTPUT_LENGTH` | Supprimée dans la v2.1.277 et désormais sans effet, en même temps que l'outil `TaskOutput` qu'elle dimensionnait. 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` |

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

514| `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 |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 |

515| `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 |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 |


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

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

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

590* Demander à Claude Code de sonder les serveurs de connecteurs claude.ai ou les serveurs stdio 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`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`

591* 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é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é

592* 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é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é

593* 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 marquage596* 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 +23 −26

Details

436| :- | :- | :- |436| :- | :- | :- |

437| [`CLAUDE_CODE_MAX_RETRIES`](/docs/fr/env-vars) | 10 | Nombre de nouvelles tentatives. Plafonné à 15 à partir de v2.1.186 ; à partir de v2.1.199 `CLAUDE_CODE_RETRY_WATCHDOG` augmente la valeur par défaut et supprime le plafond. Réduisez-le pour afficher les défaillances plus rapidement dans les scripts. |437| [`CLAUDE_CODE_MAX_RETRIES`](/docs/fr/env-vars) | 10 | Nombre de nouvelles tentatives. Plafonné à 15 à partir de v2.1.186 ; à partir de v2.1.199 `CLAUDE_CODE_RETRY_WATCHDOG` augmente la valeur par défaut et supprime le plafond. Réduisez-le pour afficher les défaillances plus rapidement dans les scripts. |

438| [`CLAUDE_CODE_RETRY_WATCHDOG`](/docs/fr/env-vars) | non défini | Définissez sur `1` dans les sessions sans surveillance telles que les travaux CI pour réessayer les erreurs de capacité `429` et `529` indéfiniment au lieu d'échouer après `CLAUDE_CODE_MAX_RETRIES` tentatives. Claude Code échoue immédiatement lorsqu'une requête à vitesse standard obtient un `429` qui signale une limite de dépenses ou des crédits d'utilisation épuisés, même un provenant d'un [plafond de dépenses de passerelle](#spend-limit-reached) qui se réinitialise selon un calendrier. Avant v2.1.239, le watchdog réessayait ceux-ci indéfiniment. Pour les requêtes en mode rapide, voir [Handle rate limits](/docs/fr/fast-mode#handle-rate-limits). Sur v2.1.199 ou ultérieur, il augmente également le nombre de tentatives par défaut pour les autres erreurs transitoires, telles que les erreurs serveur, les délais d'attente et les connexions interrompues, à 300, environ trois heures de backoff, et supprime le plafond de 15 sur `CLAUDE_CODE_MAX_RETRIES` si vous définissez explicitement cette variable. |438| [`CLAUDE_CODE_RETRY_WATCHDOG`](/docs/fr/env-vars) | non défini | Définissez sur `1` dans les sessions sans surveillance telles que les travaux CI pour réessayer les erreurs de capacité `429` et `529` indéfiniment au lieu d'échouer après `CLAUDE_CODE_MAX_RETRIES` tentatives. Claude Code échoue immédiatement lorsqu'une requête à vitesse standard obtient un `429` qui signale une limite de dépenses ou des crédits d'utilisation épuisés, même un provenant d'un [plafond de dépenses de passerelle](#spend-limit-reached) qui se réinitialise selon un calendrier. Avant v2.1.239, le watchdog réessayait ceux-ci indéfiniment. Pour les requêtes en mode rapide, voir [Handle rate limits](/docs/fr/fast-mode#handle-rate-limits). Sur v2.1.199 ou ultérieur, il augmente également le nombre de tentatives par défaut pour les autres erreurs transitoires, telles que les erreurs serveur, les délais d'attente et les connexions interrompues, à 300, environ trois heures de backoff, et supprime le plafond de 15 sur `CLAUDE_CODE_MAX_RETRIES` si vous définissez explicitement cette variable. |

439| [`CLAUDE_CODE_OVERLOADED_RETRY_BASE_DELAY_MS`](/docs/fr/env-vars) | 500 | Délai initial en millisecondes du backoff entre les nouvelles tentatives d'une requête que l'API rejette avec une erreur de surcharge `529`. Augmentez-le, jusqu'à 32000, pour répartir les nouvelles tentatives sur une période plus longue lorsque l'API est à pleine capacité. 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. |

439| [`API_TIMEOUT_MS`](/docs/fr/env-vars) | 600000 | Délai d'attente par requête en millisecondes. Augmentez-le pour les réseaux lents ou les proxys. Il plafonne également la durée pendant laquelle Claude Code attend les en-têtes de réponse, décrite dans [No response from API](#no-response-from-api). |440| [`API_TIMEOUT_MS`](/docs/fr/env-vars) | 600000 | Délai d'attente par requête en millisecondes. Augmentez-le pour les réseaux lents ou les proxys. Il plafonne également la durée pendant laquelle Claude Code attend les en-têtes de réponse, décrite dans [No response from API](#no-response-from-api). |

440| [`CLAUDE_CODE_NONSTREAMING_TIMEOUT_RETRIES`](/docs/fr/env-vars) | non défini | Limite du nombre de renvois d'une [requête sans streaming](#streaming-response-ended-before-any-complete-data-was-received) qui expire. Une fois la limite atteinte, la requête échoue. Une réponse de Claude dont la génération dure plus longtemps que le délai d'expiration expire de nouveau à chaque renvoi ; définissez donc un nombre faible tel que `0` pour échouer plus tôt. Chaque tentative sans streaming expire après 300 secondes dans une session locale, ou après `API_TIMEOUT_MS` lorsque vous définissez une valeur positive. Nécessite Claude Code v2.1.285 ou ultérieur. |441| [`CLAUDE_CODE_NONSTREAMING_TIMEOUT_RETRIES`](/docs/fr/env-vars) | non défini | Limite du nombre de renvois d'une [requête sans streaming](#streaming-response-ended-before-any-complete-data-was-received) qui expire. Une fois la limite atteinte, la requête échoue. Une réponse de Claude dont la génération dure plus longtemps que le délai d'expiration expire de nouveau à chaque renvoi ; définissez donc un nombre faible tel que `0` pour échouer plus tôt. Chaque tentative sans streaming expire après 300 secondes dans une session locale, ou après `API_TIMEOUT_MS` lorsque vous définissez une valeur positive. Nécessite Claude Code v2.1.285 ou ultérieur. |

441| [`CLAUDE_STREAM_FIRST_BYTE_TIMEOUT_MS`](/docs/fr/env-vars) | non défini | Délai en millisecondes pour le premier octet de réponse d'une requête en streaming. Nécessite Claude Code v2.1.242 ou ultérieur. Pour savoir comment Claude Code choisit le délai lorsque ceci n'est pas défini, voir [No response from API](#no-response-from-api). |442| [`CLAUDE_STREAM_FIRST_BYTE_TIMEOUT_MS`](/docs/fr/env-vars) | non défini | Délai en millisecondes pour le premier octet de réponse d'une requête en streaming. Nécessite Claude Code v2.1.242 ou ultérieur. Pour savoir comment Claude Code choisit le délai lorsque ceci n'est pas défini, voir [No response from API](#no-response-from-api). |


721You've hit your Sonnet limit · resets 3:45pm722You've hit your Sonnet limit · resets 3:45pm

722```723```

723 724 

724Claude Code bloque les demandes supplémentaires jusqu'à l'heure de réinitialisation indiquée dans le message. Les limites de session et hebdomadaires sont partagées entre tous les modèles, donc changer de modèle ne restaure pas l'accès. Les limites Opus et Sonnet s'appliquent chacune uniquement aux demandes adressées à cette famille de modèles, donc passer à un modèle en dehors de la famille avec `/model` vous permet de continuer à travailler.725Claude Code bloque les requêtes supplémentaires jusqu'à l'heure de réinitialisation indiquée dans le message. Les limites de session et hebdomadaires sont partagées entre tous les modèles, donc changer de modèle ne restaure pas l'accès. Les limites Opus et Sonnet s'appliquent chacune uniquement aux requêtes adressées à cette famille de modèles, donc passer à un modèle en dehors de la famille avec `/model` vous permet de continuer à travailler.

725 726 

726Dans une session interactive connectée avec un abonnement claude.ai, Claude Code peut également attendre dans la session ouverte et continuer la tâche interrompue peu après la réinitialisation. Consultez [Wait for a usage limit to reset](/docs/fr/interactive-mode#wait-for-a-usage-limit-to-reset) pour voir ce que vous voyez, comment démarrer ou annuler une attente, et comment désactiver la continuation automatique. Avant la v2.1.234, Claude Code n'offrait pas cette attente.727Dans une session interactive connectée avec un abonnement claude.ai, Claude Code peut également attendre dans la session ouverte et continuer la tâche interrompue peu après la réinitialisation. Consultez [Wait for a usage limit to reset](/docs/fr/interactive-mode#wait-for-a-usage-limit-to-reset) pour voir ce que vous voyez, comment démarrer ou annuler une attente, et comment désactiver la continuation automatique. Avant la v2.1.234, Claude Code n'offrait pas cette attente.

727 728 

728L'utilisation compte à la fois pour les allocations de session et hebdomadaires. Une seule rafale d'activité intensive, comme un grand fanout de flux de travail, peut épuiser l'allocation hebdomadaire avant que la fenêtre de session ne se réinitialise.729L'utilisation compte à la fois pour les allocations de session et hebdomadaires. Une seule rafale d'activité intensive, comme un grand fanout de workflow, peut épuiser l'allocation hebdomadaire avant que la fenêtre de session ne se réinitialise.

729 730 

730**Ce qu'il faut faire :**731**Ce qu'il faut faire :**

731 732 

732* Attendez l'heure de réinitialisation indiquée dans l'erreur733* Attendez l'heure de réinitialisation indiquée dans l'erreur

733* Dans l'onglet Code de l'[application de bureau](/docs/fr/desktop), la carte de limite de session offre une case à cocher **Auto-continue when limits reset**. La carte de limite hebdomadaire ne l'offre pas. Quand elle est cochée, l'application de bureau réessaie le tour interrompu après la réinitialisation et affiche l'heure de nouvelle tentative sur la carte. La case à cocher de l'application de bureau et le paramètre **Continue automatically at usage limit** de la CLI dans `/config` sont séparés, donc désactivez chacun indépendamment.734* Dans l'onglet Code de l'[application de bureau](/docs/fr/desktop), la carte de limite de session offre une case à cocher **Auto-continue when limits reset**. La carte de limite hebdomadaire ne l'offre pas. Quand elle est cochée, l'application de bureau réessaie le tour interrompu après la réinitialisation et affiche l'heure de nouvelle tentative sur la carte. La case à cocher de l'application de bureau et le paramètre **Continue automatically at usage limit** de la CLI dans `/config` sont séparés, donc désactivez chacun indépendamment.

734* Pour la limite Opus ou Sonnet, exécutez `/model` et basculez vers un modèle en dehors de cette famille pour continuer à travailler. Chaque modèle a son propre cache de prompt, donc la demande suivante relit toute la conversation sans accès au cache ; consultez [Switching models](/docs/fr/prompt-caching#switching-models)735* Pour la limite Opus ou Sonnet, exécutez `/model` et basculez vers un modèle en dehors de cette famille pour continuer à travailler. Chaque modèle a son propre cache de prompt, donc la requête suivante relit toute la conversation sans accès au cache ; consultez [Switching models](/docs/fr/prompt-caching#switching-models)

735* Exécutez `/usage` pour voir vos limites de plan et quand elles se réinitialisent736* Exécutez `/usage` pour voir vos limites de plan et quand elles se réinitialisent

736* Exécutez `/usage-credits` pour acheter une utilisation supplémentaire sur Pro et Max, ou pour la demander à votre administrateur sur Team et Enterprise. Consultez [usage credits for paid plans](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans) pour savoir comment cela est facturé.737* Exécutez `/usage-credits` pour acheter une utilisation supplémentaire sur Pro et Max, ou pour la demander à votre administrateur sur Team et Enterprise. Consultez [usage credits for paid plans](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans) pour savoir comment cela est facturé.

737* Pour mettre à niveau votre plan pour des limites de base plus élevées, consultez [claude.com/pricing](https://claude.com/pricing)738* Pour mettre à niveau votre plan pour des limites de base plus élevées, consultez [claude.com/pricing](https://claude.com/pricing)

738 739 

739Avant qu'une fenêtre ne s'épuise, Claude Code peut vous avertir que vous avez utilisé la plupart de celle-ci, avec un message tel que `You've used 85% of your session limit · resets 3:45pm`. Pour surveiller votre allocation restante en continu, ajoutez les champs `rate_limits` à une [ligne d'état personnalisée](/docs/fr/statusline#rate-limit-usage), ou dans l'application de bureau, cliquez sur l'[anneau d'utilisation](/docs/fr/desktop#check-usage) à côté du sélecteur de modèle.740Avant qu'une fenêtre ne s'épuise, Claude Code peut vous avertir que vous avez utilisé la plupart de celle-ci, avec un message tel que `You've used 85% of your session limit · resets 3:45pm`. Pour surveiller votre allocation restante en continu, ajoutez les champs `rate_limits` à une [barre de statut personnalisée](/docs/fr/statusline#rate-limit-usage), ou dans l'application de bureau, cliquez sur l'[anneau d'utilisation](/docs/fr/desktop#check-usage) à côté du sélecteur de modèle.

740 741 

741<h3 id="usage-credits-required-for-1m-context">742<h3 id="usage-credits-required-for-1m-context">

742 Usage credits required for 1M context743 Usage credits required for 1M context


752 753 

753C'est une vérification de droit, pas un épuisement de quota. Elle se déclenche même quand vos allocations de session et hebdomadaires ont de la capacité restante. Consultez [Extended context](/docs/fr/model-config#extended-context) pour voir quels plans incluent le contexte 1M directement et lesquels nécessitent des crédits d'utilisation.754C'est une vérification de droit, pas un épuisement de quota. Elle se déclenche même quand vos allocations de session et hebdomadaires ont de la capacité restante. Consultez [Extended context](/docs/fr/model-config#extended-context) pour voir quels plans incluent le contexte 1M directement et lesquels nécessitent des crédits d'utilisation.

754 755 

755Quand cette erreur apparaît au milieu d'une conversation parce que le contexte a dépassé 200K tokens, Claude Code compacte automatiquement la conversation en dessous de la limite de contexte standard et maintient la session à cette limite par la suite, donc aucune action n'est nécessaire. Sur les versions antérieures à v2.1.172, l'erreur s'est répétée à chaque demande suivante, y compris `/compact` ; exécutez `/clear` sur ces versions pour récupérer. Les étapes ci-dessous s'appliquent quand vous avez explicitement sélectionné un modèle `[1m]`.756Quand cette erreur apparaît au milieu d'une conversation parce que le contexte a dépassé 200K tokens, Claude Code compacte automatiquement la conversation en dessous de la limite de contexte standard et maintient la session à cette limite par la suite, donc aucune action n'est nécessaire. Sur les versions antérieures à v2.1.172, l'erreur se répétait à chaque requête suivante, y compris `/compact` ; exécutez `/clear` sur ces versions pour récupérer. Les étapes ci-dessous s'appliquent quand vous avez explicitement sélectionné un modèle `[1m]`.

756 757 

757**Ce qu'il faut faire :**758**Ce qu'il faut faire :**

758 759 


767 The prompt to confirm went unanswered768 The prompt to confirm went unanswered

768</h3>769</h3>

769 770 

770Si votre compte nécessite le [consentement des crédits d'utilisation Fable](/docs/fr/model-config#fable-and-usage-credits), Claude Code vous demande de confirmer avant qu'une demande Fable ne facture les crédits d'utilisation. Quand l'invite de consentement se ferme sans que personne ne la réponde, Claude Code termine le tour avec l'un de ces messages :771Si votre compte nécessite le [consentement des crédits d'utilisation Fable](/docs/fr/model-config#fable-and-usage-credits), Claude Code vous demande de confirmer avant qu'une requête Fable ne facture les crédits d'utilisation. Quand l'invite de consentement se ferme sans que personne n'y réponde, Claude Code termine le tour avec l'un de ces messages :

771 772 

772```text theme={null}773```text theme={null}

773Fable limit reached · continuing on Fable 5.1 uses usage credits, and the prompt to confirm went unanswered — nothing was sent · answer it where this session is running, or /model to change774Fable limit reached · continuing on Fable 5.1 uses usage credits, and the prompt to confirm went unanswered — nothing was sent · answer it where this session is running, or /model to change

774Fable 5.1 now uses usage credits · the prompt to confirm went unanswered — nothing was sent · answer it where this session is running, or /model to change775Fable 5.1 now uses usage credits · the prompt to confirm went unanswered — nothing was sent · answer it where this session is running, or /model to change

775```776```

776 777 

777Les messages nomment le modèle Fable de la session, donc sur Fable 5, ils lisent `continuing on Fable 5` et `Fable 5 now uses usage credits`. Avant v2.1.257, le premier message commençait par `Fable 5 limit reached`.778Les messages nomment le modèle Fable de la session, donc sur Fable 5, ils indiquent `continuing on Fable 5` et `Fable 5 now uses usage credits`. Avant v2.1.257, le premier message commençait par `Fable 5 limit reached`.

778 779 

779Cela se produit dans les sessions [Remote Control](/docs/fr/remote-control), les [sessions en arrière-plan](/docs/fr/agent-view), les sessions de coéquipiers [agent team](/docs/fr/agent-teams), et les sessions qu'une autre application héberge via l'Agent SDK. Pour savoir quand Claude Code ferme l'invite, consultez [Fable and usage credits](/docs/fr/model-config#fable-and-usage-credits).780Cela se produit dans les sessions [Remote Control](/docs/fr/remote-control), les [sessions en arrière-plan](/docs/fr/agent-view), les sessions de coéquipiers d'une [équipe d'agents](/docs/fr/agent-teams), et les sessions qu'une autre application héberge via l'Agent SDK. Pour savoir quand Claude Code ferme l'invite, consultez [Fable and usage credits](/docs/fr/model-config#fable-and-usage-credits).

780 781 

781**Ce qu'il faut faire :**782**Ce qu'il faut faire :**

782 783 

783* Où la session s'exécute, au terminal ou dans l'application qui l'héberge, envoyez une autre invite et répondez à l'invite de consentement quand elle réapparaît. Pour une session en arrière-plan, attachez-vous d'abord à partir de la [vue des agents](/docs/fr/agent-view). Renvoyer depuis un client Remote Control affiche ce message à nouveau, car le client ne peut pas afficher l'invite.784* Où la session s'exécute, au terminal ou dans l'application qui l'héberge, envoyez un autre prompt et répondez à l'invite de consentement quand elle réapparaît. Pour une session en arrière-plan, attachez-vous d'abord à partir de la [vue des agents](/docs/fr/agent-view). Renvoyer depuis un client Remote Control affiche ce message à nouveau, car le client ne peut pas afficher l'invite.

784* Exécutez `/model` pour basculer vers un modèle qui ne facture pas les crédits d'utilisation785* Exécutez `/model` pour basculer vers un modèle qui ne facture pas les crédits d'utilisation

785* Pour vous donner plus de temps, définissez [`dialogExpiry`](/docs/fr/settings-reference#dialogexpiry) sur une valeur plus longue ou `"never"`786* Pour vous donner plus de temps, définissez [`dialogExpiry`](/docs/fr/settings-reference#dialogexpiry) sur une valeur plus longue ou `"never"`

786 787 


819 820 

820**Ce qu'il faut faire :**821**Ce qu'il faut faire :**

821 822 

822* Exécutez `/status` et confirmez que les identifiants actifs sont ceux que vous attendez. Un `ANTHROPIC_API_KEY` égaré dans votre environnement peut acheminer les demandes via une clé de niveau inférieur au lieu de votre abonnement.823* Exécutez `/status` et confirmez que les identifiants actifs sont ceux que vous attendez. Un `ANTHROPIC_API_KEY` égaré dans votre environnement peut acheminer les requêtes via une clé de niveau inférieur au lieu de votre abonnement.

823* Vérifiez votre console de fournisseur pour les limites actives et demandez un niveau supérieur si nécessaire824* Vérifiez votre console de fournisseur pour les limites actives et demandez un niveau supérieur si nécessaire

824* Pour les clés API Anthropic, consultez la [référence des limites de débit](https://platform.claude.com/docs/en/api/rate-limits) pour savoir comment fonctionnent les niveaux et comment définir des plafonds par espace de travail825* Pour les clés API Anthropic, consultez la [référence des limites de débit](https://platform.claude.com/docs/en/api/rate-limits) pour savoir comment fonctionnent les niveaux et comment définir des plafonds par espace de travail

825* Réduisez la concurrence : abaissez [`CLAUDE_CODE_MAX_TOOL_USE_CONCURRENCY`](/docs/fr/env-vars), évitez d'exécuter de nombreux sous-agents parallèles, ou basculez vers un modèle plus petit avec `/model` pour les exécutions scriptées à haut volume826* Réduisez la concurrence : abaissez [`CLAUDE_CODE_MAX_TOOL_USE_CONCURRENCY`](/docs/fr/env-vars), évitez d'exécuter de nombreux sous-agents parallèles, ou basculez vers un modèle plus petit avec `/model` pour les exécutions scriptées à haut volume


828 You've hit your monthly spend limit829 You've hit your monthly spend limit

829</h3>830</h3>

830 831 

831L'utilisation incluse de votre plan ne peut pas couvrir cette demande, et les [crédits d'utilisation](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans) qui paieraient autrement pour cela ont atteint une limite de dépenses. Cela se produit quand l'une des fenêtres d'utilisation de votre plan s'est épuisée, ou quand la demande est une demande que seuls les crédits d'utilisation paient, comme une demande à un modèle qui [facture aux crédits d'utilisation](/docs/fr/model-config#fable-and-usage-credits). Le message nomme la limite qui vous a bloqué. Le texte après le `·` indique comment augmenter cette limite, et varie selon votre plan et si vous gérez la facturation :832L'utilisation incluse de votre plan ne peut pas couvrir cette requête, et les [crédits d'utilisation](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans) qui paieraient autrement pour cela ont atteint une limite de dépenses. Cela se produit quand l'une des fenêtres d'utilisation de votre plan s'est épuisée, ou quand la requête est une requête que seuls les crédits d'utilisation paient, comme une requête à un modèle qui [facture aux crédits d'utilisation](/docs/fr/model-config#fable-and-usage-credits). Le message nomme la limite qui vous a bloqué. Le texte après le `·` indique comment augmenter cette limite, et varie selon votre plan et si vous gérez la facturation :

832 833 

833```text theme={null}834```text theme={null}

834You've hit your monthly spend limit · raise it at claude.ai/settings/usage835You've hit your monthly spend limit · raise it at https://claude.ai/settings/usage?from=cc_cli_limit_message

835You've hit your individual spend limit · ask your admin for a higher limit836You've hit your individual spend limit · ask your admin for a higher limit

836You've hit your org's monthly spend limit · visit claude.ai/admin-settings/usage to raise it837You've hit your org's monthly spend limit · visit https://claude.ai/admin-settings/usage to raise it

837You've hit your team's shared budget · ask your admin to raise it at claude.ai/admin-settings/usage838You've hit your team's shared budget · ask your admin to raise it at https://claude.ai/admin-settings/usage

838You've hit your channel's monthly spend limit · an org owner or channel manager can raise it in the channel's Claude settings839You've hit your channel's monthly spend limit · an org owner or channel manager can raise it in the channel's Claude settings

839```840```

840 841 


842 843 

843Quand l'une des fenêtres de votre plan est ce qui s'est épuisé, le message indique également quand cette fenêtre se réinitialise, par exemple `· your session limit resets 3:45pm`, et l'accès revient alors sans que personne n'augmente la limite. Sur les organisations avec facturation basée sur l'utilisation, le message dit `usage limit` à la place de `spend limit`, comme dans `You've hit your individual usage limit`.844Quand l'une des fenêtres de votre plan est ce qui s'est épuisé, le message indique également quand cette fenêtre se réinitialise, par exemple `· your session limit resets 3:45pm`, et l'accès revient alors sans que personne n'augmente la limite. Sur les organisations avec facturation basée sur l'utilisation, le message dit `usage limit` à la place de `spend limit`, comme dans `You've hit your individual usage limit`.

844 845 

845Avant v2.1.239, le message ne nommait pas l'heure de réinitialisation de la fenêtre du plan. Avant v2.1.268, le budget groupé d'un groupe produisait le message `individual spend limit` au lieu de `team's shared budget`.

846 

847Si vous vous connectez via une passerelle d'applications Claude et voyez `spend limit reached` en minuscules, c'est le plafond de votre opérateur de passerelle ; consultez [Spend limit reached](#spend-limit-reached).846Si vous vous connectez via une passerelle d'applications Claude et voyez `spend limit reached` en minuscules, c'est le plafond de votre opérateur de passerelle ; consultez [Spend limit reached](#spend-limit-reached).

848 847 

849**Ce qu'il faut faire :**848**Ce qu'il faut faire :**


858 Spend limit reached857 Spend limit reached

859</h3>858</h3>

860 859 

861Vous vous connectez via une [passerelle d'applications Claude](/docs/fr/claude-apps-gateway) et avez dépassé un [plafond de dépenses](/docs/fr/claude-apps-gateway-spend-limits) que votre opérateur de passerelle a défini. La passerelle bloque vos demandes jusqu'à ce que la période nommée se réinitialise ou que l'opérateur augmente le plafond. Elle marque chaque réponse `429` bloquée `x-should-retry: false`, donc Claude Code affiche ce message sans réessayer.860Vous vous connectez via une [passerelle d'applications Claude](/docs/fr/claude-apps-gateway) et avez dépassé un [plafond de dépenses](/docs/fr/claude-apps-gateway-spend-limits) que votre opérateur de passerelle a défini. La passerelle bloque vos requêtes jusqu'à ce que la période nommée se réinitialise ou que l'opérateur augmente le plafond. Elle marque chaque réponse `429` bloquée `x-should-retry: false`, donc Claude Code affiche ce message sans réessayer.

862 861 

863```text theme={null}862```text theme={null}

864spend limit reached (daily; resets 2026-08-09 00:00 UTC)863spend limit reached (daily; resets 2026-08-09 00:00 UTC)

865```864```

866 865 

867Le message nomme la période du plafond et l'heure de réinitialisation, et quand l'opérateur a configuré un `blocked_message`, ses instructions le suivent. Avant v2.1.225, le message lisait seulement `spend limit reached` ; une passerelle sur une version plus ancienne envoie toujours cette forme plus courte.866Le message nomme la période du plafond et l'heure de réinitialisation, et quand l'opérateur a configuré un `blocked_message`, ses instructions le suivent. Avant v2.1.225, le message indiquait seulement `spend limit reached` ; une passerelle sur une version plus ancienne envoie toujours cette forme plus courte.

868 867 

869**Ce qu'il faut faire :**868**Ce qu'il faut faire :**

870 869 

871* Attendez l'heure de réinitialisation que le message nomme, ou suivez les instructions de l'opérateur si le message les porte870* Attendez l'heure de réinitialisation que le message nomme, ou suivez les instructions de l'opérateur si le message les porte

872* Demandez à votre opérateur de passerelle d'augmenter le plafond si vous le dépassez régulièrement871* Demandez à votre opérateur de passerelle d'augmenter le plafond si vous le dépassez régulièrement

873 872 

874Un message connexe, `spend limit unavailable`, signifie que la passerelle n'a pas pu lire ses enregistrements de dépenses et a bloqué la demande par précaution plutôt que sur votre plafond. Cela s'efface généralement de lui-même ; si cela persiste, informez votre opérateur de passerelle.873Un message connexe, `spend limit unavailable`, signifie que la passerelle n'a pas pu lire ses enregistrements de dépenses et a bloqué la requête par précaution plutôt que sur votre plafond. Cela s'efface généralement de lui-même ; si cela persiste, informez votre opérateur de passerelle.

875 874 

876<h3 id="credit-balance-is-too-low">875<h3 id="credit-balance-is-too-low">

877 Credit balance is too low876 Credit balance is too low

878</h3>877</h3>

879 878 

880Votre organisation Console a épuisé ses crédits prépayés, ou Claude Code envoie vos demandes avec une clé API Console quand vous aviez l'intention d'utiliser votre abonnement.879Votre organisation Console a épuisé ses crédits prépayés, ou Claude Code envoie vos requêtes avec une clé API Console quand vous aviez l'intention d'utiliser votre abonnement.

881 880 

882```text theme={null}881```text theme={null}

883Credit balance is too low882Credit balance is too low


885 884 

886**Ce qu'il faut faire :**885**Ce qu'il faut faire :**

887 886 

888* Si vous avez un plan Pro, Max, Team ou Enterprise et voyez ceci, exécutez `/status` et vérifiez la ligne `API key`. Un `ANTHROPIC_API_KEY` approuvé dans votre environnement achemine les demandes via cette clé au lieu de votre abonnement. Supprimez-le dans le shell actuel et retirez-le de votre profil de shell, puis relancez `claude`. Exécutez `/login` si vous ne vous êtes pas encore connecté avec votre abonnement.887* Si vous avez un plan Pro, Max, Team ou Enterprise et voyez ceci, exécutez `/status` et vérifiez la ligne `API key`. Un `ANTHROPIC_API_KEY` approuvé dans votre environnement achemine les requêtes via cette clé au lieu de votre abonnement. Supprimez-le dans le shell actuel et retirez-le de votre profil de shell, puis relancez `claude`. Exécutez `/login` si vous ne vous êtes pas encore connecté avec votre abonnement.

889* Ajoutez des crédits à [platform.claude.com/settings/billing](https://platform.claude.com/settings/billing), et envisagez d'activer le rechargement automatique là-bas pour que le solde se remplisse avant d'atteindre zéro888* Ajoutez des crédits à [platform.claude.com/settings/billing](https://platform.claude.com/settings/billing), et envisagez d'activer le rechargement automatique là-bas pour que le solde se remplisse avant d'atteindre zéro

890* Définissez des plafonds de dépenses par espace de travail dans la Console pour empêcher un seul projet de drainer le solde de l'organisation. Consultez [Manage costs effectively](/docs/fr/costs).889* Définissez des plafonds de dépenses par espace de travail dans la Console pour empêcher un seul projet de drainer le solde de l'organisation. Consultez [Manage costs effectively](/docs/fr/costs).

891 890 


899Could not update your spend limit: <reason from the server>898Could not update your spend limit: <reason from the server>

900```899```

901 900 

902Quand le serveur explique le rejet, le message se termine par cette raison, et réessayer la même valeur échoue à nouveau. Quand l'échec n'a pas de raison fournie par le serveur, comme une connexion interrompue, le message lit `Could not update your spend limit. Press Enter to retry.` et réessayer peut réussir. Avant v2.1.216, Claude Code affichait la forme générique pour chaque échec.901Quand le serveur explique le rejet, le message se termine par cette raison, et réessayer la même valeur échoue à nouveau. Quand l'échec n'a pas de raison fournie par le serveur, comme une connexion interrompue, le message indique `Could not update your spend limit. Press Enter to retry.` et réessayer peut réussir. Avant v2.1.216, Claude Code affichait la forme générique pour chaque échec.

903 902 

904**Ce qu'il faut faire :**903**Ce qu'il faut faire :**

905 904 


2861 2860 

2862Si le message inclut la ligne `` Details: `[reasoning_extraction]` ``, voir [Les mesures de protection ont signalé une demande portant sur le raisonnement de Claude](#safeguards-flagged-a-request-for-claudes-reasoning).2861Si le message inclut la ligne `` Details: `[reasoning_extraction]` ``, voir [Les mesures de protection ont signalé une demande portant sur le raisonnement de Claude](#safeguards-flagged-a-request-for-claudes-reasoning).

2863 2862 

2864Le message renvoie vers le [Programme de vérification de cybersécurité](https://support.claude.com/en/articles/14604842-real-time-cyber-safeguards-on-claude), qui accorde l'accès pour le travail de cybersécurité légitime. Sur Opus 5.5 et Sonnet 5.5, le message s'ouvre avec `<model>'s safeguards flagged this session` à la place. Quand la catégorie signalée a un modèle de secours disponible, Claude Code [bascule de modèle](/docs/fr/model-config#automatic-model-fallback) plutôt que d'afficher cette erreur.2863Ce message renvoie vers le [Programme de vérification de cybersécurité](https://support.claude.com/en/articles/14604842-real-time-cyber-safeguards-on-claude), qui accorde l'accès pour le travail de cybersécurité légitime. Les modèles dotés du [basculement automatique vers un modèle de secours](/docs/fr/model-config#automatic-model-fallback) affichent un message différent, sans ce lien ; sur Opus 5.5 et Sonnet 5.5, il s'ouvre avec `<model>'s safeguards flagged this session`. Cette section explique aussi quand Claude Code change de modèle à la place.

2865 2864 

2866Sur [Amazon Bedrock](/docs/fr/amazon-bedrock), [la plateforme d'agent de Google Cloud](/docs/fr/google-vertex-ai) et [Microsoft Foundry](/docs/fr/microsoft-foundry), un signalement de cybersécurité produit le message de [refus de la politique d'utilisation](#usage-policy-refusal) à la place.2865Sur [Amazon Bedrock](/docs/fr/amazon-bedrock), [la plateforme d'agent de Google Cloud](/docs/fr/google-vertex-ai) et [Microsoft Foundry](/docs/fr/microsoft-foundry), un signalement de cybersécurité produit le message de [refus de la politique d'utilisation](#usage-policy-refusal) à la place.

2867 2866 


4824This 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.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.

4825```4824```

4826 4825 

4827L'ouverture de la même ligne de session dans la [vue agent](/docs/fr/agent-view) affiche `Press enter again to restart this session fresh` sous la liste à la place, et une deuxième `Entrée` sur la ligne redémarre la session avec une conversation vide. Avant v2.1.212, l'ouverture de la ligne affichait le message de refus sans aucun moyen de redémarrer à partir de la vue agent. Avant v2.1.211, l'ouverture de la session arrêtée démarrait silencieusement cette conversation vierge et pouvait réexécuter le prompt original de la session.4826L'ouverture de la même ligne de session dans la [vue agent](/docs/fr/agent-view) affiche `Press enter again to restart this session fresh` sous la liste à la place, et une deuxième `Entrée` sur la ligne redémarre la session avec une conversation vide.

4828 4827 

4829**Ce qu'il faut faire :**4828**Ce qu'il faut faire :**

4830 4829 


4846* **`running in another terminal`** : un terminal détient la conversation, par exemple celui où vous l'avez reprise avec `claude --resume` ou `/resume`. La ligne affiche également `Open in a terminal`.4845* **`running in another terminal`** : un terminal détient la conversation, par exemple celui où vous l'avez reprise avec `claude --resume` ou `/resume`. La ligne affiche également `Open in a terminal`.

4847* **`already open in another running Claude session`** : un autre processus Claude Code non interactif la détient, par exemple un processus de [session en arrière-plan](/docs/fr/agent-view#the-supervisor-process) pour la même conversation qui n'a pas encore quitté.4846* **`already open in another running Claude session`** : un autre processus Claude Code non interactif la détient, par exemple un processus de [session en arrière-plan](/docs/fr/agent-view#the-supervisor-process) pour la même conversation qui n'a pas encore quitté.

4848 4847 

4849Claude Code enregistre une réponse que vous avez tapée lors de l'ouverture de la ligne et l'envoie comme le prompt suivant de la session lorsque la session démarre ensuite.

4850 

4851**Ce qu'il faut faire :**4848**Ce qu'il faut faire :**

4852 4849 

4853* Continuez la conversation dans le processus qui la détient, ou quittez ce processus et ouvrez la ligne à nouveau4850* Continuez la conversation dans le processus qui la détient, ou quittez ce processus et ouvrez la ligne à nouveau

Details

92 <td>✗</td>92 <td>✗</td>

93 <td>✓</td>93 <td>✓</td>

94 <td>Voir note <sup><a href="#fn1">1</a></sup></td>94 <td>Voir note <sup><a href="#fn1">1</a></sup></td>

95 <td>✓ ([déploiements hébergés sur Anthropic](https://platform.claude.com/docs/en/build-with-claude/claude-in-microsoft-foundry#hosting-options))</td>95 <td>✓</td>

96 </tr>96 </tr>

97 97 

98 <tr>98 <tr>


200 <tr>200 <tr>

201 <td>[Paramètres gérés par le serveur](/docs/fr/server-managed-settings)</td>201 <td>[Paramètres gérés par le serveur](/docs/fr/server-managed-settings)</td>

202 <td>✓ (Team et Enterprise)</td>202 <td>✓ (Team et Enterprise)</td>

203 <td>✓ (Team et Enterprise)</td>203 <td>Voir [Disponibilité par plateforme](/docs/fr/server-managed-settings#platform-availability)</td>

204 <td>✗</td>204 <td>✗</td>

205 <td>✗</td>205 <td>✗</td>

206 <td>✗</td>206 <td>✗</td>


283 **Support partiel :**283 **Support partiel :**

284 284 

285 * [Desktop](/docs/fr/desktop) : uniquement via [Claude Desktop on 3P](https://claude.com/docs/third-party/claude-desktop/overview)285 * [Desktop](/docs/fr/desktop) : uniquement via [Claude Desktop on 3P](https://claude.com/docs/third-party/claude-desktop/overview)

286 * [Web search](/docs/fr/tools-reference#websearch-tool-behavior) : [déploiements hébergés sur Anthropic](https://platform.claude.com/docs/en/build-with-claude/claude-in-microsoft-foundry#hosting-options) uniquement

287 * [Auto mode](/docs/fr/auto-mode-config) : Sonnet 5 ou version ultérieure, Opus 4.7 ou version ultérieure, Haiku 5.5 et modèles Fable uniquement286 * [Auto mode](/docs/fr/auto-mode-config) : Sonnet 5 ou version ultérieure, Opus 4.7 ou version ultérieure, Haiku 5.5 et modèles Fable uniquement

288 * [Messagerie inter-sessions](/docs/fr/cross-session-messaging) : entre vos sessions sur cette machine uniquement <sup><a href="#fn5">5</a></sup>287 * [Messagerie inter-sessions](/docs/fr/cross-session-messaging) : entre vos sessions sur cette machine uniquement <sup><a href="#fn5">5</a></sup>

289 * [Rétention zéro donnée](/docs/fr/zero-data-retention) : soumis à votre accord Azure288 * [Rétention zéro donnée](/docs/fr/zero-data-retention) : soumis à votre accord Azure


294 <Tab title="Console Anthropic">293 <Tab title="Console Anthropic">

295 **Non disponible :** toutes les [fonctionnalités qui nécessitent un abonnement Claude](#features-that-require-a-claude-subscription).294 **Non disponible :** toutes les [fonctionnalités qui nécessitent un abonnement Claude](#features-that-require-a-claude-subscription).

296 295 

297 Tout ce qui se trouve dans [Capacités CLI qui varient selon le fournisseur](#cli-capabilities-that-vary-by-provider) est disponible, sauf que [fast mode](/docs/fr/fast-mode) nécessite un [accès provisionné](/docs/fr/fast-mode#enable-fast-mode-for-your-organization). Les [paramètres gérés par le serveur](/docs/fr/server-managed-settings) sont également disponibles lorsque votre clé API appartient à une organisation Team ou Enterprise.296 Tout ce qui se trouve dans [Capacités CLI qui varient selon le fournisseur](#cli-capabilities-that-vary-by-provider) est disponible, sauf que [fast mode](/docs/fr/fast-mode) nécessite un [accès provisionné](/docs/fr/fast-mode#enable-fast-mode-for-your-organization). Les [paramètres gérés par le serveur](/docs/fr/server-managed-settings) que vous configurez dans une organisation claude.ai Team ou Enterprise n'atteignent pas une session qui s'authentifie avec une clé API Console. Consultez [Disponibilité par plateforme](/docs/fr/server-managed-settings#platform-availability) pour savoir comment couvrir ces sessions.

298 </Tab>297 </Tab>

299</Tabs>298</Tabs>

300 299 

fullscreen.md +1 −1

Details

360 360 

361Si vous rencontrez un problème, exécutez `/feedback` dans Claude Code pour le signaler, ou ouvrez un problème sur le [référentiel GitHub claude-code](https://github.com/anthropics/claude-code/issues). Incluez le nom et la version de votre émulateur de terminal.361Si vous rencontrez un problème, exécutez `/feedback` dans Claude Code pour le signaler, ou ouvrez un problème sur le [référentiel GitHub claude-code](https://github.com/anthropics/claude-code/issues). Incluez le nom et la version de votre émulateur de terminal.

362 362 

363Pour désactiver le rendu en plein écran, exécutez `/tui default`, ou désactivez `CLAUDE_CODE_NO_FLICKER` si vous l'avez activé de cette façon. Lorsque vous revenez avec `/tui default`, Claude Code peut d'abord afficher une invite de rétroaction facultative vous demandant ce qui vous a fait changer. Tapez une raison et appuyez sur `Entrée` pour l'envoyer, ou appuyez sur `Échap` pour ignorer. L'interface de ligne de commande relance le rendu classique de toute façon. Pour forcer le rendu classique indépendamment du paramètre `tui` enregistré, définissez `CLAUDE_CODE_DISABLE_ALTERNATE_SCREEN=1`. Le rendu classique conserve la conversation dans le défilement natif de votre terminal afin que `Cmd+f` et le mode copie tmux fonctionnent comme d'habitude.363Pour désactiver le rendu en plein écran, exécutez `/tui default`, ou supprimez `CLAUDE_CODE_NO_FLICKER` si vous l'avez activé de cette façon. Lorsque vous revenez avec `/tui default`, Claude Code peut d'abord afficher une invite de rétroaction facultative vous demandant ce qui vous a fait changer. Tapez une raison et appuyez sur `Entrée` pour l'envoyer, ou appuyez sur `Échap` pour ignorer. L'interface de ligne de commande relance le rendu classique de toute façon. Pour forcer le rendu classique indépendamment du paramètre `tui` enregistré, définissez `CLAUDE_CODE_DISABLE_ALTERNATE_SCREEN=1`. Le rendu classique conserve la conversation dans le défilement natif de votre terminal afin que `Cmd+f` et le mode copie tmux fonctionnent comme d'habitude.

364 364 

365Les sessions en arrière-plan ouvertes à partir de la [vue agent](/docs/fr/agent-view) ou `claude attach` utilisent toujours le rendu en plein écran. Le terminal d'attachement entre dans le tampon d'écran alternatif pour afficher la session, et le rendu classique n'a pas de défilement ou de gestion de la souris là-bas, donc le paramètre `tui` et `CLAUDE_CODE_DISABLE_ALTERNATE_SCREEN` ne s'y appliquent pas.365Les sessions en arrière-plan ouvertes à partir de la [vue agent](/docs/fr/agent-view) ou `claude attach` utilisent toujours le rendu en plein écran. Le terminal d'attachement entre dans le tampon d'écran alternatif pour afficher la session, et le rendu classique n'a pas de défilement ou de gestion de la souris là-bas, donc le paramètre `tui` et `CLAUDE_CODE_DISABLE_ALTERNATE_SCREEN` ne s'y appliquent pas.

Details

140| Permission | Accès |140| Permission | Accès |

141| - | - |141| - | - |

142| Actions | Lecture et écriture |142| Actions | Lecture et écriture |

143| Administration | Lecture |

143| Checks | Lecture et écriture |144| Checks | Lecture et écriture |

144| Contents | Lecture et écriture |145| Contents | Lecture et écriture |

145| Discussions | Lecture et écriture |146| Discussions | Lecture et écriture |

146| Issues | Lecture et écriture |147| Issues | Lecture et écriture |

147| Members | Lecture |148| Members | Lecture |

149| Merge queues | Lecture |

148| Metadata | Lecture |150| Metadata | Lecture |

149| Pull requests | Lecture et écriture |151| Pull requests | Lecture et écriture |

150| Repository hooks | Lecture et écriture |152| Repository hooks | Lecture et écriture |

glossary.md +1 −1

Details

294 Output style294 Output style

295</h3>295</h3>

296 296 

297Une configuration qui modifie les instructions que Claude Code donne à Claude, pour définir le comportement, le ton ou le format de la réponse. Contrairement à [CLAUDE.md](#claude-md), qui ajoute le contexte du projet aux côtés des instructions par défaut de Claude Code, un output style personnalisé peut remplacer les instructions d'ingénierie logicielle par défaut.297Une configuration qui modifie les instructions que Claude Code donne à Claude, pour définir le comportement, le ton ou le format de la réponse. Contrairement à [CLAUDE.md](#claude-md), qui ajoute le contexte du projet aux côtés des instructions par défaut de Claude Code, un style de sortie personnalisé ajoute ses propres instructions et peut omettre les instructions d'ingénierie logicielle par défaut.

298 298 

299En savoir plus : [Output styles](/docs/fr/output-styles)299En savoir plus : [Output styles](/docs/fr/output-styles)

300 300 

Details

342 Fenêtre de contexte de 1M de jetons342 Fenêtre de contexte de 1M de jetons

343</h2>343</h2>

344 344 

345Claude Sonnet 5, Opus 4.6 et versions ultérieures, ainsi que Sonnet 4.6, prennent en charge la [fenêtre de contexte de 1M de jetons](https://platform.claude.com/docs/fr/build-with-claude/context-windows#context-window-sizes-by-model) sur la plateforme Agent de Google Cloud. Sonnet 5 s'exécute toujours avec la fenêtre 1M, sans variante `[1m]` à sélectionner. Pour les autres modèles, Claude Code active automatiquement la fenêtre de contexte étendue lorsque vous sélectionnez une variante de modèle 1M.345Les modèles Fable, Sonnet 5 et versions ultérieures, ainsi qu'Opus 4.7 et versions ultérieures, s'exécutent par défaut avec la [fenêtre de contexte de 1M de tokens](https://platform.claude.com/docs/fr/build-with-claude/context-windows#context-window-sizes-by-model) sur la plateforme Agent de Google Cloud, sans qu'un suffixe `[1m]` soit nécessaire. Pour conserver plutôt une fenêtre de 200K, définissez [`CLAUDE_CODE_DISABLE_1M_CONTEXT=1`](/docs/fr/model-config#turn-off-1m-context).

346 346 

347L'[assistant de configuration](#sign-in-with-agent-platform) offre une option de contexte 1M lorsqu'il épingle les modèles. Pour l'activer pour un modèle épinglé manuellement à la place, ajoutez `[1m]` à l'ID du modèle. Consultez [Épingler les modèles pour les déploiements tiers](/docs/fr/model-config#pin-models-for-third-party-deployments) pour plus de détails, notamment comment utiliser la fenêtre 1M sans modifier l'épingle.347Opus 4.6 et Sonnet 4.6 accèdent à la fenêtre 1M lorsque vous sélectionnez leur variante `[1m]`. L'[assistant de configuration](#sign-in-with-agent-platform) offre une option de contexte 1M lorsqu'il épingle les modèles. Pour l'activer pour un modèle épinglé manuellement à la place, ajoutez `[1m]` à l'ID du modèle. Consultez [Épingler les modèles pour les déploiements tiers](/docs/fr/model-config#pin-models-for-third-party-deployments) pour plus de détails, notamment comment utiliser la fenêtre 1M sans modifier l'épingle.

348 

349Avant la v2.1.287, les modèles Fable ainsi qu'Opus 4.7 et versions ultérieures s'exécutaient par défaut avec une fenêtre de 200K sur la plateforme Agent de Google Cloud et accédaient à la fenêtre 1M via un suffixe `[1m]`.

348 350 

349<h2 id="troubleshooting">351<h2 id="troubleshooting">

350 Résolution des problèmes352 Résolution des problèmes

headless.md +9 −4

Details

78 Tâches en arrière-plan à la sortie78 Tâches en arrière-plan à la sortie

79</h3>79</h3>

80 80 

81Si Claude démarre une [tâche Bash en arrière-plan](/docs/fr/tools-reference#bash-tool-behavior) lors d'une exécution `claude -p`, par exemple un serveur de développement ou une compilation en surveillance, ce shell est terminé environ cinq secondes après que Claude ait retourné son résultat final et que stdin ait été fermé. La période de grâce permet à une tâche qui se termine juste après le résultat de livrer quand même sa sortie.81Une fois que Claude a terminé son tour et que stdin a été fermé, une exécution `claude -p` peut rester ouverte pour attendre le travail en arrière-plan que Claude a démarré.

82 82 

83Si Claude démarre un [sous-agent](/docs/fr/sub-agents) en arrière-plan ou un workflow, `claude -p` reste plutôt ouvert jusqu'à ce que ce travail se termine, car son résultat fait partie de la sortie finale.83Sauf si une commande en arrière-plan démarrée par la conversation principale s'exécute toujours, Claude Code arrête par défaut tout ce qui s'exécute encore après 10 minutes d'attente continue inactive et abandonne son résultat partiel. Pour modifier la limite de 10 minutes, définissez [`CLAUDE_CODE_PRINT_BG_WAIT_CEILING_MS`](/docs/fr/env-vars), ou définissez-la sur `0` pour attendre sans limite.

84 84 

85Par défaut, l'attente se termine après 10 minutes d'attente continue inactive, donc un sous-agent ou un workflow bloqué ne peut pas maintenir le processus ouvert indéfiniment. À ce stade, Claude Code arrête tout ce qui s'exécute toujours et abandonne son résultat partiel. Pour modifier la limite, définissez [`CLAUDE_CODE_PRINT_BG_WAIT_CEILING_MS`](/docs/fr/env-vars), ou définissez-le sur `0` pour attendre sans limite.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 

87Si Claude démarre une montre [Monitor](/docs/fr/tools-reference#monitor-tool) lors d'une exécution `claude -p`, Claude Code attend la montre jusqu'à ce qu'elle expire ou que le plafond de dix minutes termine l'attente, selon ce qui arrive en premier. Pendant qu'il attend, Claude continue à répondre à ce que la montre signale. Par défaut, une montre expire cinq minutes après que Claude la démarre.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.

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.

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 

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.

88 93 

89<h3 id="stop-a-run-with-sigterm">94<h3 id="stop-a-run-with-sigterm">

90 Arrêter une exécution avec SIGTERM95 Arrêter une exécution avec SIGTERM

hooks.md +521 −352

Details

777| `cwd` | Répertoire de travail courant lorsque le hook est invoqué |777| `cwd` | Répertoire de travail courant lorsque le hook est invoqué |

778| `scratchpad_dir` | Chemin vers le [répertoire scratchpad](/docs/fr/claude-directory#session-scratchpad-directory) de la session, où Claude conserve les fichiers de travail temporaires. Absent lorsque la session n'a pas de scratchpad ou que le répertoire temporaire n'est pas disponible. Nécessite Claude Code v2.1.257 ou ultérieur |778| `scratchpad_dir` | Chemin vers le [répertoire scratchpad](/docs/fr/claude-directory#session-scratchpad-directory) de la session, où Claude conserve les fichiers de travail temporaires. Absent lorsque la session n'a pas de scratchpad ou que le répertoire temporaire n'est pas disponible. Nécessite Claude Code v2.1.257 ou ultérieur |

779| `permission_mode` | [Mode de permission](/docs/fr/permissions#permission-modes) actuel : `"default"`, `"plan"`, `"acceptEdits"`, `"auto"`, `"dontAsk"` ou `"bypassPermissions"`. Le mode étiqueté **Manuel** arrive comme `"default"`, jamais comme `"manual"`, afin que les scripts qui correspondent à `"default"` continuent de fonctionner. Tous les événements ne reçoivent pas ce champ. Consultez l'exemple JSON de chaque [événement de hook](#hook-events) |779| `permission_mode` | [Mode de permission](/docs/fr/permissions#permission-modes) actuel : `"default"`, `"plan"`, `"acceptEdits"`, `"auto"`, `"dontAsk"` ou `"bypassPermissions"`. Le mode étiqueté **Manuel** arrive comme `"default"`, jamais comme `"manual"`, afin que les scripts qui correspondent à `"default"` continuent de fonctionner. Tous les événements ne reçoivent pas ce champ. Consultez l'exemple JSON de chaque [événement de hook](#hook-events) |

780| `effort` | Objet avec un champ `level` contenant le [niveau d'effort](/docs/fr/model-config#adjust-effort-level) en vigueur lorsque le hook s'exécute : `"low"`, `"medium"`, `"high"`, `"xhigh"` ou `"max"`. Si vous définissez un niveau que le modèle actif ne supporte pas, `level` rapporte le niveau que Claude Code a exécuté à la place ; [Ajuster le niveau d'effort](/docs/fr/model-config#adjust-effort-level) explique comment il choisit ce niveau. L'objet correspond au champ `effort` de la [ligne de statut](/docs/fr/statusline#available-data). Présent pour les événements qui se déclenchent dans un contexte d'utilisation d'outil, tels que `PreToolUse`, `PostToolUse`, `Stop` et `SubagentStop`, lorsque le modèle actuel supporte le paramètre d'effort. Le niveau est également disponible pour les commandes de hook et l'outil Bash en tant que variable d'environnement `$CLAUDE_EFFORT`. |780| `effort` | Objet avec un champ `level` contenant le [niveau d'effort](/docs/fr/model-config#adjust-effort-level) en vigueur lorsque le hook s'exécute : `"low"`, `"medium"`, `"high"`, `"xhigh"` ou `"max"`. Si vous définissez un niveau que le modèle actif ne supporte pas, `level` rapporte le niveau que Claude Code a exécuté à la place ; [Ajuster le niveau d'effort](/docs/fr/model-config#adjust-effort-level) explique comment il choisit ce niveau. L'objet correspond au champ `effort` de la [barre de statut](/docs/fr/statusline#available-data). Présent pour les événements qui se déclenchent dans un contexte d'utilisation d'outil, tels que `PreToolUse`, `PostToolUse`, `Stop` et `SubagentStop`, lorsque le modèle actuel supporte le paramètre d'effort. Le niveau est également disponible pour les commandes de hook et l'outil Bash en tant que variable d'environnement `$CLAUDE_EFFORT`. |

781| `hook_event_name` | Nom de l'événement qui s'est déclenché |781| `hook_event_name` | Nom de l'événement qui s'est déclenché |

782 782 

783Lors de l'exécution avec `--agent` ou à l'intérieur d'un subagent, deux champs supplémentaires sont inclus :783Lors de l'exécution avec `--agent` ou à l'intérieur d'un sous-agent, deux champs supplémentaires sont inclus :

784 784 

785| Champ | Description |785| Champ | Description |

786| :- | :- |786| :- | :- |

787| `agent_id` | Identifiant unique pour le subagent. Présent uniquement lorsque le hook se déclenche à l'intérieur d'un appel de subagent. Utilisez ceci pour distinguer les appels de hook de subagent des appels du thread principal. |787| `agent_id` | Identifiant unique pour le sous-agent. Présent uniquement lorsque le hook se déclenche à l'intérieur d'un appel de sous-agent. Utilisez ceci pour distinguer les appels de hook de sous-agent des appels du thread principal. |

788| `agent_type` | Nom de l'agent (par exemple, `"Explore"` ou `"security-reviewer"`). Présent lorsque la session utilise `--agent` ou que le hook se déclenche à l'intérieur d'un subagent. Pour les subagents, le type du subagent prend précédence sur la valeur `--agent` de la session. Consultez [SubagentStart](#subagentstart) pour les valeurs que les subagents personnalisés et fournis par un plugin rapportent et comment écrire un matcher contre un nom scoped du plugin. |788| `agent_type` | Nom de l'agent (par exemple, `"Explore"` ou `"security-reviewer"`). Présent lorsque la session utilise `--agent` ou que le hook se déclenche à l'intérieur d'un sous-agent. Pour les sous-agents, le type du sous-agent a priorité sur la valeur `--agent` de la session. Consultez [SubagentStart](#subagentstart) pour les valeurs que les sous-agents personnalisés et fournis par un plugin rapportent et comment écrire un matcher contre un nom limité au plugin. |

789 789 

790Seuls les hooks [`SessionStart`](#sessionstart) peuvent recevoir un champ `model`, et Claude Code ne l'inclut pas toujours. Les hooks [`PreModelSwitch`](#premodelswitch) et [`PostModelSwitch`](#postmodelswitch) reçoivent `from_model` et `to_model` à la place, utilisez donc un hook PostModelSwitch pour suivre le modèle au fur et à mesure qu'il change pendant une session.790Seuls les hooks [`SessionStart`](#sessionstart) peuvent recevoir un champ `model`, et Claude Code ne l'inclut pas toujours. Les hooks [`PreModelSwitch`](#premodelswitch) et [`PostModelSwitch`](#postmodelswitch) reçoivent `from_model` et `to_model` à la place, utilisez donc un hook PostModelSwitch pour suivre le modèle au fur et à mesure qu'il change pendant une session.

791 791 


843 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.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 845 

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 a déjà s'exécuté.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é.

847 847 

848<h4 id="exit-code-2">848<h4 id="exit-code-2">

849 Exit code 2849 Exit code 2

850</h4>850</h4>

851 851 

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 tout [sortie JSON](#json-output) valide sur stdout. Sur `Elicitation` et `ElicitationResult`, le `hookSpecificOutput` d'un hook exit-2 est ignoré.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é.

853 853 

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

855 855 

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

857 857 

858Ce script bloque les commandes `rm` en quittant 2 et laisse chaque autre commande au flux de permission normal :858Ce script bloque les commandes `rm` en quittant 2 et laisse chaque autre commande au flux de permission normal :

859 859 


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.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).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 886 

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

888 888 

889Un hook qui ne peut pas démarrer atterrit dans le même bucket non-bloquant. 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, regardez cet avis à sa première exécution : un chemin mal orthographié dans `settings.json` laisse la porte silencieusement désactivée.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é.

890 890 

891<Warning>891<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` rend la suppression du worktree échouée si le répertoire existe toujours après.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.

893</Warning>893</Warning>

894 894 

895<h4 id="timeouts">895<h4 id="timeouts">


900 900 

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 :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 :

902 902 

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 une porte.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.

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

905 905 

906<h4 id="exit-code-2-behavior-per-event">906<h4 id="exit-code-2-behavior-per-event">


916| `UserPromptSubmit` | Oui | Bloque le prompt, il ne parvient jamais à Claude. Consultez [Ce qu'un prompt bloqué laisse derrière](#what-a-blocked-prompt-leaves-behind) |916| `UserPromptSubmit` | Oui | Bloque le prompt, il ne parvient jamais à Claude. Consultez [Ce qu'un prompt bloqué laisse derrière](#what-a-blocked-prompt-leaves-behind) |

917| `UserPromptExpansion` | Oui | Bloque l'expansion |917| `UserPromptExpansion` | Oui | Bloque l'expansion |

918| `Stop` | Oui | Empêche Claude de s'arrêter, continue la conversation |918| `Stop` | Oui | Empêche Claude de s'arrêter, continue la conversation |

919| `SubagentStop` | Oui | Empêche le subagent de s'arrêter |919| `SubagentStop` | Oui | Empêche le sous-agent de s'arrêter |

920| `TeammateIdle` | Oui | Empêche le coéquipier de devenir inactif, le coéquipier continue de travailler |920| `TeammateIdle` | Oui | Empêche le coéquipier de devenir inactif, le coéquipier continue de travailler |

921| `TaskCreated` | Oui | Annule la création de la tâche |921| `TaskCreated` | Oui | Annule la création de la tâche |

922| `TaskCompleted` | Oui | Empêche la tâche d'être marquée comme complétée |922| `TaskCompleted` | Oui | Empêche la tâche d'être marquée comme complétée |

923| `ConfigChange` | Oui | Bloque la modification de configuration de prendre effet (sauf `policy_settings`) |923| `ConfigChange` | Oui | Bloque la modification de configuration de prendre effet (sauf `policy_settings`) |

924| `StopFailure` | Non | La sortie et le code de sortie sont ignorés, sauf `terminalSequence` |924| `StopFailure` | Non | La sortie et le code de sortie sont ignorés, sauf `terminalSequence` |

925| `PostToolUse` | Non | Affiche stderr à Claude ; l'outil a déjà s'exécuté |925| `PostToolUse` | Non | Affiche stderr à Claude ; l'outil s'est déjà exécuté |

926| `PostToolUseFailure` | Non | Affiche stderr à Claude ; l'outil a déjà échoué |926| `PostToolUseFailure` | Non | Affiche stderr à Claude ; l'outil a déjà échoué |

927| `PostToolBatch` | Oui | Arrête la boucle agentique avant l'appel du modèle suivant |927| `PostToolBatch` | Oui | Arrête la boucle agentique avant l'appel du modèle suivant |

928| `PermissionDenied` | Non | Exit code et stderr sont ignorés car le refus a déjà eu lieu. Utilisez JSON `hookSpecificOutput.retry: true` pour indiquer au modèle qu'il peut réessayer ; Claude Code ignore `retry: true` pour les [refus sans verdict](#permissiondenied-decision-control) |928| `PermissionDenied` | Non | Exit code et stderr sont ignorés car le refus a déjà eu lieu. Utilisez JSON `hookSpecificOutput.retry: true` pour indiquer au modèle qu'il peut réessayer ; Claude Code ignore `retry: true` pour les [refus sans verdict](#permissiondenied-decision-control) |


938| `PostCompact` | Non | Affiche stderr à l'utilisateur uniquement |938| `PostCompact` | Non | Affiche stderr à l'utilisateur uniquement |

939| `PreModelSwitch` | Oui | Bloque le changement de modèle et affiche stderr à l'utilisateur |939| `PreModelSwitch` | Oui | Bloque le changement de modèle et affiche stderr à l'utilisateur |

940| `PostModelSwitch` | Non | Affiche stderr à l'utilisateur uniquement ; le modèle a déjà changé |940| `PostModelSwitch` | Non | Affiche stderr à l'utilisateur uniquement ; le modèle a déjà changé |

941| `Elicitation` | Oui | Refuse l'élicitation |941| `Elicitation` | Oui | Refuse la requête, et aucune boîte de dialogue n'apparaît |

942| `ElicitationResult` | Oui | Bloque la réponse (l'action devient decline) |942| `ElicitationResult` | Oui | Bloque la réponse (l'action devient decline) |

943| `WorktreeCreate` | Oui | Tout code de sortie non-zéro provoque l'échec de la création du worktree |943| `WorktreeCreate` | Oui | Tout code de sortie non-zéro provoque l'échec de la création du worktree |

944| `WorktreeRemove` | Oui | Tout code de sortie non-zéro rend la suppression du worktree échouée si le répertoire existe toujours après. Consultez [WorktreeRemove](#worktreeremove) pour ce qui arrive au répertoire |944| `WorktreeRemove` | Oui | Tout code de sortie non-zéro fait échouer la suppression du worktree si le répertoire existe toujours après. Consultez [WorktreeRemove](#worktreeremove) pour ce qui arrive au répertoire |

945| `InstructionsLoaded` | Non | Exit code est ignoré |945| `InstructionsLoaded` | Non | Exit code est ignoré |

946| `MessageDisplay` | Non | Le texte original est affiché |946| `MessageDisplay` | Non | Le texte original est affiché |

947 947 

948Pour `SessionStart`, `SubagentStart` et `PostModelSwitch`, Claude Code rend le stderr du code de sortie 2 dans la transcription comme un avis `<hook name> hook error`, de la même manière qu'il rend une [erreur non-bloquante](#exit-code-output). Claude ne le voit pas, et la session ou le subagent procède. Pour `SubagentStart`, l'avis apparaît dans la propre transcription du subagent, pas dans la conversation parent.948Pour `SessionStart`, `SubagentStart` et `PostModelSwitch`, Claude Code rend le stderr du code de sortie 2 dans la transcription comme un avis `<hook name> hook error`, de la même manière qu'il rend une [erreur non-bloquante](#exit-code-output). Claude ne le voit pas, et la session ou le sous-agent procède. Pour `SubagentStart`, l'avis apparaît dans la propre transcription du sous-agent, pas dans la conversation parent.

949 949 

950<h3 id="http-response-handling">950<h3 id="http-response-handling">

951 Gestion des réponses HTTP951 Gestion des réponses HTTP


974 974 

975La sortie stdout de votre hook doit contenir uniquement l'objet JSON. Si votre profil shell imprime du texte au démarrage, cela peut interférer avec l'analyse JSON. Consultez [Hook JSON has no effect](/docs/fr/hooks-guide#hook-json-has-no-effect) dans le guide de dépannage.975La sortie stdout de votre hook doit contenir uniquement l'objet JSON. Si votre profil shell imprime du texte au démarrage, cela peut interférer avec l'analyse JSON. Consultez [Hook JSON has no effect](/docs/fr/hooks-guide#hook-json-has-no-effect) dans le guide de dépannage.

976 976 

977Les chaînes de sortie du hook, y compris `additionalContext`, `systemMessage` et `initialUserMessage`, et son stdout brut, sont plafonnées à 10 000 caractères :977Les chaînes `additionalContext`, `systemMessage` et `initialUserMessage` d'un hook, ainsi que son stdout brut, sont plafonnées à 10 000 caractères :

978 978 

979* **Portée** : Claude Code mesure chaque chaîne seule, même lorsque plusieurs hooks s'exécutent pour le même événement. Pour la sortie JSON, chaque champ est mesuré séparément ; stdout brut est mesuré dans son ensemble.979* **Portée** : Claude Code mesure chaque chaîne seule, même lorsque plusieurs hooks s'exécutent pour le même événement. Pour la sortie JSON, chaque champ est mesuré séparément ; stdout brut est mesuré dans son ensemble.

980* **Au-delà de la limite** : Claude Code enregistre la sortie dans un fichier du répertoire de session et la remplace par le chemin du fichier et un aperçu de jusqu'à 2 000 premiers caractères. Un grand résultat Bash valide est géré de la même manière, décrit sous [Output limits](/docs/fr/tools-reference#output-limits). Contrairement à ce plafond Bash, ce cap n'a pas de paramètre ou de variable d'environnement pour l'augmenter.980* **Au-delà de la limite** : Claude Code enregistre la sortie dans un fichier du répertoire de session et la remplace par le chemin du fichier et un aperçu de jusqu'à 2 000 premiers caractères. Un grand résultat Bash valide est géré de la même manière, décrit sous [Output limits](/docs/fr/tools-reference#output-limits). Contrairement à ce plafond Bash, ce plafond n'a pas de paramètre ou de variable d'environnement pour l'augmenter.

981* **Lecture du fichier** : Claude Code ne demande pas à Claude de lire le fichier, donc gardez tout ce que Claude doit toujours voir dans le cap.981* **Lecture du fichier** : Claude Code ne demande pas à Claude de lire le fichier, donc gardez tout ce que Claude doit toujours voir dans le plafond.

982 982 

983L'objet JSON supporte trois types de champs :983L'objet JSON supporte trois types de champs :

984 984 


988 988 

989| Champ | Par défaut | Description |989| Champ | Par défaut | Description |

990| :- | :- | :- |990| :- | :- | :- |

991| `continue` | `true` | Si `false`, Claude arrête complètement le traitement après l'exécution du hook. Prend précédence sur tous les champs de décision spécifiques à l'événement |991| `continue` | `true` | Si `false`, Claude arrête complètement le traitement après l'exécution du hook. A priorité sur tous les champs de décision spécifiques à l'événement |

992| `stopReason` | aucun | Message affiché à l'utilisateur lorsque `continue` est `false`. Il reste dans la conversation, afin que Claude le voie si la conversation continue |992| `stopReason` | aucun | Message affiché à l'utilisateur lorsque `continue` est `false`. Il reste dans la conversation, afin que Claude le voie si la conversation continue |

993| `suppressOutput` | `false` | N'a aucun effet : Claude Code accepte le champ mais n'agit pas dessus. La sortie stdout d'un hook réussi n'est jamais affichée dans la transcription et est enregistrée dans le journal de débogage |993| `suppressOutput` | `false` | N'a aucun effet : Claude Code accepte le champ mais n'agit pas dessus. La sortie stdout d'un hook réussi n'est jamais affichée dans la transcription et est consignée dans le journal de débogage |

994| `systemMessage` | aucun | Message d'avertissement affiché à l'utilisateur. Dans [Agent SDK](/docs/fr/agent-sdk/overview) et [`--output-format stream-json`](/docs/fr/headless) sortie, il peut arriver comme un [`SDKInformationalMessage`](/docs/fr/agent-sdk/typescript#sdkinformationalmessage) |994| `systemMessage` | aucun | Message d'avertissement affiché à l'utilisateur. Dans la sortie [Agent SDK](/docs/fr/agent-sdk/overview) et [`--output-format stream-json`](/docs/fr/headless), il peut arriver comme un [`SDKInformationalMessage`](/docs/fr/agent-sdk/typescript#sdkinformationalmessage) |

995| `terminalSequence` | aucun | Une séquence d'échappement de terminal pour Claude Code d'émettre en votre nom, comme une notification de bureau, un titre de fenêtre ou une cloche. Restreint aux OSC `0`/`1`/`2`/`9`/`99`/`777` et BEL. Si la valeur contient quelque chose en dehors de la liste blanche, le champ est ignoré. Utilisez ceci au lieu d'écrire sur `/dev/tty`, qui n'est pas disponible pour les hooks |995| `terminalSequence` | aucun | Une séquence d'échappement de terminal que Claude Code émet en votre nom, comme une notification de bureau, un titre de fenêtre ou une cloche. Restreint aux OSC `0`/`1`/`2`/`9`/`99`/`777` et BEL. Si la valeur contient quelque chose en dehors de la liste d'autorisation, le champ est ignoré. Utilisez ceci au lieu d'écrire sur `/dev/tty`, qui n'est pas disponible pour les hooks |

996 996 

997Pour arrêter Claude entièrement :997Pour arrêter Claude entièrement :

998 998 


1000{ "continue": false, "stopReason": "Build failed, fix errors before continuing" }1000{ "continue": false, "stopReason": "Build failed, fix errors before continuing" }

1001```1001```

1002 1002 

1003Pour les hooks `PreToolUse` et `PostToolUse`, l'arrêt s'applique même lorsque l'appel d'outil échoue ou se termine tandis que Claude diffuse toujours une réponse.1003Pour les hooks `PreToolUse` et `PostToolUse`, l'arrêt s'applique même lorsque l'appel d'outil échoue ou se termine tandis que Claude diffuse toujours une réponse en streaming.

1004 1004 

1005<h4 id="emit-terminal-notifications">1005<h4 id="emit-terminal-notifications">

1006 Émettre des notifications de terminal1006 Émettre des notifications de terminal

1007</h4>1007</h4>

1008 1008 

1009Les hooks s'exécutent sans terminal de contrôle, donc écrire des séquences d'échappement directement sur `/dev/tty` échoue. À la place, retournez la séquence d'échappement dans le champ `terminalSequence` et Claude Code l'émet pour vous via son propre chemin d'écriture de terminal. C'est sans course, fonctionne à l'intérieur de tmux et GNU screen, et fonctionne sur Windows où il n'y a pas de `/dev/tty`.1009Les hooks s'exécutent sans terminal de contrôle, donc écrire des séquences d'échappement directement sur `/dev/tty` échoue. À la place, retournez la séquence d'échappement dans le champ `terminalSequence` et Claude Code l'émet pour vous via son propre chemin d'écriture de terminal. C'est sans situation de concurrence, fonctionne à l'intérieur de tmux et GNU screen, et fonctionne sur Windows où il n'y a pas de `/dev/tty`.

1010 1010 

1011Le champ accepte une chaîne d'une ou plusieurs séquences d'échappement en liste blanche :1011Le champ accepte une chaîne d'une ou plusieurs séquences d'échappement figurant dans la liste d'autorisation :

1012 1012 

1013* OSC `0`, `1`, `2` : titres de fenêtre et d'icône1013* OSC `0`, `1`, `2` : titres de fenêtre et d'icône

1014* OSC `9` : notifications iTerm2, ConEmu, Windows Terminal et WezTerm, y compris la progression de la barre des tâches `9;4`1014* OSC `9` : notifications iTerm2, ConEmu, Windows Terminal et WezTerm, y compris la progression de la barre des tâches `9;4`


1016* OSC `777` : notifications urxvt, Ghostty et Warp1016* OSC `777` : notifications urxvt, Ghostty et Warp

1017* BEL nu1017* BEL nu

1018 1018 

1019Les séquences peuvent être terminées avec BEL ou avec ST. Tout ce qui est en dehors de la liste blanche, y compris les séquences de curseur CSI et les séquences de couleur, les séquences de palette OSC, les hyperliens OSC 8, les écritures de presse-papiers OSC 52 et OSC 1337, est rejeté et le champ est ignoré.1019Les séquences peuvent être terminées avec BEL ou avec ST. Tout ce qui est en dehors de la liste d'autorisation, y compris les séquences de curseur CSI et les séquences de couleur, les séquences de palette OSC, les hyperliens OSC 8, les écritures de presse-papiers OSC 52 et OSC 1337, est rejeté et le champ est ignoré.

1020 1020 

1021Claude Code écrit la séquence elle-même lorsqu'il traite la sortie de votre hook, donc le champ fonctionne sur les événements qui rejettent `systemMessage` et `continue`, tels que `Notification` et `StopFailure`. Il a deux limites :1021Claude Code écrit la séquence lui-même lorsqu'il traite la sortie de votre hook, donc le champ fonctionne sur les événements qui rejettent `systemMessage` et `continue`, tels que `Notification` et `StopFailure`. Il a deux limites :

1022 1022 

1023* Claude Code écrit la séquence uniquement dans une session interactive, et uniquement tandis que son interface est à l'écran. En mode non-interactif avec le drapeau `-p` et dans l'Agent SDK, il ignore le champ.1023* Claude Code écrit la séquence uniquement dans une session interactive, et uniquement tandis que son interface est à l'écran. En mode non interactif avec le flag `-p` et dans l'Agent SDK, il ignore le champ.

1024* Un hook de commande `WorktreeCreate` ne peut pas retourner JSON, car Claude Code lit son stdout comme le chemin du worktree. Un hook HTTP `WorktreeCreate` retourne JSON et peut inclure le champ.1024* Un hook de commande `WorktreeCreate` ne peut pas retourner JSON, car Claude Code lit son stdout comme le chemin du worktree. Un hook HTTP `WorktreeCreate` retourne JSON et peut inclure le champ.

1025 1025 

1026L'exemple ci-dessous déclenche une notification de bureau à partir d'un hook `Notification`. La séquence d'échappement est construite avec des échappements octaux `printf` afin que les octets de contrôle n'apparaissent jamais sur la ligne de commande shell, et `jq -n --arg` construit la sortie JSON afin que les guillemets, les barres obliques inverses et les sauts de ligne dans le message de notification soient correctement échappés :1026L'exemple ci-dessous déclenche une notification de bureau à partir d'un hook `Notification`. La séquence d'échappement est construite avec des échappements octaux `printf` afin que les octets de contrôle n'apparaissent jamais sur la ligne de commande shell, et `jq -n --arg` construit la sortie JSON afin que les guillemets, les barres obliques inverses et les sauts de ligne dans le message de notification soient correctement échappés :


1041 Ajouter du contexte pour Claude1041 Ajouter du contexte pour Claude

1042</h4>1042</h4>

1043 1043 

1044Le champ `additionalContext` transmet une chaîne de votre hook dans la fenêtre de contexte de Claude. Claude Code enveloppe la chaîne dans un [rappel système](/docs/fr/glossary#system-reminder) et l'insère dans la conversation au point où le hook s'est déclenché. Claude lit le rappel lors de la prochaine demande du modèle, mais il n'apparaît pas comme un message de chat dans l'interface.1044Le champ `additionalContext` transmet une chaîne de votre hook dans la fenêtre de contexte de Claude. Claude Code enveloppe la chaîne dans un [rappel système](/docs/fr/glossary#system-reminder) et l'insère dans la conversation au point où le hook s'est déclenché. Claude lit le rappel lors de la prochaine requête au modèle, mais il n'apparaît pas comme un message de chat dans l'interface.

1045 1045 

1046Retournez `additionalContext` à l'intérieur de `hookSpecificOutput` aux côtés du nom de l'événement :1046Retournez `additionalContext` à l'intérieur de `hookSpecificOutput` aux côtés du nom de l'événement :

1047 1047 


1060* [UserPromptSubmit](#userpromptsubmit) et [UserPromptExpansion](#userpromptexpansion) : aux côtés du prompt soumis1060* [UserPromptSubmit](#userpromptsubmit) et [UserPromptExpansion](#userpromptexpansion) : aux côtés du prompt soumis

1061* [PreToolUse](#pretooluse), [PostToolUse](#posttooluse), [PostToolUseFailure](#posttoolusefailure) et [PostToolBatch](#posttoolbatch) : à côté du résultat de l'outil1061* [PreToolUse](#pretooluse), [PostToolUse](#posttooluse), [PostToolUseFailure](#posttoolusefailure) et [PostToolBatch](#posttoolbatch) : à côté du résultat de l'outil

1062* [Stop](#stop) et [SubagentStop](#subagentstop) : à la fin du tour. La conversation continue afin que Claude puisse agir sur les commentaires. Consultez [Contrôle de décision Stop](#stop-decision-control)1062* [Stop](#stop) et [SubagentStop](#subagentstop) : à la fin du tour. La conversation continue afin que Claude puisse agir sur les commentaires. Consultez [Contrôle de décision Stop](#stop-decision-control)

1063* [PostModelSwitch](#postmodelswitch) : avec la prochaine demande après le changement. Consultez [Contrôle de décision PostModelSwitch](#postmodelswitch-decision-control) pour le timing1063* [PostModelSwitch](#postmodelswitch) : avec la prochaine requête après le changement. Consultez [Contrôle de décision PostModelSwitch](#postmodelswitch-decision-control) pour le timing

1064 1064 

1065Lorsque plusieurs hooks retournent `additionalContext` pour le même événement, Claude reçoit toutes les valeurs.1065Lorsque plusieurs hooks retournent `additionalContext` pour le même événement, Claude reçoit toutes les valeurs.

1066 1066 

1067Si une valeur dépasse 10 000 caractères, Claude Code écrit le texte dans un fichier du répertoire de session et transmet à Claude le chemin du fichier avec un aperçu de jusqu'à 2 000 premiers caractères à la place. Claude peut lire le fichier, mais Claude Code ne le demande pas.1067Si une valeur dépasse 10 000 caractères, Claude Code écrit le texte dans un fichier du répertoire de session et transmet à Claude le chemin du fichier avec un aperçu de jusqu'à 2 000 premiers caractères à la place. Claude peut lire le fichier, mais Claude Code ne le lui demande pas.

1068 1068 

1069Utilisez `additionalContext` pour les informations que Claude devrait connaître sur l'état actuel de votre environnement ou l'opération qui vient de s'exécuter :1069Utilisez `additionalContext` pour les informations que Claude devrait connaître sur l'état actuel de votre environnement ou l'opération qui vient de s'exécuter :

1070 1070 

1071* **État de l'environnement** : la branche actuelle, la cible de déploiement ou les drapeaux de fonctionnalité actifs1071* **État de l'environnement** : la branche actuelle, la cible de déploiement ou les feature flags actifs

1072* **Règles de projet conditionnelles** : quelle commande de test s'applique au fichier qui vient d'être modifié, quels répertoires sont en lecture seule dans ce worktree1072* **Règles de projet conditionnelles** : quelle commande de test s'applique au fichier qui vient d'être modifié, quels répertoires sont en lecture seule dans ce worktree

1073* **Données externes** : problèmes ouverts qui vous sont assignés, résultats CI récents, contenu récupéré à partir d'un service interne1073* **Données externes** : problèmes ouverts qui vous sont assignés, résultats CI récents, contenu récupéré à partir d'un service interne

1074 1074 


1076 1076 

1077Écrivez le texte sous forme de déclarations factuelles plutôt que d'instructions système impératives. Des formulations telles que « La cible de déploiement est production » ou « Ce repo utilise `bun test` » se lisent comme des informations de projet. Le texte encadré comme des commandes système hors bande peut déclencher les défenses contre l'injection de prompt de Claude, ce qui amène Claude à vous présenter le texte au lieu de le traiter comme du contexte.1077Écrivez le texte sous forme de déclarations factuelles plutôt que d'instructions système impératives. Des formulations telles que « La cible de déploiement est production » ou « Ce repo utilise `bun test` » se lisent comme des informations de projet. Le texte encadré comme des commandes système hors bande peut déclencher les défenses contre l'injection de prompt de Claude, ce qui amène Claude à vous présenter le texte au lieu de le traiter comme du contexte.

1078 1078 

1079Claude Code enregistre le texte injecté dans la transcription de session. Pour les événements mid-session comme `PostToolUse` ou `UserPromptSubmit`, lorsque vous reprenez avec `--continue` ou `--resume`, Claude Code rejoue le texte enregistré plutôt que de réexécuter le hook pour les tours passés, de sorte que les valeurs comme les horodatages ou les SHA de commit deviennent obsolètes. Les hooks `SessionStart` s'exécutent à nouveau à la reprise avec `source` défini sur `"resume"`, ou `"fork"` si vous avez ajouté `--fork-session`, afin qu'ils puissent actualiser leur contexte.1079Claude Code enregistre le texte injecté dans la transcription de session. Pour les événements en cours de session comme `PostToolUse` ou `UserPromptSubmit`, lorsque vous reprenez avec `--continue` ou `--resume`, Claude Code rejoue le texte enregistré plutôt que de réexécuter le hook pour les tours passés, de sorte que les valeurs comme les horodatages ou les SHA de commit deviennent obsolètes. Les hooks `SessionStart` s'exécutent à nouveau à la reprise avec `source` défini sur `"resume"`, ou `"fork"` si vous avez ajouté `--fork-session`, afin qu'ils puissent actualiser leur contexte.

1080 1080 

1081<h4 id="decision-control">1081<h4 id="decision-control">

1082 Contrôle de décision1082 Contrôle de décision


1093| PreModelSwitch | `hookSpecificOutput` ou `decision` au niveau supérieur | `permissionDecision` (allow/deny/ask), `permissionDecisionReason`. `decision: "block"` [annule également le changement](#premodelswitch-decision-control) |1093| PreModelSwitch | `hookSpecificOutput` ou `decision` au niveau supérieur | `permissionDecision` (allow/deny/ask), `permissionDecisionReason`. `decision: "block"` [annule également le changement](#premodelswitch-decision-control) |

1094| PermissionRequest | `hookSpecificOutput` | `decision.behavior` (allow/deny) |1094| PermissionRequest | `hookSpecificOutput` | `decision.behavior` (allow/deny) |

1095| PermissionDenied | `hookSpecificOutput` | `retry: true` indique au modèle qu'il peut réessayer l'appel d'outil refusé ; Claude Code l'ignore pour les [refus sans verdict](#permissiondenied-decision-control) |1095| PermissionDenied | `hookSpecificOutput` | `retry: true` indique au modèle qu'il peut réessayer l'appel d'outil refusé ; Claude Code l'ignore pour les [refus sans verdict](#permissiondenied-decision-control) |

1096| WorktreeCreate | retour de chemin | Le hook de commande imprime le chemin sur stdout ; le hook HTTP retourne `hookSpecificOutput.worktreePath`. L'échec du hook ou l'absence de chemin échoue la création |1096| WorktreeCreate | retour de chemin | Le hook de commande imprime le chemin sur stdout ; le hook HTTP retourne `hookSpecificOutput.worktreePath`. L'échec du hook ou l'absence de chemin fait échouer la création |

1097| WorktreeRemove | Exit code | Tout code de sortie non-zéro rend la suppression échouée si le répertoire existe toujours après. La sortie JSON est rejetée |1097| WorktreeRemove | Exit code | Tout code de sortie non-zéro fait échouer la suppression si le répertoire existe toujours après. La sortie JSON est rejetée |

1098| Elicitation | `hookSpecificOutput` | `action` (accept/decline/cancel), `content` (valeurs des champs de formulaire pour accept) |1098| Elicitation, ElicitationResult | `hookSpecificOutput` ou `decision` au niveau supérieur | `action` (accept/decline/cancel), `content` (valeurs des champs de formulaire). `decision: "block"` [refuse également](#other-ways-to-decline-an-elicitation) |

1099| ElicitationResult | `hookSpecificOutput` | `action` (accept/decline/cancel), `content` (valeurs des champs de formulaire override) |

1100| MessageDisplay | `hookSpecificOutput` | `displayContent` remplace le texte affiché à l'écran. Affichage uniquement : la transcription et ce que Claude voit conservent l'original |1099| MessageDisplay | `hookSpecificOutput` | `displayContent` remplace le texte affiché à l'écran. Affichage uniquement : la transcription et ce que Claude voit conservent l'original |

1101| SessionStart, SubagentStart, PostModelSwitch | Contexte uniquement | `hookSpecificOutput.additionalContext` ajoute du contexte pour Claude. SessionStart accepte également [`initialUserMessage`, `watchPaths`, `sessionTitle` et `reloadSkills`](#sessionstart-decision-control). Pas de blocage ou de contrôle de décision |1100| SessionStart, SubagentStart, PostModelSwitch | Contexte uniquement | `hookSpecificOutput.additionalContext` ajoute du contexte pour Claude. SessionStart accepte également [`initialUserMessage`, `watchPaths`, `sessionTitle` et `reloadSkills`](#sessionstart-decision-control). Pas de blocage ou de contrôle de décision |

1102| Setup, Notification, SessionEnd, PostCompact, InstructionsLoaded, StopFailure, CwdChanged, DirectoryAdded, FileChanged | Aucun | Pas de contrôle de décision. Utilisé pour les effets secondaires comme la journalisation ou le nettoyage |1101| Setup, Notification, SessionEnd, PostCompact, InstructionsLoaded, StopFailure, CwdChanged, DirectoryAdded, FileChanged | Aucun | Pas de contrôle de décision. Utilisé pour les effets secondaires comme la journalisation ou le nettoyage |


1139 </Tab>1138 </Tab>

1140 1139 

1141 <Tab title="PermissionRequest">1140 <Tab title="PermissionRequest">

1142 Utilise `hookSpecificOutput` pour autoriser ou refuser une demande de permission au nom de l'utilisateur. Lors de l'autorisation, vous pouvez également modifier l'entrée de l'outil ou appliquer des règles de permission afin que l'utilisateur ne soit pas invité à nouveau. Consultez [Contrôle de décision PermissionRequest](#permissionrequest-decision-control) pour l'ensemble complet des options.1141 Utilise `hookSpecificOutput` pour autoriser ou refuser une demande de permission au nom de l'utilisateur. Lors de l'autorisation, vous pouvez également modifier l'entrée de l'outil ou appliquer des règles de permission afin que l'utilisateur ne soit pas sollicité à nouveau. Consultez [Contrôle de décision PermissionRequest](#permissionrequest-decision-control) pour l'ensemble complet des options.

1143 1142 

1144 ```json theme={null}1143 ```json theme={null}

1145 {1144 {


1157 </Tab>1156 </Tab>

1158</Tabs>1157</Tabs>

1159 1158 

1160Pour des exemples étendus incluant la validation de commandes Bash, le filtrage de prompts et les scripts d'approbation automatique, consultez [Ce que vous pouvez automatiser](/docs/fr/hooks-guide#what-you-can-automate) dans le guide et la [implémentation de référence du validateur de commandes Bash](https://github.com/anthropics/claude-code/blob/main/examples/hooks/bash_command_validator_example.py).1159Pour des exemples étendus incluant la validation de commandes Bash, le filtrage de prompts et les scripts d'approbation automatique, consultez [Ce que vous pouvez automatiser](/docs/fr/hooks-guide#what-you-can-automate) dans le guide et l'[implémentation de référence du validateur de commandes Bash](https://github.com/anthropics/claude-code/blob/main/examples/hooks/bash_command_validator_example.py).

1161 1160 

1162<h2 id="hook-events">1161<h2 id="hook-events">

1163 Événements de hook1162 Événements de hook

1164</h2>1163</h2>

1165 1164 

1166Chaque événement correspond à un point du cycle de vie de Claude Code où des hooks peuvent s'exécuter. Les sections ci-dessous suivent l'ordre du cycle de vie : de la configuration de la session à la fin de la session, en passant par la boucle agentique. Chaque section décrit quand l'événement se déclenche, quels matchers il prend en charge, l'entrée JSON qu'il reçoit et comment contrôler le comportement via la sortie.1165Chaque événement correspond à un moment du cycle de vie de Claude Code où des hooks peuvent s'exécuter. Les sections ci-dessous suivent l'ordre du cycle de vie : de la configuration de la session à la fin de la session, en passant par la boucle agentique. Chaque section décrit quand l'événement se déclenche, quels matchers il prend en charge, l'entrée JSON qu'il reçoit et comment contrôler le comportement via la sortie.

1167 1166 

1168<h3 id="sessionstart">1167<h3 id="sessionstart">

1169 SessionStart1168 SessionStart


1171 1170 

1172S'exécute lorsque Claude Code démarre une nouvelle session ou reprend une session existante. Utile pour charger du contexte de développement, comme les issues existantes ou les modifications récentes de votre base de code, ou pour définir des variables d'environnement. Pour un contexte statique qui ne nécessite pas de script, utilisez plutôt [CLAUDE.md](/docs/fr/memory).1171S'exécute lorsque Claude Code démarre une nouvelle session ou reprend une session existante. Utile pour charger du contexte de développement, comme les issues existantes ou les modifications récentes de votre base de code, ou pour définir des variables d'environnement. Pour un contexte statique qui ne nécessite pas de script, utilisez plutôt [CLAUDE.md](/docs/fr/memory).

1173 1172 

1174SessionStart s'exécute à chaque session, gardez donc ces hooks rapides. Seuls les hooks `type: "command"` et `type: "mcp_tool"` sont pris en charge. Consultez [Champs des hooks d'outil MCP](#mcp-tool-hook-fields) pour savoir quand les hooks `mcp_tool` s'exécutent.1173SessionStart s'exécute à chaque session, alors veillez à ce que ces hooks restent rapides. Seuls les hooks `type: "command"` et `type: "mcp_tool"` sont pris en charge. Consultez [Champs des hooks d'outil MCP](#mcp-tool-hook-fields) pour savoir quand les hooks `mcp_tool` s'exécutent.

1175 1174 

1176La valeur du matcher correspond à la manière dont la session a été initiée :1175La valeur du matcher correspond à la manière dont la session a été lancée :

1177 1176 

1178| Matcher | Quand il se déclenche |1177| Matcher | Quand il se déclenche |

1179| :- | :- |1178| :- | :- |


1181| `resume` | `--resume`, `--continue` ou `/resume` |1180| `resume` | `--resume`, `--continue` ou `/resume` |

1182| `clear` | `/clear` |1181| `clear` | `/clear` |

1183| `compact` | Compaction automatique ou manuelle |1182| `compact` | Compaction automatique ou manuelle |

1184| `fork` | Une nouvelle session dérivée d'une session existante : `--fork-session` avec `--resume` ou `--continue`, la copie en arrière-plan de `/fork`, `/branch`, ou une conversation que vous [déplacez en arrière-plan](/docs/fr/agent-view#from-inside-a-session) |1183| `fork` | Une nouvelle session dérivée d'une session existante : `--fork-session` avec `--resume` ou `--continue`, la copie en arrière-plan de `/fork`, `/branch`, ou une conversation que vous [passez en arrière-plan](/docs/fr/agent-view#from-inside-a-session) |

1185 1184 

1186Avant la v2.1.214, les sessions dérivées indiquaient la source `"resume"`.1185Avant la v2.1.214, les sessions dérivées signalaient la source `"resume"`.

1187 1186 

1188Lorsque vous démarrez une session interactive, reprenez une conversation au lancement avec `--continue` ou `--resume`, ou exécutez `/clear`, les hooks SessionStart s'exécutent en arrière-plan. Vous pouvez saisir du texte immédiatement, et une conversation que vous avez reprise s'affiche sans attendre les hooks. La première réponse de Claude attend toujours la fin des hooks, afin que leur contexte parvienne à Claude.1187Lorsque vous démarrez une session interactive, reprenez une conversation au lancement avec `--continue` ou `--resume`, ou exécutez `/clear`, les hooks SessionStart s'exécutent en arrière-plan. Vous pouvez saisir du texte immédiatement, et une conversation reprise s'affiche sans attendre les hooks. La première réponse de Claude attend tout de même la fin des hooks, afin que leur contexte parvienne à Claude.

1189 1188 

1190Lorsque vous changez de conversation avec `/resume` au sein d'une session, le changement attend au contraire la fin des hooks. Si vous exécutez `/clear` ou passez à une autre conversation alors que des hooks en arrière-plan sont encore en cours d'exécution, rien de ce qu'ils renvoient ne s'applique à la session.1189Lorsque vous changez de conversation avec `/resume` au sein d'une session, le changement attend au contraire la fin des hooks. Si vous exécutez `/clear` ou passez à une autre conversation alors que des hooks en arrière-plan sont encore en cours d'exécution, rien de ce qu'ils renvoient ne s'applique à la session.

1191 1190 

1192La même attente s'applique au lancement, y compris pour une session reprise : un prompt que vous envoyez pendant que les hooks SessionStart sont encore en cours d'exécution ne parvient à Claude qu'une fois ceux-ci terminés.1191La même attente s'applique au lancement, y compris pour une session reprise : un prompt que vous envoyez alors que des hooks SessionStart sont encore en cours d'exécution ne parvient pas à Claude avant leur fin.

1193 1192 

1194Pendant l'une ou l'autre attente, appuyez sur `Esc` pour ramener le prompt dans la zone de saisie sans l'envoyer. Les hooks continuent de s'exécuter.1193Pendant l'une ou l'autre de ces attentes, appuyez sur `Esc` pour ramener le prompt dans la zone de saisie sans l'envoyer. Les hooks continuent de s'exécuter.

1195 1194 

1196<h4 id="sessionstart-input">1195<h4 id="sessionstart-input">

1197 Entrée de SessionStart1196 Entrée de SessionStart

1198</h4>1197</h4>

1199 1198 

1200En plus des [champs d'entrée communs](#common-input-fields), les hooks SessionStart reçoivent `source` et, facultativement, `model`, `agent_type` et `session_title` :1199En plus des [champs d'entrée communs](#common-input-fields), les hooks SessionStart reçoivent `source` et, de manière facultative, `model`, `agent_type` et `session_title` :

1201 1200 

1202| Champ | Description |1201| Champ | Description |

1203| :- | :- |1202| :- | :- |

1204| `source` | Comment la session a démarré : `"startup"` pour les nouvelles sessions, `"resume"` pour les sessions reprises, `"clear"` après `/clear`, `"compact"` après une compaction, ou `"fork"` pour une nouvelle session dérivée d'une session existante |1203| `source` | La manière dont la session a démarré : `"startup"` pour les nouvelles sessions, `"resume"` pour les sessions reprises, `"clear"` après `/clear`, `"compact"` après une compaction, ou `"fork"` pour une nouvelle session dérivée d'une session existante |

1205| `model` | L'identifiant du modèle actif. Il peut être omis, par exemple après `/clear` ou lorsqu'une session est restaurée via la récupération de conversation ; vérifiez donc la présence du champ avant de le lire |1204| `model` | L'identifiant du modèle actif. Il peut être omis, par exemple après `/clear` ou lorsqu'une session est restaurée via la récupération de conversation ; vérifiez donc la présence du champ avant de le lire |

1206| `agent_type` | Le nom de l'agent, présent lorsque vous démarrez Claude Code avec `claude --agent <name>` |1205| `agent_type` | Le nom de l'agent, présent lorsque vous démarrez Claude Code avec `claude --agent <name>` |

1207| `session_title` | Le titre personnalisé de la session, présent lorsqu'il est défini, par exemple avec `--name`, `/rename`, la sortie `sessionTitle` d'un hook, ou `renameSession()` de l'Agent SDK. Un hook qui émet `sessionTitle` peut d'abord vérifier ce champ pour éviter d'écraser un titre personnalisé existant |1206| `session_title` | Le titre personnalisé de la session, présent lorsqu'il est défini, par exemple avec `--name`, `/rename`, la sortie `sessionTitle` d'un hook ou `renameSession()` de l'Agent SDK. Un hook qui émet `sessionTitle` peut d'abord vérifier ce champ pour éviter d'écraser un titre personnalisé existant |

1208 1207 

1209Une session que vous n'avez pas nommée peut tout de même avoir un [titre généré](/docs/fr/sessions#name-your-sessions). Ce titre n'est pas un titre personnalisé et n'apparaît pas dans `session_title`.1208Une session que vous n'avez pas nommée peut tout de même avoir un [titre généré](/docs/fr/sessions#name-your-sessions). Ce titre n'est pas un titre personnalisé et n'apparaît pas dans `session_title`.

1210 1209 

1211Lorsque `source` vaut `"resume"` ou `"fork"` et que la transcription contient au moins une réponse de Claude, les hooks SessionStart reçoivent également les quatre champs ci-dessous. Votre hook peut les utiliser pour indiquer ce que coûte la reprise d'une conversation ancienne avant la première requête, par exemple dans un [`systemMessage`](#json-output). Ces champs nécessitent Claude Code v2.1.251 ou ultérieure.1210Lorsque `source` vaut `"resume"` ou `"fork"` et que la transcription contient au moins une réponse de Claude, les hooks SessionStart reçoivent également les quatre champs ci-dessous. Votre hook peut les utiliser pour indiquer ce que coûte la reprise d'une conversation ancienne avant la première requête, par exemple dans un [`systemMessage`](#json-output). Ces champs nécessitent Claude Code v2.1.251 ou une version ultérieure.

1212 1211 

1213| Champ | Description |1212| Champ | Description |

1214| :- | :- |1213| :- | :- |

1215| `seconds_since_last_response` | Secondes réelles écoulées depuis la dernière réponse dans la transcription reprise |1214| `seconds_since_last_response` | Secondes réelles écoulées depuis la dernière réponse de la transcription reprise |

1216| `context_tokens` | Tokens que la première requête de la session reprise renvoie comme prompt |1215| `context_tokens` | Tokens que la première requête de la session reprise renvoie comme prompt |

1217| `prompt_cache_likely_expired` | `true` lorsque la dernière réponse est plus ancienne que la [durée de vie du cache de prompt](/docs/fr/prompt-caching#cache-lifetime) de la session ou qu'une compaction ultérieure a remplacé la conversation mise en cache |1216| `prompt_cache_likely_expired` | `true` lorsque la dernière réponse est plus ancienne que la [durée de vie du cache de prompt](/docs/fr/prompt-caching#cache-lifetime) de la session ou qu'une compaction ultérieure a remplacé la conversation mise en cache |

1218| `estimated_cache_write_usd` | Coût estimé en dollars américains de l'écriture de `context_tokens` dans le cache de prompt sur le modèle de la session, hors réponse |1217| `estimated_cache_write_usd` | Coût estimé en dollars américains de l'écriture de `context_tokens` dans le cache de prompt sur le modèle de la session, hors réponse |


1243| Champ | Description |1242| Champ | Description |

1244| :- | :- |1243| :- | :- |

1245| `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 |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 |

1246| `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 s'attache à un tour existant, ce champ crée le tour |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 |

1247| `sessionTitle` | Définit le titre de la session, avec le même effet que `/rename`. Utilisez-le 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"` |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"` |

1248| `watchPaths` | Tableau de chemins absolus à surveiller pour les événements [FileChanged](#filechanged) pendant cette session |1247| `watchPaths` | Tableau de chemins absolus à surveiller pour les événements [FileChanged](#filechanged) pendant cette session |

1249| `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, de sorte que les skills installés par le hook sont disponibles dans la même session, dès le premier prompt |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 |

1250 1249 

1251```json theme={null}1250```json theme={null}

1252{1251{


1258}1257}

1259```1258```

1260 1259 

1261Comme la sortie stdout brute parvient déjà à Claude pour cet événement, un hook qui ne fait que charger du contexte peut écrire directement sur stdout sans construire de JSON. Utilisez la forme JSON lorsque vous devez combiner du contexte avec d'autres champs tels que `sessionTitle`.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`.

1262 1261 

1263Utilisez `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, de sorte que les fichiers que le hook écrit dans `~/.claude/skills/` ou `.claude/skills/` n'apparaîtraient sinon que dans la session suivante. Cet exemple synchronise un dépôt de skills partagé et demande la nouvelle analyse :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 :

1264 1263 

1265```bash theme={null}1264```bash theme={null}

1266#!/bin/bash1265#!/bin/bash


1271echo '{"hookSpecificOutput": {"hookEventName": "SessionStart", "reloadSkills": true}}'1270echo '{"hookSpecificOutput": {"hookEventName": "SessionStart", "reloadSkills": true}}'

1272```1271```

1273 1272 

1274L'URL du dépôt est un espace réservé ; remplacez-la par votre propre dépôt de skills. Avec l'espace réservé, le clone échoue et affiche un message `fatal:` sur stderr. La sortie stderr d'un hook SessionStart qui se termine avec le code 0 est uniquement informative, donc la demande `reloadSkills` s'applique quand même.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.

1275 1274 

1276<h4 id="persist-environment-variables">1275<h4 id="persist-environment-variables">

1277 Conserver les variables d'environnement1276 Conserver les variables d'environnement


1293exit 01292exit 0

1294```1293```

1295 1294 

1296Pour capturer toutes les modifications d'environnement effectuées par des commandes de configuration, comparez les variables exportées avant et après :1295Pour capturer toutes les modifications de l'environnement effectuées par des commandes de configuration, comparez les variables exportées avant et après :

1297 1296 

1298```bash theme={null}1297```bash theme={null}

1299#!/bin/bash1298#!/bin/bash


1320 Setup1319 Setup

1321</h3>1320</h3>

1322 1321 

1323Se déclenche uniquement lorsque vous lancez Claude Code avec `--init-only`, ou avec `--init` ou `--maintenance` en [mode non interactif](/docs/fr/headless) avec le flag `-p`. Il ne se déclenche pas lors d'un démarrage normal. Utilisez-le pour une installation ponctuelle de dépendances ou un nettoyage planifié que vous déclenchez explicitement depuis la CI ou des scripts, indépendamment du démarrage normal de session. Pour une initialisation par session, utilisez plutôt [SessionStart](#sessionstart).1322Se déclenche uniquement lorsque vous lancez Claude Code avec `--init-only`, ou avec `--init` ou `--maintenance` en [mode non interactif](/docs/fr/headless) avec le flag `-p`. Il ne se déclenche pas lors d'un démarrage normal. Utilisez-le pour une installation ponctuelle de dépendances ou un nettoyage planifié que vous déclenchez explicitement depuis la CI ou des scripts, indépendamment du démarrage normal de la session. Pour une initialisation par session, utilisez plutôt [SessionStart](#sessionstart).

1324 1323 

1325La valeur du matcher correspond au flag CLI qui a déclenché le hook :1324La valeur du matcher correspond au flag CLI qui a déclenché le hook :

1326 1325 


1333 1332 

1334Lorsque vous démarrez ou poursuivez une conversation avec `-p`, vous devez également fournir un prompt, en argument ou transmis via stdin. Vous pouvez omettre le prompt lorsqu'un hook `SessionStart` fournit [`initialUserMessage`](#sessionstart-decision-control) ou lorsque vous reprenez une session avec un [appel d'outil différé](#defer-a-tool-call-for-later).1333Lorsque vous démarrez ou poursuivez une conversation avec `-p`, vous devez également fournir un prompt, en argument ou transmis via stdin. Vous pouvez omettre le prompt lorsqu'un hook `SessionStart` fournit [`initialUserMessage`](#sessionstart-decision-control) ou lorsque vous reprenez une session avec un [appel d'outil différé](#defer-a-tool-call-for-later).

1335 1334 

1336En cas de succès, `--init-only` n'affiche rien dans le terminal. Pour confirmer que les hooks se sont exécutés, lancez `claude --debug-file <path> --init-only`, en remplaçant `<path>` par l'emplacement d'un fichier de log, et recherchez dans le log les entrées des hooks Setup et SessionStart.1335En cas de succès, `--init-only` n'affiche rien dans le terminal. Pour vérifier que les hooks se sont exécutés, lancez `claude --debug-file <path> --init-only` en remplaçant `<path>` par l'emplacement d'un fichier de log, puis recherchez dans le log les entrées des hooks Setup et SessionStart.

1337 1336 

1338Comme Setup ne se déclenche pas à chaque lancement, un plugin qui a besoin d'une dépendance installée ne peut pas s'appuyer uniquement sur Setup. L'approche pratique consiste à vérifier la présence de la dépendance lors de la première utilisation et à l'installer si elle est absente, par exemple avec un hook ou un skill qui teste la présence de `${CLAUDE_PLUGIN_DATA}/node_modules` et exécute `npm install` en son absence. Consultez le [répertoire de données persistantes](/docs/fr/plugins/components#path-variables-and-persistent-data) pour savoir où stocker les dépendances installées. Si vous distribuez votre plugin via une marketplace, vous n'aurez peut-être pas besoin de cette approche : Claude Code [installe automatiquement les dépendances de packages Node.js éligibles](/docs/fr/plugins/loading#node-js-package-dependencies) lorsqu'il met le plugin en cache.1337Comme Setup ne se déclenche pas à chaque lancement, un plugin qui a besoin d'une dépendance installée ne peut pas s'appuyer uniquement sur Setup. L'approche pratique consiste à vérifier la présence de la dépendance lors de la première utilisation et à l'installer si elle est absente, par exemple un hook ou un skill qui teste `${CLAUDE_PLUGIN_DATA}/node_modules` et exécute `npm install` en son absence. Consultez le [répertoire de données persistantes](/docs/fr/plugins/components#path-variables-and-persistent-data) pour savoir où stocker les dépendances installées. Si vous distribuez votre plugin via une marketplace, vous n'aurez peut-être pas besoin de cette approche : Claude Code [installe automatiquement les dépendances de packages Node.js éligibles](/docs/fr/plugins/loading#node-js-package-dependencies) lorsqu'il met le plugin en cache.

1339 1338 

1340<h4 id="setup-input">1339<h4 id="setup-input">

1341 Entrée de Setup1340 Entrée de Setup


1357 Contrôle de décision de Setup1356 Contrôle de décision de Setup

1358</h4>1357</h4>

1359 1358 

1360Les hooks Setup ne peuvent pas bloquer ; l'exécution continue quel que soit le code de sortie. Quel que soit le code de sortie, Claude Code ignore les [champs de sortie JSON](#json-output) d'un hook Setup, tels que `systemMessage`, `continue` et `hookSpecificOutput.additionalContext`. Avec `-p`, la sortie stdout, la sortie stderr et le code de sortie d'un hook Setup n'apparaissent dans la sortie de l'exécution que sous forme d'[événements `hook_response`](/docs/fr/headless#read-session-metadata) lorsque vous lancez avec `--output-format stream-json --verbose`.1359Les hooks Setup ne peuvent pas bloquer ; l'exécution se poursuit quel que soit le code de sortie. Quel que soit le code de sortie, Claude Code ignore les [champs de sortie JSON](#json-output) d'un hook Setup, comme `systemMessage`, `continue` et `hookSpecificOutput.additionalContext`. Avec `-p`, la sortie stdout, la sortie stderr et le code de sortie d'un hook Setup n'apparaissent dans la sortie de l'exécution que sous forme d'[événements `hook_response`](/docs/fr/headless#read-session-metadata), lorsque vous lancez avec `--output-format stream-json --verbose`.

1361 1360 

1362Les hooks Setup ont accès à `CLAUDE_ENV_FILE`. Les variables écrites dans ce fichier persistent dans les commandes Bash suivantes de la session, comme pour les [hooks SessionStart](#persist-environment-variables). Seuls les hooks `type: "command"` s'exécutent sur `Setup`. Un hook `type: "mcp_tool"` sur `Setup` est toujours ignoré, comme décrit dans [Champs des hooks d'outils MCP](#mcp-tool-hook-fields).1361Les hooks Setup ont accès à `CLAUDE_ENV_FILE`. Les variables écrites dans ce fichier persistent dans les commandes Bash suivantes de la session, comme pour les [hooks SessionStart](#persist-environment-variables). Seuls les hooks `type: "command"` s'exécutent sur `Setup`. Un hook `type: "mcp_tool"` sur `Setup` est toujours ignoré, comme décrit dans [Champs des hooks d'outil MCP](#mcp-tool-hook-fields).

1363 1362 

1364<h3 id="instructionsloaded">1363<h3 id="instructionsloaded">

1365 InstructionsLoaded1364 InstructionsLoaded

1366</h3>1365</h3>

1367 1366 

1368Se déclenche lorsqu'un fichier `CLAUDE.md` ou `.claude/rules/*.md` est chargé dans le contexte. Cet événement se déclenche au démarrage de la session pour les fichiers chargés immédiatement, puis plus tard lorsque des fichiers sont chargés à la demande, par exemple lorsque Claude accède à un sous-répertoire contenant un `CLAUDE.md` imbriqué ou lorsque des règles conditionnelles avec un frontmatter `paths:` correspondent. Le hook ne prend en charge ni le blocage ni le contrôle des décisions. Il s'exécute de manière asynchrone à des fins d'observabilité.1367Se déclenche lorsqu'un fichier `CLAUDE.md` ou `.claude/rules/*.md` est chargé dans le contexte. Cet événement se déclenche au démarrage de la session pour les fichiers chargés immédiatement, puis plus tard lorsque des fichiers sont chargés à la demande, par exemple lorsque Claude accède à un sous-répertoire contenant un `CLAUDE.md` imbriqué ou lorsque des règles conditionnelles avec un frontmatter `paths:` correspondent. Le hook ne prend en charge ni le blocage ni le contrôle de décision. Il s'exécute de manière asynchrone à des fins d'observabilité.

1369 1368 

1370Cet événement ne se déclenche pas lorsque Claude [lit `AGENTS.md` directement](/docs/fr/memory#agents-md) via le paramètre **Project instructions**. Il se déclenche lorsqu'un `CLAUDE.md` importe votre `AGENTS.md`, avec `load_reason` défini sur `include` comme pour tout autre fichier importé, et lorsque `CLAUDE.md` est un lien symbolique vers celui-ci, comme un chargement normal de `CLAUDE.md`.1369Cet événement ne se déclenche pas lorsque Claude [lit `AGENTS.md` directement](/docs/fr/memory#agents-md) via le paramètre **Project instructions**. Il se déclenche en revanche lorsqu'un `CLAUDE.md` importe votre `AGENTS.md`, avec `load_reason` défini sur `include` comme pour tout autre fichier importé, et lorsque `CLAUDE.md` est un lien symbolique vers celui-ci, comme un chargement normal de `CLAUDE.md`.

1371 1370 

1372Le matcher s'applique à `load_reason`. Par exemple, utilisez `"matcher": "session_start"` pour ne déclencher le hook que pour les fichiers chargés au démarrage de la session, ou `"matcher": "path_glob_match|nested_traversal"` pour ne le déclencher que pour les chargements à la demande.1371Le matcher s'applique à `load_reason`. Par exemple, utilisez `"matcher": "session_start"` pour ne déclencher le hook que pour les fichiers chargés au démarrage de la session, ou `"matcher": "path_glob_match|nested_traversal"` pour ne le déclencher que pour les chargements à la demande.

1373 1372 


1379 1378 

1380| Champ | Description |1379| Champ | Description |

1381| :- | :- |1380| :- | :- |

1382| `file_path` | Chemin absolu du fichier d'instructions chargé |1381| `file_path` | Chemin absolu du fichier d'instructions qui a été chargé |

1383| `memory_type` | Portée du fichier : `"User"`, `"Project"`, `"Local"` ou `"Managed"` |1382| `memory_type` | Portée du fichier : `"User"`, `"Project"`, `"Local"` ou `"Managed"` |

1384| `load_reason` | Raison du chargement du fichier : `"session_start"`, `"nested_traversal"`, `"path_glob_match"`, `"include"` ou `"compact"`. La valeur `"compact"` apparaît lorsque des fichiers d'instructions sont rechargés après un événement de compaction |1383| `load_reason` | Raison du chargement du fichier : `"session_start"`, `"nested_traversal"`, `"path_glob_match"`, `"include"` ou `"compact"`. La valeur `"compact"` est utilisée lorsque les fichiers d'instructions sont rechargés après un événement de compaction |

1385| `globs` | Motifs glob de chemin issus du frontmatter `paths:` du fichier, le cas échéant. Présent uniquement pour les chargements `path_glob_match` |1384| `globs` | Motifs glob de chemin issus du frontmatter `paths:` du fichier, le cas échéant. Présent uniquement pour les chargements `path_glob_match` |

1386| `trigger_file_path` | Chemin du fichier dont l'accès a déclenché ce chargement, pour les chargements à la demande |1385| `trigger_file_path` | Chemin du fichier dont l'accès a déclenché ce chargement, pour les chargements à la demande |

1387| `parent_file_path` | Chemin du fichier d'instructions parent qui a inclus celui-ci, pour les chargements `include` |1386| `parent_file_path` | Chemin du fichier d'instructions parent qui a inclus celui-ci, pour les chargements `include` |


1402 Contrôle de décision d'InstructionsLoaded1401 Contrôle de décision d'InstructionsLoaded

1403</h4>1402</h4>

1404 1403 

1405Les hooks InstructionsLoaded n'ont pas de contrôle de décision. Ils ne peuvent ni bloquer ni modifier le chargement des instructions. Claude Code ignore leurs [champs de sortie JSON](#json-output), tels que `systemMessage` et `continue`. Utilisez cet événement pour la journalisation d'audit, le suivi de conformité ou l'observabilité.1404Les hooks InstructionsLoaded n'ont aucun contrôle de décision. Ils ne peuvent ni bloquer ni modifier le chargement des instructions. Claude Code ignore leurs [champs de sortie JSON](#json-output), comme `systemMessage` et `continue`. Utilisez cet événement pour la journalisation d'audit, le suivi de conformité ou l'observabilité.

1406 1405 

1407<h3 id="userpromptsubmit">1406<h3 id="userpromptsubmit">

1408 UserPromptSubmit1407 UserPromptSubmit


1412d'ajouter du contexte supplémentaire en fonction du prompt ou de la conversation, de valider des prompts ou1411d'ajouter du contexte supplémentaire en fonction du prompt ou de la conversation, de valider des prompts ou

1413de bloquer certains types de prompts.1412de bloquer certains types de prompts.

1414 1413 

1415Les hooks `UserPromptSubmit` ne se déclenchent pas uniquement pour les prompts que vous tapez. Claude Code les exécute également lors :1414Les hooks `UserPromptSubmit` ne se déclenchent pas uniquement sur les prompts que vous saisissez. Claude Code les exécute également lors :

1416 1415 

1417* du déclenchement d'une [tâche planifiée](/docs/fr/scheduled-tasks), y compris une itération de `/loop`1416* Du déclenchement d'une [tâche planifiée](/docs/fr/scheduled-tasks), y compris une itération de `/loop`

1418* du retour d'un [sous-agent en arrière-plan](/docs/fr/sub-agents#run-subagents-in-foreground-or-background) vers la session qui l'a lancé1417* Du compte rendu d'un [sous-agent en arrière-plan](/docs/fr/sub-agents#run-subagents-in-foreground-or-background) à la session qui l'a lancé

1419* de la réception dans votre conversation principale d'un [message envoyé par une autre session](/docs/fr/cross-session-messaging)1418* D'un [message qu'une autre session envoie](/docs/fr/cross-session-messaging) à votre conversation principale

1420 1419 

1421Les 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 par le modèle jusqu'à ce qu'il se termine, 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.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.

1422 1421 

1423À l'exception d'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 indiquant le nom du hook, le délai d'expiration atteint et le fait que la sortie a été ignorée.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.

1424 1423 

1425Un [hook 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 jouer le rôle de garde-fou de politique qui ne doit pas laisser passer en cas d'échec. La session continue. Avant la v2.1.208, l'expiration d'un callback sur cet événement terminait le tour avec une erreur d'exécution.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.

1426 1425 

1427<h4 id="userpromptsubmit-input">1426<h4 id="userpromptsubmit-input">

1428 Entrée d'UserPromptSubmit1427 Entrée d'UserPromptSubmit

1429</h4>1428</h4>

1430 1429 

1431En plus des [champs d'entrée communs](#common-input-fields), les hooks UserPromptSubmit reçoivent le champ `prompt` contenant le texte soumis. Le contenu collé qui a été réduit en un espace réservé `[Pasted text #N]` arrive développé à sa place. Dans les sessions où Claude Code [signale le texte collé à Claude](/docs/fr/terminal-config#how-claude-treats-pasted-text), ce contenu développé se trouve entre une ligne `<pasted_content id="…">` et une ligne `</pasted_content id="…">` ; tenez donc compte de ces lignes si votre hook analyse le prompt.1430En plus des [champs d'entrée communs](#common-input-fields), les hooks UserPromptSubmit reçoivent le champ `prompt` contenant le texte soumis. Le contenu collé qui a été réduit à un espace réservé `[Pasted text #N]` arrive développé à sa place. Dans les sessions où Claude Code [balise le texte collé pour Claude](/docs/fr/terminal-config#how-claude-treats-pasted-text), ce contenu développé se trouve entre une ligne `<pasted_content id="…">` et une ligne `</pasted_content id="…">` ; tenez-en compte si votre hook analyse le prompt.

1432 1431 

1433Les hooks UserPromptSubmit reçoivent également `session_title` lorsque la session a un titre personnalisé, avec la même signification que le [champ `session_title` de SessionStart](#sessionstart-input).1432Les hooks UserPromptSubmit reçoivent également `session_title` lorsque la session a un titre personnalisé, avec la même signification que le [champ `session_title` de SessionStart](#sessionstart-input).

1434 1433 


1452Il existe deux façons d'ajouter du contexte à la conversation avec le code de sortie 0 :1451Il existe deux façons d'ajouter du contexte à la conversation avec le code de sortie 0 :

1453 1452 

1454* **Sortie stdout en texte brut** : Claude Code ajoute au contexte de Claude la sortie stdout qu'il [traite comme du texte brut](#exit-code-0)1453* **Sortie stdout en texte brut** : Claude Code ajoute au contexte de Claude la sortie stdout qu'il [traite comme du texte brut](#exit-code-0)

1455* **JSON avec `additionalContext`** : utilisez le format JSON ci-dessous pour plus de contrôle. Le champ `additionalContext` est ajouté comme contexte1454* **JSON avec `additionalContext`** : utilisez le format JSON ci-dessous pour davantage de contrôle. Le champ `additionalContext` est ajouté comme contexte

1456 1455 

1457Aucun des deux canaux ne produit d'entrée visible dans la transcription. La sortie stdout brute et la valeur `additionalContext` sont chacune injectées sous forme de rappel système commençant par le nom du hook ; Claude lit les deux. Pour confirmer la transmission, consultez le [log de débogage](#debug-hooks).1456Aucun de ces canaux ne produit d'entrée visible dans la transcription. La sortie stdout brute et la valeur `additionalContext` sont chacune injectées sous forme de rappel système commençant par le nom du hook ; Claude lit les deux. Pour vérifier la transmission, consultez le [log de débogage](#debug-hooks).

1458 1457 

1459Pour bloquer un prompt, renvoyez un objet JSON avec `decision` défini sur `"block"` :1458Pour bloquer un prompt, renvoyez un objet JSON dont `decision` est défini sur `"block"` :

1460 1459 

1461| Champ | Description |1460| Champ | Description |

1462| :- | :- |1461| :- | :- |

1463| `decision` | `"block"` arrête le prompt avant qu'il n'atteigne Claude. Omettez-le pour laisser le prompt se poursuivre |1462| `decision` | `"block"` arrête le prompt avant qu'il ne parvienne à Claude. Omettez-le pour laisser le prompt poursuivre |

1464| `reason` | Affiché à l'utilisateur lorsque `decision` vaut `"block"`. Non ajouté au contexte |1463| `reason` | Affiché à l'utilisateur lorsque `decision` vaut `"block"`. N'est pas ajouté au contexte |

1465| `additionalContext` | Chaîne ajoutée au contexte de Claude en plus du prompt soumis. Consultez [Ajouter du contexte pour Claude](#add-context-for-claude) |1464| `additionalContext` | Chaîne ajoutée au contexte de Claude avec le prompt soumis. Consultez [Ajouter du contexte pour Claude](#add-context-for-claude) |

1466| `sessionTitle` | Définit le titre de la session. Utilisez-le pour nommer automatiquement les sessions en fonction du contenu du prompt |1465| `sessionTitle` | Définit le titre de la session. À utiliser pour nommer automatiquement les sessions en fonction du contenu du prompt |

1467| `suppressOriginalPrompt` | Si `true` lorsque le hook bloque le prompt, le texte du prompt est exclu du message de blocage. Consultez [Ce que laisse un prompt bloqué](#what-a-blocked-prompt-leaves-behind) |1466| `suppressOriginalPrompt` | Si `true` lorsque le hook bloque le prompt, omet le texte du prompt du message de blocage. Consultez [Ce que laisse derrière lui un prompt bloqué](#what-a-blocked-prompt-leaves-behind) |

1468 1467 

1469Un hook qui bloque en se terminant avec le code 2 est traité de la même manière que `reason` : le message de blocage affiche le texte de stderr à l'utilisateur, et celui-ci n'est pas ajouté au contexte.1468Un hook qui bloque en se terminant avec le code 2 est traité de la même manière que `reason` : le message de blocage affiche le texte stderr à l'utilisateur, et celui-ci n'est pas ajouté au contexte.

1470 1469 

1471```json theme={null}1470```json theme={null}

1472{1471{


1482```1481```

1483 1482 

1484<h4 id="what-a-blocked-prompt-leaves-behind">1483<h4 id="what-a-blocked-prompt-leaves-behind">

1485 Ce que laisse un prompt bloqué1484 Ce que laisse derrière lui un prompt bloqué

1486</h4>1485</h4>

1487 1486 

1488Un prompt bloqué n'atteint jamais Claude, mais son texte n'est pas supprimé partout. Par défaut, le message de blocage affiché à l'utilisateur se termine par `Original prompt:` suivi du texte soumis, et Claude Code écrit ce message dans le fichier de transcription de la session sur le disque. Pour exclure le texte du message, affichez un JSON avec `"suppressOriginalPrompt": true` dans `hookSpecificOutput`. Cela fonctionne que le hook bloque avec `decision: "block"` ou en se terminant avec le code 2.1487Un prompt bloqué ne parvient jamais à Claude, mais son texte n'est pas supprimé partout. Par défaut, le message de blocage affiché à l'utilisateur se termine par `Original prompt:` suivi du texte soumis, et Claude Code écrit ce message dans le fichier de transcription de la session sur le disque. Pour omettre le texte du message, affichez un JSON avec `"suppressOriginalPrompt": true` dans `hookSpecificOutput`. Cela fonctionne que le hook bloque avec `decision: "block"` ou en se terminant avec le code 2.

1489 1488 

1490`suppressOriginalPrompt` ne modifie que le message de blocage. Le texte soumis peut toujours apparaître dans des fichiers locaux tels que la transcription de la session et votre historique de prompts ; un hook de blocage n'est donc pas un moyen d'empêcher qu'un secret soit écrit sur le disque. Pour limiter ou supprimer ces fichiers, consultez [Stockage en texte brut](/docs/fr/claude-directory#plaintext-storage) et [Effacer les données locales](/docs/fr/claude-directory#clear-local-data).1489`suppressOriginalPrompt` ne modifie que le message de blocage. Le texte soumis peut toujours apparaître dans des fichiers locaux comme la transcription de la session et votre historique de prompts ; un hook de blocage n'est donc pas un moyen d'empêcher qu'un secret soit écrit sur le disque. Pour limiter ou supprimer ces fichiers, consultez [Stockage en texte clair](/docs/fr/claude-directory#plaintext-storage) et [Effacer les données locales](/docs/fr/claude-directory#clear-local-data).

1491 1490 

1492<h3 id="userpromptexpansion">1491<h3 id="userpromptexpansion">

1493 UserPromptExpansion1492 UserPromptExpansion

1494</h3>1493</h3>

1495 1494 

1496S'exécute lorsqu'une commande saisie par l'utilisateur se développe en prompt avant d'atteindre Claude. Utilisez-le pour empêcher l'invocation directe de commandes spécifiques, injecter du contexte pour un skill particulier ou journaliser les commandes invoquées par les utilisateurs. Par exemple, un hook correspondant à `deploy` peut bloquer `/deploy` sauf si un fichier d'approbation est présent, ou un hook correspondant à un skill de revue peut ajouter la checklist de revue de l'équipe en tant qu'`additionalContext`.1495S'exécute lorsqu'une commande saisie par l'utilisateur est développée en prompt avant de parvenir à Claude. Utilisez-le pour empêcher l'invocation directe de commandes spécifiques, injecter du contexte pour un skill particulier ou journaliser les commandes invoquées par les utilisateurs. Par exemple, un hook correspondant à `deploy` peut bloquer `/deploy` à moins qu'un fichier d'approbation ne soit présent, ou un hook correspondant à un skill de revue peut ajouter la checklist de revue de l'équipe sous forme d'`additionalContext`.

1497 1496 

1498Cet événement couvre le chemin que `PreToolUse` ne couvre pas : un hook `PreToolUse` correspondant à l'outil `Skill` ne se déclenche que lorsque Claude appelle l'outil, mais saisir `/skillname` directement contourne `PreToolUse`. `UserPromptExpansion` se déclenche sur ce chemin direct.1497Cet événement couvre le chemin que `PreToolUse` ne couvre pas : un hook `PreToolUse` correspondant à l'outil `Skill` ne se déclenche que lorsque Claude appelle l'outil, mais saisir `/skillname` directement contourne `PreToolUse`. `UserPromptExpansion` se déclenche sur ce chemin direct.

1499 1498 

1500Correspond à `command_name`. Laissez le matcher vide pour le déclencher sur chaque commande de type prompt.1499Le matcher s'applique à `command_name`. Laissez le matcher vide pour déclencher le hook sur chaque commande de type prompt.

1501 1500 

1502<h4 id="userpromptexpansion-input">1501<h4 id="userpromptexpansion-input">

1503 Entrée d'UserPromptExpansion1502 Entrée d'UserPromptExpansion


1528 1527 

1529| Champ | Description |1528| Champ | Description |

1530| :- | :- |1529| :- | :- |

1531| `decision` | `"block"` empêche le développement de la commande. Omettez-le pour la laisser se poursuivre |1530| `decision` | `"block"` empêche le développement de la commande. Omettez-le pour la laisser poursuivre |

1532| `reason` | Affiché à l'utilisateur lorsque `decision` vaut `"block"` |1531| `reason` | Affiché à l'utilisateur lorsque `decision` vaut `"block"` |

1533| `additionalContext` | Chaîne ajoutée au contexte de Claude en plus du prompt développé. Consultez [Ajouter du contexte pour Claude](#add-context-for-claude) |1532| `additionalContext` | Chaîne ajoutée au contexte de Claude avec le prompt développé. Consultez [Ajouter du contexte pour Claude](#add-context-for-claude) |

1534 1533 

1535Un hook qui bloque en se terminant avec le code 2 est traité de la même manière que `reason` : le message de blocage affiche le texte de stderr à l'utilisateur.1534Un hook qui bloque en se terminant avec le code 2 est traité de la même manière que `reason` : le message de blocage affiche le texte stderr à l'utilisateur.

1536 1535 

1537```json theme={null}1536```json theme={null}

1538{1537{


1549 MessageDisplay1548 MessageDisplay

1550</h3>1549</h3>

1551 1550 

1552S'exécute pendant qu'un message de l'assistant est diffusé à l'écran. Claude Code affiche le message par incréments : chaque fois qu'un lot de lignes nouvellement terminées est prêt à être affiché, le hook s'exécute une fois avec ces lignes et Claude Code affiche le texte de remplacement du hook à leur place. Un message long produit plusieurs appels ; un message court peut n'en produire qu'un seul.1551S'exécute pendant qu'un message de l'assistant s'affiche en streaming à l'écran. Claude Code affiche le message par incréments : chaque fois qu'un lot de lignes nouvellement complétées est prêt à être rendu, le hook s'exécute une fois avec ces lignes et Claude Code affiche à leur place le texte de remplacement du hook. Un message long produit plusieurs appels ; un message court peut n'en produire qu'un seul.

1553 1552 

1554Utilisez MessageDisplay pour :1553Utilisez MessageDisplay pour :

1555 1554 

1556* supprimer le markdown pour un affichage minimal1555* supprimer le markdown pour un affichage minimal

1557* transformer le texte qu'une application Agent SDK affiche à ses utilisateurs1556* transformer le texte qu'une application Agent SDK présente à ses utilisateurs

1558* masquer les clés API ou les noms d'hôtes internes dans les réponses de Claude1557* masquer des clés API ou des noms d'hôtes internes dans les réponses de Claude

1559 1558 

1560Claude Code retient chaque lot jusqu'à ce que votre hook renvoie une réponse, gardez donc le hook rapide. Si le hook échoue ou expire, Claude Code affiche le texte d'origine. Le délai d'expiration par défaut pour cet événement est de 10 secondes ; si votre hook a besoin de plus de temps, définissez le champ `timeout` dans l'entrée du hook.1559Claude Code retient chaque lot jusqu'à ce que votre hook renvoie un résultat ; veillez donc à ce que le hook reste rapide. Si le hook échoue ou expire, Claude Code affiche le texte d'origine. Le délai d'expiration par défaut pour cet événement est de 10 secondes ; si votre hook a besoin de plus de temps, définissez le champ `timeout` dans l'entrée du hook.

1561 1560 

1562MessageDisplay concerne uniquement l'affichage : le texte de remplacement ne modifie que ce qui est rendu à l'écran. La transcription et ce que voit Claude conservent le texte d'origine, de sorte que Claude ne voit jamais le remplacement, et le mode verbeux affiche l'original. Le hook ne reçoit que le texte des messages de l'assistant, donc les résultats d'outils et le texte que vous saisissez s'affichent sans modification.1561MessageDisplay ne concerne que l'affichage : le texte de remplacement ne modifie que ce qui est rendu à l'écran. La transcription et ce que voit Claude conservent le texte d'origine ; Claude ne voit donc jamais le remplacement, et le mode verbeux affiche l'original. Le hook ne reçoit que le texte des messages de l'assistant ; les résultats d'outils et le texte que vous saisissez s'affichent donc sans modification.

1563 1562 

1564MessageDisplay ne prend pas en charge les matchers et se déclenche pour chaque message de l'assistant qui diffuse du texte ; les messages sans texte, comme les réponses ne contenant que des appels d'outils, ne le déclenchent pas.1563MessageDisplay ne prend pas en charge les matchers et se déclenche pour chaque message de l'assistant qui diffuse du texte en streaming ; les messages sans texte, comme les réponses ne contenant que des appels d'outils, ne le déclenchent pas.

1565 1564 

1566Dans les exécutions non interactives, y compris les requêtes Agent SDK et `claude -p`, MessageDisplay s'exécute une fois par message de l'assistant au lieu d'une fois par lot de lignes. L'appel unique arrive une fois le message terminé et contient le texte complet du message : `index` vaut `0`, `final` vaut `true`, et `delta` contient l'intégralité du message. Un hook qui collecte le texte `delta` de chaque message reçoit le même texte total dans les deux modes.1565Dans les exécutions non interactives, y compris les requêtes de l'Agent SDK et `claude -p`, MessageDisplay s'exécute une fois par message de l'assistant au lieu d'une fois par lot de lignes. L'appel unique arrive une fois le message terminé et contient le texte complet du message : `index` vaut `0`, `final` vaut `true` et `delta` contient l'intégralité du message. Un hook qui collecte le texte `delta` de chaque message reçoit le même texte total dans les deux modes.

1567 1566 

1568<h4 id="messagedisplay-input">1567<h4 id="messagedisplay-input">

1569 Entrée de MessageDisplay1568 Entrée de MessageDisplay

1570</h4>1569</h4>

1571 1570 

1572En plus des [champs d'entrée communs](#common-input-fields), les hooks MessageDisplay reçoivent des identifiants pour le tour et le message, la position de cet appel dans le message, et le nouveau texte dans `delta`. Les limites des lots dépendent de la manière dont le texte est diffusé ; utilisez donc `index` et `final` pour suivre la progression dans un message plutôt que de vous attendre à ce que les lignes soient regroupées d'une manière particulière.1571En plus des [champs d'entrée communs](#common-input-fields), les hooks MessageDisplay reçoivent des identifiants pour le tour et le message, la position de cet appel au sein du message, et le nouveau texte dans `delta`. Les limites des lots dépendent de la manière dont le texte est diffusé ; utilisez donc `index` et `final` pour suivre la progression dans un message plutôt que de vous attendre à ce que les lignes soient regroupées d'une façon particulière.

1573 1572 

1574| Champ | Description |1573| Champ | Description |

1575| :- | :- |1574| :- | :- |

1576| `turn_id` | UUID du tour en cours |1575| `turn_id` | UUID du tour en cours |

1577| `message_id` | UUID du message de l'assistant en cours d'affichage. Stable sur tous les lots d'un même message. Il ne s'agit pas de l'identifiant `msg_…` de l'API, il ne peut donc pas être mis en correspondance avec les identifiants de message de la transcription |1576| `message_id` | UUID du message de l'assistant en cours d'affichage. Stable sur tous les lots d'un même message. Il ne s'agit pas de l'identifiant `msg_…` de l'API ; il ne peut donc pas être mis en correspondance avec les identifiants de messages de la transcription |

1578| `index` | Index à partir de zéro de ce lot dans le message |1577| `index` | Index, en partant de zéro, de ce lot au sein du message |

1579| `final` | `true` sur le dernier lot du message. Chaque message a exactement un lot final |1578| `final` | `true` pour le dernier lot du message. Chaque message comporte exactement un lot final |

1580| `delta` | Les lignes nouvellement terminées depuis le lot précédent, retours à la ligne de fin inclus. Toujours des lignes entières, sauf pour le lot final qui peut se terminer en milieu de ligne. Dans les exécutions interactives, le delta du lot final est vide lorsque le message se termine par un retour à la ligne ; considérez donc `final`, et non un delta non vide, comme le signal de fin de message. Dans les exécutions Agent SDK et `claude -p`, l'appel unique contient l'intégralité du message |1579| `delta` | Les lignes nouvellement complétées depuis le lot précédent, retours à la ligne finaux inclus. Toujours des lignes entières, sauf pour le lot final, qui peut se terminer en milieu de ligne. Dans les exécutions interactives, le delta du lot final est vide lorsque le message se termine par un retour à la ligne ; considérez donc `final`, et non un delta non vide, comme le signal de fin de message. Dans les exécutions de l'Agent SDK et de `claude -p`, l'appel unique contient l'intégralité du message |

1581 1580 

1582```json theme={null}1581```json theme={null}

1583{1582{


1603| :- | :- |1602| :- | :- |

1604| `displayContent` | Texte affiché à la place du delta. Omettez-le pour afficher l'original |1603| `displayContent` | Texte affiché à la place du delta. Omettez-le pour afficher l'original |

1605 1604 

1606Les hooks MessageDisplay n'ont pas de contrôle de décision. Ils ne peuvent pas bloquer le message ni modifier ce qui est stocké dans la transcription ou envoyé à Claude. Claude Code tient compte de `displayContent` dans leur sortie JSON et ignore `systemMessage` et `continue`.1605Les hooks MessageDisplay n'ont aucun contrôle de décision. Ils ne peuvent ni bloquer le message ni modifier ce qui est stocké dans la transcription ou envoyé à Claude. Claude Code tient compte de `displayContent` dans leur sortie JSON et ignore `systemMessage` et `continue`.

1607 1606 

1608Cet exemple supprime la mise en forme markdown des réponses de Claude pour un affichage en texte brut. Le script lit chaque lot depuis stdin, supprime les marqueurs de gras et les backticks de code en ligne de `delta`, et renvoie le résultat en tant que `displayContent`.1607Cet exemple supprime la mise en forme markdown des réponses de Claude pour un affichage en texte brut. Le script lit chaque lot depuis stdin, supprime les marqueurs de gras et les backticks de code inline de `delta`, et renvoie le résultat dans `displayContent`.

1609 1608 

1610<Tabs>1609<Tabs>

1611 <Tab title="macOS/Linux">1610 <Tab title="macOS/Linux">


1664 }1663 }

1665 ```1664 ```

1666 1665 

1667 Le flag `-NoProfile` évite le chargement de votre profil PowerShell pour que le hook démarre rapidement, et `-ExecutionPolicy Bypass` permet à PowerShell d'exécuter le fichier de script local.1666 Le flag `-NoProfile` évite de charger votre profil PowerShell afin que le hook démarre rapidement, et `-ExecutionPolicy Bypass` permet à PowerShell d'exécuter le fichier de script local.

1668 1667 

1669 Enregistrez ce script dans `.claude/hooks/plain-display.ps1` dans votre projet :1668 Enregistrez ce script dans `.claude/hooks/plain-display.ps1` dans votre projet :

1670 1669 


1681 </Tab>1680 </Tab>

1682</Tabs>1681</Tabs>

1683 1682 

1684Les lots sans markdown passent sans modification. Si le script échoue, par exemple parce que `jq` est absent, Claude Code affiche le texte d'origine et ne signale l'échec que dans la [sortie de débogage](#debug-hooks), pas dans la session.1683Les lots sans markdown passent sans modification. Si le script échoue, par exemple parce que `jq` est absent, Claude Code affiche le texte d'origine et signale l'échec uniquement dans la [sortie de débogage](#debug-hooks), et non dans la session.

1685 1684 

1686<h3 id="pretooluse">1685<h3 id="pretooluse">

1687 PreToolUse1686 PreToolUse

1688</h3>1687</h3>

1689 1688 

1690S'exécute après que Claude a créé les paramètres de l'outil et avant le traitement de l'appel d'outil. Correspond à n'importe quel nom d'outil sauf `EndConversation` : les outils intégrés tels que `Bash`, `PowerShell`, `Edit`, `Write`, `Read`, `Glob`, `Grep`, `Agent`, `Workflow`, `WebFetch`, `WebSearch`, `AskUserQuestion` et `ExitPlanMode`, ainsi que tout [nom d'outil MCP](#match-mcp-tools).1689S'exécute après que Claude a créé les paramètres de l'outil et avant le traitement de l'appel d'outil. Correspond à n'importe quel nom d'outil sauf `EndConversation` : les outils intégrés comme `Bash`, `PowerShell`, `Edit`, `Write`, `Read`, `Glob`, `Grep`, `Agent`, `Workflow`, `WebFetch`, `WebSearch`, `AskUserQuestion` et `ExitPlanMode`, ainsi que tous les [noms d'outils MCP](#match-mcp-tools).

1691 1690 

1692Pour exécuter un hook lorsqu'un fichier spécifique change sur le disque, quel que soit ce qui l'a écrit, utilisez [FileChanged](#filechanged) plutôt que de faire correspondre les outils d'édition de fichiers par leur nom. Contrairement à PreToolUse, Claude Code exécute les hooks FileChanged après la modification, et ils n'ont pas de contrôle de décision ; ils ne peuvent donc pas bloquer l'écriture.1691Pour exécuter un hook lorsqu'un fichier spécifique change sur le disque, quel que soit ce qui l'a écrit, utilisez [FileChanged](#filechanged) plutôt que de faire correspondre les outils d'édition de fichiers par leur nom. Contrairement à PreToolUse, Claude Code exécute les hooks FileChanged après la modification, et ils n'ont aucun contrôle de décision ; ils ne peuvent donc pas bloquer l'écriture.

1693 1692 

1694<Warning>1693<Warning>

1695 PreToolUse ne s'exécute que lorsque Claude appelle un outil. Les fichiers que vous [référencez avec `@` dans votre prompt](/docs/fr/common-workflows#reference-files-and-directories) sont ajoutés sans aucun appel d'outil : Claude Code insère leur contenu lors de la construction du prompt, donc aucun hook PreToolUse ne se déclenche pour eux, y compris les hooks correspondant à `Read`. Pour empêcher des chemins spécifiques d'être référencés avec `@`, utilisez plutôt une [règle de refus `Read`](/docs/fr/permissions#read-and-edit).1694 PreToolUse ne s'exécute que lorsque Claude appelle un outil. Les fichiers que vous [référencez avec `@` dans votre prompt](/docs/fr/common-workflows#reference-files-and-directories) sont ajoutés sans aucun appel d'outil : Claude Code insère leur contenu lors de la construction du prompt, donc aucun hook PreToolUse ne se déclenche pour eux, y compris les hooks correspondant à `Read`. Pour empêcher des chemins spécifiques d'être référencés avec `@`, utilisez plutôt une [règle de refus `Read`](/docs/fr/permissions#read-and-edit).


1699 1698 

1700Utilisez le [contrôle de décision de PreToolUse](#pretooluse-decision-control) pour autoriser, refuser, demander ou différer l'appel d'outil.1699Utilisez le [contrôle de décision de PreToolUse](#pretooluse-decision-control) pour autoriser, refuser, demander ou différer l'appel d'outil.

1701 1700 

1702Un [hook callback de l'Agent SDK](/docs/fr/agent-sdk/hooks) sur `PreToolUse` qui dépasse son délai d'expiration bloque l'appel d'outil, et Claude reçoit un résultat d'erreur indiquant le délai d'expiration. Un refus explicite renvoyé par un autre hook reste prioritaire.1701Un [hook de callback de l'Agent SDK](/docs/fr/agent-sdk/hooks) sur `PreToolUse` qui dépasse son délai d'expiration bloque l'appel d'outil, et Claude reçoit un résultat d'erreur indiquant le délai d'expiration. Un refus explicite renvoyé par un autre hook reste prioritaire.

1703 1702 

1704<h4 id="pretooluse-input">1703<h4 id="pretooluse-input">

1705 Entrée de PreToolUse1704 Entrée de PreToolUse


1707 1706 

1708En plus des [champs d'entrée communs](#common-input-fields), les hooks PreToolUse reçoivent `tool_name`, `tool_input` et `tool_use_id`.1707En plus des [champs d'entrée communs](#common-input-fields), les hooks PreToolUse reçoivent `tool_name`, `tool_input` et `tool_use_id`.

1709 1708 

1710Pour un [outil MCP](#match-mcp-tools), l'entrée contient également `mcp_server`, un objet comportant le `name` du serveur et une `source` qui indique d'où provient la définition du serveur. Les valeurs de `source` incluent `plugin`, `sdk` et des portées de configuration telles que `user` et `project`. [`McpServerProvenance`](/docs/fr/agent-sdk/typescript#mcpserverprovenance) dans la référence de l'Agent SDK les liste toutes et indique comment traiter une valeur que vous ne reconnaissez pas. Fondez vos décisions de confiance sur `source` plutôt que sur `name` ou sur le préfixe de nom d'outil `mcp__<server>__`. Le champ `mcp_server` nécessite Claude Code v2.1.274 ou ultérieure.1709Pour un [outil MCP](#match-mcp-tools), l'entrée contient également `mcp_server`, un objet avec le `name` du serveur et une `source` qui indique d'où provient la définition du serveur. Les valeurs de `source` incluent `plugin`, `sdk` et des portées de configuration comme `user` et `project`. [`McpServerProvenance`](/docs/fr/agent-sdk/typescript#mcpserverprovenance) dans la référence de l'Agent SDK les répertorie toutes et explique comment traiter une valeur que vous ne reconnaissez pas. Fondez vos décisions de confiance sur `source` plutôt que sur `name` ou sur le préfixe de nom d'outil `mcp__<server>__`. Le champ `mcp_server` nécessite Claude Code v2.1.274 ou une version ultérieure.

1711 1710 

1712Pour les outils de fichiers `Write`, `Edit` et `Read`, `tool_input.file_path` est toujours absolu :1711Pour les outils de fichiers `Write`, `Edit` et `Read`, `tool_input.file_path` est toujours absolu :

1713 1712 

1714* Claude Code développe `~` et les chemins relatifs avant l'exécution des hooks, de sorte qu'un hook qui filtre sur les chemins ne peut pas être contourné via `~` ou une écriture relative du même chemin1713* Claude Code développe `~` et les chemins relatifs avant l'exécution des hooks ; un hook qui filtre sur les chemins ne peut donc pas être contourné via `~` ou une écriture relative du même chemin

1715* Sous Windows, le chemin arrive avec des barres obliques inverses comme séparateurs, même lorsque votre hook s'exécute sous Git Bash où `$PWD` ressemble à `/c/project`1714* Sous Windows, le chemin arrive avec des barres obliques inverses comme séparateurs, même lorsque votre hook s'exécute sous Git Bash, où `$PWD` ressemble à `/c/project`

1716* Une comparaison écrite avec des barres obliques, comme une vérification de `/src/`, ne correspond jamais à un chemin avec barres obliques inverses, et l'appel d'outil se poursuit comme si le hook n'avait rien à bloquer1715* Une comparaison écrite avec des barres obliques, comme une vérification de `/src/`, ne correspond jamais à un chemin avec des barres obliques inverses, et l'appel d'outil se poursuit comme si le hook n'avait rien à bloquer

1717* Normalisez les séparateurs avant de comparer : `FILE_PATH="${FILE_PATH//\\//}"` en Bash, ou `file_path.replace("\\", "/")` en Python, puis faites correspondre un segment de chemin tel que `/src/` plutôt que d'ancrer avec `^`, puisque le chemin est absolu1716* Normalisez les séparateurs avant de comparer : `FILE_PATH="${FILE_PATH//\\//}"` en Bash, ou `file_path.replace("\\", "/")` en Python, puis faites correspondre un segment de chemin comme `/src/` plutôt que d'ancrer avec `^`, puisque le chemin est absolu

1718 1717 

1719Un appel `Write` sous Windows transmet :1718Un appel `Write` sous Windows transmet :

1720 1719 


1747| `timeout` | number | `120000` | Délai d'expiration facultatif en millisecondes. Les valeurs supérieures au [maximum](/docs/fr/tools-reference#bash-tool-behavior) sont ramenées au maximum plutôt que rejetées |1746| `timeout` | number | `120000` | Délai d'expiration facultatif en millisecondes. Les valeurs supérieures au [maximum](/docs/fr/tools-reference#bash-tool-behavior) sont ramenées au maximum plutôt que rejetées |

1748| `run_in_background` | boolean | `false` | Indique s'il faut exécuter la commande en arrière-plan |1747| `run_in_background` | boolean | `false` | Indique s'il faut exécuter la commande en arrière-plan |

1749 1748 

1750Lorsqu'une commande Bash modifie des fichiers dans un dépôt Git, Claude Code peut enregistrer ce qui a changé. Il enregistre les modifications dans tous les modes de permission lorsque le paramètre [`bashEditDiffEnabled`](/docs/fr/settings-reference#basheditdiffenabled) active l'enregistrement ; l'entrée de ce paramètre indique quels fichiers peuvent le définir. Sinon, il ne les enregistre qu'en mode auto et en mode `bypassPermissions`, et uniquement lorsque Claude Code demande à Claude de modifier des fichiers via Bash. Définissez `bashEditDiffEnabled` sur `false` pour désactiver l'enregistrement. Les commandes en arrière-plan et les commandes en lecture seule ne comportent pas de diff.1749Lorsqu'une commande Bash modifie des fichiers dans un dépôt Git, Claude Code peut enregistrer ce qui a changé. Il enregistre les modifications dans tous les modes de permission lorsque le paramètre [`bashEditDiffEnabled`](/docs/fr/settings-reference#basheditdiffenabled) active l'enregistrement ; l'entrée de ce paramètre indique quels fichiers peuvent le définir. Sinon, il ne les enregistre qu'en mode auto et en mode `bypassPermissions`, et uniquement lorsque Claude Code demande à Claude de modifier des fichiers via Bash. Définissez `bashEditDiffEnabled` sur `false` pour désactiver l'enregistrement. Les commandes en arrière-plan et les commandes en lecture seule ne comportent aucun diff.

1751 1750 

1752Votre [hook PostToolUse](#posttooluse) reçoit alors les fichiers modifiés dans `tool_response.bashEditDiff`. La liste couvre ce qui a changé dans le dépôt pendant l'exécution de la commande. Les fichiers ignorés par Git et les fichiers des sous-modules ne sont pas listés. Nécessite Claude Code v2.1.269 ou ultérieure.1751Votre [hook PostToolUse](#posttooluse) reçoit alors les fichiers modifiés dans `tool_response.bashEditDiff`. La liste couvre ce qui a changé dans le dépôt pendant l'exécution de la commande. Les fichiers ignorés par Git et les fichiers des sous-modules ne sont pas répertoriés. Nécessite Claude Code v2.1.269 ou une version ultérieure.

1753 1752 

1754<Note>1753<Note>

1755 La liste est fournie au mieux et est en bêta publique. Claude Code peut manquer une modification, inclure un fichier qu'un autre processus a modifié au même moment, ou s'arrêter à ses limites de taille. La structure du champ peut changer. Utilisez la liste pour savoir quoi examiner, pas pour appliquer une politique.1754 La liste est établie au mieux et est en bêta publique. Claude Code peut manquer une modification, inclure un fichier qu'un autre processus a modifié au même moment, ou s'arrêter à ses limites de taille. La structure du champ peut changer. Utilisez la liste pour identifier ce qu'il faut examiner, et non pour appliquer une politique.

1756</Note>1755</Note>

1757 1756 

1758`changedFiles` et `files` listent ce que la commande a modifié ; les autres champs indiquent dans quelle mesure cette liste est complète et fiable.1757`changedFiles` et `files` répertorient ce que la commande a modifié ; les autres champs indiquent dans quelle mesure cette liste est complète et fiable.

1759 1758 

1760| Champ | Type | Exemple | Description |1759| Champ | Type | Exemple | Description |

1761| :- | :- | :- | :- |1760| :- | :- | :- | :- |

1762| `changedFiles` | array | `["/path/to/src/app.ts"]` | Chemins absolus des fichiers modifiés par la commande, 200 au maximum. Présent dès que `files` contient un diff ou que `moreFiles` est supérieur à zéro |1761| `changedFiles` | array | `["/path/to/src/app.ts"]` | Chemins absolus des fichiers modifiés par la commande, 200 au maximum. Présent chaque fois que `files` contient un diff ou que `moreFiles` est supérieur à zéro |

1763| `files` | array | `[{"filePath": "/path/to/src/app.ts", "hunks": [...]}]` | Diffs d'au plus 5 fichiers modifiés, pour l'affichage. `created` ou `deleted` vaut `true` pour un fichier que la commande a ajouté ou supprimé |1762| `files` | array | `[{"filePath": "/path/to/src/app.ts", "hunks": [...]}]` | Diffs d'au plus 5 fichiers modifiés, pour l'affichage. `created` ou `deleted` vaut `true` pour un fichier que la commande a ajouté ou supprimé |

1764| `moreFiles` | number | `2` | Nombre de fichiers modifiés sans diff dans `files` |1763| `moreFiles` | number | `2` | Nombre de fichiers modifiés sans diff dans `files` |

1765| `unavailable` | boolean | `true` | Défini lorsque le diff est incomplet ou n'a pas pu être obtenu |1764| `unavailable` | boolean | `true` | Défini lorsque le diff est incomplet ou n'a pas pu être obtenu |

1766| `skipped` | boolean | `true` | Défini pour une commande Git qui déplace l'arbre de travail, comme `git checkout` ou `git stash`, de sorte que Claude Code ne calcule pas de diff |1765| `skipped` | boolean | `true` | Défini pour une commande Git qui déplace l'arbre de travail, comme `git checkout` ou `git stash` ; Claude Code ne calcule alors aucun diff |

1767| `shared` | boolean | `true` | Défini lorsqu'un autre appel d'outil Bash, comme celui d'un sous-agent, s'est exécuté dans le même dépôt au même moment, de sorte que certaines modifications listées peuvent provenir de cette commande |1766| `shared` | boolean | `true` | Défini lorsqu'un autre appel de l'outil Bash, comme celui d'un sous-agent, s'est exécuté dans le même dépôt au même moment ; certaines modifications répertoriées peuvent donc provenir de cette commande |

1768 1767 

1769<a id="powershell" />1768<a id="powershell" />

1770 1769 


1772 PowerShell1771 PowerShell

1773</h5>1772</h5>

1774 1773 

1775Exécute des commandes PowerShell. Consultez l'[outil PowerShell](/docs/fr/tools-reference#powershell-tool) pour la disponibilité par plateforme.1774Exécute des commandes PowerShell. Consultez l'[outil PowerShell](/docs/fr/tools-reference#powershell-tool) pour connaître sa disponibilité selon la plateforme.

1776 1775 

1777Les champs sont identiques à ceux de l'outil Bash, avec la chaîne de commande dans `command` :1776Les champs correspondent à ceux de l'outil Bash, avec la chaîne de commande dans `command` :

1778 1777 

1779| Champ | Type | Exemple | Description |1778| Champ | Type | Exemple | Description |

1780| :- | :- | :- | :- |1779| :- | :- | :- | :- |


1785 1784 

1786Utilisez le matcher `Bash|PowerShell` dans les hooks qui inspectent les commandes shell, afin qu'ils couvrent les deux outils :1785Utilisez le matcher `Bash|PowerShell` dans les hooks qui inspectent les commandes shell, afin qu'ils couvrent les deux outils :

1787 1786 

1788* Sous Windows, partout où l'outil PowerShell est activé, Claude traite PowerShell comme le shell principal et y fait passer les commandes shell.1787* Sous Windows, partout où l'outil PowerShell est activé, Claude traite PowerShell comme le shell principal et y achemine les commandes shell.

1789* Sous Windows sans Git Bash, l'outil est activé automatiquement et Claude Code n'enregistre pas du tout l'outil Bash.1788* Sous Windows sans Git Bash, l'outil est activé automatiquement et Claude Code n'enregistre pas du tout l'outil Bash.

1790* Un hook qui ne correspond qu'à `Bash` ne s'y déclenche jamais.1789* Un hook qui ne correspond qu'à `Bash` ne s'y déclenche jamais.

1791 1790 


1847| `pattern` | string | `"TODO.*fix"` | Motif d'expression régulière à rechercher |1846| `pattern` | string | `"TODO.*fix"` | Motif d'expression régulière à rechercher |

1848| `path` | string | `"/path/to/dir"` | Fichier ou répertoire facultatif dans lequel rechercher |1847| `path` | string | `"/path/to/dir"` | Fichier ou répertoire facultatif dans lequel rechercher |

1849| `glob` | string | `"*.ts"` | Motif glob facultatif pour filtrer les fichiers |1848| `glob` | string | `"*.ts"` | Motif glob facultatif pour filtrer les fichiers |

1850| `output_mode` | string | `"content"` | `"content"`, `"files_with_matches"` ou `"count"`. Par défaut `"files_with_matches"` |1849| `output_mode` | string | `"content"` | `"content"`, `"files_with_matches"` ou `"count"`. Par défaut, `"files_with_matches"` |

1851| `-i` | boolean | `true` | Recherche insensible à la casse |1850| `-i` | boolean | `true` | Recherche insensible à la casse |

1852| `multiline` | boolean | `false` | Active la correspondance multiligne |1851| `multiline` | boolean | `false` | Active la correspondance multiligne |

1853 1852 


1859 1858 

1860| Champ | Type | Exemple | Description |1859| Champ | Type | Exemple | Description |

1861| :- | :- | :- | :- |1860| :- | :- | :- | :- |

1862| `url` | string | `"https://example.com/api"` | URL dont récupérer le contenu |1861| `url` | string | `"https://example.com/api"` | URL à partir de laquelle récupérer le contenu |

1863| `prompt` | string | `"Extract the API endpoints"` | Prompt à exécuter sur le contenu récupéré |1862| `prompt` | string | `"Extract the API endpoints"` | Prompt à exécuter sur le contenu récupéré |

1864 1863 

1865<h5 id="websearch">1864<h5 id="websearch">


1871| Champ | Type | Exemple | Description |1870| Champ | Type | Exemple | Description |

1872| :- | :- | :- | :- |1871| :- | :- | :- | :- |

1873| `query` | string | `"react hooks best practices"` | Requête de recherche |1872| `query` | string | `"react hooks best practices"` | Requête de recherche |

1874| `allowed_domains` | array | `["docs.example.com"]` | Facultatif : inclure uniquement les résultats de ces domaines |1873| `allowed_domains` | array | `["docs.example.com"]` | Facultatif : n'inclure que les résultats de ces domaines |

1875| `blocked_domains` | array | `["spam.example.com"]` | Facultatif : exclure les résultats de ces domaines |1874| `blocked_domains` | array | `["spam.example.com"]` | Facultatif : exclure les résultats de ces domaines |

1876 1875 

1877<h5 id="agent">1876<h5 id="agent">


1885| `prompt` | string | `"Find all API endpoints"` | La tâche que l'agent doit effectuer |1884| `prompt` | string | `"Find all API endpoints"` | La tâche que l'agent doit effectuer |

1886| `description` | string | `"Find API endpoints"` | Brève description de la tâche |1885| `description` | string | `"Find API endpoints"` | Brève description de la tâche |

1887| `subagent_type` | string | `"Explore"` | Type d'agent spécialisé à utiliser |1886| `subagent_type` | string | `"Explore"` | Type d'agent spécialisé à utiliser |

1888| `model` | string | `"sonnet"` | Alias de modèle facultatif pour remplacer le modèle par défaut |1887| `model` | string | `"sonnet"` | Alias de modèle facultatif pour remplacer celui par défaut |

1889 1888 

1890Lorsqu'un appel Agent au premier plan se termine, votre [hook PostToolUse](#posttooluse) reçoit le résultat du sous-agent et la télémétrie de l'exécution dans `tool_response`. Lisez ces champs pour inspecter l'exécution ; pour des agrégats de tokens et de coûts sur l'ensemble des sous-agents, utilisez les [compteurs de tokens et de coûts](/docs/fr/monitoring-usage#token-counter) filtrés sur `query_source` `"subagent"`, car `totalTokens` et `usage` ne couvrent que la requête finale :1889Lorsqu'un appel Agent au premier plan se termine, votre [hook PostToolUse](#posttooluse) reçoit le résultat du sous-agent et la télémétrie de l'exécution dans `tool_response`. Lisez ces champs pour inspecter l'exécution ; pour des cumuls de tokens et de coûts sur l'ensemble des sous-agents, utilisez les [compteurs de tokens et de coûts](/docs/fr/monitoring-usage#token-counter) filtrés sur `query_source` `"subagent"`, car `totalTokens` et `usage` ne couvrent que la requête finale :

1891 1890 

1892| Champ | Type | Exemple | Description |1891| Champ | Type | Exemple | Description |

1893| :- | :- | :- | :- |1892| :- | :- | :- | :- |

1894| `status` | string | `"completed"` | `"completed"` pour les sous-agents au premier plan, `"async_launched"` pour les sous-agents en arrière-plan. Les sous-agents s'exécutent en arrière-plan par défaut, donc un appel Agent qui omet `run_in_background` produit également `"async_launched"` |1893| `status` | string | `"completed"` | `"completed"` pour les sous-agents au premier plan, `"async_launched"` pour les sous-agents en arrière-plan. Les sous-agents s'exécutent en arrière-plan par défaut ; un appel Agent qui omet `run_in_background` produit donc également `"async_launched"` |

1895| `agentId` | string | `"a4d2c8f1e0b3a297"` | Identifiant de l'exécution du sous-agent |1894| `agentId` | string | `"a4d2c8f1e0b3a297"` | Identifiant de l'exécution du sous-agent |

1896| `content` | array | `[{"type": "text", "text": "Found 12 endpoints..."}]` | Les blocs de texte finaux du sous-agent ou, pour un sous-agent dont le rapport passe par `SubagentHandback`, une brève note sur cette remise à leur place |1895| `content` | array | `[{"type": "text", "text": "Found 12 endpoints..."}]` | Les blocs de texte finaux du sous-agent ou, pour un sous-agent dont le rapport passe par `SubagentHandback`, une brève note sur cette transmission à leur place |

1897| `resolvedModel` | string | `"claude-sonnet-4-5"` | Modèle sur lequel le sous-agent a démarré, qui peut différer du modèle demandé |1896| `resolvedModel` | string | `"claude-sonnet-4-5"` | Modèle sur lequel le sous-agent a démarré, qui peut différer du modèle demandé |

1898| `modelsUsed` | array | `["claude-sonnet-4-5", "claude-haiku-4-5"]` | Modèles utilisés dans l'ordre, les répétitions consécutives étant fusionnées ; défini uniquement lorsque le modèle a été changé en cours d'exécution. Nécessite Claude Code v2.1.212 ou ultérieure |1897| `modelsUsed` | array | `["claude-sonnet-4-5", "claude-haiku-4-5"]` | Modèles utilisés dans l'ordre, les répétitions consécutives étant fusionnées ; défini uniquement lorsque le modèle a été changé en cours d'exécution. Nécessite Claude Code v2.1.212 ou une version ultérieure |

1899| `totalTokens` | number | `12450` | Nombre de tokens de la requête API finale du sous-agent : tokens d'entrée, de sortie et de cache combinés. Il ne s'agit pas d'un total sur l'ensemble de l'exécution |1898| `totalTokens` | number | `12450` | Nombre de tokens de la requête API finale du sous-agent : tokens d'entrée, de sortie et de cache combinés. Il ne s'agit pas d'un total sur l'ensemble de l'exécution |

1900| `totalDurationMs` | number | `48211` | Durée réelle de l'exécution du sous-agent |1899| `totalDurationMs` | number | `48211` | Durée réelle de l'exécution du sous-agent |

1901| `totalToolUseCount` | number | `7` | Nombre d'appels d'outils effectués par le sous-agent |1900| `totalToolUseCount` | number | `7` | Nombre d'appels d'outils effectués par le sous-agent |

1902| `usage` | object | `{"input_tokens": 8320, ...}` | Répartition des tokens par type pour la requête API finale : `input_tokens`, `output_tokens`, `cache_creation_input_tokens`, `cache_read_input_tokens` |1901| `usage` | object | `{"input_tokens": 8320, ...}` | Répartition par type des tokens de la requête API finale : `input_tokens`, `output_tokens`, `cache_creation_input_tokens`, `cache_read_input_tokens` |

1903 1902 

1904Avec Claude Code v2.1.271 ou ultérieure, un sous-agent qui s'exécute avec l'outil [`SubagentHandback`](/docs/fr/tools-reference), que Claude Code fournit en [mode auto](/docs/fr/permission-modes#eliminate-prompts-with-auto-mode), transmet son rapport via cet outil plutôt que de le renvoyer sous forme de texte. Le champ `content` de son résultat `completed` contient alors une brève note sur cette remise plutôt que le rapport lui-même. Pour lire le rapport, faites correspondre un hook `PreToolUse` ou `PostToolUse` à `SubagentHandback` et lisez `tool_input.message`.1903Sur Claude Code v2.1.271 ou une version ultérieure, un sous-agent qui s'exécute avec l'outil [`SubagentHandback`](/docs/fr/tools-reference), que Claude Code fournit en [mode auto](/docs/fr/permission-modes#eliminate-prompts-with-auto-mode), transmet son rapport via cet outil plutôt que de le renvoyer sous forme de texte. Le champ `content` de son résultat `completed` contient alors une brève note sur cette transmission plutôt que le rapport lui-même. Pour lire le rapport, faites correspondre un hook `PreToolUse` ou `PostToolUse` à `SubagentHandback` et lisez `tool_input.message`.

1905 1904 

1906Pour les sous-agents en arrière-plan, l'outil rend la main lorsque la tâche passe en arrière-plan, donc `tool_response` ne contient aucun champ d'utilisation : un lancement en arrière-plan rend la main immédiatement, et une tâche au premier plan que Claude Code passe en arrière-plan en cours d'exécution rend la main lors de cette transition. Elle contient `status: "async_launched"`, `agentId`, `description`, `prompt`, `outputFile` et `resolvedModel`.1905Pour les sous-agents en arrière-plan, l'outil renvoie son résultat lorsque la tâche passe en arrière-plan ; `tool_response` ne contient donc aucun champ d'utilisation : un lancement en arrière-plan renvoie immédiatement, et une tâche au premier plan que Claude Code passe en arrière-plan en cours d'exécution renvoie au moment de cette transition. Il contient `status: "async_launched"`, `agentId`, `description`, `prompt`, `outputFile` et `resolvedModel`.

1907 1906 

1908Dans une réponse `completed`, `resolvedModel` indique le modèle sur lequel le sous-agent a démarré, qui peut différer de la valeur `model` dans `tool_input`, par exemple lorsque `availableModels` ou un autre remplacement s'applique. Dans une réponse `async_launched`, `resolvedModel` indique le modèle utilisé au moment où l'agent est passé en arrière-plan, de sorte qu'un changement survenu avant le passage en arrière-plan y est reflété. `modelsUsed` et le comportement de `resolvedModel` au moment du passage en arrière-plan nécessitent Claude Code v2.1.212 ou ultérieure.1907Dans une réponse `completed`, `resolvedModel` indique le modèle sur lequel le sous-agent a démarré, qui peut différer de la valeur `model` de `tool_input`, par exemple lorsque `availableModels` ou un autre remplacement s'applique. Dans une réponse `async_launched`, `resolvedModel` indique le modèle utilisé au moment où l'agent est passé en arrière-plan ; un changement survenu avant le passage en arrière-plan y est donc reflété. `modelsUsed` et le comportement de `resolvedModel` au moment du passage en arrière-plan nécessitent Claude Code v2.1.212 ou une version ultérieure.

1909 1908 

1910<a id="askuserquestion" />1909<a id="askuserquestion" />

1911 1910 


1918| Champ | Type | Exemple | Description |1917| Champ | Type | Exemple | Description |

1919| :- | :- | :- | :- |1918| :- | :- | :- | :- |

1920| `questions` | array | `[{"question": "Which framework?", "header": "Framework", "options": [{"label": "React", "description": "Component library"}, {"label": "Vue", "description": "Progressive framework"}], "multiSelect": false}]` | Questions à présenter, chacune avec une chaîne `question`, un `header` court, un tableau `options` et un flag `multiSelect` facultatif |1919| `questions` | array | `[{"question": "Which framework?", "header": "Framework", "options": [{"label": "React", "description": "Component library"}, {"label": "Vue", "description": "Progressive framework"}], "multiSelect": false}]` | Questions à présenter, chacune avec une chaîne `question`, un `header` court, un tableau `options` et un flag `multiSelect` facultatif |

1921| `answers` | object | `{"Which framework?": "React"}` | Facultatif. Associe le texte de la question au libellé de l'option sélectionnée. Les réponses à sélection multiple joignent les libellés par des virgules. Claude ne définit pas ce champ ; fournissez-le via `updatedInput` pour répondre par programmation |1920| `answers` | object | `{"Which framework?": "React"}` | Facultatif. Associe le texte de la question au libellé de l'option sélectionnée. Les réponses à sélection multiple joignent les libellés par des virgules. Claude ne définit pas ce champ ; fournissez-le via `updatedInput` pour répondre de manière programmatique |

1922 1921 

1923<h5 id="exitplanmode">1922<h5 id="exitplanmode">

1924 ExitPlanMode1923 ExitPlanMode

1925</h5>1924</h5>

1926 1925 

1927Présente un plan et demande à l'utilisateur de l'approuver avant que Claude ne quitte le [mode plan](/docs/fr/permission-modes#analyze-before-you-edit-with-plan-mode). Claude écrit le plan dans un fichier sur le disque avant d'appeler l'outil, donc le `tool_input` littéral fourni par le modèle est généralement vide. Claude Code injecte le contenu du plan et le chemin du fichier avant de transmettre l'entrée aux hooks.1926Présente un plan et demande à l'utilisateur de l'approuver avant que Claude ne quitte le [mode plan](/docs/fr/permission-modes#analyze-before-you-edit-with-plan-mode). Claude écrit le plan dans un fichier sur le disque avant d'appeler l'outil ; le `tool_input` littéral provenant du modèle est donc généralement vide. Claude Code injecte le contenu du plan et le chemin du fichier avant de transmettre l'entrée aux hooks.

1928 1927 

1929| Champ | Type | Exemple | Description |1928| Champ | Type | Exemple | Description |

1930| :- | :- | :- | :- |1929| :- | :- | :- | :- |

1931| `plan` | string | `"## Refactor auth\n1. Extract..."` | Contenu du plan en Markdown. Injecté depuis le fichier de plan sur le disque |1930| `plan` | string | `"## Refactor auth\n1. Extract..."` | Contenu du plan en Markdown. Injecté à partir du fichier de plan sur le disque |

1932| `planFilePath` | string | `"/Users/.../plans/refactor-auth.md"` | Chemin du fichier de plan. Injecté |1931| `planFilePath` | string | `"/Users/.../plans/refactor-auth.md"` | Chemin du fichier de plan. Injecté |

1933| `allowedPrompts` | array | `[{"tool": "Bash", "prompt": "run tests"}]` | Déprécié. Claude Code accepte le champ mais l'ignore. Avant la v2.1.205, il contenait les permissions basées sur des prompts que Claude demandait pour mettre en œuvre le plan |1932| `allowedPrompts` | array | `[{"tool": "Bash", "prompt": "run tests"}]` | Déprécié. Claude Code accepte le champ mais l'ignore. Avant la v2.1.205, il contenait les permissions basées sur des prompts que Claude demandait pour mettre en œuvre le plan |

1934 1933 

1935Dans `PostToolUse`, `tool_response` est un objet avec des champs `plan` et `filePath` contenant le plan approuvé, ainsi que des indicateurs d'état internes. Lisez `tool_response.plan` pour obtenir le contenu du plan plutôt que de relire le fichier sur le disque.1934Dans `PostToolUse`, `tool_response` est un objet avec des champs `plan` et `filePath` contenant le plan approuvé, ainsi que des flags d'état internes. Lisez `tool_response.plan` pour obtenir le contenu du plan plutôt que de relire le fichier sur le disque.

1936 1935 

1937<h4 id="pretooluse-decision-control">1936<h4 id="pretooluse-decision-control">

1938 Contrôle de décision de PreToolUse1937 Contrôle de décision de PreToolUse


1942 1941 

1943| Champ | Description |1942| Champ | Description |

1944| :- | :- |1943| :- | :- |

1945| `permissionDecision` | `"allow"` ignore la demande de permission, sauf pour les [actions qu'aucun mode n'approuve automatiquement](/docs/fr/permission-modes#actions-no-mode-auto-approves) et pour `AskUserQuestion` et `ExitPlanMode`, qui nécessitent [`updatedInput` en complément](#allow-with-updatedinput). `"deny"` empêche l'appel d'outil. `"ask"` demande à l'utilisateur de confirmer. `"defer"` se termine proprement afin que l'outil puisse être repris plus tard. Les [règles de refus et de demande](/docs/fr/permissions#manage-permissions) sont toujours évaluées, quelle que soit la réponse du hook |1944| `permissionDecision` | `"allow"` ignore la demande de permission, sauf pour les [actions qu'aucun mode n'approuve automatiquement](/docs/fr/permission-modes#actions-no-mode-auto-approves) ainsi que pour `AskUserQuestion` et `ExitPlanMode`, qui nécessitent [d'être associés à `updatedInput`](#allow-with-updatedinput). `"deny"` empêche l'appel d'outil. `"ask"` demande confirmation à l'utilisateur. `"defer"` se termine proprement afin que l'outil puisse être repris plus tard. Les [règles de refus et de demande](/docs/fr/permissions#manage-permissions) sont toujours évaluées, quoi que renvoie le hook |

1946| `permissionDecisionReason` | Pour `"ask"`, affiché à l'utilisateur dans la demande de permission. Lorsque Claude Code [refuse l'appel](/docs/fr/headless#turn-off-permission-prompts-in-unattended-runs) dans une exécution `-p` où personne ne peut répondre à cette demande, Claude lit la raison dans le résultat de l'outil à la place. Pour `"deny"`, affiché à Claude. Pour `"allow"` et `"defer"`, écrit uniquement dans le [log de débogage](#debug-hooks) |1945| `permissionDecisionReason` | Pour `"ask"`, affiché à l'utilisateur dans la demande de permission. Lorsque Claude Code [refuse l'appel](/docs/fr/headless#turn-off-permission-prompts-in-unattended-runs) dans une exécution `-p` où personne ne peut répondre à cette demande, Claude lit plutôt la raison dans le résultat de l'outil. Pour `"deny"`, affiché à Claude. Pour `"allow"` et `"defer"`, écrit uniquement dans le [log de débogage](#debug-hooks) |

1947| `updatedInput` | Modifie les paramètres d'entrée de l'outil avant l'exécution. Remplace l'intégralité de l'objet d'entrée ; incluez donc les champs inchangés en plus des champs modifiés. Claude Code évalue les règles de permission et l'[éligibilité au passage automatique en arrière-plan](/docs/fr/tools-reference#foreground-commands-that-move-to-the-background) d'une commande Bash par rapport à l'entrée renvoyée par votre hook, et non à l'entrée envoyée par Claude. Combinez avec `"allow"` pour approuver automatiquement, ou avec `"ask"` pour montrer l'entrée modifiée à l'utilisateur. Ignoré pour `"defer"` |1946| `updatedInput` | Modifie les paramètres d'entrée de l'outil avant l'exécution. Remplace l'intégralité de l'objet d'entrée ; incluez donc les champs inchangés avec ceux modifiés. Claude Code évalue les règles de permission et l'[éligibilité au passage automatique en arrière-plan](/docs/fr/tools-reference#foreground-commands-that-move-to-the-background) d'une commande Bash par rapport à l'entrée renvoyée par votre hook, et non à l'entrée envoyée par Claude. Combinez-le avec `"allow"` pour approuver automatiquement, ou avec `"ask"` pour montrer l'entrée modifiée à l'utilisateur. Ignoré pour `"defer"` |

1948| `additionalContext` | Chaîne ajoutée au contexte de Claude en plus du résultat de l'outil. Ignorée lorsque `permissionDecision` vaut `"defer"`. Consultez [Ajouter du contexte pour Claude](#add-context-for-claude) |1947| `additionalContext` | Chaîne ajoutée au contexte de Claude avec le résultat de l'outil. Ignorée lorsque `permissionDecision` vaut `"defer"`. Consultez [Ajouter du contexte pour Claude](#add-context-for-claude) |

1949 1948 

1950Lorsque plusieurs hooks PreToolUse renvoient des décisions différentes, l'ordre de priorité est `deny` > `defer` > `ask` > `allow`.1949Lorsque plusieurs hooks PreToolUse renvoient des décisions différentes, l'ordre de priorité est `deny` > `defer` > `ask` > `allow`.

1951 1950 

1952Un hook qui bloque en se terminant avec le code 2 est traité de la même manière que `"deny"` : Claude voit le message stderr comme raison du refus.1951Un hook qui bloque en se terminant avec le code 2 est traité de la même manière que `"deny"` : Claude voit le message stderr comme raison du refus.

1953 1952 

1954Lorsqu'un hook renvoie `"ask"`, la demande de permission affichée à l'utilisateur comporte une étiquette identifiant l'origine du hook : `[settings]` pour un hook provenant d'un fichier de paramètres ou du frontmatter d'un agent, `[plugin:<name>]` pour le hook d'un plugin, ou `[skill]` pour un hook provenant du frontmatter d'un skill. Cela aide les utilisateurs à comprendre quelle source de configuration demande une confirmation.1953Lorsqu'un hook renvoie `"ask"`, la demande de permission affichée à l'utilisateur comprend une étiquette identifiant l'origine du hook : `[settings]` pour un hook provenant d'un fichier de paramètres ou du frontmatter d'un agent, `[plugin:<name>]` pour le hook d'un plugin, ou `[skill]` pour un hook provenant du frontmatter d'un skill. Cela aide les utilisateurs à comprendre quelle source de configuration demande la confirmation.

1955 1954 

1956Un `"ask"` renvoyé par un hook force également une demande de permission en [mode auto](/docs/fr/permission-modes#eliminate-prompts-with-auto-mode) : le classifieur peut toujours refuser l'appel d'outil, mais il ne peut pas l'approuver silencieusement. Avant la v2.1.211, le classifieur pouvait approuver une commande Bash s'exécutant hors du [sandbox](/docs/fr/sandboxing) sans afficher la demande réclamée par le hook ; le classifieur appliquait néanmoins ses propres règles de sécurité à cette commande, et un `"deny"` de hook était toujours respecté.1955Un `"ask"` de hook force également une demande de permission en [mode auto](/docs/fr/permission-modes#eliminate-prompts-with-auto-mode) : le classifieur peut toujours refuser l'appel d'outil, mais il ne peut pas approuver l'appel silencieusement. Avant la v2.1.211, le classifieur pouvait approuver une commande Bash s'exécutant en dehors du [sandbox](/docs/fr/sandboxing) sans afficher la demande requise par le hook ; le classifieur appliquait tout de même ses propres règles de sécurité à cette commande, et un `"deny"` de hook était toujours respecté.

1957 1956 

1958```json theme={null}1957```json theme={null}

1959{1958{


2015 Différer un appel d'outil2014 Différer un appel d'outil

2016</h4>2015</h4>

2017 2016 

2018`"defer"` est destiné aux intégrations qui exécutent `claude -p` comme sous-processus et lisent sa sortie JSON, comme une application Agent SDK ou une interface personnalisée construite sur Claude Code. Il permet à ce processus appelant de mettre Claude en pause sur un appel d'outil, de recueillir une saisie via sa propre interface, puis de reprendre là où il s'était arrêté. Claude Code ne respecte cette valeur qu'en [mode non interactif](/docs/fr/headless) avec le flag `-p`. Dans les sessions interactives, il consigne un avertissement et ignore le résultat du hook.2017`"defer"` est destiné aux intégrations qui exécutent `claude -p` en tant que sous-processus et lisent sa sortie JSON, comme une application Agent SDK ou une interface utilisateur personnalisée construite au-dessus de Claude Code. Il permet à ce processus appelant de mettre Claude en pause au niveau d'un appel d'outil, de recueillir une saisie via sa propre interface, puis de reprendre là où il s'était arrêté. Claude Code ne respecte cette valeur qu'en [mode non interactif](/docs/fr/headless) avec le flag `-p`. Dans les sessions interactives, il journalise un avertissement et ignore le résultat du hook.

2019 2018 

2020L'outil `AskUserQuestion` est le cas typique : Claude veut poser une question à l'utilisateur, mais il n'y a pas de terminal pour y répondre. Une exécution `-p` ne propose `AskUserQuestion` que lorsqu'elle dispose d'un [hôte de permissions](/docs/fr/headless#turn-off-permission-prompts-in-unattended-runs), comme un outil MCP que vous transmettez avec `--permission-prompt-tool` ; démarrez donc l'exécution avec l'un d'eux. L'aller-retour fonctionne ainsi :2019L'outil `AskUserQuestion` est le cas typique : Claude veut poser une question à l'utilisateur, mais il n'y a aucun terminal où répondre. Une exécution `-p` ne propose `AskUserQuestion` que lorsqu'elle dispose d'un [hôte de permissions](/docs/fr/headless#turn-off-permission-prompts-in-unattended-runs), comme un outil MCP que vous transmettez avec `--permission-prompt-tool` ; démarrez donc l'exécution avec l'un d'eux. L'aller-retour fonctionne comme suit :

2021 2020 

20221. Claude appelle `AskUserQuestion`. Le hook `PreToolUse` se déclenche.20211. Claude appelle `AskUserQuestion`. Le hook `PreToolUse` se déclenche.

20232. Le hook renvoie `permissionDecision: "defer"`. L'outil ne s'exécute pas. Le processus se termine avec `stop_reason: "tool_deferred"` et l'appel d'outil en attente est conservé dans la transcription.20222. Le hook renvoie `permissionDecision: "defer"`. L'outil ne s'exécute pas. Le processus se termine avec `stop_reason: "tool_deferred"` et l'appel d'outil en attente est conservé dans la transcription.

20243. Le processus appelant lit `deferred_tool_use` dans le résultat du SDK, affiche la question dans sa propre interface et attend une réponse.20233. Le processus appelant lit `deferred_tool_use` dans le résultat du SDK, présente la question dans sa propre interface utilisateur et attend une réponse.

20254. Le processus appelant exécute `claude -p --resume <session-id>` avec le même hôte de permissions. Le même appel d'outil déclenche à nouveau `PreToolUse`.20244. Le processus appelant exécute `claude -p --resume <session-id>` avec le même hôte de permissions. Le même appel d'outil déclenche à nouveau `PreToolUse`.

20265. Le hook renvoie `permissionDecision: "allow"` avec la réponse dans `updatedInput`. L'outil s'exécute et Claude continue.20255. Le hook renvoie `permissionDecision: "allow"` avec la réponse dans `updatedInput`. L'outil s'exécute et Claude poursuit.

2027 2026 

2028Le champ `deferred_tool_use` contient l'`id`, le `name` et l'`input` de l'outil. L'`input` correspond aux paramètres que Claude a générés pour l'appel d'outil, capturés avant l'exécution :2027Le champ `deferred_tool_use` contient l'`id`, le `name` et l'`input` de l'outil. L'`input` correspond aux paramètres que Claude a générés pour l'appel d'outil, capturés avant l'exécution :

2029 2028 


2041}2040}

2042```2041```

2043 2042 

2044Il n'y a ni délai d'expiration ni limite de nouvelles tentatives. La session reste sur le disque jusqu'à ce que vous la repreniez, sous réserve du nettoyage de rétention [`cleanupPeriodDays`](/docs/fr/settings-reference#cleanupperioddays), qui supprime les fichiers de session après 30 jours par défaut, conformément aux [règles du nettoyage de rétention](/docs/fr/claude-directory#cleaned-up-automatically). Si la réponse n'est pas prête lorsque vous reprenez, le hook peut renvoyer `"defer"` à nouveau et le processus se termine de la même manière. Le processus appelant décide quand sortir de la boucle en renvoyant finalement `"allow"` ou `"deny"` depuis le hook.2043Il n'existe ni délai d'expiration ni limite de nouvelles tentatives. La session reste sur le disque jusqu'à ce que vous la repreniez, sous réserve du nettoyage de rétention [`cleanupPeriodDays`](/docs/fr/settings-reference#cleanupperioddays), qui supprime les fichiers de session après 30 jours par défaut, conformément aux [règles du nettoyage de rétention](/docs/fr/claude-directory#cleaned-up-automatically). Si la réponse n'est pas prête au moment de la reprise, le hook peut renvoyer `"defer"` à nouveau et le processus se termine de la même manière. Le processus appelant décide quand sortir de la boucle en renvoyant finalement `"allow"` ou `"deny"` depuis le hook.

2045 2044 

2046`"defer"` ne fonctionne que lorsque Claude effectue un seul appel d'outil dans le tour. Si Claude effectue plusieurs appels d'outils à la fois, `"defer"` est ignoré avec un avertissement et l'outil suit le flux de permission normal. Cette contrainte existe parce que la reprise ne peut réexécuter qu'un seul outil : il n'y a aucun moyen de différer un appel d'un lot sans laisser les autres non résolus.2045`"defer"` ne fonctionne que lorsque Claude effectue un seul appel d'outil dans le tour. Si Claude effectue plusieurs appels d'outils à la fois, `"defer"` est ignoré avec un avertissement et l'outil suit le flux de permission normal. Cette contrainte existe parce que la reprise ne peut réexécuter qu'un seul outil : il n'existe aucun moyen de différer un appel d'un lot sans laisser les autres non résolus.

2047 2046 

2048Si l'outil différé n'est plus disponible lorsque vous reprenez, le processus se termine avec `stop_reason: "tool_deferred_unavailable"` et `is_error: true` avant que le hook ne se déclenche. Cela se produit lorsqu'un serveur MCP qui fournissait l'outil n'est pas connecté pour la session reprise. Le payload `deferred_tool_use` est tout de même inclus afin que vous puissiez identifier l'outil manquant.2047Si l'outil différé n'est plus disponible au moment de la reprise, le processus se termine avec `stop_reason: "tool_deferred_unavailable"` et `is_error: true` avant que le hook ne se déclenche. Cela se produit lorsqu'un serveur MCP qui fournissait l'outil n'est pas connecté pour la session reprise. Le payload `deferred_tool_use` est tout de même inclus afin que vous puissiez identifier l'outil manquant.

2049 2048 

2050<Note>2049<Note>

2051 Pour reprendre une session différée en mode plan, transmettez [`--permission-prompt-tool`](/docs/fr/cli-reference#cli-flags) avec `--resume` afin que Claude Code puisse présenter le plan pour approbation. Si vous transmettez certains autres flags de lancement, l'exécution reprise ne revient pas en mode plan ; consultez [Reprendre en mode plan avec `-p`](/docs/fr/sessions#resume-in-plan-mode-with-p). Nécessite Claude Code v2.1.246 ou ultérieure.2050 Pour reprendre une session différée en mode plan, transmettez [`--permission-prompt-tool`](/docs/fr/cli-reference#cli-flags) avec `--resume` afin que Claude Code puisse présenter le plan pour approbation. Si vous transmettez certains autres flags de lancement, l'exécution reprise ne revient pas en mode plan ; consultez [Reprendre en mode plan avec `-p`](/docs/fr/sessions#resume-in-plan-mode-with-p). Nécessite Claude Code v2.1.246 ou une version ultérieure.

2052 2051 

2053 Lorsque vous reprenez avec `-p`, Claude Code ne restaure aucun autre mode de permission enregistré. Il démarre l'exécution dans le mode de permission dans lequel démarrerait une nouvelle exécution `claude -p` ; transmettez donc à nouveau `--permission-mode` ou `--dangerously-skip-permissions` si la session différée en utilisait un. Lorsque vous reprenez avec `claude --resume <session-id>` sans `-p`, Claude Code restaure le mode de permission enregistré, avec les exceptions listées dans [mode de permission lors de la reprise](/docs/fr/sessions#permission-mode-on-resume).2052 Lorsque vous reprenez avec `-p`, Claude Code ne restaure aucun autre mode de permission enregistré. Il démarre l'exécution dans le mode de permission dans lequel démarrerait une nouvelle exécution `claude -p` ; transmettez donc à nouveau `--permission-mode` ou `--dangerously-skip-permissions` si la session différée en utilisait un. Lorsque vous reprenez avec `claude --resume <session-id>` sans `-p`, Claude Code restaure le mode de permission enregistré, à l'exception des cas répertoriés dans [mode de permission lors de la reprise](/docs/fr/sessions#permission-mode-on-resume).

2054</Note>2053</Note>

2055 2054 

2056<h3 id="permissionrequest">2055<h3 id="permissionrequest">

2057 PermissionRequest2056 PermissionRequest

2058</h3>2057</h3>

2059 2058 

2060S'exécute lorsque Claude Code est sur le point de vous demander la permission d'utiliser un outil. Dans les sessions qui ne peuvent pas afficher de demande, comme les sous-agents en arrière-plan en [mode non interactif](/docs/fr/headless), Claude Code exécute tout de même ces hooks, et si aucun hook ne renvoie de décision, il refuse l'appel d'outil. Pour un appel qui atteint un `--permission-prompt-tool` ou le [callback `canUseTool`](/docs/fr/agent-sdk/permissions) de l'Agent SDK, les hooks s'exécutent en parallèle de votre hôte, et la première décision prise s'applique.2059S'exécute lorsque Claude Code est sur le point de vous demander la permission d'utiliser un outil. Dans les sessions qui ne peuvent pas afficher de demande, comme les sous-agents en arrière-plan en [mode non interactif](/docs/fr/headless), Claude Code exécute tout de même ces hooks et, si aucun hook ne renvoie de décision, il refuse l'appel d'outil. Pour un appel qui atteint un `--permission-prompt-tool` ou le [callback `canUseTool`](/docs/fr/agent-sdk/permissions) de l'Agent SDK, les hooks s'exécutent en parallèle de votre hôte, et c'est la première décision prise qui s'applique.

2061Utilisez le [contrôle de décision de PermissionRequest](#permissionrequest-decision-control) pour autoriser ou refuser au nom de l'utilisateur.2060Utilisez le [contrôle de décision de PermissionRequest](#permissionrequest-decision-control) pour autoriser ou refuser au nom de l'utilisateur.

2062 2061 

2063Utilisez cet événement lorsque vous avez besoin d'un signal au moment où Claude demande la permission d'utiliser un outil. Claude Code n'exécute un hook [Notification](#notification) de type `permission_prompt` qu'après que la demande a attendu environ six secondes.2062Utilisez cet événement lorsque vous avez besoin d'un signal dès que Claude demande la permission d'utiliser un outil. Claude Code n'exécute un hook [Notification](#notification) de type `permission_prompt` qu'après que la demande a attendu environ six secondes.

2064 2063 

2065Claude Code n'exécute pas les hooks PermissionRequest pour la [requête réseau](/docs/fr/sandboxing#network-isolation) d'une commande exécutée dans le sandbox. Pour obtenir un signal pour cette demande, utilisez le type de notification `permission_prompt`.2064Claude Code n'exécute pas les hooks PermissionRequest pour la [requête réseau](/docs/fr/sandboxing#network-isolation) d'une commande exécutée dans le sandbox. Pour obtenir un signal pour cette demande, utilisez le type de notification `permission_prompt`.

2066 2065 

2067Correspond au nom de l'outil, avec les mêmes valeurs que PreToolUse.2066Le matcher s'applique au nom de l'outil, avec les mêmes valeurs que PreToolUse.

2068 2067 

2069<h4 id="permissionrequest-input">2068<h4 id="permissionrequest-input">

2070 Entrée de PermissionRequest2069 Entrée de PermissionRequest


2072 2071 

2073Les hooks PermissionRequest reçoivent les champs `tool_name` et `tool_input` comme les hooks PreToolUse, mais sans `tool_use_id`. Pour un outil MCP, ils reçoivent également l'objet [`mcp_server`](#pretooluse-input). Un tableau facultatif `permission_suggestions` contient les [mises à jour de permissions](#permission-update-entries) que Claude Code suggère pour cette demande, comme l'ajout d'une règle d'autorisation ou le changement du mode de permission.2072Les hooks PermissionRequest reçoivent les champs `tool_name` et `tool_input` comme les hooks PreToolUse, mais sans `tool_use_id`. Pour un outil MCP, ils reçoivent également l'objet [`mcp_server`](#pretooluse-input). Un tableau facultatif `permission_suggestions` contient les [mises à jour de permissions](#permission-update-entries) que Claude Code suggère pour cette demande, comme l'ajout d'une règle d'autorisation ou le changement du mode de permission.

2074 2073 

2075Le tableau `permission_suggestions` n'est pas une liste exacte des options que vous voyez, car chaque boîte de dialogue de permission construit ses propres options. Certaines boîtes de dialogue, comme celle des modifications de fichiers, ne lisent pas du tout le tableau et dérivent leurs options de la demande elle-même. Une boîte de dialogue qui le lit peut tout de même masquer une option dont la suggestion reste dans le tableau, par exemple lorsque [`allowManagedPermissionRulesOnly`](/docs/fr/settings-reference#allowmanagedpermissionrulesonly) masque les options d'enregistrement de règles. Elle peut également proposer des options sans entrée de suggestion, comme [**Yes, and switch to auto mode**](/docs/fr/permission-modes#switch-permission-modes), qui change directement le mode de permission plutôt que de passer par une mise à jour de permissions.2074Le tableau `permission_suggestions` n'est pas une liste exacte des options que vous voyez, car chaque boîte de dialogue de permission construit ses propres options. Certaines boîtes de dialogue, comme celle des modifications de fichiers, ne lisent pas du tout le tableau et dérivent leurs options de la demande elle-même. Une boîte de dialogue qui le lit peut tout de même masquer une option dont la suggestion reste dans le tableau, par exemple lorsque [`allowManagedPermissionRulesOnly`](/docs/fr/settings-reference#allowmanagedpermissionrulesonly) masque les options d'enregistrement de règles. Elle peut également proposer des options sans entrée de suggestion, comme [**Yes, and switch to auto mode**](/docs/fr/permission-modes#switch-permission-modes), qui change directement le mode de permission plutôt que via une mise à jour de permissions.

2076 2075 

2077Les hooks PreToolUse s'exécutent avant chaque appel d'outil, qu'il nécessite une permission ou non. Les hooks PermissionRequest ne s'exécutent que lorsque Claude Code est sur le point de vous demander la permission, ou lorsqu'il refuserait autrement automatiquement un appel qui ne peut pas afficher de demande. Aucun des deux événements ne se déclenche pour [`EndConversation`](/docs/fr/tools-reference#endconversation-tool-behavior).2076Les hooks PreToolUse s'exécutent avant chaque appel d'outil, qu'il nécessite une permission ou non. Les hooks PermissionRequest ne s'exécutent que lorsque Claude Code est sur le point de vous demander la permission, ou lorsqu'il refuserait sinon automatiquement un appel qui ne peut pas afficher de demande. Aucun de ces événements ne se déclenche pour [`EndConversation`](/docs/fr/tools-reference#endconversation-tool-behavior).

2078 2077 

2079```json theme={null}2078```json theme={null}

2080{2079{


2103 Contrôle de décision de PermissionRequest2102 Contrôle de décision de PermissionRequest

2104</h4>2103</h4>

2105 2104 

2106Les hooks `PermissionRequest` peuvent autoriser ou refuser des demandes de permission. En plus des [champs de sortie JSON](#json-output) disponibles pour tous les hooks, votre script de hook peut renvoyer un objet `decision` avec ces champs propres à l'événement :2105Les hooks `PermissionRequest` peuvent autoriser ou refuser les demandes de permission. En plus des [champs de sortie JSON](#json-output) disponibles pour tous les hooks, votre script de hook peut renvoyer un objet `decision` avec ces champs propres à l'événement :

2107 2106 

2108| Champ | Description |2107| Champ | Description |

2109| :- | :- |2108| :- | :- |

2110| `behavior` | `"allow"` accorde la permission, `"deny"` la refuse. Les [règles de refus et de demande](/docs/fr/permissions#manage-permissions) sont toujours évaluées, donc un hook renvoyant `"allow"` ne remplace pas une règle de refus correspondante |2109| `behavior` | `"allow"` accorde la permission, `"deny"` la refuse. Les [règles de refus et de demande](/docs/fr/permissions#manage-permissions) sont toujours évaluées ; un hook qui renvoie `"allow"` ne remplace donc pas une règle de refus correspondante |

2111| `updatedInput` | Pour `"allow"` uniquement : modifie les paramètres d'entrée de l'outil avant l'exécution. Remplace l'intégralité de l'objet d'entrée ; incluez donc les champs inchangés en plus des champs modifiés. L'entrée modifiée est réévaluée par rapport aux règles de refus et de demande |2110| `updatedInput` | Pour `"allow"` uniquement : modifie les paramètres d'entrée de l'outil avant l'exécution. Remplace l'intégralité de l'objet d'entrée ; incluez donc les champs inchangés avec ceux modifiés. L'entrée modifiée est réévaluée par rapport aux règles de refus et de demande |

2112| `updatedPermissions` | Pour `"allow"` uniquement : tableau d'[entrées de mise à jour de permissions](#permission-update-entries) à appliquer, comme l'ajout d'une règle d'autorisation ou le changement du mode de permission de la session |2111| `updatedPermissions` | Pour `"allow"` uniquement : tableau d'[entrées de mise à jour de permissions](#permission-update-entries) à appliquer, comme l'ajout d'une règle d'autorisation ou le changement du mode de permission de la session |

2113| `message` | Pour `"deny"` uniquement : indique à Claude pourquoi la permission a été refusée |2112| `message` | Pour `"deny"` uniquement : indique à Claude pourquoi la permission a été refusée |

2114| `interrupt` | Pour `"deny"` uniquement : si `true`, arrête Claude |2113| `interrupt` | Pour `"deny"` uniquement : si `true`, arrête Claude |


2130```2129```

2131 2130 

2132<h4 id="permission-update-entries">2131<h4 id="permission-update-entries">

2133 Entrées de mise à jour de permissions2132 Entrées de mise à jour des permissions

2134</h4>2133</h4>

2135 2134 

2136Le champ de sortie `updatedPermissions` et le [champ d'entrée `permission_suggestions`](#permissionrequest-input) utilisent tous deux le même tableau d'objets d'entrée. Chaque entrée possède un `type` qui détermine ses autres champs, et une `destination` qui contrôle où la modification est écrite.2135Le champ de sortie `updatedPermissions` et le [champ d'entrée `permission_suggestions`](#permissionrequest-input) utilisent tous deux le même tableau d'objets d'entrée. Chaque entrée possède un `type` qui détermine ses autres champs, ainsi qu'une `destination` qui contrôle l'emplacement où la modification est écrite.

2137 2136 

2138| `type` | Champs | Effet |2137| `type` | Champs | Effet |

2139| :- | :- | :- |2138| :- | :- | :- |

2140| `addRules` | `rules`, `behavior`, `destination` | Ajoute des règles de permission. `rules` est un tableau d'objets `{toolName, ruleContent?}`. Omettez `ruleContent` pour faire correspondre l'outil entier. `behavior` vaut `"allow"`, `"deny"` ou `"ask"` |2139| `addRules` | `rules`, `behavior`, `destination` | Ajoute des règles de permission. `rules` est un tableau d'objets `{toolName, ruleContent?}`. Omettez `ruleContent` pour correspondre à l'outil entier. `behavior` vaut `"allow"`, `"deny"` ou `"ask"` |

2141| `replaceRules` | `rules`, `behavior`, `destination` | Remplace toutes les règles du `behavior` donné à la `destination` par les `rules` fournies |2140| `replaceRules` | `rules`, `behavior`, `destination` | Remplace toutes les règles du `behavior` donné à la `destination` par les `rules` fournies |

2142| `removeRules` | `rules`, `behavior`, `destination` | Supprime les règles correspondantes du `behavior` donné |2141| `removeRules` | `rules`, `behavior`, `destination` | Supprime les règles correspondantes du `behavior` donné |

2143| `setMode` | `mode`, `destination` | Modifie le mode de permission. Les modes valides sont `default`, `auto`, `acceptEdits`, `dontAsk`, `bypassPermissions`, `plan`, et `manual` comme alias de `default` |2142| `setMode` | `mode`, `destination` | Modifie le mode de permission. Les modes valides sont `default`, `auto`, `acceptEdits`, `dontAsk`, `bypassPermissions`, `plan`, ainsi que `manual` comme alias de `default` |

2144| `addDirectories` | `directories`, `destination` | Ajoute des répertoires de travail. `directories` est un tableau de chaînes de chemins |2143| `addDirectories` | `directories`, `destination` | Ajoute des répertoires de travail. `directories` est un tableau de chaînes de chemins |

2145| `removeDirectories` | `directories`, `destination` | Supprime des répertoires de travail |2144| `removeDirectories` | `directories`, `destination` | Supprime des répertoires de travail |

2146 2145 

2147<Note>2146<Note>

2148 `setMode` avec `bypassPermissions` ne prend effet que si vous avez lancé la session avec le mode bypass déjà disponible : `--dangerously-skip-permissions`, `--permission-mode bypassPermissions`, `--allow-dangerously-skip-permissions`, ou `permissions.defaultMode: "bypassPermissions"` dans les [paramètres utilisateur, `--settings` ou les paramètres gérés](/docs/fr/settings-reference#permissions-defaultmode). Sinon, la mise à jour n'a aucun effet. La mise à jour n'a également aucun effet lorsque [`permissions.disableBypassPermissionsMode`](/docs/fr/permissions#managed-settings) désactive le mode, ou lorsque la session démarre en [mode restreint](/docs/fr/cli-reference#cli-flags).2147 `setMode` avec `bypassPermissions` ne prend effet que si vous avez lancé la session avec le mode bypass déjà disponible : `--dangerously-skip-permissions`, `--permission-mode bypassPermissions`, `--allow-dangerously-skip-permissions`, ou `permissions.defaultMode: "bypassPermissions"` dans les [paramètres utilisateur, `--settings` ou les paramètres gérés](/docs/fr/settings-reference#permissions-defaultmode). Sinon, la mise à jour n'a aucun effet. La mise à jour n'a également aucun effet lorsque [`permissions.disableBypassPermissionsMode`](/docs/fr/permissions#managed-settings) désactive le mode, ou lorsque la session démarre en [mode restreint](/docs/fr/cli-reference#cli-flags).

2149 2148 

2150 `bypassPermissions` n'est jamais conservé comme `defaultMode`, quelle que soit la valeur de `destination`.2149 `bypassPermissions` n'est jamais persisté comme `defaultMode`, quelle que soit la `destination`.

2151</Note>2150</Note>

2152 2151 

2153Le champ `destination` de chaque entrée détermine si la modification reste en mémoire ou est conservée dans un fichier de paramètres.2152Le champ `destination` de chaque entrée détermine si la modification reste en mémoire ou est persistée dans un fichier de paramètres.

2154 2153 

2155| `destination` | Écrit dans |2154| `destination` | Écrit dans |

2156| :- | :- |2155| :- | :- |


2169 2168 

2170Correspond au nom de l'outil, avec les mêmes valeurs que PreToolUse.2169Correspond au nom de l'outil, avec les mêmes valeurs que PreToolUse.

2171 2170 

2172Élargissez la correspondance lorsque le nom de l'outil n'est pas le bon filtre :2171Utilisez une correspondance plus large lorsque le nom de l'outil n'est pas le bon filtre :

2173 2172 

2174* Pour exécuter un hook après la réussite de n'importe quel outil, omettez le `matcher` ou définissez-le sur `"*"`. Votre hook peut alors découvrir lui-même ce qui a changé, par exemple en exécutant `git status --porcelain`, qui liste aussi les fichiers non suivis que `git diff` ignore. Pour les appels d'outils qui échouent, ajoutez le même hook sous [PostToolUseFailure](#posttoolusefailure).2173* Pour exécuter un hook après la réussite de n'importe quel outil, omettez le `matcher` ou définissez-le sur `"*"`. Votre hook peut alors découvrir lui-même ce qui a changé, par exemple en exécutant `git status --porcelain`, qui liste également les fichiers non suivis que `git diff` ne voit pas. Pour les appels d'outils qui échouent, ajoutez le même hook sous [PostToolUseFailure](#posttoolusefailure).

2175* Pour exécuter un hook lorsqu'un fichier spécifique change sur le disque, quel que soit ce qui l'a écrit, utilisez [FileChanged](#filechanged). Claude Code n'exécute pas un hook `PostToolUse` correspondant à `Edit|Write` lorsqu'une commande `Bash` ou un processus extérieur à Claude Code réécrit le même fichier.2174* Pour exécuter un hook lorsqu'un fichier spécifique change sur le disque, quel que soit ce qui l'a écrit, utilisez [FileChanged](#filechanged). Claude Code n'exécute pas un hook `PostToolUse` correspondant à `Edit|Write` lorsqu'une commande `Bash` ou un processus extérieur à Claude Code réécrit le même fichier.

2176 2175 

2177<h4 id="posttooluse-input">2176<h4 id="posttooluse-input">

2178 Entrée PostToolUse2177 Entrée PostToolUse

2179</h4>2178</h4>

2180 2179 

2181Les hooks `PostToolUse` se déclenchent après qu'un outil s'est déjà exécuté avec succès. L'entrée inclut à la fois `tool_input`, les arguments envoyés à l'outil, et `tool_response`, le résultat qu'il a renvoyé. Le schéma exact de ces deux champs dépend de l'outil. Les chemins `tool_input` des outils de fichiers arrivent dans le même format que pour [PreToolUse](#pretooluse-input) : toujours absolus, avec les séparateurs natifs de la plateforme, donc des barres obliques inverses sous Windows. Pour un outil MCP, l'entrée contient également l'objet [`mcp_server`](#pretooluse-input).2180Les hooks `PostToolUse` se déclenchent après qu'un outil s'est déjà exécuté avec succès. L'entrée inclut à la fois `tool_input`, les arguments envoyés à l'outil, et `tool_response`, le résultat qu'il a renvoyé. Le schéma exact des deux dépend de l'outil. Les chemins `tool_input` des outils de fichiers arrivent dans le même format que pour [PreToolUse](#pretooluse-input) : toujours absolus, avec les séparateurs natifs de la plateforme, donc des barres obliques inverses sous Windows. Pour un outil MCP, l'entrée contient également l'objet [`mcp_server`](#pretooluse-input).

2182 2181 

2183```json theme={null}2182```json theme={null}

2184{2183{


2209 Contrôle de décision PostToolUse2208 Contrôle de décision PostToolUse

2210</h4>2209</h4>

2211 2210 

2212Les hooks `PostToolUse` peuvent fournir un retour à Claude après l'exécution de l'outil. En plus des [champs de sortie JSON](#json-output) disponibles pour tous les hooks, votre script de hook peut renvoyer ces champs propres à l'événement :2211Les hooks `PostToolUse` peuvent fournir un retour à Claude après l'exécution de l'outil. En plus des [champs de sortie JSON](#json-output) disponibles pour tous les hooks, votre script de hook peut renvoyer ces champs spécifiques à l'événement :

2213 2212 

2214| Champ | Description |2213| Champ | Description |

2215| :- | :- |2214| :- | :- |

2216| `decision` | `"block"` ajoute la `reason` à côté du résultat de l'outil. Claude voit toujours la sortie d'origine ; pour la remplacer, utilisez `updatedToolOutput` |2215| `decision` | `"block"` ajoute la `reason` à côté du résultat de l'outil. Claude voit toujours la sortie d'origine ; pour la remplacer, utilisez `updatedToolOutput` |

2217| `reason` | Explication affichée à Claude lorsque `decision` vaut `"block"` |2216| `reason` | Explication affichée à Claude lorsque `decision` vaut `"block"` |

2218| `additionalContext` | Chaîne ajoutée au contexte de Claude avec le résultat de l'outil. Voir [Ajouter du contexte pour Claude](#add-context-for-claude) |2217| `additionalContext` | Chaîne ajoutée au contexte de Claude avec le résultat de l'outil. Voir [Ajouter du contexte pour Claude](#add-context-for-claude) |

2219| `classifierContext` | Courte note sur le résultat de cet appel destinée au classifieur du [mode auto](/docs/fr/permission-modes#eliminate-prompts-with-auto-mode) plutôt qu'à Claude. Voir [Annoter un résultat pour le classifieur du mode auto](#annotate-a-result-for-the-auto-mode-classifier). Nécessite Claude Code v2.1.236 ou ultérieur |2218| `classifierContext` | Courte note sur le résultat de cet appel, destinée au classifieur du [mode auto](/docs/fr/permission-modes#eliminate-prompts-with-auto-mode) plutôt qu'à Claude. Voir [Annoter un résultat pour le classifieur du mode auto](#annotate-a-result-for-the-auto-mode-classifier). Nécessite Claude Code v2.1.236 ou ultérieur |

2220| `updatedToolOutput` | Remplace la sortie de l'outil par la valeur fournie avant qu'elle ne soit envoyée à Claude. La valeur doit correspondre à la forme de sortie de l'outil |2219| `updatedToolOutput` | Remplace la sortie de l'outil par la valeur fournie avant son envoi à Claude. La valeur doit correspondre à la forme de sortie de l'outil |

2221| `updatedMCPToolOutput` | Remplace la sortie des [outils MCP](#match-mcp-tools) uniquement. Préférez `updatedToolOutput`, qui fonctionne pour tous les outils |2220| `updatedMCPToolOutput` | Remplace la sortie uniquement pour les [outils MCP](#match-mcp-tools). Préférez `updatedToolOutput`, qui fonctionne pour tous les outils |

2222 2221 

2223L'exemple ci-dessous remplace la sortie d'un appel `Bash`. La valeur de remplacement correspond à la forme de sortie de l'outil `Bash` :2222L'exemple ci-dessous remplace la sortie d'un appel `Bash`. La valeur de remplacement correspond à la forme de sortie de l'outil `Bash` :

2224 2223 


2238```2237```

2239 2238 

2240<Warning>2239<Warning>

2241 `updatedToolOutput` ne modifie que ce que voit Claude. L'outil s'est déjà exécuté au moment où le hook se déclenche, donc les fichiers écrits, les commandes exécutées ou les requêtes réseau envoyées ont déjà pris effet. La télémétrie, comme les spans d'outils OpenTelemetry et les événements d'analyse, capture également la sortie d'origine avant l'exécution du hook. Pour empêcher ou modifier un appel d'outil avant son exécution, utilisez plutôt un hook [PreToolUse](#pretooluse).2240 `updatedToolOutput` ne modifie que ce que voit Claude. L'outil s'est déjà exécuté au moment où le hook se déclenche, donc tous les fichiers écrits, commandes exécutées ou requêtes réseau envoyées ont déjà pris effet. La télémétrie, comme les spans d'outils OpenTelemetry et les événements d'analytique, capture également la sortie d'origine avant l'exécution du hook. Pour empêcher ou modifier un appel d'outil avant son exécution, utilisez plutôt un hook [PreToolUse](#pretooluse).

2242 2241 

2243 La valeur de remplacement doit correspondre à la forme de sortie de l'outil. Les outils intégrés renvoient des objets structurés plutôt que de simples chaînes. Par exemple, `Bash` renvoie un objet avec les champs `stdout`, `stderr`, `interrupted` et `isImage`. Pour les outils intégrés, une valeur qui ne correspond pas au schéma de sortie de l'outil est ignorée et la sortie d'origine est utilisée. La sortie des outils MCP est transmise sans validation de schéma. Supprimer des détails d'erreur dont Claude a besoin peut l'amener à poursuivre sur une hypothèse erronée.2242 La valeur de remplacement doit correspondre à la forme de sortie de l'outil. Les outils intégrés renvoient des objets structurés plutôt que de simples chaînes. Par exemple, `Bash` renvoie un objet avec les champs `stdout`, `stderr`, `interrupted` et `isImage`. Pour les outils intégrés, une valeur qui ne correspond pas au schéma de sortie de l'outil est ignorée et la sortie d'origine est utilisée. La sortie des outils MCP est transmise sans validation de schéma. Supprimer des détails d'erreur dont Claude a besoin peut l'amener à poursuivre sur une hypothèse erronée.

2244</Warning>2243</Warning>


2247 Annoter un résultat pour le classifieur du mode auto2246 Annoter un résultat pour le classifieur du mode auto

2248</h4>2247</h4>

2249 2248 

2250Renvoyez `classifierContext` pour envoyer une courte note sur le résultat de l'appel d'outil au classifieur du [mode auto](/docs/fr/permission-modes#eliminate-prompts-with-auto-mode) plutôt qu'à Claude. Le classifieur [ne reçoit jamais les résultats des outils eux-mêmes](/docs/fr/permission-modes#how-the-classifier-evaluates-actions), ce champ est donc le moyen prévu pour lui indiquer quelque chose sur ce qu'un appel a renvoyé avant qu'il n'examine les actions suivantes. Ce champ nécessite Claude Code v2.1.236 ou ultérieur.2249Renvoyez `classifierContext` pour envoyer une courte note sur le résultat de l'appel d'outil au classifieur du [mode auto](/docs/fr/permission-modes#eliminate-prompts-with-auto-mode) plutôt qu'à Claude. Le classifieur [ne reçoit jamais les résultats des outils eux-mêmes](/docs/fr/permission-modes#how-the-classifier-evaluates-actions) ; ce champ est donc le moyen pris en charge de lui indiquer quelque chose sur ce qu'un appel a renvoyé avant qu'il n'examine les actions suivantes. Le champ nécessite Claude Code v2.1.236 ou ultérieur.

2251 2250 

2252L'exemple ci-dessous indique au classifieur d'où provient la sortie d'une requête :2251L'exemple ci-dessous indique au classifieur d'où provient la sortie d'une requête :

2253 2252 


2262 2261 

2263Le poids que le classifieur accorde à la note dépend de l'endroit où vous avez configuré le hook :2262Le poids que le classifieur accorde à la note dépend de l'endroit où vous avez configuré le hook :

2264 2263 

2265* **Hooks configurés dans Claude Code** : pour les hooks provenant des fichiers de paramètres, des plugins, des skills et du frontmatter des agents, le classifieur traite la note comme un contexte non vérifié fourni par l'application. La note n'établit jamais l'intention de l'utilisateur, et si elle affirme que vous avez approuvé ou demandé quelque chose, le classifieur vérifie cette affirmation par rapport à vos propres messages dans la conversation2264* **Hooks configurés dans Claude Code** : pour les hooks issus des fichiers de paramètres, des plugins, des skills et du frontmatter des agents, le classifieur traite la note comme un contexte non vérifié fourni par l'application. La note n'établit jamais l'intention de l'utilisateur, et si elle affirme que vous avez approuvé ou demandé quelque chose, le classifieur vérifie cette affirmation par rapport à vos propres messages dans la conversation

2266* **Callbacks Agent SDK en processus** : lorsqu'une application intégrant Claude Code enregistre le hook comme [callback du SDK TypeScript](/docs/fr/agent-sdk/hooks) et renvoie la note pendant la session en cours, le classifieur peut considérer une déclaration de l'utilisateur relayée dans la note comme une intention de l'utilisateur. Une telle déclaration peut satisfaire une exigence de consentement que le classifieur accepterait d'un message que vous envoyez, mais elle ne lève jamais un blocage que votre propre message ne pourrait pas lever non plus. Après la reprise d'une session, Claude Code traite les notes restaurées comme un contexte non vérifié. Lorsque des hooks des deux groupes annotent le même appel, le classifieur traite la note combinée comme non vérifiée2265* **Callbacks in-process de l'Agent SDK** : lorsqu'une application intégrant Claude Code enregistre le hook comme [callback du SDK TypeScript](/docs/fr/agent-sdk/hooks) et renvoie la note pendant la session en cours, le classifieur peut considérer une déclaration de l'utilisateur relayée dans la note comme une intention de l'utilisateur. Une telle déclaration peut satisfaire une exigence de consentement que le classifieur accepterait d'un message que vous envoyez, mais elle ne lève jamais un blocage que votre propre message ne pourrait pas lever non plus. Après la reprise d'une session, Claude Code traite les notes restaurées comme un contexte non vérifié. Lorsque des hooks des deux groupes annotent le même appel, le classifieur traite la note combinée comme non vérifiée

2267 2266 

2268Claude Code applique ces limites lors de la transmission de la note :2267Claude Code applique ces limites lors de la transmission de la note :

2269 2268 

2270* **Longueur** : Claude Code plafonne les notes d'un appel d'outil à 2 000 caractères et tronque le reste. Ce plafond est partagé entre tous les hooks qui répondent à cet appel2269* **Longueur** : Claude Code plafonne les notes d'un même appel d'outil à 2 000 caractères et tronque le reste. Ce plafond est partagé entre tous les hooks qui répondent à cet appel

2271* **Réponses synchrones uniquement** : Claude Code ignore le champ dans la réponse d'un hook qui [s'exécute en arrière-plan](#run-hooks-in-the-background), car cette réponse arrive après que Claude Code a enregistré le résultat de l'outil2270* **Réponses synchrones uniquement** : Claude Code ignore le champ dans la réponse d'un hook qui [s'exécute en arrière-plan](#run-hooks-in-the-background), car cette réponse arrive après que Claude Code a enregistré le résultat de l'outil

2272* **Appels que le classifieur n'enregistre pas** : la transcription du classifieur omet les consultations en lecture seule comme les lectures de fichiers et les recherches. Claude Code supprime une note attachée à l'un de ces appels2271* **Appels que le classifieur n'enregistre pas** : la transcription du classifieur omet les consultations en lecture seule, comme les lectures de fichiers et les recherches. Claude Code supprime une note attachée à l'un de ces appels

2273* **Interaction avec les réécritures** : lorsque la note décrit une sortie que vous remplacez avec `updatedToolOutput`, renvoyez les deux champs dans la même réponse de hook. Claude Code abandonne la note si cette réécriture est rejetée ou si la réécriture d'un autre hook la remplace. Claude Code transmet une note que vous renvoyez sans réécriture même lorsqu'un autre hook réécrit la sortie2272* **Interaction avec les réécritures** : lorsque la note décrit une sortie que vous remplacez par `updatedToolOutput`, renvoyez les deux champs dans la même réponse de hook. Claude Code abandonne la note si cette réécriture est rejetée ou si la réécriture d'un autre hook la remplace. Claude Code transmet une note que vous renvoyez sans réécriture même lorsqu'un autre hook réécrit la sortie

2274 2273 

2275<Warning>2274<Warning>

2276 Le classifieur lit le contenu que vous placez dans `classifierContext` comme une information provenant de l'application qui héberge la session ; n'y copiez donc pas de sortie d'outil non fiable ni de texte tiers. Limitez la note à une courte affirmation concernant cet appel précis, comme un fait sur son origine ou une déclaration de l'utilisateur à son sujet ; n'utilisez pas ce champ pour transmettre des messages sans rapport ou un flux d'événements.2275 Le classifieur lit le contenu que vous placez dans `classifierContext` comme une information provenant de l'application qui héberge la session ; n'y copiez donc pas de sortie d'outil non fiable ni de texte tiers. Limitez la note à une courte assertion sur cet appel précis, comme un fait concernant son origine ou une déclaration de l'utilisateur à son sujet ; n'utilisez pas ce champ pour transmettre des messages sans rapport ou un flux d'événements.

2277</Warning>2276</Warning>

2278 2277 

2279<h3 id="posttoolusefailure">2278<h3 id="posttoolusefailure">


2285Correspond au nom de l'outil, avec les mêmes valeurs que PreToolUse.2284Correspond au nom de l'outil, avec les mêmes valeurs que PreToolUse.

2286 2285 

2287<Note>2286<Note>

2288 Cet événement ne se déclenche pas pour les appels d'outils rejetés avant l'exécution : un nom d'outil inconnu, une entrée qui échoue à la validation du schéma ou à une validation propre à l'outil, ou un refus de permission. Les rejets de validation sont renvoyés sous forme de résultats `tool_use_error` et se produisent avant l'exécution des hooks, ils ne déclenchent donc ni `PreToolUse` ni `PostToolUseFailure`. Les refus de permission déclenchent `PreToolUse` mais pas cet événement ; voir [PermissionDenied](#permissiondenied).2287 Cet événement ne se déclenche pas pour les appels d'outils rejetés avant l'exécution : un nom d'outil inconnu, une entrée qui échoue à la validation de schéma ou à la validation propre à l'outil, ou un refus de permission. Les rejets de validation sont renvoyés sous forme de résultats `tool_use_error` et surviennent avant l'exécution des hooks ; ils ne déclenchent donc ni `PreToolUse` ni `PostToolUseFailure`. Les refus de permission déclenchent `PreToolUse` mais pas cet événement ; voir [PermissionDenied](#permissiondenied).

2289</Note>2288</Note>

2290 2289 

2291<h4 id="posttoolusefailure-input">2290<h4 id="posttoolusefailure-input">

2292 Entrée PostToolUseFailure2291 Entrée PostToolUseFailure

2293</h4>2292</h4>

2294 2293 

2295Les hooks PostToolUseFailure reçoivent les mêmes champs `tool_name` et `tool_input` que PostToolUse, ainsi que des informations sur l'erreur sous forme de champs de premier niveau. Pour un outil MCP, ils reçoivent également l'objet [`mcp_server`](#pretooluse-input). Par exemple, une commande `npm test` en échec pourrait transmettre :2294Les hooks PostToolUseFailure reçoivent les mêmes champs `tool_name` et `tool_input` que PostToolUse, ainsi que des informations d'erreur sous forme de champs de premier niveau. Pour un outil MCP, ils reçoivent également l'objet [`mcp_server`](#pretooluse-input). Par exemple, une commande `npm test` en échec pourrait fournir :

2296 2295 

2297```json theme={null}2296```json theme={null}

2298{2297{


2316| Champ | Description |2315| Champ | Description |

2317| :- | :- |2316| :- | :- |

2318| `error` | Chaîne décrivant ce qui s'est mal passé. Le format dépend de l'outil qui a échoué |2317| `error` | Chaîne décrivant ce qui s'est mal passé. Le format dépend de l'outil qui a échoué |

2319| `is_interrupt` | Booléen facultatif. Vrai lorsque l'échec est parvenu à Claude Code sous forme d'abandon plutôt que d'erreur signalée par l'outil. L'annulation d'un outil en cours d'exécution ne déclenche pas ce hook ; le résultat de l'outil contient alors le message d'interruption |2318| `is_interrupt` | Booléen facultatif. Vrai lorsque l'échec a atteint Claude Code sous forme d'abandon plutôt que d'erreur signalée par l'outil. L'annulation d'un outil en cours d'exécution ne déclenche pas ce hook ; le résultat de l'outil contient plutôt le message d'interruption |

2320| `duration_ms` | Facultatif. Durée d'exécution de l'outil en millisecondes. Exclut le temps passé dans les demandes de permission et les hooks PreToolUse |2319| `duration_ms` | Facultatif. Durée d'exécution de l'outil en millisecondes. Exclut le temps passé dans les demandes de permission et les hooks PreToolUse |

2321 2320 

2322La chaîne `error` est généralement le même texte que Claude reçoit comme résultat de l'outil en échec. Son format varie selon l'outil et le type d'échec. Basez votre hook sur `tool_name`, `is_interrupt` et la première ligne `Exit code N` ; traitez le reste de la chaîne comme du texte d'affichage, et non comme un format stable.2321La chaîne `error` est généralement le même texte que Claude reçoit comme résultat de l'outil en échec. Son format varie selon l'outil et l'échec. Basez votre hook sur `tool_name`, `is_interrupt` et la première ligne `Exit code N` ; traitez le reste de la chaîne comme du texte d'affichage, et non comme un format stable.

2323 2322 

2324* Pour Bash et PowerShell, une commande qui s'est exécutée puis terminée produit une première ligne `Exit code N`, suivie de toute la sortie produite par la commande en un seul bloc, avec stdout et stderr entremêlés2323* Pour Bash et PowerShell, une commande qui s'est exécutée et terminée produit une première ligne `Exit code N`, suivie de toute sortie produite par la commande sous forme d'un seul bloc où stdout et stderr sont entrelacés

2325* Un payload peut aussi contenir un simple message d'échec sans ligne de code de sortie, lorsque Claude Code n'a pas pu démarrer le processus shell lui-même2324* Un payload peut aussi contenir un simple message d'échec sans ligne de code de sortie, lorsque Claude Code n'a pas pu démarrer le processus shell lui-même

2326* Claude Code tronque le milieu des longues chaînes autour d'un marqueur `... [N characters truncated] ...`, et peut insérer ses propres lignes, comme `Command timed out after 2m 0s`2325* Claude Code tronque les longues chaînes en leur milieu autour d'un marqueur `... [N characters truncated] ...`, et peut insérer ses propres lignes, comme `Command timed out after 2m 0s`

2327 2326 

2328<h4 id="posttoolusefailure-decision-control">2327<h4 id="posttoolusefailure-decision-control">

2329 Contrôle de décision PostToolUseFailure2328 Contrôle de décision PostToolUseFailure

2330</h4>2329</h4>

2331 2330 

2332Les hooks `PostToolUseFailure` peuvent fournir du contexte à Claude après l'échec d'un outil. En plus des [champs de sortie JSON](#json-output) disponibles pour tous les hooks, votre script de hook peut renvoyer ces champs propres à l'événement :2331Les hooks `PostToolUseFailure` peuvent fournir du contexte à Claude après l'échec d'un outil. En plus des [champs de sortie JSON](#json-output) disponibles pour tous les hooks, votre script de hook peut renvoyer ces champs spécifiques à l'événement :

2333 2332 

2334| Champ | Description |2333| Champ | Description |

2335| :- | :- |2334| :- | :- |


2348 PostToolBatch2347 PostToolBatch

2349</h3>2348</h3>

2350 2349 

2351S'exécute une fois après la résolution de tous les appels d'outils d'un lot, avant que Claude Code n'envoie la requête suivante au modèle. `PostToolUse` se déclenche une fois par outil, ce qui signifie qu'il se déclenche de manière concurrente lorsque Claude effectue des appels d'outils parallèles. `PostToolBatch` se déclenche exactement une fois avec le lot complet ; c'est donc le bon endroit pour injecter un contexte qui dépend de l'ensemble des outils exécutés plutôt que d'un seul outil. Il n'y a pas de matcher pour cet événement.2350S'exécute une fois après la résolution de chaque appel d'outil d'un lot, avant que Claude Code n'envoie la requête suivante au modèle. `PostToolUse` se déclenche une fois par outil, ce qui signifie qu'il se déclenche de manière concurrente lorsque Claude effectue des appels d'outils en parallèle. `PostToolBatch` se déclenche exactement une fois avec le lot complet ; c'est donc le bon endroit pour injecter du contexte qui dépend de l'ensemble des outils exécutés plutôt que d'un outil en particulier. Il n'y a pas de matcher pour cet événement.

2352 2351 

2353<h4 id="posttoolbatch-input">2352<h4 id="posttoolbatch-input">

2354 Entrée PostToolBatch2353 Entrée PostToolBatch


2380}2379}

2381```2380```

2382 2381 

2383`tool_response` contient le même contenu que celui que le modèle reçoit dans le bloc `tool_result` correspondant. La valeur est une chaîne sérialisée ou un tableau de blocs de contenu, exactement tel que l'outil l'a émis. Pour `Read`, cela signifie du texte préfixé par des numéros de ligne plutôt que le contenu brut du fichier. Les réponses peuvent être volumineuses ; n'analysez donc que les champs dont vous avez besoin.2382`tool_response` contient le même contenu que celui que le modèle reçoit dans le bloc `tool_result` correspondant. La valeur est une chaîne sérialisée ou un tableau de blocs de contenu, exactement tel que l'outil l'a émis. Pour `Read`, cela signifie du texte préfixé par les numéros de ligne plutôt que le contenu brut du fichier. Les réponses peuvent être volumineuses ; analysez donc uniquement les champs dont vous avez besoin.

2384 2383 

2385<Note>2384<Note>

2386 La forme de `tool_response` diffère de celle de `PostToolUse`. `PostToolUse` transmet l'objet `Output` structuré de l'outil, comme `{filePath: "...", type: "create"}` pour `Write` ; `PostToolBatch` transmet le contenu `tool_result` sérialisé que voit le modèle.2385 La forme de `tool_response` diffère de celle de `PostToolUse`. `PostToolUse` transmet l'objet `Output` structuré de l'outil, comme `{filePath: "...", type: "create"}` pour `Write` ; `PostToolBatch` transmet le contenu `tool_result` sérialisé que voit le modèle.


2390 Contrôle de décision PostToolBatch2389 Contrôle de décision PostToolBatch

2391</h4>2390</h4>

2392 2391 

2393Les hooks `PostToolBatch` peuvent injecter du contexte pour Claude. En plus des [champs de sortie JSON](#json-output) disponibles pour tous les hooks, votre script de hook peut renvoyer ces champs propres à l'événement :2392Les hooks `PostToolBatch` peuvent injecter du contexte pour Claude. En plus des [champs de sortie JSON](#json-output) disponibles pour tous les hooks, votre script de hook peut renvoyer ces champs spécifiques à l'événement :

2394 2393 

2395| Champ | Description |2394| Champ | Description |

2396| :- | :- |2395| :- | :- |


2405}2404}

2406```2405```

2407 2406 

2408Renvoyer `decision: "block"` ou `continue: false` arrête la boucle agentique avant le prochain appel au modèle. Le message de blocage provient de la `reason` ou du `stopReason` JSON, ou de stderr avec le code de sortie 2. Vous le voyez comme un avertissement dans la transcription, et il reste dans la conversation, de sorte que Claude le voit lorsque la conversation reprend.2407Renvoyer `decision: "block"` ou `continue: false` arrête la boucle agentique avant le prochain appel au modèle. Le message de blocage provient de la `reason` ou du `stopReason` JSON, ou de stderr en cas de sortie avec le code 2. Vous le voyez comme un avertissement dans la transcription, et il reste dans la conversation ; Claude le voit donc lorsque la conversation se poursuit.

2409 2408 

2410<h3 id="permissiondenied">2409<h3 id="permissiondenied">

2411 PermissionDenied2410 PermissionDenied

2412</h3>2411</h3>

2413 2412 

2414S'exécute lorsque le [mode auto](/docs/fr/permission-modes#eliminate-prompts-with-auto-mode) refuse un appel d'outil, y compris lorsqu'il refuse sans verdict du classifieur parce qu'[un contrôle de sécurité distinct du mode auto a refusé la requête du classifieur lui-même](/docs/fr/errors#auto-mode-cannot-determine-the-safety-of-an-action) ou que sa réponse n'a pas pu être analysée. Ce hook ne se déclenche qu'en mode auto : il ne s'exécute pas lorsque vous refusez manuellement une boîte de dialogue de permission, lorsqu'un hook `PreToolUse` bloque un appel, ou lorsqu'une règle `deny` correspond. Utilisez-le pour journaliser les refus, ajuster la configuration ou indiquer au modèle qu'il peut réessayer l'appel d'outil.2413S'exécute lorsque le [mode auto](/docs/fr/permission-modes#eliminate-prompts-with-auto-mode) refuse un appel d'outil, y compris lorsqu'il refuse sans verdict du classifieur parce qu'[une vérification de sécurité distincte du mode auto a refusé la propre requête du classifieur](/docs/fr/errors#auto-mode-cannot-determine-the-safety-of-an-action) ou que sa réponse n'a pas pu être analysée. Ce hook ne se déclenche qu'en mode auto : il ne s'exécute pas lorsque vous refusez manuellement une boîte de dialogue de permission, lorsqu'un hook `PreToolUse` bloque un appel, ou lorsqu'une règle `deny` correspond. Utilisez-le pour journaliser les refus, ajuster la configuration ou indiquer au modèle qu'il peut réessayer l'appel d'outil.

2415 2414 

2416Correspond au nom de l'outil, avec les mêmes valeurs que PreToolUse.2415Correspond au nom de l'outil, avec les mêmes valeurs que PreToolUse.

2417 2416 


2440 2439 

2441| Champ | Description |2440| Champ | Description |

2442| :- | :- |2441| :- | :- |

2443| `reason` | Le motif du refus. Pour un verdict du classifieur, dans la plupart des sessions, il nomme la règle correspondante entre crochets, comme `[Data Exfiltration]` ; voir [Examiner les refus](/docs/fr/auto-mode-config#review-denials) pour les autres formes. Pour un [refus sans verdict](#permissiondenied-decision-control), il commence par `Auto mode could not evaluate this action and is blocking it for safety`. Pour un refus dû à l'indisponibilité du modèle du classifieur, il s'agit du texte fixe `Classifier unavailable` |2442| `reason` | La raison du refus. Pour un verdict du classifieur, dans la plupart des sessions, elle nomme la règle correspondante entre crochets, comme `[Data Exfiltration]` ; voir [Examiner les refus](/docs/fr/auto-mode-config#review-denials) pour les autres formes. Pour un [refus sans verdict](#permissiondenied-decision-control), elle commence par `Auto mode could not evaluate this action and is blocking it for safety`. Pour un refus dû à l'indisponibilité du modèle classifieur, il s'agit du texte fixe `Classifier unavailable` |

2444 2443 

2445<h4 id="permissiondenied-decision-control">2444<h4 id="permissiondenied-decision-control">

2446 Contrôle de décision PermissionDenied2445 Contrôle de décision PermissionDenied


2459 2458 

2460Lorsque `retry` vaut `true`, Claude Code ajoute un message à la conversation indiquant au modèle qu'il peut réessayer l'appel d'outil. Claude Code n'annule pas le refus lui-même. Si votre hook ne renvoie pas de JSON, ou renvoie `retry: false`, le refus est maintenu et le modèle reçoit le message de rejet d'origine.2459Lorsque `retry` vaut `true`, Claude Code ajoute un message à la conversation indiquant au modèle qu'il peut réessayer l'appel d'outil. Claude Code n'annule pas le refus lui-même. Si votre hook ne renvoie pas de JSON, ou renvoie `retry: false`, le refus est maintenu et le modèle reçoit le message de rejet d'origine.

2461 2460 

2462Claude Code ignore `retry: true` lorsque le classifieur n'a produit [aucun verdict sur l'action](/docs/fr/errors#auto-mode-cannot-determine-the-safety-of-an-action) : sa réponse n'a pas pu être analysée, ou un contrôle de sécurité distinct du mode auto a refusé la requête du classifieur lui-même. Pour ces refus, Claude Code indique déjà au modèle, dans le message de rejet, s'il doit réessayer plus tard ou passer à autre chose.2461Claude Code ignore `retry: true` lorsque le classifieur n'a produit [aucun verdict sur l'action](/docs/fr/errors#auto-mode-cannot-determine-the-safety-of-an-action) : sa réponse n'a pas pu être analysée, ou une vérification de sécurité distincte du mode auto a refusé la propre requête du classifieur. Pour ces refus, Claude Code indique déjà au modèle, dans le message de rejet, s'il doit réessayer plus tard ou passer à autre chose.

2463 2462 

2464<h3 id="notification">2463<h3 id="notification">

2465 Notification2464 Notification


2467 2466 

2468S'exécute lorsque Claude Code envoie des notifications. Correspond au type de notification. Omettez le matcher pour exécuter les hooks pour tous les types de notification.2467S'exécute lorsque Claude Code envoie des notifications. Correspond au type de notification. Omettez le matcher pour exécuter les hooks pour tous les types de notification.

2469 2468 

2470Vous recevez ces événements de hook même lorsque les notifications de bureau sont désactivées : le paramètre `preferredNotifChannel`, y compris `notifications_disabled`, ne modifie que la manière dont vous êtes alerté, et non l'exécution de votre hook.2469Vous recevez ces événements de hook même lorsque les notifications de bureau sont désactivées : le paramètre `preferredNotifChannel`, y compris `notifications_disabled`, ne modifie que la façon dont vous êtes alerté, et non le fait que votre hook s'exécute.

2471 2470 

2472| Matcher | Quand il se déclenche |2471| Matcher | Quand il se déclenche |

2473| :- | :- |2472| :- | :- |

2474| `permission_prompt` | Claude a besoin que vous approuviez l'utilisation d'un outil ou la [requête réseau](/docs/fr/sandboxing#network-isolation) d'une commande en sandbox, et la demande attend depuis environ six secondes |2473| `permission_prompt` | Claude a besoin que vous approuviez une utilisation d'outil ou la [requête réseau](/docs/fr/sandboxing#network-isolation) d'une commande en sandbox, et la demande attend depuis environ six secondes |

2475| `idle_prompt` | Claude a fini de répondre il y a environ 60 secondes et vous n'avez rien saisi depuis |2474| `idle_prompt` | Claude a fini de répondre il y a environ 60 secondes et vous n'avez rien tapé depuis |

2476| `auth_success` | L'authentification se termine |2475| `auth_success` | L'authentification est terminée |

2477| `elicitation_dialog` | Un serveur MCP ouvre un formulaire d'élicitation et vous n'avez rien saisi depuis environ six secondes |2476| `elicitation_dialog` | Un serveur MCP ouvre un formulaire d'élicitation et vous n'avez rien tapé depuis environ six secondes |

2478| `elicitation_url_dialog` | Un serveur MCP vous demande d'ouvrir une URL dans le navigateur et vous n'avez rien saisi depuis environ six secondes |2477| `elicitation_url_dialog` | Un serveur MCP vous demande d'ouvrir une URL dans le navigateur et vous n'avez rien tapé depuis environ six secondes |

2479| `elicitation_complete` | Un serveur MCP signale qu'une [élicitation en mode URL](#elicitation-input) est terminée |2478| `elicitation_complete` | Un serveur MCP signale qu'une [élicitation en mode URL](#elicitation-input) est terminée |

2480| `elicitation_response` | Une réponse d'élicitation MCP est renvoyée au serveur |2479| `elicitation_response` | Une réponse d'élicitation MCP est renvoyée au serveur |

2481| `agent_needs_input` | Une session en arrière-plan commence à attendre votre saisie alors que la [vue des agents](/docs/fr/agent-view) est ouverte dans un terminal. Se déclenche également lorsqu'une session de terminal vous présente une [question de configuration du terminal d'un coéquipier d'une équipe d'agents](/docs/fr/agent-teams#choose-a-display-mode) ou l'avis du mode auto concernant les [frais de requêtes du classifieur](/docs/fr/auto-mode-classifier-billing) et que vous n'avez rien saisi depuis environ six secondes |2480| `agent_needs_input` | Une session en arrière-plan commence à attendre votre saisie alors que la [vue des agents](/docs/fr/agent-view) est ouverte dans un terminal. Se déclenche également lorsqu'une session de terminal vous affiche la [question de configuration du terminal d'un coéquipier d'une équipe d'agents](/docs/fr/agent-teams#choose-a-display-mode) ou l'avis du mode auto concernant les [frais de requêtes du classifieur](/docs/fr/auto-mode-classifier-billing) et que vous n'avez rien tapé depuis environ six secondes |

2482| `agent_completed` | Une session en arrière-plan se termine ou échoue. Se déclenche uniquement lorsque la [vue des agents](/docs/fr/agent-view) est ouverte dans un terminal |2481| `agent_completed` | Une session en arrière-plan se termine ou échoue. Se déclenche uniquement lorsque la [vue des agents](/docs/fr/agent-view) est ouverte dans un terminal |

2483| `quota_auto_resume_fired` | Claude Code poursuit votre tâche après qu'une limite d'utilisation de claude.ai l'a mise en pause : à la réinitialisation, ou plus tôt lorsqu'une action que vous effectuez dans Claude Code pendant l'attente, comme l'ajout de crédits d'utilisation, la mise à niveau de votre forfait ou le changement de modèle, rend l'utilisation à nouveau disponible, avec l'[exception du paramètre de modèle](/docs/fr/interactive-mode#wait-for-a-usage-limit-to-reset) |2482| `quota_auto_resume_fired` | Claude Code poursuit votre tâche après qu'une limite d'utilisation claude.ai l'a mise en pause : à la réinitialisation, ou plus tôt lorsqu'une action que vous effectuez dans Claude Code pendant l'attente, comme l'ajout de crédits d'utilisation, la mise à niveau de votre forfait ou le changement de modèle, rend à nouveau l'utilisation disponible, avec l'[exception liée au paramètre de modèle](/docs/fr/interactive-mode#wait-for-a-usage-limit-to-reset) |

2484| `quota_auto_resume_stale` | Une limite d'utilisation de claude.ai s'est réinitialisée pendant que votre ordinateur était en veille pendant plus d'environ 30 minutes. Claude Code attend que vous appuyiez sur `Enter` au lieu de poursuivre. Après une veille plus courte, il poursuit et déclenche `quota_auto_resume_fired` à la place |2483| `quota_auto_resume_stale` | Une limite d'utilisation claude.ai a été réinitialisée pendant que votre ordinateur était en veille depuis plus d'environ 30 minutes. Claude Code attend que vous appuyiez sur `Enter` au lieu de poursuivre. Après une veille plus courte, il poursuit et déclenche plutôt `quota_auto_resume_fired` |

2485| `quota_auto_resume_disabled` | Claude Code met fin à son attente d'une limite d'utilisation de claude.ai sans poursuivre votre tâche : [`autoContinueAtUsageLimit`](/docs/fr/settings-reference#autocontinueatusagelimit) a été désactivé ou la réinitialisation a été repoussée de plus de 24 heures pendant une attente que Claude Code a lancée de lui-même, la tâche poursuivie a continué d'atteindre la limite, ou la poursuite a été bloquée avant d'atteindre le modèle. Ne se déclenche pas lorsque vous appuyez sur `Esc` ou `Ctrl+C`, ou que vous choisissez **Don't continue automatically** |2484| `quota_auto_resume_disabled` | Claude Code met fin à son attente d'une limite d'utilisation claude.ai sans poursuivre votre tâche : [`autoContinueAtUsageLimit`](/docs/fr/settings-reference#autocontinueatusagelimit) a été désactivé ou la réinitialisation a été repoussée de plus de 24 heures pendant une attente que Claude Code avait lancée de lui-même, la tâche poursuivie a continué d'atteindre la limite, ou la poursuite a été bloquée avant d'atteindre le modèle. Ne se déclenche pas lorsque vous appuyez sur `Esc` ou `Ctrl+C`, ou choisissez **Don't continue automatically** |

2486 2485 

2487Les types `quota_auto_resume_fired`, `quota_auto_resume_stale` et `quota_auto_resume_disabled` nécessitent Claude Code v2.1.234 ou ultérieur.2486Les types `quota_auto_resume_fired`, `quota_auto_resume_stale` et `quota_auto_resume_disabled` nécessitent Claude Code v2.1.234 ou ultérieur.

2488 2487 


2491`agent_needs_input` pour la question de configuration du terminal d'un coéquipier nécessite Claude Code v2.1.248 ou ultérieur.2490`agent_needs_input` pour la question de configuration du terminal d'un coéquipier nécessite Claude Code v2.1.248 ou ultérieur.

2492 2491 

2493<Note>2492<Note>

2494 Les types `permission_prompt`, `idle_prompt`, `elicitation_dialog` et `elicitation_url_dialog` partagent leur minutage avec les notifications de bureau ; dans les sessions de terminal, vous ne les voyez donc que lorsque vous semblez être éloigné du terminal :2493 Les types `permission_prompt`, `idle_prompt`, `elicitation_dialog` et `elicitation_url_dialog` partagent leur temporisation avec les notifications de bureau ; dans les sessions de terminal, vous ne les voyez donc que lorsque vous semblez être absent du terminal :

2495 2494 

2496 * Attendez-vous à `permission_prompt` lorsque vous n'avez rien saisi depuis environ six secondes. Le minuteur démarre lorsque la demande de permission apparaît, et chaque frappe le reporte. Pour exécuter un hook immédiatement lorsque Claude demande la permission d'utiliser un outil, utilisez plutôt [PermissionRequest](#permissionrequest).2495 * Attendez-vous à `permission_prompt` une fois que vous n'avez rien tapé depuis environ six secondes. Le minuteur démarre lorsque la demande de permission apparaît, et chaque frappe le reporte. Pour exécuter un hook immédiatement lorsque Claude demande la permission d'utiliser un outil, utilisez plutôt [PermissionRequest](#permissionrequest).

2497 * Attendez-vous à `idle_prompt` environ 60 secondes après que Claude a fini de répondre, et uniquement si vous n'avez rien saisi depuis et qu'aucun agent en arrière-plan, comme un [sous-agent](/docs/fr/sub-agents) en arrière-plan, n'est encore en cours d'exécution. Claude Code n'envoie pas `idle_prompt` pendant qu'il attend la réinitialisation d'une limite d'utilisation de claude.ai. Lorsque l'attente se termine d'elle-même, l'un des types `quota_auto_resume_*` se déclenche à la place.2496 * Attendez-vous à `idle_prompt` environ 60 secondes après que Claude a fini de répondre, et uniquement si vous n'avez rien tapé depuis et qu'aucun agent en arrière-plan, comme un [sous-agent](/docs/fr/sub-agents) en arrière-plan, n'est encore en cours d'exécution. Claude Code n'envoie pas `idle_prompt` pendant qu'il attend la réinitialisation d'une limite d'utilisation claude.ai. Lorsque l'attente se termine d'elle-même, l'un des types `quota_auto_resume_*` se déclenche à la place.

2498 * Attendez-vous à `elicitation_dialog` pour un formulaire d'élicitation, ou à `elicitation_url_dialog` pour une demande d'URL dans le navigateur, lorsque vous n'avez rien saisi depuis environ six secondes. Les deux partagent le même seuil de six secondes que `permission_prompt` : le minuteur démarre lorsque la boîte de dialogue apparaît, et chaque frappe le reporte.2497 * Attendez-vous à `elicitation_dialog` pour un formulaire d'élicitation, ou à `elicitation_url_dialog` pour une demande d'URL de navigateur, une fois que vous n'avez rien tapé depuis environ six secondes. Tous deux partagent le même seuil de six secondes que `permission_prompt` : le minuteur démarre lorsque la boîte de dialogue apparaît, et chaque frappe le reporte.

2499 2498 

2500 Une demande de permission ou une élicitation qui arrive alors qu'une autre boîte de dialogue est affichée conserve le même seuil de six secondes, calculé à partir de l'arrivée de la demande. Sa notification peut vous parvenir alors que la demande attend encore derrière la boîte de dialogue ouverte.2499 Une demande de permission ou une élicitation qui arrive alors qu'une autre boîte de dialogue est affichée conserve le même seuil de six secondes, mesuré à partir de l'arrivée de la demande. Sa notification peut vous parvenir alors que la demande attend encore derrière la boîte de dialogue ouverte.

2501</Note>2500</Note>

2502 2501 

2503Claude Code minute `permission_prompt` différemment dans les sessions où il envoie les demandes de permission au [callback `canUseTool`](/docs/fr/agent-sdk/user-input) de l'Agent SDK, ce qui est la façon dont Claude Desktop et l'extension VS Code hébergent Claude Code :2502Claude Code temporise `permission_prompt` différemment dans les sessions où il envoie les demandes de permission au [callback `canUseTool`](/docs/fr/agent-sdk/user-input) de l'Agent SDK, ce qui correspond à la façon dont Claude Desktop et l'extension VS Code hébergent Claude Code :

2504 2503 

2505* Attendez-vous à `permission_prompt` environ six secondes après que Claude a demandé la permission. Claude Code ne le reporte pas pendant que vous tapez.2504* Attendez-vous à `permission_prompt` environ six secondes après que Claude a demandé la permission. Claude Code ne le reporte pas pendant que vous tapez.

2506* Si vous ou un hook [PermissionRequest](#permissionrequest) répondez plus tôt, Claude Code n'exécute pas `permission_prompt`.2505* Si vous ou un hook [PermissionRequest](#permissionrequest) répondez plus tôt, Claude Code n'exécute pas `permission_prompt`.


2508 2507 

2509Avant la v2.1.233, `permission_prompt` ne se déclenchait pas dans ces sessions.2508Avant la v2.1.233, `permission_prompt` ne se déclenchait pas dans ces sessions.

2510 2509 

2511Utilisez des matchers distincts pour exécuter différents gestionnaires selon le type de notification. Cette configuration déclenche un script d'alerte propre aux permissions lorsque Claude a besoin d'une approbation de permission, et une notification différente lorsque Claude est inactif :2510Utilisez des matchers distincts pour exécuter des gestionnaires différents selon le type de notification. Cette configuration déclenche un script d'alerte spécifique aux permissions lorsque Claude a besoin d'une approbation de permission et une notification différente lorsque Claude est inactif :

2512 2511 

2513```json theme={null}2512```json theme={null}

2514{2513{


2555}2554}

2556```2555```

2557 2556 

2558Les hooks Notification ne peuvent ni bloquer ni modifier les notifications. Claude Code supprime leurs champs `systemMessage` et `continue`, mais émet toujours [`terminalSequence`](#emit-terminal-notifications), sur lequel repose l'exemple de notification de bureau. Les hooks Notification sont destinés aux effets de bord, comme la transmission de la notification à un service externe.2557Les hooks Notification ne peuvent ni bloquer ni modifier les notifications. Claude Code supprime leurs champs `systemMessage` et `continue`, mais émet tout de même [`terminalSequence`](#emit-terminal-notifications), sur lequel repose l'exemple de notification de bureau. Les hooks Notification sont destinés à des effets de bord, comme le transfert de la notification vers un service externe.

2559 2558 

2560<h3 id="subagentstart">2559<h3 id="subagentstart">

2561 SubagentStart2560 SubagentStart

2562</h3>2561</h3>

2563 2562 

2564S'exécute lorsque Claude lance un sous-agent avec l'outil Agent, lorsque Claude [reprend un sous-agent](/docs/fr/sub-agents#resume-subagents), et chaque fois qu'un coéquipier en processus d'une [équipe d'agents](/docs/fr/agent-teams) traite un nouveau message. Prend en charge les matchers pour filtrer par nom de type d'agent. Pour les agents intégrés, il s'agit du nom de l'agent, comme `general-purpose`, `Explore` ou `Plan`. Pour les [sous-agents personnalisés](/docs/fr/sub-agents), il s'agit du champ `name` du frontmatter de l'agent, et non du nom de fichier.2563S'exécute lorsque Claude lance un sous-agent avec l'outil Agent, lorsque Claude [reprend un sous-agent](/docs/fr/sub-agents#resume-subagents), et chaque fois qu'un coéquipier in-process d'une [équipe d'agents](/docs/fr/agent-teams) traite un nouveau message. Prend en charge les matchers pour filtrer par nom de type d'agent. Pour les agents intégrés, il s'agit du nom de l'agent, comme `general-purpose`, `Explore` ou `Plan`. Pour les [sous-agents personnalisés](/docs/fr/sub-agents), il s'agit du champ `name` du frontmatter de l'agent, et non du nom de fichier.

2565 2564 

2566Pour les sous-agents fournis par un [plugin](/docs/fr/plugins/overview), le type d'agent est l'identifiant propre au plugin, comme `my-plugin:reviewer`, et non le simple nom du frontmatter. Les deux-points font passer un nom propre au plugin par le traitement des expressions régulières ; ancrez donc le matcher avec `^` et `$` pour une correspondance exacte : `^my-plugin:reviewer$`.2565Pour les sous-agents fournis par un [plugin](/docs/fr/plugins/overview), le type d'agent est l'identifiant propre au plugin, comme `my-plugin:reviewer`, et non le simple nom du frontmatter. Les deux-points font passer un nom propre à un plugin par le chemin des expressions régulières ; ancrez donc le matcher avec `^` et `$` pour une correspondance exacte : `^my-plugin:reviewer$`.

2567 2566 

2568<h4 id="subagentstart-input">2567<h4 id="subagentstart-input">

2569 Entrée SubagentStart2568 Entrée SubagentStart


2582}2581}

2583```2582```

2584 2583 

2585Les hooks SubagentStart ne peuvent pas bloquer la création d'un sous-agent, mais ils peuvent injecter du contexte dans le sous-agent. En plus des [champs de sortie JSON](#json-output) disponibles pour tous les hooks, vous pouvez renvoyer :2584Les hooks SubagentStart ne peuvent pas bloquer la création du sous-agent, mais ils peuvent injecter du contexte dans le sous-agent. En plus des [champs de sortie JSON](#json-output) disponibles pour tous les hooks, vous pouvez renvoyer :

2586 2585 

2587| Champ | Description |2586| Champ | Description |

2588| :- | :- |2587| :- | :- |


2597}2596}

2598```2597```

2599 2598 

2600Lorsque le hook s'exécute à nouveau pour le même sous-agent, Claude Code n'injecte le contexte renvoyé que si le contexte du sous-agent ne contient pas déjà la copie d'une exécution précédente. La copie injectée au lancement reste en place, ce qui préserve le [cache de prompt](/docs/fr/prompt-caching#subagents-and-the-cache) du sous-agent. Après que la [compaction automatique](/docs/fr/sub-agents#auto-compaction) a supprimé cette copie, Claude Code injecte à nouveau le contexte de l'exécution suivante.2599Lorsque le hook s'exécute à nouveau pour le même sous-agent, Claude Code n'injecte le contexte renvoyé que si le contexte du sous-agent ne contient pas déjà la copie issue d'une exécution précédente. La copie injectée au lancement reste en place, ce qui préserve le [cache de prompts](/docs/fr/prompt-caching#subagents-and-the-cache) du sous-agent. Après que la [compaction automatique](/docs/fr/sub-agents#auto-compaction) a supprimé cette copie, Claude Code injecte à nouveau le contexte de l'exécution suivante.

2601 2600 

2602<h3 id="subagentstop">2601<h3 id="subagentstop">

2603 SubagentStop2602 SubagentStop


2609 Entrée SubagentStop2608 Entrée SubagentStop

2610</h4>2609</h4>

2611 2610 

2612En plus des [champs d'entrée communs](#common-input-fields), les hooks SubagentStop reçoivent `stop_hook_active`, `agent_id`, `agent_type`, `agent_transcript_path` et `last_assistant_message`. Le champ `agent_type` est la valeur utilisée pour le filtrage par matcher. Le `transcript_path` est la transcription de la session principale, tandis que `agent_transcript_path` est la propre transcription du sous-agent, stockée dans un dossier `subagents/` imbriqué. Le champ `last_assistant_message` contient le contenu textuel de la réponse finale du sous-agent, afin que les hooks puissent y accéder sans analyser le fichier de transcription.2611En plus des [champs d'entrée communs](#common-input-fields), les hooks SubagentStop reçoivent `stop_hook_active`, `agent_id`, `agent_type`, `agent_transcript_path` et `last_assistant_message`. Le champ `agent_type` est la valeur utilisée pour le filtrage par matcher. Le `transcript_path` est la transcription de la session principale, tandis que `agent_transcript_path` est la propre transcription du sous-agent, stockée dans un dossier imbriqué `subagents/`. Le champ `last_assistant_message` contient le contenu textuel de la réponse finale du sous-agent, ce qui permet aux hooks d'y accéder sans analyser le fichier de transcription.

2613 2612 

2614Tous les événements SubagentStop ne proviennent pas d'un sous-agent lancé par Claude. Claude Code exécute également des agents internes pour certaines de ses propres fonctionnalités, comme les [suggestions de prompt](/docs/fr/interactive-mode#prompt-suggestions) et les [questions annexes `/btw`](/docs/fr/interactive-mode#side-questions-with-%2Fbtw), et SubagentStop se déclenche aussi lorsque l'un d'eux se termine. Pour ces événements, `agent_type` est le nom de l'agent sous lequel la session elle-même s'exécute, tel que défini avec [`--agent`](/docs/fr/cli-reference#cli-flags) ou le [paramètre `agent`](/docs/fr/settings-reference#agent), et une chaîne vide lorsque la session s'exécute sans agent.2613Tous les événements SubagentStop ne proviennent pas d'un sous-agent lancé par Claude. Claude Code exécute aussi des agents internes pour certaines de ses propres fonctionnalités, comme les [suggestions de prompts](/docs/fr/interactive-mode#prompt-suggestions) et les [questions annexes `/btw`](/docs/fr/interactive-mode#side-questions-with-%2Fbtw), et SubagentStop se déclenche également lorsque l'un d'eux se termine. Pour ces événements, `agent_type` est le nom de l'agent sous lequel la session elle-même s'exécute, tel que défini avec [`--agent`](/docs/fr/cli-reference#cli-flags) ou le [paramètre `agent`](/docs/fr/settings-reference#agent), et une chaîne vide lorsque la session s'exécute sans agent.

2615 2614 

2616Un `matcher` qui nomme des types d'agents ne correspond pas à un `agent_type` vide. Un hook dont le matcher est omis, vaut `""` ou `"*"`, ou est une expression régulière correspondant à une chaîne vide, s'exécute également pour les événements dont l'`agent_type` est vide.2615Un `matcher` qui nomme des types d'agents ne correspond pas à un `agent_type` vide. Un hook dont le matcher est omis, vaut `""` ou `"*"`, ou est une expression régulière qui correspond à une chaîne vide, s'exécute également pour les événements avec un `agent_type` vide.

2617 2616 

2618Sur Claude Code v2.1.271 ou ultérieur, un sous-agent qui s'exécute avec l'outil [`SubagentHandback`](/docs/fr/tools-reference) transmet son rapport via cet outil avant de s'arrêter. Le champ `last_assistant_message` contient alors le texte de clôture du sous-agent, le cas échéant, qui n'est pas le rapport transmis. Le rapport est l'entrée `message` de cet appel, qu'un hook `PreToolUse` ou `PostToolUse` correspondant à `SubagentHandback` reçoit sous la forme `tool_input.message`.2617Sur Claude Code v2.1.271 ou ultérieur, un sous-agent qui s'exécute avec l'outil [`SubagentHandback`](/docs/fr/tools-reference) transmet son rapport via cet outil avant de s'arrêter. Le champ `last_assistant_message` contient alors le texte de clôture du sous-agent, le cas échéant, qui n'est pas le rapport transmis. Le rapport est l'entrée `message` de cet appel, qu'un hook `PreToolUse` ou `PostToolUse` correspondant à `SubagentHandback` reçoit sous la forme `tool_input.message`.

2619 2618 

2620Les hooks SubagentStop reçoivent également les tableaux `background_tasks` et `session_crons` décrits dans [Entrée Stop](#stop-input). Ces deux tableaux portent sur la session parente, et non sur le sous-agent.2619Les hooks SubagentStop reçoivent également les tableaux `background_tasks` et `session_crons` décrits dans [Entrée Stop](#stop-input). Les deux tableaux sont limités à la session parente, et non au sous-agent.

2621 2620 

2622```json theme={null}2621```json theme={null}

2623{2622{


2636}2635}

2637```2636```

2638 2637 

2639Les hooks SubagentStop utilisent le même format de contrôle de décision que les [hooks Stop](#stop-decision-control), y compris `hookSpecificOutput.additionalContext` avec `hookEventName` défini sur `"SubagentStop"`, pour un retour non lié à une erreur qui maintient le sous-agent en cours d'exécution. Renvoyer `decision: "block"` avec une `reason` maintient le sous-agent en cours d'exécution et lui transmet `reason` comme instruction suivante. Un hook qui bloque en se terminant avec le code 2 transmet son message stderr de la même manière. Pour injecter du contexte dans la session parente après le retour d'un sous-agent, utilisez plutôt un hook [`PostToolUse`](#posttooluse) sur l'outil `Agent`.2638Les hooks SubagentStop utilisent le même format de contrôle de décision que les [hooks Stop](#stop-decision-control), y compris `hookSpecificOutput.additionalContext` avec `hookEventName` défini sur `"SubagentStop"`, pour un retour sans erreur qui maintient le sous-agent en cours d'exécution. Renvoyer `decision: "block"` avec une `reason` maintient le sous-agent en cours d'exécution et lui transmet `reason` comme prochaine instruction. Un hook qui bloque en sortant avec le code 2 transmet son message stderr de la même manière. Pour injecter du contexte dans la session parente après le retour d'un sous-agent, utilisez plutôt un hook [`PostToolUse`](#posttooluse) sur l'outil `Agent`.

2640 2639 

2641<h3 id="taskcreated">2640<h3 id="taskcreated">

2642 TaskCreated2641 TaskCreated


2650 Entrée TaskCreated2649 Entrée TaskCreated

2651</h4>2650</h4>

2652 2651 

2653En plus des [champs d'entrée communs](#common-input-fields), les hooks TaskCreated reçoivent `task_id`, `task_subject` et, de manière facultative, `task_description`, `teammate_name` et `team_name`.2652En plus des [champs d'entrée communs](#common-input-fields), les hooks TaskCreated reçoivent `task_id`, `task_subject` et, facultativement, `task_description`, `teammate_name` et `team_name`.

2654 2653 

2655```json theme={null}2654```json theme={null}

2656{2655{


2673| `task_description` | Description détaillée de la tâche. Peut être absent |2672| `task_description` | Description détaillée de la tâche. Peut être absent |

2674| `teammate_name` | Nom du coéquipier qui crée la tâche. Peut être absent |2673| `teammate_name` | Nom du coéquipier qui crée la tâche. Peut être absent |

2675| `team_name` | Déprécié. Nom d'équipe dérivé de la session ; sera supprimé dans une version future |2674| `team_name` | Déprécié. Nom d'équipe dérivé de la session ; sera supprimé dans une version future |

2675| `agent_id` | Pour cet événement, le [champ d'entrée commun](#common-input-fields) identifie le sous-agent ou le [coéquipier in-process](/docs/fr/agent-teams#choose-a-display-mode) qui crée la tâche. Peut être absent. Nécessite Claude Code v2.1.290 ou ultérieur |

2676 2676 

2677<h4 id="taskcreated-decision-control">2677<h4 id="taskcreated-decision-control">

2678 Contrôle de décision TaskCreated2678 Contrôle de décision TaskCreated

2679</h4>2679</h4>

2680 2680 

2681Un hook TaskCreated peut bloquer la création de deux manières. 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.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.

2682 2682 

2683* **Code de sortie 2** : Claude Code renvoie le texte de stderr comme message.2683* **Code de sortie 2** : Claude Code renvoie le texte de stderr comme message.

2684* **JSON `{"decision": "block", "reason": "..."}`** : Claude Code renvoie `reason` comme message.2684* **JSON `{"decision": "block", "reason": "..."}`** : Claude Code renvoie `reason` comme message.


2702 TaskCompleted2702 TaskCompleted

2703</h3>2703</h3>

2704 2704 

2705S'exécute lorsqu'une tâche est en cours de marquage comme terminée. Cela se déclenche dans deux situations : lorsqu'un agent marque explicitement une tâche comme terminée via l'outil TaskUpdate, ou lorsqu'un coéquipier d'une [équipe d'agents](/docs/fr/agent-teams) termine son tour avec des tâches en cours. Utilisez-le pour imposer des critères d'achèvement, comme la réussite des tests ou des vérifications de lint, avant qu'une tâche puisse être clôturée.2705S'exécute lorsqu'une tâche est en cours de marquage comme terminée. Cela se produit dans deux situations : lorsqu'un agent marque explicitement une tâche comme terminée via l'outil TaskUpdate, ou lorsqu'un coéquipier d'une [équipe d'agents](/docs/fr/agent-teams) termine son tour avec des tâches en cours. Utilisez-le pour imposer des critères d'achèvement, comme la réussite des tests ou des vérifications de lint, avant qu'une tâche puisse être clôturée.

2706 2706 

2707Les hooks TaskCompleted ne prennent pas en charge les matchers et se déclenchent à chaque occurrence.2707Les hooks TaskCompleted ne prennent pas en charge les matchers et se déclenchent à chaque occurrence.

2708 2708 


2710 Entrée TaskCompleted2710 Entrée TaskCompleted

2711</h4>2711</h4>

2712 2712 

2713En plus des [champs d'entrée communs](#common-input-fields), les hooks TaskCompleted reçoivent `task_id`, `task_subject` et, de manière facultative, `task_description`, `teammate_name` et `team_name`.2713En plus des [champs d'entrée communs](#common-input-fields), les hooks TaskCompleted reçoivent `task_id`, `task_subject` et, facultativement, `task_description`, `teammate_name` et `team_name`.

2714 2714 

2715```json theme={null}2715```json theme={null}

2716{2716{


2734| `task_description` | Description détaillée de la tâche. Peut être absent |2734| `task_description` | Description détaillée de la tâche. Peut être absent |

2735| `teammate_name` | Nom du coéquipier qui termine la tâche. Peut être absent |2735| `teammate_name` | Nom du coéquipier qui termine la tâche. Peut être absent |

2736| `team_name` | Déprécié. Nom d'équipe dérivé de la session ; sera supprimé dans une version future |2736| `team_name` | Déprécié. Nom d'équipe dérivé de la session ; sera supprimé dans une version future |

2737| `agent_id` | Pour cet événement, le [champ d'entrée commun](#common-input-fields) identifie le sous-agent ou le [coéquipier in-process](/docs/fr/agent-teams#choose-a-display-mode) qui termine la tâche. Peut être absent. Nécessite Claude Code v2.1.290 ou ultérieur |

2737 2738 

2738<h4 id="taskcompleted-decision-control">2739<h4 id="taskcompleted-decision-control">

2739 Contrôle de décision TaskCompleted2740 Contrôle de décision TaskCompleted

2740</h4>2741</h4>

2741 2742 

2742Les hooks TaskCompleted offrent deux manières de contrôler l'achèvement des tâches :2743Les hooks TaskCompleted prennent en charge deux façons de contrôler l'achèvement des tâches :

2743 2744 

2744* **Code de sortie 2** : la tâche n'est pas marquée comme terminée et le message stderr est renvoyé au modèle comme retour.2745* **Code de sortie 2** : la tâche n'est pas marquée comme terminée et le message stderr est renvoyé au modèle comme retour.

2745* **JSON `{"continue": false, "stopReason": "..."}`** : lorsque l'événement a été déclenché par un coéquipier terminant son tour, arrête complètement le coéquipier, comme le comportement du hook `Stop`. Le `stopReason` est affiché à l'utilisateur. Lorsque l'événement a été déclenché par l'outil `TaskUpdate`, Claude Code ignore `continue: false` ; le code de sortie 2 bloque toujours l'achèvement.2746* **JSON `{"continue": false, "stopReason": "..."}`** : lorsque c'est un coéquipier terminant son tour qui a déclenché l'événement, arrête complètement le coéquipier, comme le comportement du hook `Stop`. Le `stopReason` est affiché à l'utilisateur. Lorsque c'est l'outil `TaskUpdate` qui a déclenché l'événement, Claude Code ignore `continue: false` ; le code de sortie 2 bloque toujours l'achèvement.

2746 2747 

2747Cet exemple exécute les tests et bloque l'achèvement de la tâche s'ils échouent :2748Cet exemple exécute les tests et bloque l'achèvement de la tâche s'ils échouent :

2748 2749 


2764 Stop2765 Stop

2765</h3>2766</h3>

2766 2767 

2767S'exécute lorsque l'agent principal de Claude Code a fini de répondre. Ne s'exécute pas2768S'exécute lorsque l'agent principal de Claude Code a fini de répondre. Ne s'exécute pas si

2768si l'arrêt est dû à une interruption de l'utilisateur. Les erreurs d'API déclenchent2769l'arrêt est dû à une interruption par l'utilisateur. Les erreurs d'API déclenchent

2769[StopFailure](#stopfailure) à la place.2770plutôt [StopFailure](#stopfailure).

2770 2771 

2771<Tip>2772<Tip>

2772 La commande [`/goal`](/docs/fr/goal) est un raccourci intégré pour un hook Stop basé sur un prompt et limité à la session. Utilisez-la lorsque vous voulez que Claude continue de travailler vers une condition sans écrire de configuration de hook.2773 La commande [`/goal`](/docs/fr/goal) est un raccourci intégré pour un hook Stop basé sur un prompt et limité à la session. Utilisez-la lorsque vous voulez que Claude continue de travailler vers une condition sans écrire de configuration de hook.


2776 Entrée Stop2777 Entrée Stop

2777</h4>2778</h4>

2778 2779 

2779En plus des [champs d'entrée communs](#common-input-fields), les hooks Stop reçoivent `stop_hook_active`, `last_assistant_message`, `background_tasks` et `session_crons`. Le champ `stop_hook_active` vaut `true` lorsque Claude Code poursuit déjà à la suite d'un hook Stop. Vérifiez cette valeur ou traitez la transcription pour éviter de bloquer sur une condition qui ne se résoudra jamais.2780En plus des [champs d'entrée communs](#common-input-fields), les hooks Stop reçoivent `stop_hook_active`, `last_assistant_message`, `background_tasks` et `session_crons`. Le champ `stop_hook_active` vaut `true` lorsque Claude Code poursuit déjà en raison d'un hook stop. Vérifiez cette valeur ou traitez la transcription pour éviter de bloquer sur une condition qui ne se résoudra jamais.

2780 2781 

2781Claude Code applique un plafond de 8 poursuites consécutives : après que les hooks Stop ont prolongé le tour huit fois d'affilée, Claude Code remplace le blocage suivant et met fin au tour. Le décompte des poursuites consécutives est réinitialisé chaque fois que Claude appelle un outil. Pour relever ce plafond, définissez [`CLAUDE_CODE_STOP_HOOK_BLOCK_CAP`](/docs/fr/env-vars).2782Claude Code applique un plafond de 8 poursuites consécutives : après que les hooks stop ont fait poursuivre le tour huit fois de suite, Claude Code remplace le blocage suivant et met fin au tour. Le compteur de poursuites consécutives est réinitialisé chaque fois que Claude appelle un outil. Pour relever ce plafond, définissez [`CLAUDE_CODE_STOP_HOOK_BLOCK_CAP`](/docs/fr/env-vars).

2782 2783 

2783Le champ `last_assistant_message` contient le contenu textuel de la réponse finale de Claude, afin que les hooks puissent y accéder sans analyser le fichier de transcription. Pour les hooks qui agissent sur le tour qui vient de se terminer, comme les hooks de lecture à voix haute ou de notification, utilisez ce champ plutôt que de lire `transcript_path` : il n'est pas garanti, sur toutes les versions, que le fichier de transcription contienne le message final au moment de Stop.2784Le champ `last_assistant_message` contient le contenu textuel de la réponse finale de Claude, ce qui permet aux hooks d'y accéder sans analyser le fichier de transcription. Pour les hooks qui agissent sur le tour qui vient de se terminer, comme les hooks de lecture à voix haute ou de notification, utilisez ce champ plutôt que de lire `transcript_path` : il n'est pas garanti, sur toutes les versions, que le fichier de transcription inclue le message final au moment de Stop.

2784 2785 

2785Les tableaux `background_tasks` et `session_crons` permettent aux hooks de distinguer « la session est terminée » de « la session est en pause en attendant qu'un travail en arrière-plan la réveille ». Les deux tableaux sont présents lorsque le registre des tâches est accessible et sont vides lorsque rien n'est en cours ni planifié.2786Les tableaux `background_tasks` et `session_crons` permettent aux hooks de distinguer « la session est terminée » de « la session est en pause en attendant qu'un travail en arrière-plan la réveille ». Les deux tableaux sont présents lorsque le registre des tâches est accessible et sont vides lorsque rien n'est en cours ni planifié.

2786 2787 


2789| Champ | Description |2790| Champ | Description |

2790| :- | :- |2791| :- | :- |

2791| `id` | Identifiant de la tâche |2792| `id` | Identifiant de la tâche |

2792| `type` | Libellé lisible du type de tâche, comme `shell`, `subagent`, `monitor`, `workflow`, `teammate`, `cloud session` ou `MCP task`. Chaque libellé identifie la fonctionnalité de Claude Code qui a créé la tâche. Revient au discriminant brut pour les types non reconnus |2793| `type` | Libellé lisible du type de tâche, comme `shell`, `subagent`, `monitor`, `workflow`, `teammate`, `cloud session` ou `MCP task`. Chaque libellé identifie la fonctionnalité de Claude Code qui a créé la tâche. Se rabat sur le discriminant brut pour les types non reconnus |

2793| `status` | Statut actuel de la tâche |2794| `status` | Statut actuel de la tâche |

2794| `description` | Description en texte libre, plafonnée à 1000 caractères avec un marqueur `… [+N chars]` dans la chaîne en cas de troncature |2795| `description` | Description en texte libre, plafonnée à 1000 caractères avec un marqueur `… [+N chars]` dans la chaîne en cas de troncature |

2795| `command` | Ligne de commande shell, plafonnée à 1000 caractères. Présent uniquement pour les tâches `shell` |2796| `command` | Ligne de commande shell, plafonnée à 1000 caractères. Présent uniquement pour les tâches `shell` |


2798| `tool` | Nom de l'outil MCP. Présent uniquement pour les tâches `monitor` et `MCP task` |2799| `tool` | Nom de l'outil MCP. Présent uniquement pour les tâches `monitor` et `MCP task` |

2799| `name` | Nom du workflow. Présent uniquement pour les tâches `workflow` |2800| `name` | Nom du workflow. Présent uniquement pour les tâches `workflow` |

2800 2801 

2801Chaque entrée de `session_crons` décrit un réveil planifié limité à la session, provenant de `CronCreate`, `ScheduleWakeup` et `/loop` :2802Chaque entrée de `session_crons` décrit un réveil planifié limité à la session, issu de `CronCreate`, `ScheduleWakeup` et `/loop` :

2802 2803 

2803| Champ | Description |2804| Champ | Description |

2804| :- | :- |2805| :- | :- |


2842 Contrôle de décision Stop2843 Contrôle de décision Stop

2843</h4>2844</h4>

2844 2845 

2845Les hooks `Stop` et `SubagentStop` peuvent contrôler si Claude continue. En plus des [champs de sortie JSON](#json-output) disponibles pour tous les hooks, votre script de hook peut renvoyer ces champs propres à l'événement :2846Les hooks `Stop` et `SubagentStop` peuvent contrôler si Claude continue. En plus des [champs de sortie JSON](#json-output) disponibles pour tous les hooks, votre script de hook peut renvoyer ces champs spécifiques à l'événement :

2846 2847 

2847| Champ | Description |2848| Champ | Description |

2848| :- | :- |2849| :- | :- |

2849| `decision` | `"block"` empêche Claude de s'arrêter. Omettez-le pour permettre à Claude de s'arrêter |2850| `decision` | `"block"` empêche Claude de s'arrêter. Omettez-le pour permettre à Claude de s'arrêter |

2850| `reason` | Obligatoire lorsque `decision` vaut `"block"`. Indique à Claude pourquoi il doit continuer |2851| `reason` | Obligatoire lorsque `decision` vaut `"block"`. Indique à Claude pourquoi il doit continuer |

2851| `hookSpecificOutput.additionalContext` | Retour non lié à une erreur pour Claude. La conversation continue afin que Claude puisse agir en conséquence, mais contrairement à `decision: "block"`, il est affiché dans la transcription comme un retour de hook plutôt que comme une erreur de hook |2852| `hookSpecificOutput.additionalContext` | Retour sans erreur pour Claude. La conversation se poursuit pour que Claude puisse y donner suite, mais contrairement à `decision: "block"`, il est affiché dans la transcription comme un retour de hook plutôt que comme une erreur de hook |

2852 2853 

2853Un hook qui bloque en se terminant avec le code 2 est traité de la même manière que `reason` : Claude reçoit le message stderr comme explication de la raison pour laquelle il doit continuer.2854Un hook qui bloque en sortant avec le code 2 est acheminé de la même manière que `reason` : Claude reçoit le message stderr comme explication de la raison pour laquelle il doit continuer.

2854 2855 

2855```json theme={null}2856```json theme={null}

2856{2857{


2859}2860}

2860```2861```

2861 2862 

2862Utilisez `additionalContext` lorsque le hook fonctionne comme prévu et donne des indications à Claude, comme « exécuter la suite de tests avant de terminer ». Il fait continuer la conversation avec les mêmes protections contre les boucles que `decision: "block"`, à savoir l'entrée `stop_hook_active` et le plafond de 8 poursuites consécutives, mais la transcription l'étiquette `Stop hook feedback` et aucune notification d'erreur de hook n'est affichée :2863Utilisez `additionalContext` lorsque le hook fonctionne comme prévu et donne des indications à Claude, comme « exécuter la suite de tests avant de terminer ». Il fait se poursuivre la conversation avec les mêmes protections contre les boucles que `decision: "block"`, à savoir l'entrée `stop_hook_active` et le plafond de 8 poursuites consécutives, mais la transcription l'étiquette `Stop hook feedback` et aucune notification d'erreur de hook n'est affichée :

2863 2864 

2864```json theme={null}2865```json theme={null}

2865{2866{


2880 Entrée StopFailure2881 Entrée StopFailure

2881</h4>2882</h4>

2882 2883 

2883En plus des [champs d'entrée communs](#common-input-fields), les hooks StopFailure reçoivent `error`, un `error_details` facultatif et un `last_assistant_message` facultatif. Le champ `error` identifie le type d'erreur et est utilisé pour le filtrage par matcher.2884En plus des [champs d'entrée communs](#common-input-fields), les hooks StopFailure reçoivent `error`, `error_details` facultatif et `last_assistant_message` facultatif. Le champ `error` identifie le type d'erreur et est utilisé pour le filtrage par matcher.

2884 2885 

2885| Champ | Description |2886| Champ | Description |

2886| :- | :- |2887| :- | :- |

2887| `error` | Type d'erreur : `rate_limit`, `overloaded`, `authentication_failed`, `oauth_org_not_allowed`, `account_on_hold`, `billing_error`, `invalid_request`, `model_not_found`, `server_error`, `max_output_tokens`, `cloud_credential_error` ou `unknown` |2888| `error` | Type d'erreur : `rate_limit`, `overloaded`, `authentication_failed`, `oauth_org_not_allowed`, `account_on_hold`, `billing_error`, `invalid_request`, `model_not_found`, `server_error`, `max_output_tokens`, `cloud_credential_error` ou `unknown` |

2888| `error_details` | Détails supplémentaires sur l'erreur, lorsqu'ils sont disponibles |2889| `error_details` | Détails supplémentaires sur l'erreur, lorsqu'ils sont disponibles |

2889| `last_assistant_message` | Le texte d'erreur affiché dans la conversation. Contrairement à `Stop` et `SubagentStop`, où ce champ contient la sortie conversationnelle de Claude, pour `StopFailure` il contient la chaîne d'erreur de l'API elle-même, comme `"API Error: Rate limit reached"` |2890| `last_assistant_message` | Le texte d'erreur rendu, affiché dans la conversation. Contrairement à `Stop` et `SubagentStop`, où ce champ contient la sortie conversationnelle de Claude, pour `StopFailure` il contient la chaîne d'erreur d'API elle-même, comme `"API Error: Rate limit reached"` |

2890 2891 

2891```json theme={null}2892```json theme={null}

2892{2893{


2906 TeammateIdle2907 TeammateIdle

2907</h3>2908</h3>

2908 2909 

2909S'exécute lorsqu'un coéquipier d'une [équipe d'agents](/docs/fr/agent-teams) est sur le point de devenir inactif après avoir terminé son tour. Utilisez-le pour imposer des contrôles qualité avant qu'un coéquipier n'arrête de travailler, par exemple en exigeant la réussite des vérifications de lint ou en vérifiant l'existence des fichiers de sortie.2910S'exécute lorsqu'un coéquipier d'une [équipe d'agents](/docs/fr/agent-teams) est sur le point de devenir inactif après avoir terminé son tour. Utilisez-le pour imposer des contrôles qualité avant qu'un coéquipier arrête de travailler, par exemple en exigeant la réussite des vérifications de lint ou en vérifiant que les fichiers de sortie existent.

2910 2911 

2911Les hooks TeammateIdle ne prennent pas en charge les matchers et se déclenchent à chaque occurrence.2912Les hooks TeammateIdle ne prennent pas en charge les matchers et se déclenchent à chaque occurrence.

2912 2913 


2930 2931 

2931| Champ | Description |2932| Champ | Description |

2932| :- | :- |2933| :- | :- |

2933| `teammate_name` | Nom du coéquipier qui est sur le point de devenir inactif |2934| `teammate_name` | Nom du coéquipier sur le point de devenir inactif |

2934| `team_name` | Déprécié. Nom d'équipe dérivé de la session ; sera supprimé dans une version future |2935| `team_name` | Déprécié. Nom d'équipe dérivé de la session ; sera supprimé dans une version future |

2936| `agent_id` | Pour cet événement, le [champ d'entrée commun](#common-input-fields) identifie le [coéquipier in-process](/docs/fr/agent-teams#choose-a-display-mode) sur le point de devenir inactif. Peut être absent. Nécessite Claude Code v2.1.290 ou ultérieur |

2935 2937 

2936<h4 id="teammateidle-decision-control">2938<h4 id="teammateidle-decision-control">

2937 Contrôle de décision TeammateIdle2939 Contrôle de décision TeammateIdle

2938</h4>2940</h4>

2939 2941 

2940Les hooks TeammateIdle offrent deux manières de contrôler le comportement du coéquipier :2942Les hooks TeammateIdle prennent en charge deux façons de contrôler le comportement des coéquipiers :

2941 2943 

2942* **Code de sortie 2** : le coéquipier reçoit le message stderr comme retour et continue de travailler au lieu de devenir inactif.2944* **Code de sortie 2** : le coéquipier reçoit le message stderr comme retour et continue de travailler au lieu de devenir inactif.

2943* **JSON `{"continue": false, "stopReason": "..."}`** : arrête complètement le coéquipier, comme le comportement du hook `Stop`. Le `stopReason` est affiché à l'utilisateur.2945* **JSON `{"continue": false, "stopReason": "..."}`** : arrête complètement le coéquipier, comme le comportement du hook `Stop`. Le `stopReason` est affiché à l'utilisateur.


2959 ConfigChange2961 ConfigChange

2960</h3>2962</h3>

2961 2963 

2962S'exécute lorsqu'un fichier de configuration change pendant une session. Utilisez-le pour auditer les modifications de paramètres, appliquer des politiques de sécurité ou bloquer les modifications non autorisées des fichiers de configuration.2964S'exécute lorsqu'un fichier de configuration change au cours d'une session. Utilisez-le pour auditer les modifications de paramètres, appliquer des politiques de sécurité ou bloquer les modifications non autorisées des fichiers de configuration.

2963 2965 

2964Claude Code exécute les hooks ConfigChange lorsqu'un fichier de paramètres, un fichier de politique gérée ou un fichier de skill change. Pour la politique gérée, il ne les exécute que lorsque `managed-settings.json` ou un fichier de `managed-settings.d/` change. Il applique les [paramètres gérés par le serveur](/docs/fr/server-managed-settings) et les modifications des préférences gérées macOS ou de la politique du registre Windows sans les exécuter. Sous WSL avec [`wslInheritsWindowsSettings`](/docs/fr/settings-reference#wslinheritswindowssettings), il applique également un fichier de paramètres gérés modifié côté Windows lors de son interrogation de politique, sans les exécuter.2966Claude Code exécute les hooks ConfigChange lorsqu'un fichier de paramètres, un fichier de politique gérée ou un fichier de skill change. Pour la politique gérée, il ne les exécute que lorsque `managed-settings.json` ou un fichier de `managed-settings.d/` change. Il applique les [paramètres gérés par le serveur](/docs/fr/server-managed-settings) et les modifications des préférences gérées macOS ou de la politique du registre Windows sans les exécuter. Sous WSL avec [`wslInheritsWindowsSettings`](/docs/fr/settings-reference#wslinheritswindowssettings), il applique également un fichier de paramètres gérés modifié côté Windows lors de son interrogation de la politique, sans les exécuter.

2965 2967 

2966Le matcher filtre sur la source de configuration :2968Le matcher filtre sur la source de la configuration :

2967 2969 

2968| Matcher | Quand il se déclenche |2970| Matcher | Quand il se déclenche |

2969| :- | :- |2971| :- | :- |


2997 Entrée ConfigChange2999 Entrée ConfigChange

2998</h4>3000</h4>

2999 3001 

3000En plus des [champs d'entrée communs](#common-input-fields), les hooks ConfigChange reçoivent `source` et, de manière facultative, `file_path`. Le champ `source` indique quel type de configuration a changé, et `file_path` fournit le chemin du fichier précis qui a été modifié.3002En plus des [champs d'entrée communs](#common-input-fields), les hooks ConfigChange reçoivent `source` et, facultativement, `file_path`. Le champ `source` indique quel type de configuration a changé, et `file_path` fournit le chemin du fichier spécifique qui a été modifié.

3001 3003 

3002```json theme={null}3004```json theme={null}

3003{3005{


3014 Contrôle de décision ConfigChange3016 Contrôle de décision ConfigChange

3015</h4>3017</h4>

3016 3018 

3017Les hooks ConfigChange peuvent empêcher des modifications de configuration de prendre effet. Utilisez le code de sortie 2 ou une `decision` JSON pour empêcher la modification. En cas de blocage, les nouveaux paramètres ne sont pas appliqués à la session en cours.3019Les hooks ConfigChange peuvent empêcher les modifications de configuration de prendre effet. Utilisez le code de sortie 2 ou une `decision` JSON pour empêcher la modification. En cas de blocage, les nouveaux paramètres ne sont pas appliqués à la session en cours.

3018 3020 

3019| Champ | Description |3021| Champ | Description |

3020| :- | :- |3022| :- | :- |


3030 3032 

3031Les modifications `policy_settings` ne peuvent pas être bloquées. Les hooks se déclenchent toujours pour les sources `policy_settings` lorsqu'un fichier de paramètres gérés sur la machine change, ce qui vous permet de les utiliser pour journaliser ces modifications, mais toute décision de blocage est ignorée. Cela garantit que les paramètres gérés par l'entreprise prennent toujours effet. Claude Code n'exécute pas les hooks `ConfigChange` lorsque des [paramètres gérés par le serveur](/docs/fr/server-managed-settings) arrivent ou sont actualisés.3033Les modifications `policy_settings` ne peuvent pas être bloquées. Les hooks se déclenchent toujours pour les sources `policy_settings` lorsqu'un fichier de paramètres gérés sur la machine change, ce qui vous permet de les utiliser pour journaliser ces modifications, mais toute décision de blocage est ignorée. Cela garantit que les paramètres gérés par l'entreprise prennent toujours effet. Claude Code n'exécute pas les hooks `ConfigChange` lorsque des [paramètres gérés par le serveur](/docs/fr/server-managed-settings) arrivent ou sont actualisés.

3032 3034 

3033Claude Code applique la décision de blocage issue de la sortie JSON d'un hook ConfigChange et supprime `systemMessage` et `continue`. Une modification bloquée n'affiche aucun message, ni à vous ni à Claude, que vous bloquiez avec `reason` ou avec stderr et le code de sortie 2. Claude Code écrit seulement une ligne dans le log de débogage.3035Claude Code applique la décision de blocage issue de la sortie JSON d'un hook ConfigChange et supprime `systemMessage` et `continue`. Une modification bloquée ne fait remonter aucun message, ni à vous ni à Claude, que vous bloquiez avec `reason` ou avec stderr en sortant avec le code 2. Claude Code se contente d'écrire une ligne dans le log de débogage.

3034 3036 

3035<h3 id="cwdchanged">3037<h3 id="cwdchanged">

3036 CwdChanged3038 CwdChanged

3037</h3>3039</h3>

3038 3040 

3039S'exécute lorsqu'une commande shell dans la conversation principale change le répertoire de travail, par exemple lorsque Claude exécute une commande `cd`. Utilisez-le pour réagir aux changements de répertoire : recharger des variables d'environnement, activer des chaînes d'outils propres au projet ou exécuter automatiquement des scripts de configuration. Se combine avec [FileChanged](#filechanged) pour des outils comme [direnv](https://direnv.net/) qui gèrent l'environnement par répertoire.3041S'exécute lorsqu'une commande shell de la conversation principale change le répertoire de travail, par exemple lorsque Claude exécute une commande `cd`. Utilisez-le pour réagir aux changements de répertoire : recharger les variables d'environnement, activer des chaînes d'outils propres au projet ou exécuter automatiquement des scripts de configuration. Se combine avec [FileChanged](#filechanged) pour des outils comme [direnv](https://direnv.net/) qui gèrent un environnement par répertoire.

3040 3042 

3041Les hooks CwdChanged ont accès à [`CLAUDE_ENV_FILE`](#persist-environment-variables). Les variables écrites dans ce fichier persistent dans les commandes Bash suivantes jusqu'au prochain événement CwdChanged, moment où Claude Code les efface.3043Les hooks CwdChanged ont accès à [`CLAUDE_ENV_FILE`](#persist-environment-variables). Les variables écrites dans ce fichier persistent dans les commandes Bash suivantes jusqu'au prochain événement CwdChanged, lorsque Claude Code les efface.

3042 3044 

3043CwdChanged ne prend pas en charge les matchers et se déclenche à chaque occurrence.3045CwdChanged ne prend pas en charge les matchers et se déclenche à chaque occurrence.

3044 3046 


3063 Sortie CwdChanged3065 Sortie CwdChanged

3064</h4>3066</h4>

3065 3067 

3066En plus des [champs de sortie JSON](#json-output) disponibles pour tous les hooks, les hooks CwdChanged peuvent renvoyer `watchPaths` pour définir dynamiquement les chemins de fichiers surveillés par [FileChanged](#filechanged) :3068En plus des [champs de sortie JSON](#json-output) disponibles pour tous les hooks, les hooks CwdChanged peuvent renvoyer `watchPaths` pour définir dynamiquement les chemins de fichiers que [FileChanged](#filechanged) surveille :

3067 3069 

3068| Champ | Description |3070| Champ | Description |

3069| :- | :- |3071| :- | :- |

3070| `watchPaths` | Tableau de chemins absolus. Remplace la liste de surveillance dynamique actuelle. Les chemins issus de votre configuration `matcher` sont toujours surveillés. Renvoyer un tableau vide efface la liste dynamique, ce qui est typique lors de l'entrée dans un nouveau répertoire |3072| `watchPaths` | Tableau de chemins absolus. Remplace la liste de surveillance dynamique actuelle. Les chemins de votre configuration `matcher` sont toujours surveillés. Renvoyer un tableau vide efface la liste dynamique, ce qui est typique lors de l'entrée dans un nouveau répertoire |

3071 3073 

3072Les hooks CwdChanged n'ont pas de contrôle de décision. Ils ne peuvent pas bloquer le changement de répertoire.3074Les hooks CwdChanged n'ont pas de contrôle de décision. Ils ne peuvent pas bloquer le changement de répertoire.

3073 3075 


3085* Vous ajoutez un répertoire dans l'onglet Workspace de `/permissions`3087* Vous ajoutez un répertoire dans l'onglet Workspace de `/permissions`

3086* Vous ajoutez un répertoire qui est déjà un répertoire de travail ou qui se trouve à l'intérieur de l'un d'eux3088* Vous ajoutez un répertoire qui est déjà un répertoire de travail ou qui se trouve à l'intérieur de l'un d'eux

3087 3089 

3088Claude Code déclenche DirectoryAdded après avoir actualisé l'état du sandbox et des permissions, de sorte que les outils en sandbox voient déjà le nouveau répertoire lorsque votre hook s'exécute. Les commandes des hooks elles-mêmes s'exécutent hors sandbox.3090Claude Code déclenche DirectoryAdded après avoir actualisé l'état du sandbox et des permissions ; les outils en sandbox voient donc déjà le nouveau répertoire lorsque votre hook s'exécute. Les commandes de hook elles-mêmes s'exécutent hors sandbox.

3089 3091 

3090Claude Code n'attend pas le hook : l'ajout se termine immédiatement, et le hook s'exécute en arrière-plan avec le délai d'expiration par défaut de 600 secondes.3092Claude Code n'attend pas le hook : l'ajout se termine immédiatement, et le hook s'exécute en arrière-plan avec le délai d'expiration par défaut de 600 secondes.

3091 3093 

3092Le matcher filtre sur la manière dont le répertoire a été ajouté :3094Le matcher filtre sur la façon dont le répertoire a été ajouté :

3093 3095 

3094| Matcher | Quand il se déclenche |3096| Matcher | Quand il se déclenche |

3095| :- | :- |3097| :- | :- |


3105| Champ | Description |3107| Champ | Description |

3106| :- | :- |3108| :- | :- |

3107| `directory` | Chemin absolu du répertoire qui a été ajouté |3109| `directory` | Chemin absolu du répertoire qui a été ajouté |

3108| `source` | La manière dont le répertoire a été ajouté : `"slash_command"` pour `/add-dir` ou `"register_repo_root"` pour la requête de contrôle du SDK |3110| `source` | Façon dont le répertoire a été ajouté : `"slash_command"` pour `/add-dir` ou `"register_repo_root"` pour la requête de contrôle du SDK |

3109 3111 

3110```json theme={null}3112```json theme={null}

3111{3113{


3118}3120}

3119```3121```

3120 3122 

3121Les hooks DirectoryAdded n'ont pas de contrôle de décision. Ils ne peuvent pas bloquer l'ajout, qui est déjà terminé lorsque le hook s'exécute. Claude Code supprime le champ `continue` de leur sortie JSON et présente le reste différemment selon la source :3123Les hooks DirectoryAdded n'ont pas de contrôle de décision. Ils ne peuvent pas bloquer l'ajout, qui est déjà terminé lorsque le hook s'exécute. Claude Code supprime le champ `continue` de leur sortie JSON et fait remonter le reste différemment selon la source :

3122 3124 

3123* `slash_command` : Claude Code transmet le `systemMessage` du hook à Claude comme contexte au tour suivant de la conversation, plutôt que de vous l'afficher. Le nombre de hooks en échec apparaît dans la transcription. La sortie complète des échecs est envoyée dans le log de débogage3125* `slash_command` : Claude Code transmet le `systemMessage` du hook à Claude comme contexte au tour de conversation suivant, au lieu de vous l'afficher. Un décompte des hooks en échec apparaît dans la transcription. La sortie complète des échecs va dans le log de débogage

3124* `register_repo_root` : Claude Code écrit la sortie `systemMessage` et la sortie des échecs uniquement dans le log de débogage3126* `register_repo_root` : Claude Code écrit la sortie `systemMessage` et la sortie des échecs uniquement dans le log de débogage

3125 3127 

3126<h3 id="filechanged">3128<h3 id="filechanged">

3127 FileChanged3129 FileChanged

3128</h3>3130</h3>

3129 3131 

3130S'exécute lorsqu'un fichier surveillé change sur le disque. Claude Code détecte les modifications avec un observateur du système de fichiers, et non en inspectant les appels d'outils ; il exécute donc le hook quelle que soit l'origine de la modification : un appel d'outil `Edit` ou `Write`, un script que Claude exécute avec `Bash`, ou un processus entièrement extérieur à Claude Code. Un usage courant consiste à recharger des variables d'environnement lorsque des fichiers de configuration du projet changent.3132S'exécute lorsqu'un fichier surveillé change sur le disque. Claude Code détecte les modifications avec un observateur du système de fichiers, et non en inspectant les appels d'outils ; il exécute donc le hook quelle que soit l'origine de la modification du fichier : un appel d'outil `Edit` ou `Write`, un script que Claude exécute avec `Bash`, ou un processus entièrement extérieur à Claude Code. Un usage courant consiste à recharger les variables d'environnement lorsque les fichiers de configuration du projet changent.

3131 3133 

3132Le `matcher` de cet événement joue deux rôles :3134Le `matcher` de cet événement joue deux rôles :

3133 3135 

3134* **Construire la liste de surveillance** : la valeur est découpée sur `|` et chaque segment est enregistré comme un nom de fichier littéral dans le répertoire de travail ; ainsi `".envrc|.env"` surveille exactement ces deux fichiers. Les expressions régulières ne sont pas utiles ici : une valeur comme `^\.env` surveillerait un fichier littéralement nommé `^\.env`.3136* **Construire la liste de surveillance** : la valeur est découpée sur `|` et chaque segment est enregistré comme un nom de fichier littéral dans le répertoire de travail ; ainsi `".envrc|.env"` surveille exactement ces deux fichiers. Les motifs regex ne sont pas utiles ici : une valeur comme `^\.env` surveillerait un fichier littéralement nommé `^\.env`.

3135* **Filtrer les hooks qui s'exécutent** : lorsqu'un fichier surveillé change, la même valeur filtre les groupes de hooks qui s'exécutent selon les [règles standard des matchers](#matcher-patterns), appliquées au nom de base du fichier modifié.3137* **Filtrer les hooks qui s'exécutent** : lorsqu'un fichier surveillé change, la même valeur filtre les groupes de hooks qui s'exécutent, en appliquant les [règles de matcher](#matcher-patterns) standard au nom de base du fichier modifié.

3136 3138 

3137Cet exemple normalise les fins de ligne de `data.csv` après toute modification, y compris lorsqu'une commande `Bash` ou un script externe réécrit le fichier :3139Cet exemple normalise les fins de ligne de `data.csv` après toute modification, y compris lorsqu'une commande `Bash` ou un script externe réécrit le fichier :

3138 3140 


3154}3156}

3155```3157```

3156 3158 

3157Le hook lit le chemin absolu du fichier modifié dans le champ `file_path` de l'[entrée JSON](#filechanged-input) sur stdin. Sa garde `grep` teste la même chose que ce que `perl` supprime, un CR en fin de ligne, de sorte que l'exécution qui suit une normalisation se termine sans toucher au fichier. Une garde plus permissive boucle indéfiniment, car `perl -i` réécrit le fichier même lorsqu'il ne substitue rien et Claude Code réexécute le hook après chaque réécriture. Enregistrez ce script sous `/path/to/normalize-line-endings.sh` et rendez-le exécutable :3159Le hook lit le chemin absolu du fichier modifié dans le champ `file_path` de l'[entrée JSON](#filechanged-input) sur stdin. Sa garde `grep` teste la même chose que ce que `perl` supprime, un CR en fin de ligne ; ainsi, l'exécution qui suit une normalisation se termine sans toucher au fichier. Une garde plus permissive boucle indéfiniment, car `perl -i` réécrit le fichier même lorsqu'il ne substitue rien, et Claude Code exécute à nouveau le hook après chaque réécriture. Enregistrez ce script sous `/path/to/normalize-line-endings.sh` et rendez-le exécutable :

3158 3160 

3159```bash theme={null}3161```bash theme={null}

3160#!/bin/bash3162#!/bin/bash


3166 3168 

3167Pour vérifier que le hook fonctionne, demandez à Claude d'ajouter une ligne CRLF à `data.csv` avec une commande `Bash`. Claude Code exécute le hook et le fichier se retrouve avec des fins de ligne LF.3169Pour vérifier que le hook fonctionne, demandez à Claude d'ajouter une ligne CRLF à `data.csv` avec une commande `Bash`. Claude Code exécute le hook et le fichier se retrouve avec des fins de ligne LF.

3168 3170 

3169Pour surveiller des fichiers que vous ne pouvez pas nommer à l'avance, renvoyez [`watchPaths`](#filechanged-output) depuis un hook afin de mettre à jour dynamiquement la liste de surveillance. Claude Code ne démarre l'observateur que lorsqu'un élément nomme un fichier à surveiller ; amorcez donc la liste avec un groupe FileChanged dont le matcher nomme au moins un fichier, ou avec un hook [SessionStart](#sessionstart-decision-control) ou [CwdChanged](#cwdchanged) qui renvoie `watchPaths`. Le matcher filtre toujours les groupes de hooks qui s'exécutent lorsqu'un fichier surveillé change ; donnez donc au groupe qui gère les chemins dynamiques un matcher omis, qui correspond à tous les fichiers surveillés et n'ajoute rien à la liste de surveillance. Un matcher `"*"` correspond également à tous les fichiers, mais Claude Code l'enregistre dans la liste de surveillance comme n'importe quelle autre valeur, en tant que fichier littéral nommé `*`.3171Pour surveiller des fichiers que vous ne pouvez pas nommer à l'avance, renvoyez [`watchPaths`](#filechanged-output) depuis un hook afin de mettre à jour dynamiquement la liste de surveillance. Claude Code ne démarre l'observateur que lorsque quelque chose nomme un fichier à surveiller ; amorcez donc la liste avec un groupe FileChanged dont le matcher nomme au moins un fichier, ou avec un hook [SessionStart](#sessionstart-decision-control) ou [CwdChanged](#cwdchanged) qui renvoie `watchPaths`. Le matcher filtre toujours les groupes de hooks qui s'exécutent lorsqu'un fichier surveillé change ; donnez donc au groupe qui gère les chemins dynamiques un matcher omis, qui correspond à tous les fichiers surveillés et n'ajoute rien à la liste de surveillance. Un matcher `"*"` correspond également à tous les fichiers, mais Claude Code l'enregistre dans la liste de surveillance comme n'importe quelle autre valeur, sous la forme d'un fichier littéral nommé `*`.

3170 3172 

3171Les hooks FileChanged ont accès à [`CLAUDE_ENV_FILE`](#persist-environment-variables). Les variables écrites dans ce fichier persistent dans les commandes Bash suivantes jusqu'au prochain événement [CwdChanged](#cwdchanged), moment où Claude Code les efface.3173Les hooks FileChanged ont accès à [`CLAUDE_ENV_FILE`](#persist-environment-variables). Les variables écrites dans ce fichier persistent dans les commandes Bash suivantes jusqu'au prochain événement [CwdChanged](#cwdchanged), lorsque Claude Code les efface.

3172 3174 

3173<h4 id="filechanged-input">3175<h4 id="filechanged-input">

3174 Entrée FileChanged3176 Entrée FileChanged


3179| Champ | Description |3181| Champ | Description |

3180| :- | :- |3182| :- | :- |

3181| `file_path` | Chemin absolu du fichier qui a changé |3183| `file_path` | Chemin absolu du fichier qui a changé |

3182| `event` | Ce qui s'est produit : `"change"` pour un fichier modifié, `"add"` pour un fichier créé ou `"unlink"` pour un fichier supprimé |3184| `event` | Ce qui s'est passé : `"change"` pour un fichier modifié, `"add"` pour un fichier créé, ou `"unlink"` pour un fichier supprimé |

3183 3185 

3184```json theme={null}3186```json theme={null}

3185{3187{


3200 3202 

3201| Champ | Description |3203| Champ | Description |

3202| :- | :- |3204| :- | :- |

3203| `watchPaths` | Tableau de chemins absolus. Remplace la liste de surveillance dynamique actuelle. Les chemins issus de votre configuration `matcher` sont toujours surveillés. Utilisez-le lorsque votre script de hook découvre des fichiers supplémentaires à surveiller en fonction du fichier modifié |3205| `watchPaths` | Tableau de chemins absolus. Remplace la liste de surveillance dynamique actuelle. Les chemins de votre configuration `matcher` sont toujours surveillés. Utilisez-le lorsque votre script de hook découvre des fichiers supplémentaires à surveiller en fonction du fichier modifié |

3204 3206 

3205Les hooks FileChanged n'ont pas de contrôle de décision. Ils ne peuvent pas empêcher la modification du fichier.3207Les hooks FileChanged n'ont pas de contrôle de décision. Ils ne peuvent pas empêcher la modification du fichier de se produire.

3206 3208 

3207Claude Code lit `watchPaths` et `systemMessage` dans leur sortie JSON et supprime `continue`. Dans les sessions interactives, il affiche le `systemMessage` sous forme de brève notification dans le terminal. Le message n'atteint pas le flux de messages du SDK.3209Claude Code lit `watchPaths` et `systemMessage` dans leur sortie JSON et supprime `continue`. Dans les sessions interactives, il affiche le `systemMessage` sous forme de brève notification dans le terminal. Le message n'atteint pas le flux de messages du SDK.

3208 3210 


3210 WorktreeCreate3212 WorktreeCreate

3211</h3>3213</h3>

3212 3214 

3213S'exécute lorsqu'un worktree est en cours de création, que ce soit depuis `claude --worktree`, depuis un [sous-agent utilisant `isolation: "worktree"`](/docs/fr/sub-agents#choose-the-subagent-scope), ou pour une [session en arrière-plan](/docs/fr/agent-view#how-file-edits-are-isolated) que Claude Code isole dans son propre worktree. Par défaut, Claude Code crée la copie de travail isolée avec `git worktree`. Configurer un hook WorktreeCreate remplace ce comportement git par défaut, ce qui vous permet d'utiliser un autre système de gestion de versions comme SVN, Perforce ou Mercurial.3215S'exécute lors de la création d'un worktree, que ce soit depuis `claude --worktree`, depuis un [sous-agent utilisant `isolation: "worktree"`](/docs/fr/sub-agents#choose-the-subagent-scope), ou pour une [session en arrière-plan](/docs/fr/agent-view#how-file-edits-are-isolated) que Claude Code isole dans son propre worktree. Par défaut, Claude Code crée la copie de travail isolée avec `git worktree`. Configurer un hook WorktreeCreate remplace ce comportement git par défaut, ce qui vous permet d'utiliser un autre système de gestion de versions comme SVN, Perforce ou Mercurial.

3214 3216 

3215Comme le hook remplace entièrement le comportement par défaut, [`.worktreeinclude`](/docs/fr/worktrees#copy-gitignored-files-into-worktrees) n'est pas traité. Si vous devez copier des fichiers de configuration locaux comme `.env` dans le nouveau worktree, faites-le dans votre script de hook.3217Comme le hook remplace entièrement le comportement par défaut, [`.worktreeinclude`](/docs/fr/worktrees#copy-gitignored-files-into-worktrees) n'est pas traité. Si vous devez copier des fichiers de configuration locaux comme `.env` dans le nouveau worktree, faites-le dans votre script de hook.

3216 3218 

3217Le hook doit renvoyer le chemin du répertoire du worktree créé. Claude Code utilise ce chemin comme répertoire de travail pour la session isolée. Voir [Sortie WorktreeCreate](#worktreecreate-output) pour savoir comment chaque type de hook renvoie le chemin.3219Le hook doit renvoyer le chemin du répertoire du worktree créé. Claude Code utilise ce chemin comme répertoire de travail pour la session isolée. Consultez [Sortie de WorktreeCreate](#worktreecreate-output) pour savoir comment chaque type de hook renvoie le chemin.

3218 3220 

3219Claude Code tient compte de la réussite du hook et du chemin renvoyé, et supprime `systemMessage` et `continue`.3221Claude Code tient compte de la réussite du hook et du chemin renvoyé, et ignore `systemMessage` et `continue`.

3220 3222 

3221Cet exemple crée une copie de travail SVN et affiche le chemin que Claude Code doit utiliser. Remplacez l'URL du dépôt par la vôtre :3223Cet exemple crée une copie de travail SVN et affiche le chemin que Claude Code doit utiliser. Remplacez l'URL du dépôt par la vôtre :

3222 3224 


3237}3239}

3238```3240```

3239 3241 

3240Le hook lit le `name` du worktree dans l'entrée JSON sur stdin, extrait une nouvelle copie dans un nouveau répertoire et affiche le chemin du répertoire. L'`echo` de la dernière ligne est ce que Claude Code lit comme chemin du worktree. Redirigez toute autre sortie vers stderr afin qu'elle n'interfère pas avec le chemin.3242Le hook lit le `name` du worktree depuis l'entrée JSON sur stdin, extrait une nouvelle copie dans un nouveau répertoire et affiche le chemin du répertoire. C'est le `echo` de la dernière ligne que Claude Code lit comme chemin du worktree. Redirigez toute autre sortie vers stderr afin qu'elle n'interfère pas avec le chemin.

3241 3243 

3242<h4 id="worktreecreate-input">3244<h4 id="worktreecreate-input">

3243 Entrée WorktreeCreate3245 Entrée de WorktreeCreate

3244</h4>3246</h4>

3245 3247 

3246En plus des [champs d'entrée communs](#common-input-fields), les hooks WorktreeCreate reçoivent le champ `name`. Il s'agit d'un identifiant de type slug pour le nouveau worktree, soit spécifié par l'utilisateur, soit généré automatiquement, par exemple `bold-oak-a3f2`.3248En plus des [champs d'entrée communs](#common-input-fields), les hooks WorktreeCreate reçoivent le champ `name`. Il s'agit d'un identifiant de type slug pour le nouveau worktree, spécifié par l'utilisateur ou généré automatiquement, par exemple `bold-oak-a3f2`.

3247 3249 

3248```json theme={null}3250```json theme={null}

3249{3251{


3259 Sortie de WorktreeCreate3261 Sortie de WorktreeCreate

3260</h4>3262</h4>

3261 3263 

3262Les hooks WorktreeCreate n'utilisent pas le modèle de décision standard autoriser/bloquer. C'est plutôt la réussite ou l'échec du hook qui détermine le résultat. Le hook doit renvoyer le chemin vers le répertoire du worktree créé :3264Les hooks WorktreeCreate n'utilisent pas le modèle de décision standard autoriser/bloquer. C'est la réussite ou l'échec du hook qui détermine le résultat. Le hook doit renvoyer le chemin du répertoire du worktree créé :

3263 3265 

3264* **Hooks de commande** (`type: "command"`) : affichez le chemin sur la dernière ligne non vide de stdout. Claude Code supprime les codes d'échappement ANSI avant de lire cette ligne, de sorte que les bannières de démarrage du shell affichées avant votre `echo` sont ignorées. Redirigez toute autre sortie du hook vers stderr.3266* **Hooks de commande** (`type: "command"`) : affichez le chemin sur la dernière ligne non vide de stdout. Claude Code supprime les séquences d'échappement ANSI avant de lire cette ligne, de sorte que les bannières de démarrage du shell affichées avant votre `echo` sont ignorées. Redirigez toute autre sortie du hook vers stderr.

3265* **Hooks HTTP** (`type: "http"`) : renvoyez `{ "hookSpecificOutput": { "hookEventName": "WorktreeCreate", "worktreePath": "/absolute/path" } }` dans le corps de la réponse.3267* **Hooks HTTP** (`type: "http"`) : renvoyez `{ "hookSpecificOutput": { "hookEventName": "WorktreeCreate", "worktreePath": "/absolute/path" } }` dans le corps de la réponse.

3266 3268 

3267Si le hook échoue ou ne produit aucun chemin, la création du worktree échoue avec une erreur.3269Si le hook échoue ou ne produit aucun chemin, la création du worktree échoue avec une erreur.

3268 3270 

3269Claude Code résout un chemin relatif par rapport au répertoire dans lequel le hook s'est exécuté, en réduisant les éventuels segments `.` ou `..` qu'il contient. Si le chemin obtenu n'est pas un répertoire dans lequel Claude Code peut entrer, la session affiche une erreur indiquant le chemin et se termine avec le code 1.3271Claude Code résout un chemin relatif par rapport au répertoire dans lequel le hook s'est exécuté, en réduisant tout segment `.` ou `..` qu'il contient. Si le chemin obtenu n'est pas un répertoire dans lequel Claude Code peut entrer, la session affiche une erreur indiquant le chemin et se termine avec le code 1.

3270 3272 

3271Claude Code refuse un chemin absolu contenant des segments `.` ou `..`, ainsi que tout chemin passant par un lien symbolique situé sous la racine du dépôt, car un lien symbolique commité dans le dépôt pourrait rediriger le worktree en dehors de celui-ci. L'erreur indique le composant rejeté. Renvoyez un chemin normalisé qui ne passe pas par un lien symbolique à l'intérieur du dépôt. Avant la v2.1.216, la création du worktree suivait le chemin du hook sans ce contrôle.3273Claude Code refuse un chemin absolu contenant des segments `.` ou `..`, ainsi que tout chemin passant par un lien symbolique situé sous la racine du dépôt, car un lien symbolique commité dans le dépôt pourrait rediriger le worktree en dehors de celui-ci. L'erreur indique le composant rejeté. Renvoyez un chemin normalisé qui ne passe pas par un lien symbolique à l'intérieur du dépôt. Avant la v2.1.216, la création du worktree suivait le chemin du hook sans cette vérification.

3272 3274 

3273<h3 id="worktreeremove">3275<h3 id="worktreeremove">

3274 WorktreeRemove3276 WorktreeRemove


3277S'exécute lorsque Claude Code nettoie un worktree créé par votre hook [`WorktreeCreate`](#worktreecreate). L'événement se déclenche lorsque :3279S'exécute lorsque Claude Code nettoie un worktree créé par votre hook [`WorktreeCreate`](#worktreecreate). L'événement se déclenche lorsque :

3278 3280 

3279* Vous quittez une [session de worktree](/docs/fr/worktrees#start-claude-in-a-worktree) interactive et choisissez de supprimer le worktree lorsque Claude Code vous le demande3281* Vous quittez une [session de worktree](/docs/fr/worktrees#start-claude-in-a-worktree) interactive et choisissez de supprimer le worktree lorsque Claude Code vous le demande

3280* Vous quittez une session de worktree interactive que vous n'avez pas [nommée](/docs/fr/sessions#name-your-sessions), Claude Code ne trouve aucun fichier modifié ou non suivi, et il supprime le worktree sans vous le demander3282* Vous quittez une session de worktree interactive que vous n'avez pas [nommée](/docs/fr/sessions#name-your-sessions), Claude Code ne trouve aucun fichier modifié ou non suivi, et supprime le worktree sans vous le demander

3281* Vous supprimez une [session en arrière-plan](/docs/fr/agent-view#what-deleting-a-session-removes) qui s'exécute dans le worktree3283* Vous supprimez une [session en arrière-plan](/docs/fr/agent-view#what-deleting-a-session-removes) qui s'exécute dans le worktree

3282 3284 

3283Claude Code utilise git pour rechercher les fichiers modifiés ou non suivis ; il n'en trouve donc aucun dans un worktree qui n'est pas un checkout git ni situé à l'intérieur de l'un d'eux, même lorsque le répertoire contient du travail non commité. Vérifiez la présence de ce travail dans votre hook WorktreeRemove avant qu'il ne supprime quoi que ce soit.3285Claude Code utilise git pour rechercher les fichiers modifiés ou non suivis ; il n'en trouve donc aucun dans un worktree qui n'est pas un checkout git ni situé dans l'un d'eux, même lorsque le répertoire contient du travail non commité. Vérifiez la présence de ce travail dans votre hook WorktreeRemove avant qu'il ne supprime quoi que ce soit.

3284 3286 

3285Pour les worktrees basés sur git, Claude Code gère automatiquement le nettoyage avec `git worktree remove`. Si vous avez configuré un hook WorktreeCreate, associez-le à un hook WorktreeRemove pour contrôler le nettoyage des worktrees qu'il crée :3287Pour les worktrees basés sur git, Claude Code gère automatiquement le nettoyage avec `git worktree remove`. Si vous avez configuré un hook WorktreeCreate, associez-le à un hook WorktreeRemove pour contrôler le nettoyage des worktrees qu'il crée :

3286 3288 

3287* **Aucun hook WorktreeRemove** : lorsque Claude Code supprime le worktree au moment où vous quittez une session de worktree, il se rabat sur `git worktree remove --force` sur le chemin renvoyé par votre hook WorktreeCreate, de sorte qu'un worktree reconnu par git est supprimé. Un worktree que git ne reconnaît pas, par exemple un worktree créé par votre hook avec un système de gestion de versions autre que git, reste sur le disque. Pour savoir ce que fait la suppression d'une [session en arrière-plan](/docs/fr/agent-view#what-deleting-a-session-removes) avec un worktree créé par un hook, consultez les règles de suppression de la vue agent.3289* **Aucun hook WorktreeRemove** : lorsque Claude Code supprime le worktree au moment où vous quittez une session de worktree, il se rabat sur `git worktree remove --force` sur le chemin renvoyé par votre hook WorktreeCreate, de sorte qu'un worktree reconnu par git est supprimé. Un worktree que git ne reconnaît pas, par exemple un worktree créé par votre hook avec un système de gestion de versions autre que git, reste sur le disque. Pour savoir ce que fait la suppression d'une [session en arrière-plan](/docs/fr/agent-view#what-deleting-a-session-removes) avec un worktree créé par un hook, consultez les règles de suppression de la vue des agents.

3288* **Le hook se termine avec le code 0** : le worktree est considéré comme supprimé. Claude Code ne lit rien d'autre du hook ; assurez-vous donc que votre hook a bien supprimé le répertoire.3290* **Le hook se termine avec 0** : le worktree est considéré comme supprimé. Claude Code ne lit rien d'autre du hook, assurez-vous donc que votre hook a bien supprimé le répertoire.

3289* **Le hook se termine avec un code non nul** : la suppression échoue si le répertoire situé à `worktree_path` existe toujours ensuite, et le worktree reste sur le disque sans solution de repli git. Un hook qui a supprimé le répertoire avant de se terminer avec un code non nul est considéré comme ayant supprimé le worktree. Pour savoir comment l'échec est signalé, consultez [Entrée de WorktreeRemove](#worktreeremove-input).3291* **Le hook se termine avec un code non nul** : la suppression échoue si le répertoire situé à `worktree_path` existe toujours ensuite, et le worktree reste sur le disque sans solution de repli git. Un hook qui a supprimé le répertoire avant de se terminer avec un code non nul est considéré comme ayant supprimé le worktree. Pour savoir comment l'échec est signalé, consultez [Entrée de WorktreeRemove](#worktreeremove-input).

3290 3292 

3291Claude Code ne supprime jamais une branche appartenant à un worktree créé par un hook, car il ne connaît que le chemin renvoyé par votre hook WorktreeCreate. Si votre hook WorktreeCreate crée une branche, supprimez-la dans votre hook WorktreeRemove.3293Claude Code ne supprime jamais une branche appartenant à un worktree créé par un hook, car il ne connaît que le chemin renvoyé par votre hook WorktreeCreate. Si votre hook WorktreeCreate crée une branche, supprimez-la dans votre hook WorktreeRemove.

3292 3294 

3293Claude Code ignore les [champs de sortie JSON](#json-output) d'un hook WorktreeRemove, tels que `systemMessage` et `continue`.3295Claude Code ignore les [champs de sortie JSON](#json-output) d'un hook WorktreeRemove, tels que `systemMessage` et `continue`.

3294 3296 

3295Lors de la suppression d'une session en arrière-plan, Claude Code vérifie le chemin du worktree enregistré avant d'exécuter le hook et refuse un chemin qui est un lien symbolique ou qui passe par un lien symbolique sous la racine du dépôt. Le hook s'exécute pour un worktree contenant encore des fichiers uniquement lorsque vous confirmez la suppression dans la [vue agent](/docs/fr/agent-view#what-deleting-a-session-removes) ; pour un tel worktree, [`claude rm`](/docs/fr/agent-view#manage-sessions-from-the-shell) conserve plutôt la session et le worktree. Avant la v2.1.216, le hook s'exécutait sur le chemin enregistré sans ces vérifications.3297Pour la suppression d'une session en arrière-plan, Claude Code vérifie le chemin de worktree enregistré avant d'exécuter le hook et refuse un chemin qui est un lien symbolique ou qui passe par un lien symbolique sous la racine du dépôt. Le hook s'exécute pour un worktree qui contient encore des fichiers uniquement lorsque vous confirmez la suppression dans la [vue des agents](/docs/fr/agent-view#what-deleting-a-session-removes) ; pour un tel worktree, [`claude rm`](/docs/fr/agent-view#manage-sessions-from-the-shell) conserve au contraire la session et le worktree. Avant la v2.1.216, le hook s'exécutait sur le chemin enregistré sans ces vérifications.

3296 3298 

3297Claude Code transmet le chemin renvoyé par WorktreeCreate sous la forme `worktree_path` dans l'entrée du hook. Cet exemple lit ce chemin et supprime le répertoire :3299Claude Code transmet le chemin renvoyé par WorktreeCreate en tant que `worktree_path` dans l'entrée du hook. Cet exemple lit ce chemin et supprime le répertoire :

3298 3300 

3299```json theme={null}3301```json theme={null}

3300{3302{


3317 Entrée de WorktreeRemove3319 Entrée de WorktreeRemove

3318</h4>3320</h4>

3319 3321 

3320En plus des [champs d'entrée communs](#common-input-fields), les hooks WorktreeRemove reçoivent le champ `worktree_path`, qui est le chemin absolu vers le worktree en cours de suppression.3322En plus des [champs d'entrée communs](#common-input-fields), les hooks WorktreeRemove reçoivent le champ `worktree_path`, qui est le chemin absolu du worktree en cours de suppression.

3321 3323 

3322```json theme={null}3324```json theme={null}

3323{3325{


3332Le code de sortie d'un hook WorktreeRemove détermine le résultat. Lorsqu'un hook se termine avec un code non nul et que le répertoire situé à `worktree_path` existe toujours ensuite, la suppression échoue :3334Le code de sortie d'un hook WorktreeRemove détermine le résultat. Lorsqu'un hook se termine avec un code non nul et que le répertoire situé à `worktree_path` existe toujours ensuite, la suppression échoue :

3333 3335 

3334* Le worktree reste sur le disque, et la commande et le stderr du hook sont envoyés au [log de débogage](#debug-hooks).3336* Le worktree reste sur le disque, et la commande et le stderr du hook sont envoyés au [log de débogage](#debug-hooks).

3335* Si vous supprimiez une session en arrière-plan, la session est également conservée. Le message de refus dans la [vue agent](/docs/fr/agent-view#what-deleting-a-session-removes) indique comment le hook s'est terminé, par exemple `exited 1`, cite le début de son stderr et précise si une nouvelle suppression de la session supprime malgré tout le répertoire.3337* Si vous supprimiez une session en arrière-plan, la session est également conservée. Le message de refus dans la [vue des agents](/docs/fr/agent-view#what-deleting-a-session-removes) indique comment le hook s'est terminé, par exemple `exited 1`, cite le début de son stderr et précise si une nouvelle suppression de la session supprime quand même le répertoire.

3336 3338 

3337<h3 id="precompact">3339<h3 id="precompact">

3338 PreCompact3340 PreCompact


3349 3351 

3350Terminez avec le code 2 pour bloquer la compaction. Pour un `/compact` manuel, le message stderr est affiché à l'utilisateur. Vous pouvez également bloquer en renvoyant du JSON avec `"decision": "block"`.3352Terminez avec le code 2 pour bloquer la compaction. Pour un `/compact` manuel, le message stderr est affiché à l'utilisateur. Vous pouvez également bloquer en renvoyant du JSON avec `"decision": "block"`.

3351 3353 

3352Le blocage de la compaction automatique a des effets différents selon le moment où elle se déclenche. Si la compaction a été déclenchée de manière proactive avant la limite de contexte, Claude Code l'ignore et la conversation se poursuit sans être compactée. Si la compaction a été déclenchée pour récupérer d'une erreur de limite de contexte déjà renvoyée par l'API, l'erreur sous-jacente remonte et la requête en cours échoue.3354Bloquer la compaction automatique a des effets différents selon le moment où elle se déclenche. Si la compaction a été déclenchée de manière proactive avant la limite de contexte, Claude Code l'ignore et la conversation continue sans être compactée. Si la compaction a été déclenchée pour récupérer d'une erreur de limite de contexte déjà renvoyée par l'API, l'erreur sous-jacente remonte et la requête en cours échoue.

3353 3355 

3354Claude Code ignore les champs `systemMessage` et `continue` d'un hook PreCompact.3356Claude Code ignore les champs `systemMessage` et `continue` d'un hook PreCompact.

3355 3357 


3357 Entrée de PreCompact3359 Entrée de PreCompact

3358</h4>3360</h4>

3359 3361 

3360En plus des [champs d'entrée communs](#common-input-fields), les hooks PreCompact reçoivent `trigger` et `custom_instructions`. Pour `manual`, `custom_instructions` contient ce que l'utilisateur transmet à `/compact` et vaut `null` lorsqu'il ne transmet rien. Pour `auto`, `custom_instructions` vaut `null`.3362En plus des [champs d'entrée communs](#common-input-fields), les hooks PreCompact reçoivent `trigger` et `custom_instructions`. Pour `manual`, `custom_instructions` contient ce que l'utilisateur transmet à `/compact` et vaut `null` s'il ne transmet rien. Pour `auto`, `custom_instructions` vaut `null`.

3361 3363 

3362```json theme={null}3364```json theme={null}

3363{3365{


3376 3378 

3377S'exécute après que Claude Code a terminé une opération de compaction. Utilisez cet événement pour réagir au nouvel état compacté, par exemple pour journaliser le résumé généré ou mettre à jour un état externe. Claude Code ignore les champs `systemMessage` et `continue` d'un hook PostCompact.3379S'exécute après que Claude Code a terminé une opération de compaction. Utilisez cet événement pour réagir au nouvel état compacté, par exemple pour journaliser le résumé généré ou mettre à jour un état externe. Claude Code ignore les champs `systemMessage` et `continue` d'un hook PostCompact.

3378 3380 

3379Les mêmes valeurs de matcher s'appliquent que pour `PreCompact` :3381Les mêmes valeurs de matcher que pour `PreCompact` s'appliquent :

3380 3382 

3381| Matcher | Quand il se déclenche |3383| Matcher | Quand il se déclenche |

3382| :- | :- |3384| :- | :- |


3400}3402}

3401```3403```

3402 3404 

3403Les hooks PostCompact n'ont aucun contrôle de décision. Ils ne peuvent pas influer sur le résultat de la compaction, mais peuvent effectuer des tâches de suivi.3405Les hooks PostCompact n'ont pas de contrôle de décision. Ils ne peuvent pas influer sur le résultat de la compaction, mais peuvent effectuer des tâches de suivi.

3404 3406 

3405<h3 id="premodelswitch">3407<h3 id="premodelswitch">

3406 PreModelSwitch3408 PreModelSwitch

3407</h3>3409</h3>

3408 3410 

3409S'exécute avant que Claude Code n'applique un changement de modèle demandé par vous ou par un client. Utilisez-le pour bloquer un changement, exiger une confirmation ou afficher ce que le changement coûtera avant qu'il n'ait lieu.3411S'exécute avant que Claude Code n'applique un changement de modèle que vous ou un client avez demandé. Utilisez-le pour bloquer un changement, exiger une confirmation ou indiquer le coût du changement avant qu'il ait lieu.

3410 3412 

3411PreModelSwitch nécessite Claude Code v2.1.251 ou une version ultérieure. Claude Code l'exécute pour ces demandes :3413PreModelSwitch nécessite Claude Code v2.1.251 ou ultérieur. Claude Code l'exécute pour les demandes suivantes :

3412 3414 

3413* `/model <name>` et le sélecteur `/model`3415* `/model <name>` et le sélecteur `/model`

3414* Le sélecteur de modèle `Option+P` ou `Alt+P`3416* Le sélecteur de modèle `Option+P` ou `Alt+P`

3415* Le paramètre Model dans `/config`3417* Le paramètre Model dans `/config`

3416* L'activation du [mode rapide](/docs/fr/fast-mode) lorsque celle-ci change le modèle de la session3418* L'activation du [mode rapide](/docs/fr/fast-mode) lorsque cela change le modèle de la session

3417* Une requête `set_model`, ou un changement de modèle dans une requête `apply_flag_settings`, provenant d'un hôte [Agent SDK](/docs/fr/agent-sdk/typescript#query-object) ou de [Remote Control](/docs/fr/remote-control)3419* Une requête `set_model`, ou un changement de modèle dans une requête `apply_flag_settings`, provenant d'un hôte [Agent SDK](/docs/fr/agent-sdk/typescript#query-object) ou de [Remote Control](/docs/fr/remote-control)

3418 3420 

3419Claude Code n'exécute pas les hooks PreModelSwitch pour les changements qu'il effectue de lui-même, comme un [basculement automatique vers un modèle de secours](/docs/fr/model-config#automatic-model-fallback) ou la restauration du modèle lorsque vous reprenez une session. Ces changements atteignent uniquement [PostModelSwitch](#postmodelswitch).3421Claude Code n'exécute pas les hooks PreModelSwitch pour les changements qu'il effectue de lui-même, comme un [basculement automatique vers un modèle de secours](/docs/fr/model-config#automatic-model-fallback) ou la restauration du modèle lorsque vous reprenez une session. Ces changements n'atteignent que [PostModelSwitch](#postmodelswitch).

3420 3422 

3421Claude Code compare le matcher au nom canonique du modèle vers lequel la session bascule, en ignorant tout suffixe `[1m]`. Un alias tel que `opus`, un identifiant de modèle daté et un identifiant propre à un fournisseur, comme un identifiant de modèle Amazon Bedrock, correspondent tous au même nom canonique vers lequel ils se résolvent ; ainsi, `claude-opus-5` couvre toutes les écritures d'Opus 5.3423Claude Code compare le matcher au nom canonique du modèle vers lequel la session bascule, en ignorant tout suffixe `[1m]`. Un alias tel que `opus`, un ID de modèle daté et un ID propre à un fournisseur, comme un ID de modèle Amazon Bedrock, correspondent tous au nom canonique unique vers lequel ils se résolvent, de sorte que `claude-opus-5` couvre toutes les graphies d'Opus 5.

3422 3424 

3423Lorsque Claude Code ne peut pas déterminer un nom canonique pour la cible, par exemple un identifiant de modèle personnalisé que seule votre [passerelle LLM](/docs/fr/llm-gateway) connaît, il exécute tous les hooks PreModelSwitch quel que soit le matcher. Un hook qui bloque doit donc vérifier `to_model` dans son entrée plutôt que de se fier uniquement au matcher.3425Lorsque Claude Code ne peut pas déterminer un nom canonique pour la cible, par exemple un ID de modèle personnalisé que seule votre [passerelle LLM](/docs/fr/llm-gateway) connaît, il exécute chaque hook PreModelSwitch quel que soit le matcher. Un hook qui bloque doit donc vérifier `to_model` dans son entrée plutôt que de se fier uniquement au matcher.

3424 3426 

3425Écrivez le matcher sous la forme d'un nom exact, d'une liste séparée par des `|` telle que `claude-opus-4-6|claude-opus-5`, ou d'une expression régulière telle que `.*opus.*`. Cet exemple utilise un matcher à nom exact et vérifie également `to_model` dans l'entrée du hook ; il refuse ainsi un changement vers Opus 4.6 en se terminant avec le code 2 et laisse passer toute autre cible :3427Écrivez le matcher sous la forme d'un nom exact, d'une liste séparée par `|` telle que `claude-opus-4-6|claude-opus-5`, ou d'une expression régulière telle que `.*opus.*`. Cet exemple utilise un matcher à nom exact et vérifie également `to_model` dans l'entrée du hook ; il refuse ainsi un passage à Opus 4.6 en se terminant avec le code 2 et laisse passer toute autre cible :

3426 3428 

3427<Tabs>3429<Tabs>

3428 <Tab title="macOS/Linux">3430 <Tab title="macOS/Linux">


3494 Entrée de PreModelSwitch3496 Entrée de PreModelSwitch

3495</h4>3497</h4>

3496 3498 

3497En plus des [champs d'entrée communs](#common-input-fields), les hooks PreModelSwitch reçoivent les champs de ce tableau. Les cinq derniers décrivent ce que coûte le renvoi de la conversation au nouveau modèle, afin qu'un hook puisse afficher ce montant avant que le changement n'ait lieu.3499En plus des [champs d'entrée communs](#common-input-fields), les hooks PreModelSwitch reçoivent les champs de ce tableau. Les cinq derniers décrivent le coût du renvoi de la conversation au nouveau modèle, afin qu'un hook puisse afficher ce montant avant le changement.

3498 3500 

3499| Champ | Type | Description |3501| Champ | Type | Description |

3500| :- | :- | :- |3502| :- | :- | :- |

3501| `from_model` | string | Identifiant du modèle que le changement quitte |3503| `from_model` | string | ID du modèle de départ du changement |

3502| `to_model` | string | Identifiant du modèle vers lequel le changement s'effectue. Le matcher est comparé au nom canonique de ce modèle |3504| `to_model` | string | ID du modèle d'arrivée du changement. Le matcher est comparé au nom canonique de ce modèle |

3503| `requested_model` | string ou `null` | Le modèle indiqué dans la demande : un alias tel que `opus`, un identifiant de modèle complet, ou `null` lorsque la demande portait sur le modèle par défaut |3505| `requested_model` | string ou `null` | Le modèle indiqué par la requête : un alias tel que `opus`, un ID de modèle complet, ou `null` lorsque la requête portait sur le modèle par défaut |

3504| `source` | string | Origine de la demande : `"command"` pour `/model <name>`, le paramètre Model dans `/config` ou l'activation du mode rapide ; `"picker"` pour un sélecteur de modèle ; `"sdk"` pour une requête `set_model`, ou un changement de modèle dans une requête `apply_flag_settings`, provenant d'un hôte Agent SDK ou de Remote Control |3506| `source` | string | Origine de la demande : `"command"` pour `/model <name>`, le paramètre Model dans `/config` ou l'activation du mode rapide ; `"picker"` pour un sélecteur de modèle ; `"sdk"` pour une requête `set_model`, ou un changement de modèle dans une requête `apply_flag_settings`, provenant d'un hôte Agent SDK ou de Remote Control |

3505| `context_tokens` | number | Tokens que la prochaine requête renvoie comme prompt : la somme des tokens d'entrée, de lecture du cache, de création du cache et de sortie de la dernière réponse de la conversation principale. `0` avant la première réponse |3507| `context_tokens` | number | Tokens que la prochaine requête renvoie comme prompt : la somme des tokens d'entrée, de lecture du cache, de création du cache et de sortie de la dernière réponse de la conversation principale. `0` avant la première réponse |

3506| `prompt_cache_warm` | boolean | Indique si le cache de prompt du modèle actuel est probablement encore chaud, ce qui signifie que le changement le perd |3508| `prompt_cache_warm` | boolean | Indique si le cache de prompt du modèle actuel est probablement encore chaud, ce qui signifie que le changement le fait perdre |

3507| `cache_ttl` | string | [Durée de vie du cache de prompt](/docs/fr/prompt-caching#cache-lifetime) que Claude Code demande pour cette session : `"5m"` ou `"1h"` |3509| `cache_ttl` | string | [Durée de vie du cache de prompt](/docs/fr/prompt-caching#cache-lifetime) que Claude Code demande pour cette session : `"5m"` ou `"1h"` |

3508| `estimated_cache_write_usd` | number | Coût estimé en dollars américains de l'écriture de `context_tokens` dans le cache de prompt sur `to_model` au tarif `cache_ttl`, hors réponse suivante. Le serveur n'a pas forcément besoin de remettre en cache tout le contexte ; considérez donc cette valeur comme une estimation |3510| `estimated_cache_write_usd` | number | Coût estimé en dollars américains de l'écriture de `context_tokens` dans le cache de prompt sur `to_model` au tarif `cache_ttl`, hors réponse suivante. Le serveur n'a pas forcément besoin de remettre en cache l'intégralité du contexte, considérez donc ce montant comme une estimation |

3509| `pricing` | string | Façon dont Claude Code a calculé le prix de `estimated_cache_write_usd` : `"configured"` aux tarifs propres à votre organisation lorsqu'elle les a configurés, `"catalog"` au prix catalogue, ou `"default"` lorsque `to_model` n'a pas de prix connu et que Claude Code a supposé un tarif par défaut |3511| `pricing` | string | Comment Claude Code a calculé `estimated_cache_write_usd` : `"configured"` aux tarifs propres à votre organisation lorsqu'elle les a configurés, `"catalog"` au prix catalogue, ou `"default"` lorsque `to_model` n'a pas de prix connu et que Claude Code a supposé un tarif par défaut |

3510 3512 

3511Cet exemple montre l'entrée pour `/model opus` dans une session utilisant Sonnet 5 :3513Cet exemple montre l'entrée pour `/model opus` dans une session utilisant Sonnet 5 :

3512 3514 


3557 3559 

3558Lorsque plusieurs hooks PreModelSwitch renvoient des décisions différentes, l'ordre de priorité est `deny` > `ask` > `allow`.3560Lorsque plusieurs hooks PreModelSwitch renvoient des décisions différentes, l'ordre de priorité est `deny` > `ask` > `allow`.

3559 3561 

3560Claude 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 le code 0.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.

3561 3563 

3562Un hook PreModelSwitch qui ne répond pas avant l'expiration de son délai bloque le changement. Pour [PreToolUse](#timeouts), à l'inverse, un hook de commande ayant expiré laisse l'appel d'outil se poursuivre. Le délai d'expiration par défaut pour cet événement est de 30 secondes. `PreModelSwitch` exécute uniquement les hooks `command`, `http` et `mcp_tool` ; les valeurs par défaut de `prompt` et `agent` ne s'appliquent donc pas.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.

3563 3565 

3564Un 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).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).

3565 3567 


3569 3571 

3570S'exécute après le changement du modèle de la session. Utilisez-le pour donner à Claude des consignes propres à un modèle sans modifier chaque CLAUDE.md, par exemple une instruction à l'échelle de l'organisation qui s'applique à certains modèles.3572S'exécute après le changement du modèle de la session. Utilisez-le pour donner à Claude des consignes propres à un modèle sans modifier chaque CLAUDE.md, par exemple une instruction à l'échelle de l'organisation qui s'applique à certains modèles.

3571 3573 

3572PostModelSwitch nécessite Claude Code v2.1.251 ou une version ultérieure. Il ne peut pas bloquer, car le modèle a déjà changé. Claude Code exécute les hooks PostModelSwitch après l'un de ces changements :3574PostModelSwitch nécessite Claude Code v2.1.251 ou ultérieur. Il ne peut pas bloquer, car le modèle a déjà changé. Claude Code exécute les hooks PostModelSwitch après l'un des changements suivants :

3573 3575 

3574* Un changement demandé par vous ou par un client3576* Un changement que vous ou un client avez demandé

3575* Un [basculement automatique vers un modèle de secours](/docs/fr/model-config#automatic-model-fallback), qui change le modèle de la session3577* Un [basculement automatique vers un modèle de secours](/docs/fr/model-config#automatic-model-fallback), qui change le modèle de la session

3576* Un paramètre tel que [`opusplan`](/docs/fr/model-config#opusplan-model-setting) entrant dans le mode plan ou en sortant3578* Un paramètre tel que [`opusplan`](/docs/fr/model-config#opusplan-model-setting) qui entre dans le mode plan ou en sort

3577* La restauration du modèle par Claude Code lorsque vous reprenez une session3579* La restauration du modèle par Claude Code lorsque vous reprenez une session

3578 3580 

3579Claude Code n'exécute pas les hooks PostModelSwitch lorsqu'un modèle d'une [chaîne de modèles de secours](/docs/fr/model-config#fallback-model-chains) traite un tour, car cette substitution dure un seul tour et ne modifie pas le modèle de la session.3581Claude Code n'exécute pas les hooks PostModelSwitch lorsqu'un modèle d'une [chaîne de modèles de secours](/docs/fr/model-config#fallback-model-chains) traite un tour, car cette substitution dure un seul tour et laisse le modèle de la session inchangé.

3580 3582 

3581Le matcher suit les mêmes règles que pour [PreModelSwitch](#premodelswitch) : Claude Code le compare au nom canonique du modèle vers lequel la session a basculé.3583Le matcher suit les mêmes règles que pour [PreModelSwitch](#premodelswitch) : Claude Code le compare au nom canonique du modèle vers lequel la session a basculé.

3582 3584 


3606 Entrée de PostModelSwitch3608 Entrée de PostModelSwitch

3607</h4>3609</h4>

3608 3610 

3609Les hooks PostModelSwitch reçoivent les mêmes champs que [PreModelSwitch](#premodelswitch-input), avec `hook_event_name` défini sur `"PostModelSwitch"` et deux valeurs supplémentaires pour `source` : `"auto"` pour un basculement automatique vers un modèle de secours ou tout autre changement effectué par Claude Code de lui-même, et `"resume"` pour le modèle restauré lorsque vous reprenez une session.3611Les hooks PostModelSwitch reçoivent les mêmes champs que [PreModelSwitch](#premodelswitch-input), avec `hook_event_name` défini sur `"PostModelSwitch"` et deux valeurs supplémentaires de `source` : `"auto"` pour un basculement automatique vers un modèle de secours ou tout autre changement effectué par Claude Code de lui-même, et `"resume"` pour le modèle restauré lorsque vous reprenez une session.

3610 3612 

3611`requested_model` vaut `null` lorsque `source` vaut `"auto"`. Lorsque `source` vaut `"resume"`, il s'agit du paramètre de modèle enregistré que Claude Code a restauré.3613`requested_model` vaut `null` lorsque `source` vaut `"auto"`. Lorsque `source` vaut `"resume"`, il s'agit du paramètre de modèle enregistré que Claude Code a restauré.

3612 3614 


3614 Contrôle de décision de PostModelSwitch3616 Contrôle de décision de PostModelSwitch

3615</h4>3617</h4>

3616 3618 

3617Claude Code récupère le [stdout en texte brut](#exit-code-0) de votre hook lors d'une sortie avec le code 0, ou `additionalContext` depuis la sortie JSON, et le transmet à Claude avec la prochaine requête après le changement. En plus des [champs de sortie JSON](#json-output) disponibles pour tous les hooks, vous pouvez renvoyer :3619Claude Code prend la [sortie stdout en texte brut](#exit-code-0) de votre hook en cas de sortie avec 0, ou `additionalContext` depuis la sortie JSON, et la transmet à Claude avec la prochaine requête après le changement. En plus des [champs de sortie JSON](#json-output) disponibles pour tous les hooks, vous pouvez renvoyer :

3618 3620 

3619| Champ | Description |3621| Champ | Description |

3620| :- | :- |3622| :- | :- |

3621| `additionalContext` | Chaîne ajoutée au contexte de Claude avec la prochaine requête. Consultez [Ajouter du contexte pour Claude](#add-context-for-claude) |3623| `additionalContext` | Chaîne ajoutée au contexte de Claude avec la prochaine requête. Consultez [Ajouter du contexte pour Claude](#add-context-for-claude) |

3622 3624 

3623Si le hook n'a pas terminé dans les cinq secondes suivant l'envoi de votre prochain prompt, Claude Code envoie cette requête sans la sortie et la joint plutôt à la requête suivante. Si le modèle change plusieurs fois avant la prochaine requête, Claude Code transmet uniquement la sortie correspondant au modèle cible du dernier changement.3625Si le hook n'a pas terminé dans les cinq secondes suivant l'envoi de votre prochain prompt, Claude Code envoie cette requête sans la sortie et l'attache à la requête suivante. Si le modèle change plusieurs fois avant la prochaine requête, Claude Code ne transmet que la sortie correspondant au modèle cible du dernier changement.

3624 3626 

3625<h3 id="sessionend">3627<h3 id="sessionend">

3626 SessionEnd3628 SessionEnd

3627</h3>3629</h3>

3628 3630 

3629S'exécute lorsqu'une session Claude Code se termine. Utile pour les tâches de nettoyage, la journalisation des3631S'exécute à la fin d'une session Claude Code. Utile pour les tâches de nettoyage, la journalisation des

3630statistiques de session ou l'enregistrement de l'état de la session. Prend en charge les matchers pour filtrer selon le motif de sortie.3632statistiques de session ou l'enregistrement de l'état de la session. Prend en charge les matchers pour filtrer par motif de sortie.

3631 3633 

3632Le champ `reason` dans l'entrée du hook indique pourquoi la session s'est terminée :3634Le champ `reason` de l'entrée du hook indique pourquoi la session s'est terminée :

3633 3635 

3634| Motif | Description |3636| Motif | Description |

3635| :- | :- |3637| :- | :- |


3638| `logout` | L'utilisateur s'est déconnecté |3640| `logout` | L'utilisateur s'est déconnecté |

3639| `prompt_input_exit` | L'utilisateur a quitté alors que la saisie du prompt était visible |3641| `prompt_input_exit` | L'utilisateur a quitté alors que la saisie du prompt était visible |

3640| `other` | Autres motifs de sortie |3642| `other` | Autres motifs de sortie |

3641| `bypass_permissions_disabled` | Supprimé dans la v2.1.234 ; Claude Code ne l'envoie pas. Retirez-le de vos matchers `SessionEnd` |3643| `bypass_permissions_disabled` | Supprimé dans la v2.1.234 ; Claude Code ne l'envoie plus. Retirez-le de vos matchers `SessionEnd` |

3642 3644 

3643<h4 id="sessionend-input">3645<h4 id="sessionend-input">

3644 Entrée de SessionEnd3646 Entrée de SessionEnd


3656}3658}

3657```3659```

3658 3660 

3659Les hooks SessionEnd n'ont aucun contrôle de décision. Ils ne peuvent pas bloquer la fin de la session, mais peuvent effectuer des tâches de nettoyage. Claude Code ignore leurs [champs de sortie JSON](#json-output), tels que `systemMessage`.3661Les hooks SessionEnd n'ont pas de contrôle de décision. Ils ne peuvent pas bloquer la fin de la session, mais peuvent effectuer des tâches de nettoyage. Claude Code ignore leurs [champs de sortie JSON](#json-output), tels que `systemMessage`.

3660 3662 

3661Les hooks SessionEnd ont un délai d'expiration par défaut de 1,5 seconde. Il s'applique lorsque vous quittez, exécutez `/clear` ou changez de session avec `/resume` en mode interactif. Vous pouvez accorder plus de temps à un hook de deux façons :3663Les hooks SessionEnd ont un délai d'expiration par défaut de 1,5 seconde. Il s'applique lorsque vous quittez, exécutez `/clear` ou changez de session avec `/resume` en mode interactif. Vous pouvez accorder plus de temps à un hook de deux façons :

3662 3664 

3663* **`timeout` par hook** : définissez `timeout` dans la configuration de ce hook. Le budget global augmente automatiquement pour correspondre au `timeout` par hook le plus élevé de vos fichiers de paramètres, jusqu'à 60 secondes. Si vous augmentez le budget de cette façon, un hook sans son propre `timeout` conserve tout de même la valeur par défaut. Les délais d'expiration définis sur des hooks fournis par des plugins n'augmentent pas le budget.3665* **`timeout` par hook** : définissez `timeout` dans la configuration de ce hook. Le budget global augmente automatiquement pour correspondre au `timeout` par hook le plus élevé de vos fichiers de paramètres, jusqu'à 60 secondes. Si vous augmentez le budget de cette façon, un hook sans son propre `timeout` conserve tout de même la valeur par défaut. Les délais d'expiration définis sur les hooks fournis par des plugins n'augmentent pas le budget.

3664* **`CLAUDE_CODE_SESSIONEND_HOOKS_TIMEOUT_MS`** : définissez cette variable d'environnement en millisecondes pour remplacer explicitement le budget. La valeur que vous définissez devient également le délai d'expiration de chaque hook sans son propre `timeout`.3666* **`CLAUDE_CODE_SESSIONEND_HOOKS_TIMEOUT_MS`** : définissez cette variable d'environnement en millisecondes pour remplacer explicitement le budget. La valeur que vous définissez devient également le délai d'expiration de chaque hook sans son propre `timeout`.

3665 3667 

3666Cet exemple définit le budget à 5 secondes :3668Cet exemple définit le budget à 5 secondes :


3669CLAUDE_CODE_SESSIONEND_HOOKS_TIMEOUT_MS=5000 claude3671CLAUDE_CODE_SESSIONEND_HOOKS_TIMEOUT_MS=5000 claude

3670```3672```

3671 3673 

3672Avant la v2.1.268, `CLAUDE_CODE_SESSIONEND_HOOKS_TIMEOUT_MS` augmentait uniquement le budget global, et un hook sans son propre `timeout` était tout de même annulé au bout de 1,5 seconde.3674Avant la v2.1.268, `CLAUDE_CODE_SESSIONEND_HOOKS_TIMEOUT_MS` n'augmentait que le budget global, et un hook sans son propre `timeout` était toujours annulé au bout de 1,5 seconde.

3673 3675 

3674<h3 id="elicitation">3676<h3 id="elicitation">

3675 Elicitation3677 Elicitation

3676</h3>3678</h3>

3677 3679 

3678S'exécute lorsqu'un serveur MCP demande une saisie de l'utilisateur en cours de tâche. Par défaut, Claude Code affiche une boîte de dialogue interactive pour que l'utilisateur réponde. Les hooks peuvent intercepter cette demande et y répondre de manière programmatique, en ignorant entièrement la boîte de dialogue.3680S'exécute lorsqu'un serveur MCP demande une saisie de l'utilisateur en cours de tâche. Par défaut, Claude Code affiche une boîte de dialogue interactive pour que l'utilisateur réponde. Les hooks peuvent intercepter cette demande et y répondre de manière programmatique, en ignorant complètement la boîte de dialogue.

3681 

3682Pour un hook complet avec son entrée de paramètres et son script, consultez [Répondre à une demande de formulaire depuis un script](#answer-a-form-request-from-a-script).

3679 3683 

3680Le champ matcher est comparé au nom du serveur MCP.3684Le champ matcher est comparé au nom du serveur MCP.

3681 3685 


3683 Entrée d'Elicitation3687 Entrée d'Elicitation

3684</h4>3688</h4>

3685 3689 

3686En plus des [champs d'entrée communs](#common-input-fields), les hooks Elicitation reçoivent `mcp_server_name`, `message` et les champs facultatifs `mode`, `url`, `elicitation_id` et `requested_schema`.3690En plus des [champs d'entrée communs](#common-input-fields), les hooks Elicitation reçoivent `mcp_server_name`, `message`, ainsi que les champs facultatifs `mode`, `url`, `elicitation_id` et `requested_schema`.

3687 3691 

3688Pour l'élicitation en mode formulaire, le cas le plus courant :3692Pour une élicitation en mode formulaire, le cas le plus courant :

3689 3693 

3690```json theme={null}3694```json theme={null}

3691{3695{


3705}3709}

3706```3710```

3707 3711 

3708Pour l'élicitation en mode URL, utilisée pour l'authentification via le navigateur :3712Pour une élicitation en mode URL, utilisée pour l'authentification via le navigateur :

3709 3713 

3710```json theme={null}3714```json theme={null}

3711{3715{


3724 Sortie d'Elicitation3728 Sortie d'Elicitation

3725</h4>3729</h4>

3726 3730 

3727Pour répondre de manière programmatique sans afficher la boîte de dialogue, renvoyez un objet JSON avec `hookSpecificOutput` :3731Un hook Elicitation peut répondre à la demande à la place de l'utilisateur, la refuser ou l'annuler, ou la laisser à la boîte de dialogue. Pour répondre, refuser ou annuler, terminez avec 0 et affichez un objet `hookSpecificOutput` avec une `action`. Le serveur reçoit votre réponse et aucune boîte de dialogue n'apparaît. Chaque ligne de ce tableau indique ce qu'il faut renvoyer pour un résultat donné et ce que reçoit le serveur MCP :

3732 

3733| Pour | Renvoyer | Le serveur reçoit |

3734| :- | :- | :- |

3735| Répondre à la place de l'utilisateur | `"action": "accept"`, avec les valeurs des champs du formulaire dans `content` | `accept` avec votre `content` |

3736| Refuser la demande | `"action": "decline"` | `decline` |

3737| Annuler la demande | `"action": "cancel"` | `cancel` |

3738| Laisser la demande à l'utilisateur | Aucune sortie, avec le code de sortie 0 | La réponse de l'utilisateur depuis la [boîte de dialogue](/docs/fr/mcp#respond-to-mcp-elicitation-requests) |

3739 

3740Cette sortie répond à la demande en mode formulaire présentée dans [Entrée d'Elicitation](#elicitation-input). Les clés de `content` sont les noms de propriétés issus du `requested_schema` de cette demande :

3728 3741 

3729```json theme={null}3742```json theme={null}

3730{3743{


3738}3751}

3739```3752```

3740 3753 

3741| Champ | Valeurs | Description |3754Cette sortie refuse une demande :

3742| :- | :- | :- |3755 

3743| `action` | `accept`, `decline`, `cancel` | Indique s'il faut accepter, refuser ou annuler la demande |3756```json theme={null}

3744| `content` | object | Valeurs des champs du formulaire à soumettre. Utilisé uniquement lorsque `action` vaut `accept` |3757{

3758 "hookSpecificOutput": {

3759 "hookEventName": "Elicitation",

3760 "action": "decline"

3761 }

3762}

3763```

3764 

3765Dans la boîte de dialogue, sélectionner **Decline** envoie `decline` et appuyer sur `Esc` envoie `cancel` ; renvoyez donc celui que vous souhaitez que le serveur voie.

3766 

3767Pour une demande en mode URL, un hook qui renvoie `accept` ignore la boîte de dialogue, de sorte que l'URL ne s'ouvre jamais.

3768 

3769Claude Code ignore `reason`, `systemMessage` et `continue` dans la sortie JSON d'un hook Elicitation, quelle que soit l'`action` que vous renvoyez.

3770 

3771<h4 id="other-ways-to-decline-an-elicitation">

3772 Autres façons de refuser une élicitation

3773</h4>

3774 

3775Votre hook peut également refuser de ces façons. Le serveur reçoit le même `decline` que pour `"action": "decline"` :

3776 

3777* **Se terminer avec le code 2** : Claude Code ignore un `hookSpecificOutput` affiché par le même hook

3778* **Afficher un `"decision": "block"` de premier niveau** : le blocage remplace une `action` dans la même sortie

3779 

3780Lorsque plusieurs hooks correspondent à la même demande, un refus de l'un d'eux l'emporte sur un `accept` ou un `cancel` d'un autre.

3781 

3782Ce script refuse les demandes en mode URL et laisse les demandes de formulaire à la boîte de dialogue :

3783 

3784```bash theme={null}

3785#!/bin/bash

3786if [ "$(jq -r '.mode')" = "url" ]; then

3787 exit 2

3788fi

3789```

3790 

3791Ni l'utilisateur ni le serveur ne voient pourquoi votre hook a refusé, car Claude Code n'affiche ni votre stderr ni votre `reason`.

3792 

3793Claude Code ignorait un `decision` de premier niveau provenant des hooks `Elicitation` et `ElicitationResult` de la v2.1.105 jusqu'à la correction dans la v2.1.284.

3794 

3795<h4 id="answer-a-form-request-from-a-script">

3796 Répondre à une demande de formulaire depuis un script

3797</h4>

3798 

3799Cet exemple répond à une question récurrente à la place de l'utilisateur. Un serveur MCP nommé `issue-tracker` demande une clé de projet dans un formulaire, et le hook renseigne `DOCS`. Le script accepte lorsque `project_key` est l'unique champ du formulaire. Pour toute autre demande, il n'affiche rien, et la boîte de dialogue apparaît.

3800 

3801<Tabs>

3802 <Tab title="macOS/Linux">

3803 Enregistrez un hook de commande pour l'événement dans votre fichier de paramètres, avec le nom du serveur comme matcher :

3804 

3805 ```json theme={null}

3806 {

3807 "hooks": {

3808 "Elicitation": [

3809 {

3810 "matcher": "issue-tracker",

3811 "hooks": [

3812 {

3813 "type": "command",

3814 "command": "${CLAUDE_PROJECT_DIR}/.claude/hooks/answer-project-key.sh",

3815 "args": []

3816 }

3817 ]

3818 }

3819 ]

3820 }

3821 }

3822 ```

3823 

3824 Enregistrez ce script dans `.claude/hooks/answer-project-key.sh` dans votre projet et rendez-le exécutable avec `chmod +x` :

3825 

3826 ```bash theme={null}

3827 #!/bin/bash

3828 input=$(cat)

3829 fields=$(jq -c '.requested_schema.properties // {} | keys' <<<"$input")

3830 

3831 if [ "$fields" = '["project_key"]' ]; then

3832 jq -n '{hookSpecificOutput: {hookEventName: "Elicitation", action: "accept", content: {project_key: "DOCS"}}}'

3833 fi

3834 ```

3835 </Tab>

3745 3836 

3746Le code de sortie 2 refuse l'élicitation. Claude Code n'affiche votre message stderr nulle part.3837 <Tab title="Windows (PowerShell)">

3838 Enregistrez un hook de commande qui exécute le script via PowerShell, avec le nom du serveur comme matcher :

3747 3839 

3748Claude Code tient compte de `hookSpecificOutput` dans la sortie JSON d'un hook Elicitation et ignore `systemMessage` et `continue`.3840 ```json theme={null}

3841 {

3842 "hooks": {

3843 "Elicitation": [

3844 {

3845 "matcher": "issue-tracker",

3846 "hooks": [

3847 {

3848 "type": "command",

3849 "command": "powershell.exe",

3850 "args": [

3851 "-NoProfile",

3852 "-ExecutionPolicy",

3853 "Bypass",

3854 "-File",

3855 "${CLAUDE_PROJECT_DIR}/.claude/hooks/answer-project-key.ps1"

3856 ]

3857 }

3858 ]

3859 }

3860 ]

3861 }

3862 }

3863 ```

3864 

3865 Enregistrez ce script dans `.claude/hooks/answer-project-key.ps1` dans votre projet :

3866 

3867 ```powershell theme={null}

3868 $request = [Console]::In.ReadToEnd() | ConvertFrom-Json

3869 $fields = @($request.requested_schema.properties.PSObject.Properties.Name)

3870 

3871 if ($fields.Count -eq 1 -and $fields[0] -eq 'project_key') {

3872 @{

3873 hookSpecificOutput = @{

3874 hookEventName = "Elicitation"

3875 action = "accept"

3876 content = @{ project_key = "DOCS" }

3877 }

3878 } | ConvertTo-Json -Depth 3

3879 }

3880 ```

3881 </Tab>

3882</Tabs>

3883 

3884Pour vérifier que le hook fonctionne, démarrez Claude Code avec `claude --debug` et donnez à Claude une tâche qui amène le serveur à demander la clé de projet. Aucune boîte de dialogue n'apparaît, et le [log de débogage](#debug-hooks) contient une ligne qui se termine par `Elicitation resolved by hook: {"action":"accept","content":{"project_key":"DOCS"}}`.

3749 3885 

3750<h3 id="elicitationresult">3886<h3 id="elicitationresult">

3751 ElicitationResult3887 ElicitationResult


3753 3889 

3754S'exécute après qu'un utilisateur a répondu à une élicitation MCP. Les hooks peuvent observer, modifier ou bloquer la réponse avant qu'elle ne soit renvoyée au serveur MCP.3890S'exécute après qu'un utilisateur a répondu à une élicitation MCP. Les hooks peuvent observer, modifier ou bloquer la réponse avant qu'elle ne soit renvoyée au serveur MCP.

3755 3891 

3892Lorsqu'un hook [Elicitation](#elicitation) répond à une demande, Claude Code envoie cette réponse au serveur sans exécuter les hooks ElicitationResult.

3893 

3756Le champ matcher est comparé au nom du serveur MCP.3894Le champ matcher est comparé au nom du serveur MCP.

3757 3895 

3758<h4 id="elicitationresult-input">3896<h4 id="elicitationresult-input">

3759 Entrée d'ElicitationResult3897 Entrée d'ElicitationResult

3760</h4>3898</h4>

3761 3899 

3762En plus des [champs d'entrée communs](#common-input-fields), les hooks ElicitationResult reçoivent `mcp_server_name`, `action` et les champs facultatifs `mode`, `elicitation_id` et `content`.3900En plus des [champs d'entrée communs](#common-input-fields), les hooks ElicitationResult reçoivent `mcp_server_name`, `action`, ainsi que les champs facultatifs `mode`, `elicitation_id` et `content`.

3763 3901 

3764```json theme={null}3902```json theme={null}

3765{3903{


3770 "mcp_server_name": "my-mcp-server",3908 "mcp_server_name": "my-mcp-server",

3771 "action": "accept",3909 "action": "accept",

3772 "content": { "username": "alice" },3910 "content": { "username": "alice" },

3773 "mode": "form",3911 "mode": "form"

3774 "elicitation_id": "elicit-123"

3775}3912}

3776```3913```

3777 3914 


3779 Sortie d'ElicitationResult3916 Sortie d'ElicitationResult

3780</h4>3917</h4>

3781 3918 

3782Pour remplacer la réponse de l'utilisateur, renvoyez un objet JSON avec `hookSpecificOutput` :3919Un hook ElicitationResult peut laisser passer la réponse de l'utilisateur, en modifier les valeurs ou la bloquer. Pour modifier ou bloquer la réponse, terminez avec 0 et affichez un objet `hookSpecificOutput` avec une `action`. Chaque ligne de ce tableau indique ce qu'il faut renvoyer pour un résultat donné et ce que reçoit le serveur MCP :

3920 

3921| Pour | Renvoyer | Le serveur reçoit |

3922| :- | :- | :- |

3923| Laisser passer la réponse | Aucune sortie, avec le code de sortie 0 | La réponse de l'utilisateur, inchangée |

3924| Modifier les valeurs soumises | `"action": "accept"`, avec les nouvelles valeurs dans `content` | `accept` avec votre `content` à la place des valeurs de l'utilisateur |

3925| Bloquer la réponse | `"action": "decline"` | `decline`, sans les valeurs de l'utilisateur |

3926| Annuler la demande | `"action": "cancel"` | `cancel`, accompagné des valeurs soumises par l'utilisateur. Pour les retenir, renvoyez `"decline"` |

3927 

3928Cette sortie modifie la réponse présentée dans [Entrée d'ElicitationResult](#elicitationresult-input), de sorte que le serveur reçoit `alice@example.com` là où l'utilisateur a soumis `alice` :

3783 3929 

3784```json theme={null}3930```json theme={null}

3785{3931{

3786 "hookSpecificOutput": {3932 "hookSpecificOutput": {

3787 "hookEventName": "ElicitationResult",3933 "hookEventName": "ElicitationResult",

3788 "action": "decline",3934 "action": "accept",

3789 "content": {}3935 "content": {

3936 "username": "alice@example.com"

3937 }

3790 }3938 }

3791}3939}

3792```3940```

3793 3941 

3794| Champ | Valeurs | Description |3942Votre `content` remplace l'intégralité de l'objet `content` de l'utilisateur ; incluez donc les champs que vous ne modifiez pas. Renvoyez `action` en même temps, car Claude Code ignore un `hookSpecificOutput` dépourvu d'`action`.

3795| :- | :- | :- |3943 

3796| `action` | `accept`, `decline`, `cancel` | Remplace l'action de l'utilisateur |3944Les hooks ElicitationResult s'exécutent également lorsque l'utilisateur refuse ou annule, et votre `action` remplace la sienne. Vérifiez que l'`action` de l'entrée vaut `accept` avant de renvoyer `accept`, sinon votre hook transforme une demande refusée en demande acceptée. Ce script effectue la même modification lorsque l'utilisateur a accepté, conserve les autres champs et n'affiche rien dans les autres cas :

3797| `content` | object | Remplace les valeurs des champs du formulaire. N'a de sens que lorsque `action` vaut `accept` |3945 

3946```bash theme={null}

3947#!/bin/bash

3948input=$(cat)

3798 3949 

3799Le code de sortie 2 bloque la réponse, en changeant l'action effective en `decline`. Claude Code n'affiche votre message stderr nulle part.3950if [ "$(jq -r '.action' <<<"$input")" = "accept" ]; then

3951 jq '{hookSpecificOutput: {hookEventName: "ElicitationResult", action: "accept", content: (.content + {username: (.content.username + "@example.com")})}}' <<<"$input"

3952fi

3953```

3800 3954 

3801Claude Code tient compte de `hookSpecificOutput` dans la sortie JSON d'un hook ElicitationResult et ignore `systemMessage` et `continue`.3955Cette sortie bloque la réponse :

3956 

3957```json theme={null}

3958{

3959 "hookSpecificOutput": {

3960 "hookEventName": "ElicitationResult",

3961 "action": "decline"

3962 }

3963}

3964```

3965 

3966Le code de sortie 2 et un `"decision": "block"` de premier niveau bloquent également la réponse. [Autres façons de refuser une élicitation](#other-ways-to-decline-an-elicitation) explique lequel prend effet lorsqu'un hook les combine, ce que voit l'utilisateur et quelles versions ignoraient `decision`.

3967 

3968Claude Code ignore `reason`, `systemMessage` et `continue` dans la sortie JSON d'un hook ElicitationResult, quelle que soit l'`action` que vous renvoyez.

3802 3969 

3803<h2 id="prompt-based-hooks">3970<h2 id="prompt-based-hooks">

3804 Hooks basés sur des prompts3971 Hooks basés sur des prompts


3862 4029 

3863Définissez `type` à `"prompt"` et fournissez une chaîne `prompt` au lieu d'une `command`. Utilisez le placeholder `$ARGUMENTS` pour injecter les données d'entrée JSON du hook dans votre texte de prompt.4030Définissez `type` à `"prompt"` et fournissez une chaîne `prompt` au lieu d'une `command`. Utilisez le placeholder `$ARGUMENTS` pour injecter les données d'entrée JSON du hook dans votre texte de prompt.

3864 4031 

4032Dans un hook de prompt ou un [hook d'agent](#agent-based-hooks), vous pouvez rédiger le `prompt` sous la forme d'une règle indiquant ce qu'il faut bloquer ou autoriser, par exemple « Bloquer toute commande Bash qui lit des fichiers `.env` », ou sous la forme d'une condition qui doit être remplie, par exemple « Tous les tests unitaires passent ».

4033 

3865Ce hook `Stop` demande au LLM d'évaluer si toutes les tâches sont complètes avant d'autoriser Claude à terminer :4034Ce hook `Stop` demande au LLM d'évaluer si toutes les tâches sont complètes avant d'autoriser Claude à terminer :

3866 4035 

3867```json theme={null}4036```json theme={null}

keybindings.md +49 −0

Details

68| `EffortSlider` | Curseur d'effort ouvert par `/effort` |68| `EffortSlider` | Curseur d'effort ouvert par `/effort` |

69| `Select` | Composants génériques de sélection/liste |69| `Select` | Composants génériques de sélection/liste |

70| `Plugin` | Dialogue des plugins (parcourir, découvrir, gérer) |70| `Plugin` | Dialogue des plugins (parcourir, découvrir, gérer) |

71| `AbovePrompt` | La [bande au-dessus du prompt](#above-prompt-actions), ou un bouton qu'elle contient, a le focus clavier |

72| `AbovePromptInput` | Un champ de saisie dans la bande au-dessus du prompt ou dans le volet d'un mod a le focus clavier |

73| `AbovePromptSelect` | Une sélection dans la bande au-dessus du prompt ou dans le volet d'un mod a le focus clavier |

71| `Pane` | Un volet affiché par un [mod](/docs/fr/plugins/mods/interface#know-which-keys-your-mod-can-receive) a le focus clavier |74| `Pane` | Un volet affiché par un [mod](/docs/fr/plugins/mods/interface#know-which-keys-your-mod-can-receive) a le focus clavier |

72| `PaneField` | Un champ de saisie ou une sélection dans le volet d'un mod a le focus clavier |75| `PaneField` | Un champ de saisie ou une sélection dans le volet d'un mod a le focus clavier |

73| `Agents` | [Vue Agent](/docs/fr/agent-view) (`claude agents`) |76| `Agents` | [Vue Agent](/docs/fr/agent-view) (`claude agents`) |


442| `plugin:install` | I | Installer les plugins sélectionnés |445| `plugin:install` | I | Installer les plugins sélectionnés |

443| `plugin:favorite` | F | Marquer le plugin sélectionné comme favori pour qu'il soit trié près du haut de l'onglet Installé |446| `plugin:favorite` | F | Marquer le plugin sélectionné comme favori pour qu'il soit trié près du haut de l'onglet Installé |

444 447 

448<h3 id="above-prompt-actions">

449 Actions au-dessus du prompt

450</h3>

451 

452Actions pour la bande au-dessus du prompt, la zone partagée où les [mods](/docs/fr/plugins/mods/interface#pick-where-to-draw) dessinent des boutons, des champs de saisie et des listes de sélection. `abovePrompt:toggle` et `abovePrompt:focus` s'appliquent dans le contexte `Chat`. Les autres actions s'appliquent dans le [contexte](#contexts) de l'élément qui a le focus clavier dans la bande ou dans un volet.

453 

454| Action | Par défaut | Description |

455| :- | :- | :- |

456| `abovePrompt:toggle` | Ctrl+X Ctrl+A | Réduire la bande à une indication d'une ligne, ou la développer à nouveau |

457| `abovePrompt:focus` | Ctrl+X Tab | Déplacer le focus clavier dans la bande, puis vers chaque [volet](#pane-actions) ouvert, et du dernier volet de retour au prompt |

458| `abovePrompt:next` | Tab | Donner le focus au contrôle suivant |

459| `abovePrompt:previous` | Maj+Tab | Donner le focus au contrôle précédent |

460| `abovePrompt:press` | Entrée | Appuyer sur le bouton ayant le focus, soumettre le champ de saisie ayant le focus, ou choisir l'option mise en évidence dans une liste de sélection |

461| `abovePrompt:leave` | Échap | Ramener le focus clavier au prompt |

462| `abovePrompt:highlightNext` | Bas | Mettre en évidence l'option suivante dans une liste de sélection ayant le focus |

463| `abovePrompt:highlightPrevious` | Haut | Mettre en évidence l'option précédente dans une liste de sélection ayant le focus |

464 

465Deux contextes lient des touches supplémentaires à ces actions par défaut :

466 

467* **`AbovePrompt`** : Droite et Gauche exécutent également `abovePrompt:next` et `abovePrompt:previous`, et Espace exécute également `abovePrompt:press`

468* **`AbovePromptInput`** : Bas et Haut exécutent également `abovePrompt:next` et `abovePrompt:previous`

469 

470Le contexte `AbovePrompt` lie également Haut, Bas, PageUp, PageDown, Accueil et Fin aux [actions de défilement du volet](#pane-actions) `pane:scrollUp` à `pane:bottom` ; pour changer l'une de ces touches pour la bande, liez donc l'action de défilement dans un bloc `AbovePrompt`.

471 

472<h3 id="pane-actions">

473 Actions de volet

474</h3>

475 

476Actions pour un volet dessiné par un [mod](/docs/fr/plugins/mods/interface#know-which-keys-your-mod-can-receive). Les actions de défilement, de redimensionnement et de fermeture s'appliquent dans le [contexte](#contexts) `Pane`. `pane:close` s'applique également dans le contexte `PaneField`, de sorte qu'elle fonctionne quand l'un des champs du volet a le focus. `pane:next` et `pane:previous` s'appliquent dans le contexte `Global` quand plus d'un volet est ouvert.

477 

478| Action | Par défaut | Description |

479| :- | :- | :- |

480| `pane:scrollUp` | Haut | Faire défiler le volet vers le haut quand il a plus de lignes qu'il ne peut en afficher |

481| `pane:scrollDown` | Bas | Faire défiler le volet vers le bas quand il a plus de lignes qu'il ne peut en afficher |

482| `pane:pageUp` | PageUp | Faire défiler le volet d'une page vers le haut |

483| `pane:pageDown` | PageDown | Faire défiler le volet d'une page vers le bas |

484| `pane:top` | Accueil | Sauter en haut du volet |

485| `pane:bottom` | Fin | Sauter en bas du volet |

486| `pane:grow` | Ctrl+X Gauche, Ctrl+X Haut | Donner plus d'espace au volet : en largeur quand il se trouve à côté de la transcription, en hauteur quand il se trouve au-dessus du prompt |

487| `pane:shrink` | Ctrl+X Droite, Ctrl+X Bas | Donner moins d'espace au volet : en largeur quand il se trouve à côté de la transcription, en hauteur quand il se trouve au-dessus du prompt |

488| `pane:close` | Ctrl+X X | Fermer le volet |

489| `pane:next` | (non lié) | Afficher le volet ouvert suivant |

490| `pane:previous` | (non lié) | Afficher le volet ouvert précédent |

491 

492Le contexte `Pane` lie également Tab, Maj+Tab, Entrée et Échap aux mêmes [actions au-dessus du prompt](#above-prompt-actions) que la bande, et les champs de saisie et listes de sélection d'un volet utilisent les contextes `AbovePromptInput` et `AbovePromptSelect`. [Focus clavier et raccourcis](/docs/fr/plugins/mods/interface#know-which-keys-your-mod-can-receive) liste ce que fait chaque touche dans un volet.

493 

445<h3 id="settings-actions">494<h3 id="settings-actions">

446 Actions de paramètres495 Actions de paramètres

447</h3>496</h3>

Details

303 303 

304Pour restaurer l'une ou l'autre fonctionnalité, connectez-vous avec claude.ai et supprimez les variables de passerelle que la fonctionnalité vérifie. La section Remote Control de `claude doctor` nomme ce qui bloque actuellement Remote Control.304Pour restaurer l'une ou l'autre fonctionnalité, connectez-vous avec claude.ai et supprimez les variables de passerelle que la fonctionnalité vérifie. La section Remote Control de `claude doctor` nomme ce qui bloque actuellement Remote Control.

305 305 

306* Dictée vocale : désactivez l'identifiant de passerelle306* Dictée vocale : supprimez la variable d'identifiant de passerelle

307* Remote Control : désactivez l'identifiant de passerelle et `ANTHROPIC_BASE_URL`307* Remote Control : supprimez la variable d'identifiant de passerelle et `ANTHROPIC_BASE_URL`

308 308 

309<h2 id="additional-configuration">309<h2 id="additional-configuration">

310 Configuration supplémentaire310 Configuration supplémentaire

Details

200 200 

201| En-tête | Ce qu'il faut retourner et pourquoi |201| En-tête | Ce qu'il faut retourner et pourquoi |

202| :- | :- |202| :- | :- |

203| `content-type` | Retournez `text/event-stream` sur les réponses au format Messages Anthropic en flux continu, et `application/vnd.amazon.eventstream`, sans modification, sur les réponses au format Amazon Bedrock, où [un type différent échoue la demande](/docs/fr/amazon-bedrock#streaming-errors-behind-a-gateway-or-proxy). [Streaming](#streaming) liste les connexions qui exécutent la détection de stagnation sur ces flux |203| `content-type` | Retournez `text/event-stream` sur les réponses au format Messages Anthropic en flux continu, et `application/vnd.amazon.eventstream`, sans modification, sur les réponses au format Amazon Bedrock, où [un type différent fait échouer la requête](/docs/fr/amazon-bedrock#streaming-errors-behind-a-gateway-or-proxy) |

204| `retry-after` | Retournez des secondes entières plutôt qu'une date HTTP. Claude Code attend au moins ce laps de temps avant la prochaine [relance automatique](/docs/fr/errors#automatic-retries), et en dehors des sessions [`CLAUDE_CODE_RETRY_WATCHDOG`](/docs/fr/env-vars) une valeur supérieure à 60 arrête les relances et affiche l'erreur immédiatement |204| `retry-after` | Retournez des secondes entières plutôt qu'une date HTTP. Claude Code attend au moins ce laps de temps avant la prochaine [relance automatique](/docs/fr/errors#automatic-retries), et en dehors des sessions [`CLAUDE_CODE_RETRY_WATCHDOG`](/docs/fr/env-vars) une valeur supérieure à 60 arrête les relances et affiche l'erreur immédiatement |

205| `x-should-retry` | Transmettez la valeur en amont sans modification. Claude Code lit cet en-tête comme une entrée lors de la décision de relancer une demande échouée : `true` marque la réponse comme relançable et `false` la marque comme non relançable. Pour les compteurs de relance, le backoff, et les défaillances que Claude Code relance, voir [relances automatiques](/docs/fr/errors#automatic-retries) |205| `x-should-retry` | Transmettez la valeur en amont sans modification. Claude Code lit cet en-tête comme une entrée lors de la décision de relancer une demande échouée : `true` marque la réponse comme relançable et `false` la marque comme non relançable. Pour les compteurs de relance, le backoff, et les défaillances que Claude Code relance, voir [relances automatiques](/docs/fr/errors#automatic-retries) |

206| `anthropic-ratelimit-unified-*` | Transmettez les valeurs en amont sans modification sur chaque réponse. Claude Code les lit sur les réponses réussies pour afficher l'utilisation par rapport aux limites du plan aux développeurs connectés avec claude.ai, et sur un `429` pour distinguer une limite de plan ou un plafond de dépenses d'une limitation temporaire ; voir [limites d'utilisation](/docs/fr/errors#usage-limits) |206| `anthropic-ratelimit-unified-*` | Transmettez les valeurs en amont sans modification sur chaque réponse. Claude Code les lit sur les réponses réussies pour afficher l'utilisation par rapport aux limites du plan aux développeurs connectés avec claude.ai, et sur un `429` pour distinguer une limite de plan ou un plafond de dépenses d'une limitation temporaire ; voir [limites d'utilisation](/docs/fr/errors#usage-limits) |

Details

154 154 

155Claude Code vérifie les sources dans cet ordre, priorité la plus élevée en premier :155Claude Code vérifie les sources dans cet ordre, priorité la plus élevée en premier :

156 156 

1571. Paramètres distants, livrés de claude.ai comme [paramètres gérés par le serveur](/docs/fr/server-managed-settings) ou par une [passerelle d'applications Claude](/docs/fr/claude-apps-gateway). Claude Code récupère cette source uniquement quand la session s'authentifie à l'API d'Anthropic directement avec une [connexion ou clé éligible](/docs/fr/server-managed-settings#platform-availability), ou se connecte à une passerelle avec `/login`. Sur d'autres fournisseurs, ou quand `ANTHROPIC_BASE_URL` pointe ailleurs que l'API d'Anthropic, il commence à la source suivante1571. Paramètres distants, livrés de claude.ai comme [paramètres gérés par le serveur](/docs/fr/server-managed-settings) ou par une [passerelle d'applications Claude](/docs/fr/claude-apps-gateway). Claude Code récupère cette source uniquement quand la session s'authentifie à l'API d'Anthropic directement avec des [identifiants éligibles](/docs/fr/server-managed-settings#platform-availability), ou se connecte à une passerelle avec `/login`. Sur d'autres fournisseurs, ou quand `ANTHROPIC_BASE_URL` pointe ailleurs que l'API d'Anthropic, il commence à la source suivante

1582. Politiques MDM ou au niveau du système d'exploitation : le plist macOS ou la clé de registre HKLM1582. Politiques MDM ou au niveau du système d'exploitation : le plist macOS ou la clé de registre HKLM

1593. Fichiers de paramètres gérés, `managed-settings.d/*.json` et `managed-settings.json` fusionnés ensemble1593. Fichiers de paramètres gérés, `managed-settings.d/*.json` et `managed-settings.json` fusionnés ensemble

1604. Le registre HKCU, sur Windows, et sur WSL une fois que le registre HKLM ou le fichier de paramètres gérés Windows active [`wslInheritsWindowsSettings`](/docs/fr/settings-reference#wslinheritswindowssettings) et la valeur HKCU le définit également. Claude Code ne le lit que quand [aucun document d'administration n'est présent au-dessus](#present-admin-documents) et aucun [paramètre parent fourni par l'hôte](#let-an-embedding-host-add-policy) ne fournit une clé restrictive1604. Le registre HKCU, sur Windows, et sur WSL une fois que le registre HKLM ou le fichier de paramètres gérés Windows active [`wslInheritsWindowsSettings`](/docs/fr/settings-reference#wslinheritswindowssettings) et la valeur HKCU le définit également. Claude Code ne le lit que quand [aucun document d'administration n'est présent au-dessus](#present-admin-documents) et aucun [paramètre parent fourni par l'hôte](#let-an-embedding-host-add-policy) ne fournit une clé restrictive

mcp.md +35 −13

Details

142```142```

143 143 

144<Note>144<Note>

145 **Important : Séparez les arguments du serveur avec `--`**

146 

147 Pour les serveurs stdio, le `--` (double tiret) sépare les options propres à Claude, telles que `--transport`, `--env`, et `--scope`, de la commande et des arguments qui exécutent le serveur. Tout ce qui suit `--` est transmis au serveur sans modification.145 Pour les serveurs stdio, le `--` (double tiret) sépare les options propres à Claude, telles que `--transport`, `--env`, et `--scope`, de la commande et des arguments qui exécutent le serveur. Tout ce qui suit `--` est transmis au serveur sans modification.

148 146 

149 Par exemple :147 Par exemple :


275* `✘ Rejected (see disabledMcpjsonServers in settings)` : un serveur `.mcp.json` qu'une entrée [`disabledMcpjsonServers`](/docs/fr/settings-reference#disabledmcpjsonservers) rejette. Claude Code l'affiche uniquement dans `claude mcp get <name>`.273* `✘ Rejected (see disabledMcpjsonServers in settings)` : un serveur `.mcp.json` qu'une entrée [`disabledMcpjsonServers`](/docs/fr/settings-reference#disabledmcpjsonservers) rejette. Claude Code l'affiche uniquement dans `claude mcp get <name>`.

276* `⊘ Disabled for this project (re-enable via /mcp)` : un serveur que la liste [`disabledMcpServers`](#disable-a-server-without-removing-it) du projet nomme. Claude Code l'affiche à la fois dans `claude mcp list` et `claude mcp get <name>`. Réactivez le serveur à partir du panneau `/mcp`.274* `⊘ Disabled for this project (re-enable via /mcp)` : un serveur que la liste [`disabledMcpServers`](#disable-a-server-without-removing-it) du projet nomme. Claude Code l'affiche à la fois dans `claude mcp list` et `claude mcp get <name>`. Réactivez le serveur à partir du panneau `/mcp`.

277 275 

278Les serveurs WebSocket n'apparaissent pas dans la sortie de `claude mcp list`. Utilisez `claude mcp get <name>` ou le panneau `/mcp` pour les vérifier.

279 

280<h4 id="project-server-approvals-and-workspace-trust">276<h4 id="project-server-approvals-and-workspace-trust">

281 Approbations des serveurs de projet et confiance de l'espace de travail277 Approbations des serveurs de projet et confiance de l'espace de travail

282</h4>278</h4>


371 367 

372Sur v2, Claude Code également :368Sur v2, Claude Code également :

373 369 

374* Demande aux serveurs HTTP 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, et sur Claude Code v2.1.285 ou ultérieur, il le demande aux serveurs stdio à mesure qu'Anthropic déploie ce changement. Pour qu'il le demande aux serveurs de connecteurs et stdio dans chaque session, définissez [`MCP_PROTOCOL_NEGOTIATION`](/docs/fr/env-vars) à `auto`. Il se connecte à tous les autres serveurs comme le fait v1.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.

375* 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).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).

376* 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.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.

377* Fait échouer une [connexion OAuth MCP](#authenticate-with-remote-mcp-servers) dont la réponse d'autorisation nomme un émetteur inattendu.373* Fait échouer une [connexion OAuth MCP](#authenticate-with-remote-mcp-servers) dont la réponse d'autorisation nomme un émetteur inattendu.


458 454 

459Sur le [runtime v2](#mcp-client-runtimes), un serveur de canal qui négocie la révision de protocole MCP 2026-07-28 ne peut pas livrer les messages de canal, donc Claude Code ne l'enregistre pas comme un canal. Un serveur de canal qui ne supporte pas cette révision se connecte avec la poignée de main antérieure et s'enregistre comme auparavant.455Sur le [runtime v2](#mcp-client-runtimes), un serveur de canal qui négocie la révision de protocole MCP 2026-07-28 ne peut pas livrer les messages de canal, donc Claude Code ne l'enregistre pas comme un canal. Un serveur de canal qui ne supporte pas cette révision se connecte avec la poignée de main antérieure et s'enregistre comme auparavant.

460 456 

461Claude Code demande cette révision aux serveurs stdio lorsque vous définissez [`MCP_PROTOCOL_NEGOTIATION`](/docs/fr/env-vars) à `auto`. Anthropic active également ce comportement par défaut, pour Claude Code v2.1.285 ou ultérieur, dans les sessions où Claude Code [récupère les feature flags](/docs/fr/env-vars#features-that-need-feature-flag-fetching). Pour maintenir un serveur de canal stdio sur la poignée de main antérieure, définissez `MCP_PROTOCOL_NEGOTIATION` à `legacy`, ce qui y maintient tous les serveurs.457Claude Code demande cette révision aux serveurs stdio par défaut. Pour maintenir un serveur de canal stdio sur la poignée de main antérieure, définissez [`MCP_PROTOCOL_NEGOTIATION`](/docs/fr/env-vars) à `legacy`, ce qui y maintient tous les serveurs.

462 458 

463<Tip>459<Tip>

464 Conseils :460 Conseils :


509 Serveurs MCP fournis par les plugins505 Serveurs MCP fournis par les plugins

510</h3>506</h3>

511 507 

512[Les plugins](/docs/fr/plugins/overview) peuvent regrouper des serveurs MCP qui fournissent des outils et des intégrations lorsque vous activez le plugin. Les serveurs MCP des plugins fonctionnent de manière identique aux serveurs configurés par l'utilisateur.508[Les plugins](/docs/fr/plugins/overview) peuvent regrouper des serveurs MCP qui fournissent des outils et des intégrations lorsque vous activez le plugin.

513 509 

514**Comment fonctionnent les serveurs MCP des plugins** :510**Comment fonctionnent les serveurs MCP des plugins** :

515 511 


1405* **Limite par défaut** : le maximum par défaut est de 25 000 tokens1401* **Limite par défaut** : le maximum par défaut est de 25 000 tokens

1406* **Portée** : la variable d'environnement s'applique aux outils qui ne déclarent pas leur propre limite. Les outils qui définissent [`anthropic/maxResultSizeChars`](#raise-the-limit-for-a-specific-tool) utilisent cette valeur à la place pour le contenu textuel, indépendamment de la valeur définie pour `MAX_MCP_OUTPUT_TOKENS`. Les outils qui retournent des données d'image restent soumis à `MAX_MCP_OUTPUT_TOKENS`1402* **Portée** : la variable d'environnement s'applique aux outils qui ne déclarent pas leur propre limite. Les outils qui définissent [`anthropic/maxResultSizeChars`](#raise-the-limit-for-a-specific-tool) utilisent cette valeur à la place pour le contenu textuel, indépendamment de la valeur définie pour `MAX_MCP_OUTPUT_TOKENS`. Les outils qui retournent des données d'image restent soumis à `MAX_MCP_OUTPUT_TOKENS`

1407* **Au-delà de la limite** : lorsqu'un résultat réussi sans contenu d'image dépasse la limite de tokens, Claude Code l'enregistre dans un fichier et le remplace dans la conversation par un message qui indique le chemin du fichier, de sorte que Claude lit le fichier lorsqu'il a besoin du contenu. Le fichier se trouve dans le répertoire `tool-results` de la session sous [`~/.claude/projects/`](/docs/fr/claude-directory#cleaned-up-automatically).1403* **Au-delà de la limite** : lorsqu'un résultat réussi sans contenu d'image dépasse la limite de tokens, Claude Code l'enregistre dans un fichier et le remplace dans la conversation par un message qui indique le chemin du fichier, de sorte que Claude lit le fichier lorsqu'il a besoin du contenu. Le fichier se trouve dans le répertoire `tool-results` de la session sous [`~/.claude/projects/`](/docs/fr/claude-directory#cleaned-up-automatically).

1404* **Taille des réponses des serveurs HTTP et SSE** : Claude Code arrête de lire une réponse d'un serveur [HTTP](#option-1-add-a-remote-http-server) ou [SSE](#option-2-add-a-remote-sse-server) dès qu'un corps de réponse JSON, ou un événement d'un flux d'événements, dépasse 16 Mo après décompression. La requête à laquelle cette réponse répond échoue. Si vous maintenez le serveur, renvoyez moins de données par réponse pour rester sous la limite, par exemple en paginant les résultats

1408 1405 

1409Un appel que Claude Code a [déplacé vers une tâche en arrière-plan](#automatic-backgrounding-of-long-tool-calls) transmet son résultat via la notification de tâche. Deux limites supplémentaires s'appliquent à un appel qui se termine au premier plan :1406Un appel que Claude Code a [déplacé vers une tâche en arrière-plan](#automatic-backgrounding-of-long-tool-calls) transmet son résultat via la notification de tâche. Deux limites supplémentaires s'appliquent à un appel qui se termine au premier plan :

1410 1407 


1438 1435 

1439L'annotation s'applique indépendamment de `MAX_MCP_OUTPUT_TOKENS` pour le contenu textuel, de sorte que les utilisateurs n'ont pas besoin d'augmenter la variable d'environnement pour les outils qui la déclarent. Les outils qui retournent des données d'image restent soumis à la limite de tokens.1436L'annotation s'applique indépendamment de `MAX_MCP_OUTPUT_TOKENS` pour le contenu textuel, de sorte que les utilisateurs n'ont pas besoin d'augmenter la variable d'environnement pour les outils qui la déclarent. Les outils qui retournent des données d'image restent soumis à la limite de tokens.

1440 1437 

1441<Warning>

1442 Si vous rencontrez fréquemment des avertissements de sortie avec des serveurs MCP spécifiques que vous ne contrôlez pas, envisagez d'augmenter la limite `MAX_MCP_OUTPUT_TOKENS`. Vous pouvez également demander à l'auteur du serveur d'ajouter l'annotation `anthropic/maxResultSizeChars` ou de paginer ses réponses. L'annotation n'a aucun effet sur les outils qui retournent du contenu d'image ; pour ceux-ci, augmenter `MAX_MCP_OUTPUT_TOKENS` est la seule option.

1443</Warning>

1444 

1445<h3 id="images-in-tool-results">1438<h3 id="images-in-tool-results">

1446 Images dans les résultats des outils1439 Images dans les résultats des outils

1447</h3>1440</h3>


1602 1595 

1603Pour modifier la limite pour chaque serveur MCP dans votre session, définissez [`CLAUDE_CODE_MAX_MCP_DESCRIPTION_LENGTH`](/docs/fr/env-vars#variables) sur un nombre de caractères. Cette variable nécessite Claude Code v2.1.280 ou ultérieur.1596Pour modifier la limite pour chaque serveur MCP dans votre session, définissez [`CLAUDE_CODE_MAX_MCP_DESCRIPTION_LENGTH`](/docs/fr/env-vars#variables) sur un nombre de caractères. Cette variable nécessite Claude Code v2.1.280 ou ultérieur.

1604 1597 

1598<h4 id="per-tool-alwaysload">

1599 Marquer un outil pour qu'il se charge en amont ou reste reporté

1600</h4>

1601 

1602Pour contrôler la manière dont l'un des outils de votre serveur se charge, définissez `"anthropic/alwaysLoad"` dans l'objet `_meta` de cet outil. La personne qui ajoute votre serveur à Claude Code peut également définir [`alwaysLoad`](#exempt-a-server-from-deferral) pour l'ensemble du serveur dans sa configuration, et son paramètre peut remplacer le vôtre :

1603 

1604| Valeur de votre outil | Ce qui se passe |

1605| :- | :- |

1606| `true` | L'outil se charge en amont. Le démarrage n'attend pas votre serveur en raison de cette valeur. La personne qui configure votre serveur peut toujours [reporter tous ses outils](#defer-a-servers-tools) |

1607| `false` | L'outil reste reporté lorsque la configuration de cette personne définit `"alwaysLoad": true`. Cela s'applique lorsque votre serveur est transmis avec [`--mcp-config`](/docs/fr/cli-reference#cli-flags), fourni par une [application Agent SDK](/docs/fr/agent-sdk/mcp#in-code), ou fourni par un [plugin](#plugin-provided-mcp-servers). Sur les autres serveurs, l'outil se charge en amont. Nécessite Claude Code v2.1.285 ou ultérieur |

1608 

1609L'entrée `tools/list` suivante demande le chargement en amont d'un outil :

1610 

1611```json theme={null}

1612{

1613 "name": "search_tickets",

1614 "description": "Searches the ticket tracker by keyword",

1615 "_meta": {

1616 "anthropic/alwaysLoad": true

1617 }

1618}

1619```

1620 

1605<h3 id="configure-tool-search">1621<h3 id="configure-tool-search">

1606 Configurer la recherche d'outils1622 Configurer la recherche d'outils

1607</h3>1623</h3>


1653 Exempter un serveur du report1669 Exempter un serveur du report

1654</h3>1670</h3>

1655 1671 

1656Si les outils d'un serveur doivent toujours être visibles pour Claude sans une étape de recherche, définissez `alwaysLoad` à `true` dans la configuration de ce serveur. Chaque outil de ce serveur se charge alors dans le contexte au démarrage de la session indépendamment du paramètre `ENABLE_TOOL_SEARCH`. Utilisez ceci pour un petit nombre d'outils que Claude doit utiliser à chaque tour, puisque chaque outil en amont consomme du contexte qui serait autrement disponible pour votre conversation.1672Si les outils d'un serveur doivent toujours être visibles pour Claude sans une étape de recherche, définissez `alwaysLoad` à `true` dans la configuration de ce serveur. Les outils du serveur se chargent alors dans le contexte indépendamment du paramètre `ENABLE_TOOL_SEARCH`. Utilisez ceci pour un petit nombre d'outils que Claude doit utiliser à chaque tour, puisque chaque outil en amont consomme du contexte qui serait autrement disponible pour votre conversation.

1657 1673 

1658L'entrée `.mcp.json` suivante exempte un serveur HTTP tout en laissant les autres serveurs reportés :1674L'entrée `.mcp.json` suivante exempte un serveur HTTP tout en laissant les autres serveurs reportés :

1659 1675 


1669}1685}

1670```1686```

1671 1687 

1672Le champ `alwaysLoad` est disponible sur tous les types de serveurs. Un serveur MCP peut également marquer les outils individuels comme toujours chargés en incluant `"anthropic/alwaysLoad": true` dans l'objet `_meta` de l'outil, ce qui a le même effet pour cet outil uniquement.1688Le champ `alwaysLoad` est disponible sur tous les types de serveurs.

1673 1689 

1674Définir `alwaysLoad: true` fait également attendre le démarrage des outils du serveur, limité au délai d'expiration de connexion standard de 5 secondes, puisqu'ils doivent être présents lors de la construction de la première invite. Un serveur distant avec une entrée [`cached`](#server-status-detail) valide fournit ses outils à partir du cache sans se connecter, donc il ne retarde pas le démarrage. Les autres serveurs se connectent en arrière-plan par défaut ; définissez [`MCP_CONNECTION_NONBLOCKING=0`](/docs/fr/env-vars) pour faire attendre le démarrage pour eux aussi.1690Définir `alwaysLoad: true` fait également attendre le démarrage des outils du serveur, limité au délai d'expiration de connexion standard de 5 secondes, puisqu'ils doivent être présents lors de la construction de la première invite. Un serveur distant avec une entrée [`cached`](#server-status-detail) valide fournit ses outils à partir du cache sans se connecter, donc il ne retarde pas le démarrage. Les autres serveurs se connectent en arrière-plan par défaut ; définissez [`MCP_CONNECTION_NONBLOCKING=0`](/docs/fr/env-vars) pour faire attendre le démarrage pour eux aussi.

1675 1691 

1692<h3 id="defer-a-servers-tools">

1693 Reporter les outils d'un serveur

1694</h3>

1695 

1696Pour garder tous les outils d'un serveur derrière la recherche d'outils, définissez `"alwaysLoad": false` dans l'entrée de ce serveur dans votre configuration MCP. Cela inclut les outils que l'auteur du serveur a [marqués pour se charger en amont](#per-tool-alwaysload). Si vous omettez `alwaysLoad`, ces outils marqués se chargent en amont. Nécessite Claude Code v2.1.287 ou ultérieur.

1697 

1676<h2 id="use-mcp-prompts-as-commands">1698<h2 id="use-mcp-prompts-as-commands">

1677 Utiliser les invites MCP comme commandes1699 Utiliser les invites MCP comme commandes

1678</h2>1700</h2>

memory.md +5 −3

Details

161 161 

162Tous les fichiers découverts sont concaténés en contexte plutôt que de se remplacer les uns les autres. Dans l'arborescence des répertoires, le contenu est ordonné de la racine du système de fichiers jusqu'à votre répertoire de travail. Pour l'exemple `foo/bar/`, `foo/CLAUDE.md` apparaît en contexte avant `foo/bar/CLAUDE.md`, de sorte que les instructions plus proches de l'endroit où vous avez lancé Claude sont lues en dernier. Dans chaque répertoire, `CLAUDE.local.md` est ajouté après `CLAUDE.md`, de sorte que vos notes personnelles sont la dernière chose que Claude lit à ce niveau.162Tous les fichiers découverts sont concaténés en contexte plutôt que de se remplacer les uns les autres. Dans l'arborescence des répertoires, le contenu est ordonné de la racine du système de fichiers jusqu'à votre répertoire de travail. Pour l'exemple `foo/bar/`, `foo/CLAUDE.md` apparaît en contexte avant `foo/bar/CLAUDE.md`, de sorte que les instructions plus proches de l'endroit où vous avez lancé Claude sont lues en dernier. Dans chaque répertoire, `CLAUDE.local.md` est ajouté après `CLAUDE.md`, de sorte que vos notes personnelles sont la dernière chose que Claude lit à ce niveau.

163 163 

164Claude découvre également les fichiers `CLAUDE.md` et `CLAUDE.local.md` dans les sous-répertoires sous votre répertoire de travail actuel. Au lieu de les charger au lancement, Claude Code les inclut quand Claude utilise l'outil [Read](/docs/fr/tools-reference#read-tool-behavior), [Write](/docs/fr/tools-reference#write-tool-behavior) ou [Edit](/docs/fr/tools-reference#edit-tool-behavior) sur un fichier de ces sous-répertoires. Si Claude a déjà utilisé l'un de ces outils sur le `CLAUDE.md` d'un sous-répertoire lui-même, ce fichier n'est pas chargé de cette façon, car Claude Code le considère comme déjà présent dans la conversation. Pour les fichiers situés dans un worktree sous `.claude/worktrees/`, consultez [Isoler les sous-agents avec des worktrees](/docs/fr/worktrees#isolate-subagents-with-worktrees).164Claude découvre également les fichiers `CLAUDE.md` et `CLAUDE.local.md` dans les sous-répertoires sous votre répertoire de travail actuel. Au lieu de les charger au lancement, Claude Code charge chacun d'eux dès que Claude lit, écrit ou modifie un autre fichier dans ce sous-répertoire. La lecture inclut l'affichage du fichier avec une commande Bash qui [compte comme une lecture](/docs/fr/tools-reference#edit-tool-behavior), telle que `cat` ou `head` sur un seul fichier. Pour les fichiers situés dans un worktree sous `.claude/worktrees/`, consultez [Isoler les sous-agents avec des worktrees](/docs/fr/worktrees#isolate-subagents-with-worktrees).

165 165 

166Si vous travaillez dans un grand monorepo où les fichiers CLAUDE.md d'autres équipes sont détectés, utilisez [`claudeMdExcludes`](#exclude-specific-claude-md-files) pour les ignorer. Pour la disposition complète des fichiers CLAUDE.md racine et par répertoire et des règles, consultez [Monorepos et grands dépôts](/docs/fr/large-codebases).166Si vous travaillez dans un grand monorepo où les fichiers CLAUDE.md d'autres équipes sont détectés, utilisez [`claudeMdExcludes`](#exclude-specific-claude-md-files) pour les ignorer. Pour la disposition complète des fichiers CLAUDE.md racine et par répertoire et des règles, consultez [Monorepos et grands dépôts](/docs/fr/large-codebases).

167 167 


232- Inclure les commentaires de documentation OpenAPI232- Inclure les commentaires de documentation OpenAPI

233```233```

234 234 

235Les règles sans champ `paths` sont chargées sans condition et s'appliquent à tous les fichiers. Les règles limitées à des chemins se déclenchent quand Claude utilise l'outil Read, Write ou Edit sur un fichier correspondant au modèle, pas à chaque utilisation d'outil. La correspondance fonctionne également quand Claude atteint un fichier via un chemin passant par un lien symbolique vers le répertoire du projet, par exemple dans un checkout accessible via un lien symbolique.235Les règles sans champ `paths` sont chargées sans condition et s'appliquent à tous les fichiers. Une règle limitée à des chemins se charge quand Claude utilise l'outil Read, Write ou Edit sur un fichier correspondant. Elle se charge également quand Claude affiche un fichier correspondant avec une commande Bash qui [compte comme une lecture](/docs/fr/tools-reference#edit-tool-behavior), telle que `cat` ou `head` sur un seul fichier. La correspondance fonctionne également quand Claude atteint un fichier via un chemin passant par un lien symbolique vers le répertoire du projet, par exemple dans un checkout accessible via un lien symbolique.

236 236 

237Utilisez les modèles glob dans le champ `paths` pour faire correspondre les fichiers par extension, répertoire ou toute combinaison :237Utilisez les modèles glob dans le champ `paths` pour faire correspondre les fichiers par extension, répertoire ou toute combinaison :

238 238 


278 278 

279Le répertoire `.claude/rules/` prend en charge les liens symboliques, de sorte que vous pouvez maintenir un ensemble partagé de règles et les lier dans plusieurs projets. Les liens symboliques circulaires sont détectés et gérés correctement.279Le répertoire `.claude/rules/` prend en charge les liens symboliques, de sorte que vous pouvez maintenir un ensemble partagé de règles et les lier dans plusieurs projets. Les liens symboliques circulaires sont détectés et gérés correctement.

280 280 

281Claude Code traite un lien symbolique dont la cible se trouve en dehors de votre répertoire de travail comme un [import externe](#import-additional-files). Les règles liées ne se chargent pas jusqu'à ce que vous approuviez les imports externes pour le projet, et après cela seulement celles sans champ [`paths`](#path-specific-rules) se chargent. Claude Code demande cette approbation uniquement quand un fichier de mémoire de projet importe un fichier en dehors du répertoire de travail avec `@path`, pas pour les liens symboliques seuls. Pour charger les règles partagées sans cette approbation, gardez-les dans [`~/.claude/rules/`](#user-level-rules), où elles s'appliquent à chaque projet sur votre machine.281Claude Code traite un lien symbolique dont la cible se trouve en dehors de votre répertoire de travail comme un [import externe](#import-additional-files). Les règles liées ne se chargent pas jusqu'à ce que vous approuviez les imports externes pour le projet, et après cela seulement celles sans champ [`paths`](#path-specific-rules) se chargent.

282 

283Claude Code demande cette approbation une fois par projet, dans une boîte de dialogue au début d'une session interactive. La boîte de dialogue liste les fichiers de règles liés aux côtés des éventuels imports `@path` externes. Pour charger les règles partagées sans cette approbation, gardez-les dans [`~/.claude/rules/`](#user-level-rules), où elles s'appliquent à chaque projet sur votre machine.

282 284 

283Cet exemple lie à la fois un répertoire partagé et un fichier individuel :285Cet exemple lie à la fois un répertoire partagé et un fichier individuel :

284 286 

Details

116 2) Configurer les identifiants Azure116 2) Configurer les identifiants Azure

117</h3>117</h3>

118 118 

119Claude Code prend en charge trois méthodes d'authentification pour Microsoft Foundry. Choisissez la méthode qui correspond le mieux à vos exigences de sécurité.119Claude Code prend en charge trois méthodes d'authentification pour Microsoft Foundry. Choisissez la méthode qui correspond le mieux à vos exigences de sécurité :

120 120 

121**Option A : Authentification par clé API**121* [Clé API](#use-an-api-key) : vous copiez une clé depuis le portail Microsoft Foundry et la définissez comme `ANTHROPIC_FOUNDRY_API_KEY`

122* [Microsoft Entra ID](#use-microsoft-entra-id) : Claude Code obtient des jetons via la chaîne d'identifiants par défaut du SDK Azure, par exemple à partir d'une session `az login`, il n'y a donc aucune clé API à stocker

123* [Jeton porteur](#use-a-bearer-token) : un autre processus obtient un jeton d'accès Microsoft Entra ID et vous le transmettez dans `ANTHROPIC_FOUNDRY_AUTH_TOKEN`

124 

125<Note>

126 Lors de l'utilisation de Microsoft Foundry, la commande `/logout` n'est pas disponible car l'authentification est gérée via les identifiants Azure.

127</Note>

128 

129<h4 id="use-an-api-key">

130 Utiliser une clé API

131</h4>

132 

133Copiez une clé depuis le portail Microsoft Foundry, puis définissez-la comme variable d'environnement :

122 134 

1231. Accédez à votre ressource dans le portail Microsoft Foundry1351. Accédez à votre ressource dans le portail Microsoft Foundry

1242. Allez à la section **Points de terminaison et clés**1362. Ouvrez la section **Endpoints et clés**

1253. Copiez la **Clé API**1373. Copiez la **Clé API**

1264. Définissez la variable d'environnement, en remplaçant `your-azure-api-key` par la clé que vous avez copiée :1384. Définissez la variable d'environnement, en remplaçant `your-azure-api-key` par la clé que vous avez copiée :

127 139 


129export ANTHROPIC_FOUNDRY_API_KEY=your-azure-api-key141export ANTHROPIC_FOUNDRY_API_KEY=your-azure-api-key

130```142```

131 143 

132**Option B : Authentification Microsoft Entra ID**144<h4 id="use-microsoft-entra-id">

145 Utiliser Microsoft Entra ID

146</h4>

133 147 

134Lorsque ni `ANTHROPIC_FOUNDRY_API_KEY` ni `ANTHROPIC_FOUNDRY_AUTH_TOKEN` ne sont définis, Claude Code utilise automatiquement la [chaîne d'identifiants par défaut](https://learn.microsoft.com/en-us/azure/developer/javascript/sdk/authentication/credential-chains#defaultazurecredential-overview) du SDK Azure.148Laissez `ANTHROPIC_FOUNDRY_API_KEY` et `ANTHROPIC_FOUNDRY_AUTH_TOKEN` non définis. Claude Code utilise alors la [chaîne d'identifiants par défaut](https://learn.microsoft.com/en-us/azure/developer/javascript/sdk/authentication/credential-chains#defaultazurecredential-overview) du SDK Azure.

135Cela prend en charge une variété de méthodes pour authentifier les charges de travail locales et distantes.149Cela prend en charge une variété de méthodes pour authentifier les charges de travail locales et distantes.

136 150 

137Dans les environnements locaux, vous pouvez généralement utiliser Azure CLI :151Sur une machine locale, connectez-vous avec Azure CLI :

138 152 

139```bash theme={null}153```bash theme={null}

140az login154az login

141```155```

142 156 

143**Option C : Authentification par jeton porteur**157Pour les rôles dont votre identité a besoin, consultez [Configuration Azure RBAC](#azure-rbac-configuration).

158 

159<h4 id="use-a-bearer-token">

160 Utiliser un jeton porteur

161</h4>

144 162 

145Claude Code envoie la valeur de `ANTHROPIC_FOUNDRY_AUTH_TOKEN` sur chaque requête en tant qu'en-tête `Authorization: Bearer`. Utilisez cette option lorsqu'un autre processus, tel qu'une application hôte ou un script de connexion, a déjà obtenu un jeton d'accès pour vous. Nécessite Claude Code v2.1.203 ou version ultérieure.163Claude Code envoie la valeur de `ANTHROPIC_FOUNDRY_AUTH_TOKEN` sur chaque requête en tant qu'en-tête `Authorization: Bearer`. Utilisez cette option lorsqu'un autre processus, tel qu'une application hôte ou un script de connexion, a déjà obtenu un jeton d'accès pour vous. Nécessite Claude Code v2.1.203 ou version ultérieure.

146 164 


152 170 

153`ANTHROPIC_FOUNDRY_AUTH_TOKEN` a la priorité sur `ANTHROPIC_FOUNDRY_API_KEY` et sur la chaîne d'identifiants par défaut.171`ANTHROPIC_FOUNDRY_AUTH_TOKEN` a la priorité sur `ANTHROPIC_FOUNDRY_API_KEY` et sur la chaîne d'identifiants par défaut.

154 172 

155<Note>

156 Lors de l'utilisation de Microsoft Foundry, la commande `/logout` n'est pas disponible car l'authentification est gérée via les identifiants Azure.

157</Note>

158 

159<h3 id="3-configure-claude-code">173<h3 id="3-configure-claude-code">

160 3. Configurer Claude Code174 3. Configurer Claude Code

161</h3>175</h3>


240 254 

241Pour plus de détails, consultez la [documentation RBAC de Microsoft Foundry](https://learn.microsoft.com/en-us/azure/ai-foundry/concepts/rbac-azure-ai-foundry).255Pour plus de détails, consultez la [documentation RBAC de Microsoft Foundry](https://learn.microsoft.com/en-us/azure/ai-foundry/concepts/rbac-azure-ai-foundry).

242 256 

257<h2 id="1m-token-context-window">

258 Fenêtre de contexte de 1M tokens

259</h2>

260 

261Sur Microsoft Foundry, lorsque Claude Code peut déterminer quel modèle votre déploiement sert, les modèles Fable, Sonnet 5 et versions ultérieures, ainsi qu'Opus 4.7 et versions ultérieures s'exécutent par défaut avec la [fenêtre de contexte de 1M tokens](https://platform.claude.com/docs/en/build-with-claude/context-windows#context-window-sizes-by-model), sans qu'aucun suffixe `[1m]` soit nécessaire. Claude Code lit le modèle à partir du nom de déploiement dans vos variables de modèle. Nommez chaque déploiement avec son ID de modèle, par exemple `claude-opus-4-8`, ou associez le modèle au nom de votre déploiement avec [`modelOverrides`](/docs/fr/model-config#override-model-ids-per-version). Pour un nom de déploiement qu'il ne peut pas associer à un modèle, Claude Code suppose une fenêtre de 200K, sauf si vous [en déclarez une autre](/docs/fr/model-config#correct-the-window-for-a-gateway-or-custom-model-id).

262 

263Cette entrée `settings.json` indique à Claude Code qu'un déploiement nommé `team-opus-prod` sert Opus 4.8 :

264 

265```json theme={null}

266{

267 "modelOverrides": {

268 "claude-opus-4-8": "team-opus-prod"

269 }

270}

271```

272 

273Pour conserver plutôt une fenêtre de 200K, définissez [`CLAUDE_CODE_DISABLE_1M_CONTEXT=1`](/docs/fr/model-config#turn-off-1m-context).

274 

275Opus 4.6 et Sonnet 4.6 accèdent à la fenêtre de 1M lorsque vous ajoutez `[1m]` au nom de déploiement dans `ANTHROPIC_DEFAULT_OPUS_MODEL` ou `ANTHROPIC_DEFAULT_SONNET_MODEL`, comme le décrit [Épingler les modèles pour les déploiements tiers](/docs/fr/model-config#pin-models-for-third-party-deployments). Avant la v2.1.287, les modèles Fable ainsi qu'Opus 4.7 et versions ultérieures nécessitaient également ce suffixe sur Microsoft Foundry et s'exécutaient par défaut avec une fenêtre de 200K sans celui-ci.

276 

243<h2 id="troubleshooting">277<h2 id="troubleshooting">

244 Résolution des problèmes278 Résolution des problèmes

245</h2>279</h2>

model-config.md +146 −136

Details

22Pour obtenir des conseils sur le modèle et le niveau d'effort qui conviennent à différents types de travail, consultez [Choisir un modèle Claude et un niveau d'effort dans Claude Code](https://claude.com/blog/claude-model-and-effort-level-in-claude-code) sur le blog.22Pour obtenir des conseils sur le modèle et le niveau d'effort qui conviennent à différents types de travail, consultez [Choisir un modèle Claude et un niveau d'effort dans Claude Code](https://claude.com/blog/claude-model-and-effort-level-in-claude-code) sur le blog.

23 23 

24<Note>24<Note>

25 `ANTHROPIC_BASE_URL` change l'endroit où les demandes sont envoyées, non le modèle qui y répond. Pour acheminer Claude via une passerelle LLM, consultez [Passerelles LLM](/docs/fr/llm-gateway).25 `ANTHROPIC_BASE_URL` change l'endroit où les requêtes sont envoyées, non le modèle qui y répond. Pour acheminer Claude via une passerelle LLM, consultez [Passerelles LLM](/docs/fr/llm-gateway).

26</Note>26</Note>

27 27 

28<h3 id="model-aliases">28<h3 id="model-aliases">


39| **`sonnet`** | Utilise le dernier modèle Sonnet pour les tâches de codage quotidiennes |39| **`sonnet`** | Utilise le dernier modèle Sonnet pour les tâches de codage quotidiennes |

40| **`opus`** | Utilise le dernier modèle Opus pour les tâches de raisonnement complexe |40| **`opus`** | Utilise le dernier modèle Opus pour les tâches de raisonnement complexe |

41| **`haiku`** | Utilise le modèle Haiku rapide et efficace pour les tâches simples |41| **`haiku`** | Utilise le modèle Haiku rapide et efficace pour les tâches simples |

42| **`sonnet[1m]`** | Utilise Sonnet avec une [fenêtre de contexte de 1 million de jetons](https://platform.claude.com/docs/en/build-with-claude/context-windows#context-window-sizes-by-model) pour les longues sessions. Aucun effet lorsque `sonnet` se résout déjà à Sonnet 5.5 ou Sonnet 5 avec leur fenêtre native de 1M |42| **`sonnet[1m]`** | Utilise Sonnet avec une [fenêtre de contexte de 1 million de tokens](https://platform.claude.com/docs/en/build-with-claude/context-windows#context-window-sizes-by-model) pour les longues sessions. Aucun effet lorsque `sonnet` se résout déjà à Sonnet 5.5 ou Sonnet 5 avec leur fenêtre native de 1M |

43| **`opus[1m]`** | Utilise Opus avec une [fenêtre de contexte de 1 million de jetons](https://platform.claude.com/docs/en/build-with-claude/context-windows#context-window-sizes-by-model) pour les longues sessions |43| **`opus[1m]`** | Utilise Opus avec une [fenêtre de contexte de 1 million de tokens](https://platform.claude.com/docs/en/build-with-claude/context-windows#context-window-sizes-by-model) pour les longues sessions. Aucun effet lorsque `opus` se résout déjà à Opus 4.7 ou ultérieur avec sa fenêtre native de 1M |

44| **`opusplan`** | Mode spécial qui utilise `opus` pendant le mode plan, puis bascule vers `sonnet` pour l'exécution |44| **`opusplan`** | Mode spécial qui utilise `opus` pendant le mode plan, puis bascule vers `sonnet` pour l'exécution |

45 45 

46Les alias `opus`, `sonnet` et `haiku` se résolvent à la version la plus récente sur l'API Anthropic et à une version antérieure chez certains autres fournisseurs :46Les alias `opus`, `sonnet` et `haiku` se résolvent à la version la plus récente sur l'API Anthropic et à une version antérieure chez certains autres fournisseurs :


56 56 

57Sauf si vous définissez `ANTHROPIC_DEFAULT_FABLE_MODEL`, l'alias `fable` se résout à Fable 5.1, sauf dans les sessions de [passerelle d'applications Claude](/docs/fr/claude-apps-gateway), où `fable` et `best` se résolvent à Fable 5.57Sauf si vous définissez `ANTHROPIC_DEFAULT_FABLE_MODEL`, l'alias `fable` se résout à Fable 5.1, sauf dans les sessions de [passerelle d'applications Claude](/docs/fr/claude-apps-gateway), où `fable` et `best` se résolvent à Fable 5.

58 58 

59Une passerelle qui n'est pas configurée pour servir `claude-fable-5-1` rejette les demandes pour ce modèle. Pour utiliser Fable 5.1 via une passerelle qui le sert, sélectionnez-le avec `/model claude-fable-5-1`.59Une passerelle qui n'est pas configurée pour servir `claude-fable-5-1` rejette les requêtes pour ce modèle. Pour utiliser Fable 5.1 via une passerelle qui le sert, sélectionnez-le avec `/model claude-fable-5-1`.

60 60 

61Lorsque `opus` ou `sonnet` se résout à un modèle plus ancien, les modèles plus récents sont disponibles en sélectionnant explicitement le nom de modèle complet ou en définissant `ANTHROPIC_DEFAULT_OPUS_MODEL` ou `ANTHROPIC_DEFAULT_SONNET_MODEL`.61Lorsque `opus` ou `sonnet` se résout à un modèle plus ancien, les modèles plus récents sont disponibles en sélectionnant explicitement le nom de modèle complet ou en définissant `ANTHROPIC_DEFAULT_OPUS_MODEL` ou `ANTHROPIC_DEFAULT_SONNET_MODEL`.

62 62 


81 81 

82Si vous vous connectez directement à l'API Anthropic et que vos paramètres utilisateur contiennent `claude-fable-5` ou `claude-fable-5[1m]` comme modèle, par exemple parce que vous avez sélectionné Fable dans le sélecteur `/model` avant v2.1.257, Claude Code change cette valeur enregistrée en alias `fable` ou `fable[1m]` la première fois que vous exécutez v2.1.257 ou ultérieur. La ligne de modèle de démarrage affiche `(auto-updated)` une fois. Une valeur `claude-fable-5` dans les paramètres de projet, locaux ou gérés reste telle quelle.82Si vous vous connectez directement à l'API Anthropic et que vos paramètres utilisateur contiennent `claude-fable-5` ou `claude-fable-5[1m]` comme modèle, par exemple parce que vous avez sélectionné Fable dans le sélecteur `/model` avant v2.1.257, Claude Code change cette valeur enregistrée en alias `fable` ou `fable[1m]` la première fois que vous exécutez v2.1.257 ou ultérieur. La ligne de modèle de démarrage affiche `(auto-updated)` une fois. Une valeur `claude-fable-5` dans les paramètres de projet, locaux ou gérés reste telle quelle.

83 83 

84Les demandes qu'un modèle Fable signale par ses classificateurs de sécurité, le plus souvent dans les domaines de la cybersécurité et de la biologie, déclenchent un [basculement automatique du modèle](#automatic-model-fallback).84Les requêtes que les classifieurs de sécurité d'un modèle Fable signalent, le plus souvent dans les domaines de la cybersécurité et de la biologie, déclenchent un [basculement automatique vers un modèle de secours](#automatic-model-fallback).

85 85 

86Pour tirer le meilleur parti de Fable :86Pour tirer le meilleur parti de Fable :

87 87 

88* **Décrivez le résultat, pas les étapes** : donnez-lui le résultat que vous voulez et laissez-le planifier le chemin. Pour le maintenir orienté vers ce résultat, [définissez un objectif](/docs/fr/goal).88* **Décrivez le résultat, pas les étapes** : donnez-lui le résultat que vous voulez et laissez-le planifier le chemin. Pour le maintenir orienté vers ce résultat, [définissez un objectif](/docs/fr/goal).

89* **Donnez-lui des problèmes ambigus** : les enquêtes sur les causes profondes, le débogage des pannes et les décisions architecturales sont les endroits où l'enquête et la vérification supplémentaires sont payantes.89* **Donnez-lui des problèmes ambigus** : les enquêtes sur les causes profondes, le débogage des pannes et les décisions architecturales sont les endroits où l'enquête et la vérification supplémentaires sont payantes.

90* **Ignorez les rappels de vérification** : il vérifie son propre travail avec moins d'invites, donc les rappels de tester ou de vérifier sont généralement inutiles.90* **Ignorez les rappels de vérification** : il vérifie son propre travail sans qu'on ait autant à le lui demander, donc les rappels de tester ou de vérifier sont généralement inutiles.

91* **Dimensionnez les tâches plus importantes** : donnez-lui du travail que vous diviseriez normalement en morceaux. Il maintient de longues sessions sans perdre le fil.91* **Dimensionnez les tâches plus importantes** : donnez-lui du travail que vous diviseriez normalement en morceaux. Il maintient de longues sessions sans perdre le fil.

92 92 

93<Note>93<Note>

94 Fable 5.1 nécessite Claude Code v2.1.257 ou ultérieur. Si une demande pour celui-ci à partir d'une version plus ancienne échoue, consultez [Claude Code ne supporte pas ce modèle](/docs/fr/errors#claude-code-does-not-support-this-model). Exécutez `claude update` pour mettre à jour. Pour la disponibilité en vertu de la rétention zéro de données, consultez [Disponibilité des modèles en vertu de ZDR](/docs/fr/zero-data-retention#model-availability-under-zdr).94 Fable 5.1 nécessite Claude Code v2.1.257 ou ultérieur. Si une requête pour celui-ci à partir d'une version plus ancienne échoue, consultez [Claude Code ne supporte pas ce modèle](/docs/fr/errors#claude-code-does-not-support-this-model). Exécutez `claude update` pour mettre à jour. Pour la disponibilité en vertu de la rétention zéro de données, consultez [Disponibilité des modèles en vertu de ZDR](/docs/fr/zero-data-retention#model-availability-under-zdr).

95</Note>95</Note>

96 96 

97Sur l'API Anthropic, un modèle Fable apparaît dans le sélecteur `/model` sauf si [`availableModels`](#restrict-model-selection) ou [les restrictions de modèle de l'organisation](#organization-model-restrictions) l'excluent. Lorsque votre organisation ne peut pas utiliser Fable du tout, par exemple en vertu de la [rétention zéro de données](/docs/fr/zero-data-retention#model-availability-under-zdr), la ligne reste dans le sélecteur grisée, avec une note sur la raison.97Sur l'API Anthropic, un modèle Fable apparaît dans le sélecteur `/model` sauf si [`availableModels`](#restrict-model-selection) ou [les restrictions de modèle de l'organisation](#organization-model-restrictions) l'excluent. Lorsque votre organisation ne peut pas utiliser Fable du tout, par exemple en vertu de la [rétention zéro de données](/docs/fr/zero-data-retention#model-availability-under-zdr), la ligne reste dans le sélecteur grisée, avec une note sur la raison.


102 102 

103Selon votre plan et votre niveau de siège, l'utilisation de Fable peut être facturée aux [crédits d'utilisation](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans) au lieu de puiser dans les limites incluses de votre plan. Lorsque c'est le cas, le sélecteur `/model` affiche « Requires usage credits » sur la ligne Fable. Pour gérer les crédits d'utilisation, consultez [Ajouter des crédits d'utilisation à votre abonnement](/docs/fr/costs#add-usage-credits-to-your-subscription).103Selon votre plan et votre niveau de siège, l'utilisation de Fable peut être facturée aux [crédits d'utilisation](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans) au lieu de puiser dans les limites incluses de votre plan. Lorsque c'est le cas, le sélecteur `/model` affiche « Requires usage credits » sur la ligne Fable. Pour gérer les crédits d'utilisation, consultez [Ajouter des crédits d'utilisation à votre abonnement](/docs/fr/costs#add-usage-credits-to-your-subscription).

104 104 

105Dans les sessions interactives, Claude Code affiche une invite de consentement avant qu'une demande Fable ne facture les crédits d'utilisation. Les membres des plans Enterprise avec facturation organisationnelle ne voient pas l'invite. Vous pouvez continuer sur Fable en utilisant les crédits d'utilisation ou basculer vers votre modèle par défaut. Vous pouvez également ignorer l'invite :105Dans les sessions interactives, Claude Code affiche une invite de consentement avant qu'une requête Fable ne facture les crédits d'utilisation. Les membres des plans Enterprise avec facturation organisationnelle ne voient pas l'invite. Vous pouvez continuer sur Fable en utilisant les crédits d'utilisation ou basculer vers votre modèle par défaut. Vous pouvez également ignorer l'invite :

106 106 

107* Lorsque vous sélectionnez un modèle Fable avec `/model`, vous conservez votre modèle actuel.107* Lorsque vous sélectionnez un modèle Fable avec `/model`, vous conservez votre modèle actuel.

108* En cours de session, Claude Code continue le tour sur votre modèle par défaut.108* En cours de session, Claude Code continue le tour sur votre modèle par défaut.

109 109 

110Après avoir choisi de continuer sur Fable en utilisant les crédits d'utilisation, Claude Code n'affiche plus l'invite.110Après avoir choisi de continuer sur Fable en utilisant les crédits d'utilisation, Claude Code n'affiche plus l'invite.

111 111 

112Dans une session avec [Contrôle à distance](/docs/fr/remote-control) connecté, une [session en arrière-plan](/docs/fr/agent-view), ou une session d'un coéquipier d'une [équipe d'agents](/docs/fr/agent-teams), personne ne peut être au terminal, donc Claude Code maintient l'invite de consentement en cours de session jusqu'à la date limite [`dialogExpiry`](/docs/fr/settings-reference#dialogexpiry), cinq minutes par défaut. Si personne n'a répondu avant la date limite, Claude Code termine le tour sans envoyer la demande et ajoute un avis à la transcription, que le client Contrôle à distance affiche également. Votre sélection de modèle est inchangée, et Claude Code demande à nouveau le consentement à votre prochain message.112Dans une session avec [Remote Control](/docs/fr/remote-control) connecté, une [session en arrière-plan](/docs/fr/agent-view), ou une session d'un coéquipier d'une [équipe d'agents](/docs/fr/agent-teams), personne ne peut être au terminal, donc Claude Code maintient l'invite de consentement en cours de session jusqu'à la date limite [`dialogExpiry`](/docs/fr/settings-reference#dialogexpiry), cinq minutes par défaut. Si personne n'a répondu avant la date limite, Claude Code termine le tour sans envoyer la requête et ajoute un avis à la transcription, que le client Remote Control affiche également. Votre sélection de modèle est inchangée, et Claude Code demande à nouveau le consentement à votre prochain message.

113 113 

114Ce que vous pouvez faire pendant que l'invite attend dépend de la session :114Ce que vous pouvez faire pendant que l'invite attend dépend de la session :

115 115 

116* Avec Contrôle à distance connecté ou dans une session d'un coéquipier, appuyez sur n'importe quelle touche au terminal pour annuler la date limite, et Claude Code attend votre réponse.116* Avec Remote Control connecté ou dans une session d'un coéquipier, appuyez sur n'importe quelle touche au terminal pour annuler la date limite, et Claude Code attend votre réponse.

117* Dans une session en arrière-plan, répondez avant la date limite.117* Dans une session en arrière-plan, répondez avant la date limite.

118* Si vous envoyez un nouveau message à partir du client distant avant que quelqu'un n'ait tapé au terminal, Claude Code termine le tour de la même manière, et votre nouveau message commence le tour suivant. Après que quelqu'un ait tapé au terminal, Claude Code continue d'attendre la réponse et met en file d'attente votre nouveau message derrière.118* Si vous envoyez un nouveau message à partir du client distant avant que quelqu'un n'ait tapé au terminal, Claude Code termine le tour de la même manière, et votre nouveau message commence le tour suivant. Après que quelqu'un ait tapé au terminal, Claude Code continue d'attendre la réponse et met en file d'attente votre nouveau message derrière.

119 119 

120Dans une session qu'une autre application héberge via le [SDK Agent](/docs/fr/agent-sdk/overview), que l'invite apparaisse dépend de cette application. Si elle apparaît et que personne ne répond avant la même date limite [`dialogExpiry`](/docs/fr/settings-reference#dialogexpiry), Claude Code termine le tour sans envoyer la demande.120Dans une session qu'une autre application héberge via le [SDK Agent](/docs/fr/agent-sdk/overview), que l'invite apparaisse dépend de cette application. Si elle apparaît et que personne ne répond avant la même date limite [`dialogExpiry`](/docs/fr/settings-reference#dialogexpiry), Claude Code termine le tour sans envoyer la requête.

121 121 

122En [mode non interactif](/docs/fr/headless) avec l'indicateur `-p`, et dans une application SDK Agent qui n'affiche pas l'invite, Claude Code ne demande jamais le consentement. Lorsqu'une demande Fable là-bas serait facturée aux crédits d'utilisation, Claude Code la facture sans demander.122En [mode non interactif](/docs/fr/headless) avec le flag `-p`, et dans une application SDK Agent qui n'affiche pas l'invite, Claude Code ne demande jamais le consentement. Lorsqu'une requête Fable y serait facturée aux crédits d'utilisation, Claude Code la facture sans demander.

123 123 

124<h3 id="setting-your-model">124<h3 id="setting-your-model">

125 Définir votre modèle125 Définir votre modèle


136`/model` enregistre votre choix comme valeur par défaut pour les nouvelles sessions en écrivant le champ `model` dans vos paramètres utilisateur. Dans le sélecteur :136`/model` enregistre votre choix comme valeur par défaut pour les nouvelles sessions en écrivant le champ `model` dans vos paramètres utilisateur. Dans le sélecteur :

137 137 

138* `Enter` : basculer le modèle et enregistrer comme valeur par défaut138* `Enter` : basculer le modèle et enregistrer comme valeur par défaut

139* `s` : basculer le modèle pour cette session uniquement et laisser votre valeur par défaut inchangée. Pour utiliser une clé différente, reliez [`modelPicker:thisSessionOnly`](/docs/fr/keybindings#model-picker-actions)139* `s` : basculer le modèle pour cette session uniquement et laisser votre valeur par défaut inchangée. Pour utiliser une touche différente, réaffectez [`modelPicker:thisSessionOnly`](/docs/fr/keybindings#model-picker-actions)

140 140 

141Taper `/model <name>` directement se comporte comme `Enter`. Pour basculer pour cette session uniquement, ouvrez le sélecteur avec `/model` et appuyez sur `s` sur la ligne du modèle.141Taper `/model <name>` directement se comporte comme `Enter`. Pour basculer pour cette session uniquement, ouvrez le sélecteur avec `/model` et appuyez sur `s` sur la ligne du modèle.

142 142 


148 148 

149Si vous basculez les modèles avec `/model`, le basculement atteint également les [sous-agents qui héritent du modèle de la conversation principale](/docs/fr/sub-agents#choose-a-model), car Claude Code résout leur modèle à partir de celui que votre session utilise lorsque Claude les démarre. Basculez vers Opus avant que Claude ne délègue la recherche ou les exécutions de test à l'un d'eux, et ce travail s'exécute également sur Opus. Pour garder un sous-agent personnalisé sur un modèle plus petit, définissez `model` dans sa définition.149Si vous basculez les modèles avec `/model`, le basculement atteint également les [sous-agents qui héritent du modèle de la conversation principale](/docs/fr/sub-agents#choose-a-model), car Claude Code résout leur modèle à partir de celui que votre session utilise lorsque Claude les démarre. Basculez vers Opus avant que Claude ne délègue la recherche ou les exécutions de test à l'un d'eux, et ce travail s'exécute également sur Opus. Pour garder un sous-agent personnalisé sur un modèle plus petit, définissez `model` dans sa définition.

150 150 

151Si vous définissez un modèle avec `/model` en [mode non interactif](/docs/fr/headless), avec l'indicateur `-p`, votre choix s'applique à la session actuelle uniquement et n'est pas enregistré comme valeur par défaut ; `/model` dans ce mode nécessite Claude Code v2.1.205 ou ultérieur. Les paramètres de projet et gérés conservent toujours la priorité et se réappliquent au prochain lancement. Un [modèle par défaut de l'organisation](#organization-default-model) que votre administrateur a configuré pour remplacer la sélection de l'utilisateur se réapplique également au prochain lancement.151Si vous définissez un modèle avec `/model` en [mode non interactif](/docs/fr/headless), avec le flag `-p`, votre choix s'applique à la session actuelle uniquement et n'est pas enregistré comme valeur par défaut ; `/model` dans ce mode nécessite Claude Code v2.1.205 ou ultérieur. Les paramètres de projet et gérés conservent toujours la priorité et se réappliquent au prochain lancement. Un [modèle par défaut de l'organisation](#organization-default-model) que votre administrateur a configuré pour remplacer la sélection de l'utilisateur se réapplique également au prochain lancement.

152 152 

153Dans v2.1.144 à v2.1.152, `/model` s'appliquait à la session actuelle uniquement et `d` dans le sélecteur enregistrait une valeur par défaut.153Dans v2.1.144 à v2.1.152, `/model` s'appliquait à la session actuelle uniquement et `d` dans le sélecteur enregistrait une valeur par défaut.

154 154 

155L'indicateur `--model` et la variable d'environnement `ANTHROPIC_MODEL` s'appliquent uniquement à la session que vous lancez avec eux. Pour exécuter différents modèles dans différents terminaux en même temps, lancez chacun avec son propre indicateur `--model` plutôt que de basculer avec `/model`.155Le flag `--model` et la variable d'environnement `ANTHROPIC_MODEL` s'appliquent uniquement à la session que vous lancez avec eux. Pour exécuter différents modèles dans différents terminaux en même temps, lancez chacun avec son propre flag `--model` plutôt que de basculer avec `/model`.

156 156 

157Les prix dans le sélecteur `/model` apparaissent lorsque Claude Code communique avec l'API Anthropic, directement ou via une [passerelle LLM](/docs/fr/llm-gateway) qui la proxifie, et le prix sur une ligne est le prix du modèle que cette ligne sélectionne. Sur les [fournisseurs tiers](/docs/fr/third-party-integrations) tels qu'Amazon Bedrock et sur la [passerelle d'applications Claude](/docs/fr/claude-apps-gateway), votre fournisseur ou passerelle détermine ce que vous payez, donc les lignes du sélecteur n'affichent aucun prix. Le prix est une étiquette d'affichage uniquement ; il n'affecte pas le modèle qu'une ligne sélectionne ou ce que votre fournisseur facture. Avant v2.1.206, [Claude Platform on AWS](/docs/fr/claude-platform-on-aws) et les sessions de passerelle affichaient les prix de liste d'Anthropic, et une ligne pouvait afficher le prix d'un modèle différent de celui qu'elle sélectionnait.157Les prix dans le sélecteur `/model` apparaissent lorsque Claude Code communique avec l'API Anthropic, directement ou via une [passerelle LLM](/docs/fr/llm-gateway) qui la proxifie, et le prix sur une ligne est le prix du modèle que cette ligne sélectionne. Sur les [fournisseurs tiers](/docs/fr/third-party-integrations) tels qu'Amazon Bedrock et sur la [passerelle d'applications Claude](/docs/fr/claude-apps-gateway), votre fournisseur ou passerelle détermine ce que vous payez, donc les lignes du sélecteur n'affichent aucun prix. Le prix est une étiquette d'affichage uniquement ; il n'affecte pas le modèle qu'une ligne sélectionne ou ce que votre fournisseur facture. Avant v2.1.206, [Claude Platform on AWS](/docs/fr/claude-platform-on-aws) et les sessions de passerelle affichaient les prix de liste d'Anthropic, et une ligne pouvait afficher le prix d'un modèle différent de celui qu'elle sélectionnait.

158 158 


168 168 

169Lorsque Claude Code ne peut pas dire quels hooks PreModelSwitch vos [plugins gérés](/docs/fr/settings-reference#enabledplugins) de l'organisation fournissent, par exemple parce qu'un plugin géré n'a pas pu se charger, il refuse le basculement plutôt que de l'appliquer sans vérification, et il vérifie à nouveau à chaque nouvelle tentative. Consultez [Le basculement de modèle a été bloqué par un hook PreModelSwitch](/docs/fr/errors#model-switch-was-blocked-by-a-premodelswitch-hook) pour le message et la récupération.169Lorsque Claude Code ne peut pas dire quels hooks PreModelSwitch vos [plugins gérés](/docs/fr/settings-reference#enabledplugins) de l'organisation fournissent, par exemple parce qu'un plugin géré n'a pas pu se charger, il refuse le basculement plutôt que de l'appliquer sans vérification, et il vérifie à nouveau à chaque nouvelle tentative. Consultez [Le basculement de modèle a été bloqué par un hook PreModelSwitch](/docs/fr/errors#model-switch-was-blocked-by-a-premodelswitch-hook) pour le message et la récupération.

170 170 

171Lorsque vous basculez les modèles via la méthode [`setModel()`](/docs/fr/agent-sdk/overview) du SDK Agent, via une application telle que l'[application de bureau](/docs/fr/desktop), ou à partir d'un appareil connecté via [Contrôle à distance](/docs/fr/remote-control), Claude Code vérifie la valeur au basculement :171Lorsque vous basculez les modèles via la méthode `setModel()` du [SDK Agent](/docs/fr/agent-sdk/overview), via une application telle que l'[application de bureau](/docs/fr/desktop), ou à partir d'un appareil connecté via [Remote Control](/docs/fr/remote-control), Claude Code vérifie la valeur au basculement :

172 172 

173* **SDK Agent ou une application** : avec Claude Code v2.1.268 ou ultérieur, sauf si Claude Code accepte un ID de modèle localement, comme il le fait pour votre [option de modèle personnalisé](#add-a-custom-model-option), il confirme l'ID auprès de votre fournisseur la première fois que la session bascule vers celui-ci. La confirmation s'exécute sur chaque fournisseur, et un ID que votre fournisseur n'offre pas est refusé au basculement au lieu d'échouer à votre prochaine demande.173* **SDK Agent ou une application** : avec Claude Code v2.1.268 ou ultérieur, sauf si Claude Code accepte un ID de modèle localement, comme il le fait pour votre [option de modèle personnalisé](#add-a-custom-model-option), il confirme l'ID auprès de votre fournisseur la première fois que la session bascule vers celui-ci. La confirmation s'exécute sur chaque fournisseur, et un ID que votre fournisseur n'offre pas est refusé au basculement au lieu d'échouer à votre prochaine requête.

174* **Contrôle à distance** : sur l'API Anthropic, Claude Code vérifie la valeur localement et n'envoie aucune demande.174* **Remote Control** : sur l'API Anthropic, Claude Code vérifie la valeur localement et n'envoie aucune requête.

175 175 

176Consultez [Model is not a recognized model id](/docs/fr/errors#model-is-not-a-recognized-model-id) et [Model not found](/docs/fr/errors#model-not-found) pour les messages.176Consultez [Model is not a recognized model id](/docs/fr/errors#model-is-not-a-recognized-model-id) et [Model not found](/docs/fr/errors#model-not-found) pour les messages.

177 177 

178Si vous définissez le modèle avec l'indicateur `--model`, la variable d'environnement `ANTHROPIC_MODEL`, ou le paramètre `model`, Claude Code ne le vérifie pas à l'avance, et une valeur mal orthographiée produit [There's an issue with the selected model](/docs/fr/errors#theres-an-issue-with-the-selected-model) à la première demande.178Si vous définissez le modèle avec le flag `--model`, la variable d'environnement `ANTHROPIC_MODEL`, ou le paramètre `model`, Claude Code ne le vérifie pas à l'avance, et une valeur mal orthographiée produit [There's an issue with the selected model](/docs/fr/errors#theres-an-issue-with-the-selected-model) à la première requête.

179 179 

180Lorsque le modèle demandé a une date de retrait programmée ou est automatiquement remappé à une version plus récente, Claude Code affiche un avertissement qui nomme le modèle demandé. Les sessions interactives l'affichent comme un avis de démarrage. À partir de v2.1.182, le même avertissement est écrit sur stderr en [mode non interactif](/docs/fr/headless) lors de l'utilisation du format de sortie texte par défaut. La vérification couvre également un `model` défini dans [frontmatter de sous-agent](/docs/fr/sub-agents). L'avertissement stderr est supprimé pour `--output-format json` et `stream-json` ; lisez le modèle réel à partir du champ `modelUsage` du [message de résultat](/docs/fr/headless#get-structured-output) à la place.180Lorsque le modèle demandé a une date de retrait programmée ou est automatiquement remappé à une version plus récente, Claude Code affiche un avertissement qui nomme le modèle demandé. Les sessions interactives l'affichent comme un avis de démarrage. À partir de v2.1.182, le même avertissement est écrit sur stderr en [mode non interactif](/docs/fr/headless) lors de l'utilisation du format de sortie texte par défaut. La vérification couvre également un `model` défini dans [frontmatter de sous-agent](/docs/fr/sub-agents). L'avertissement stderr est supprimé pour `--output-format json` et `stream-json` ; lisez le modèle réel à partir du champ `modelUsage` du [message de résultat](/docs/fr/headless#get-structured-output) à la place.

181 181 


210 210 

211Claude Code démarre une nouvelle session sur le modèle de la variable uniquement lorsqu'aucun de ces éléments ne sélectionne un modèle :211Claude Code démarre une nouvelle session sur le modèle de la variable uniquement lorsqu'aucun de ces éléments ne sélectionne un modèle :

212 212 

213* L'indicateur `--model`213* Le flag `--model`

214* `ANTHROPIC_MODEL`214* `ANTHROPIC_MODEL`

215* Une valeur `model` dans n'importe quel fichier de paramètres, y compris le choix que vous enregistrez avec `/model`215* Une valeur `model` dans n'importe quel fichier de paramètres, y compris le choix que vous enregistrez avec `/model`

216* Un [modèle par défaut de l'organisation](#organization-default-model)216* Un [modèle par défaut de l'organisation](#organization-default-model)


310* Les sessions [Claude Tag](https://claude.com/docs/claude-tag/overview) s'exécutent dans des environnements cloud mais ne reçoivent pas les paramètres gérés par le serveur ; dans un [environnement auto-hébergé](/docs/fr/self-hosted-environments), elles lisent toujours le fichier de paramètres gérés dans l'image du runner. Pour définir le modèle pour ces sessions, voir [Choisir le modèle pour une portée](https://claude.com/docs/claude-tag/admins/customize#choose-the-model-for-a-scope) dans le guide d'administration Claude Tag.310* Les sessions [Claude Tag](https://claude.com/docs/claude-tag/overview) s'exécutent dans des environnements cloud mais ne reçoivent pas les paramètres gérés par le serveur ; dans un [environnement auto-hébergé](/docs/fr/self-hosted-environments), elles lisent toujours le fichier de paramètres gérés dans l'image du runner. Pour définir le modèle pour ces sessions, voir [Choisir le modèle pour une portée](https://claude.com/docs/claude-tag/admins/customize#choose-the-model-for-a-scope) dans le guide d'administration Claude Tag.

311* Cowork, l'onglet de travail agentique dans l'application Claude Desktop, exécute ses sessions sur Claude Code mais, par conception, ne reçoit pas les paramètres gérés par le serveur de la console d'administration claude.ai. Lorsque la liste `availableModels` dans vos paramètres gérés par le serveur est non vide et qu'un utilisateur choisit un modèle en dehors de celle-ci, le serveur rejette ce modèle pour une session Cowork distante. Un fichier de paramètres gérés s'applique aux sessions Cowork lorsqu'il est présent où la session s'exécute ; les sessions Cowork distantes s'exécutent sur des machines virtuelles gérées par Anthropic, où un fichier déployé sur l'appareil n'est pas présent.311* Cowork, l'onglet de travail agentique dans l'application Claude Desktop, exécute ses sessions sur Claude Code mais, par conception, ne reçoit pas les paramètres gérés par le serveur de la console d'administration claude.ai. Lorsque la liste `availableModels` dans vos paramètres gérés par le serveur est non vide et qu'un utilisateur choisit un modèle en dehors de celle-ci, le serveur rejette ce modèle pour une session Cowork distante. Un fichier de paramètres gérés s'applique aux sessions Cowork lorsqu'il est présent où la session s'exécute ; les sessions Cowork distantes s'exécutent sur des machines virtuelles gérées par Anthropic, où un fichier déployé sur l'appareil n'est pas présent.

312* Les sessions sur [fournisseurs tiers](/docs/fr/server-managed-settings#platform-availability) tels qu'Amazon Bedrock, Agent Platform de Google Cloud, Microsoft Foundry, et [Claude Platform on AWS](/docs/fr/claude-platform-on-aws) ne reçoivent pas les paramètres gérés par le serveur, donc livrez la liste d'autorisation via MDM ou des fichiers de paramètres gérés là-bas.312* Les sessions sur [fournisseurs tiers](/docs/fr/server-managed-settings#platform-availability) tels qu'Amazon Bedrock, Agent Platform de Google Cloud, Microsoft Foundry, et [Claude Platform on AWS](/docs/fr/claude-platform-on-aws) ne reçoivent pas les paramètres gérés par le serveur, donc livrez la liste d'autorisation via MDM ou des fichiers de paramètres gérés là-bas.

313* La livraison gérée par le serveur nécessite également que la session s'authentifie avec une [connexion ou clé éligible](/docs/fr/server-managed-settings#platform-availability). Les flottes qui génèrent des clés uniquement via un script [`apiKeyHelper`](/docs/fr/settings-reference#apikeyhelper) doivent livrer la liste d'autorisation via MDM ou des fichiers de paramètres gérés.313* La livraison depuis la console d'administration nécessite également que la session récupère les paramètres avec une [connexion éligible](/docs/fr/server-managed-settings#platform-availability) à votre organisation ou un jeton OAuth émis pour celle-ci. Pour les flottes qui s'authentifient avec des clés API, qu'elles soient configurées directement ou générées par un script [`apiKeyHelper`](/docs/fr/settings-reference#apikeyhelper), livrez la liste d'autorisation via MDM ou des fichiers de paramètres gérés.

314* L'onglet Code du bureau héberge également les [sessions SSH](/docs/fr/desktop#ssh-sessions), qui lisent le fichier de paramètres gérés à partir de l'hôte distant sur lequel elles s'exécutent. Voir [Paramètres gérés du bureau](/docs/fr/desktop#managed-settings).314* L'onglet Code du bureau héberge également les [sessions SSH](/docs/fr/desktop#ssh-sessions), qui lisent le fichier de paramètres gérés à partir de l'hôte distant sur lequel elles s'exécutent. Voir [Paramètres gérés du bureau](/docs/fr/desktop#managed-settings).

315* Les sélecteurs de modèle sur claude.ai et dans l'application de bureau masquent ou grisent les modèles exclus par la liste d'autorisation de votre organisation. L'état du sélecteur est une commodité pour les utilisateurs ; il n'applique pas la liste d'autorisation.315* Les sélecteurs de modèle sur claude.ai et dans l'application de bureau masquent ou grisent les modèles exclus par la liste d'autorisation de votre organisation. L'état du sélecteur est une commodité pour les utilisateurs ; il n'applique pas la liste d'autorisation.

316 316 


515 515 

516Cela associe le raisonnement d'Opus pour la planification à l'efficacité de Sonnet pour l'exécution.516Cela associe le raisonnement d'Opus pour la planification à l'efficacité de Sonnet pour l'exécution.

517 517 

518La phase Opus en mode plan utilise la même fenêtre de contexte que le paramètre de modèle `opus`, et la phase d'exécution utilise la même fenêtre que `sonnet`. Quand `opus` et `sonnet` se résolvent en modèles qui s'exécutent avec la [fenêtre de contexte de 1M](#extended-context) par défaut, comme le font les modèles actuels sur l'API Anthropic, les deux phases s'exécutent avec elle. Pour demander un contexte de 1M pour les deux phases où ils ne le font pas, [définissez le modèle](#setting-your-model) sur `opusplan[1m]`, par exemple avec `/model opusplan[1m]`. Le définir avec `/model` nécessite Claude Code v2.1.265 ou ultérieure ; sur les versions antérieures, utilisez l'indicateur `--model` ou le paramètre `model` à la place.518La phase Opus en mode plan utilise la même fenêtre de contexte que le paramètre de modèle `opus`, et la phase d'exécution utilise la même fenêtre que `sonnet`. Quand `opus` et `sonnet` se résolvent en modèles qui s'exécutent avec la [fenêtre de contexte de 1M](#extended-context) par défaut, comme le font les modèles actuels sur l'API Anthropic, les deux phases s'exécutent avec elle. Pour demander un contexte de 1M pour les deux phases là où ce n'est pas le cas, [définissez le modèle](#setting-your-model) sur `opusplan[1m]`, par exemple avec `/model opusplan[1m]`. Le définir avec `/model` nécessite Claude Code v2.1.265 ou ultérieure ; sur les versions antérieures, utilisez le flag `--model` ou le paramètre `model` à la place.

519 519 

520Quand [`availableModels`](#restrict-model-selection) exclut le plus récent Opus mais permet une version antérieure, par exemple `["sonnet", "claude-opus-4-6"]`, `opusplan` utilise le plus récent Opus autorisé pour la planification et reste sur Sonnet uniquement quand chaque Opus est exclu. Une session Haiku qui se mettrait normalement à niveau vers Sonnet en mode plan utilise de même le plus récent Sonnet autorisé, et reste sur Haiku uniquement quand chaque Sonnet est exclu. Avant la v2.1.205, le mode plan restait sur le modèle de la session chaque fois que la version la plus récente de la famille de mise à niveau était exclue, même quand la liste d'autorisation permettait une version antérieure.520Quand [`availableModels`](#restrict-model-selection) exclut le plus récent Opus mais permet une version antérieure, par exemple `["sonnet", "claude-opus-4-6"]`, `opusplan` utilise le plus récent Opus autorisé pour la planification et reste sur Sonnet uniquement quand chaque Opus est exclu. Une session Haiku qui se mettrait normalement à niveau vers Sonnet en mode plan utilise de même le plus récent Sonnet autorisé, et reste sur Haiku uniquement quand chaque Sonnet est exclu. Avant la v2.1.205, le mode plan restait sur le modèle de la session chaque fois que la version la plus récente de la famille de mise à niveau était exclue, même quand la liste d'autorisation permettait une version antérieure.

521 521 


527 Chaînes de modèles de secours527 Chaînes de modèles de secours

528</h3>528</h3>

529 529 

530Quand le modèle principal est surchargé, indisponible ou retourne une autre erreur serveur non renouvelable, Claude Code peut basculer vers un modèle de secours au lieu d'échouer la demande. Les erreurs d'authentification, de facturation, de limite de débit, de taille de demande et de transport, et un [refus par la vérification de politique de votre organisation](/docs/fr/errors#automatic-retries), ne déclenchent jamais un basculement ; ceux-ci suivent leur gestion normale des tentatives et des erreurs. Il bascule quand [Amazon Bedrock](/docs/fr/amazon-bedrock#when-a-model-is-disabled-mid-session) ou [Agent Platform de Google Cloud](/docs/fr/google-vertex-ai#when-a-model-is-disabled-mid-session) refuse un modèle que votre compte ne peut pas invoquer, ce que Claude Code traite comme le modèle étant indisponible plutôt que comme une erreur d'authentification.530Quand le modèle principal est surchargé, indisponible ou retourne une autre erreur serveur non renouvelable, Claude Code peut basculer vers un modèle de secours au lieu de faire échouer la requête. Les erreurs d'authentification, de facturation, de limite de débit, de taille de requête et de transport, et un [refus par la vérification de politique de votre organisation](/docs/fr/errors#automatic-retries), ne déclenchent jamais un basculement ; celles-ci suivent leur gestion normale des nouvelles tentatives et des erreurs. Il bascule quand [Amazon Bedrock](/docs/fr/amazon-bedrock#when-a-model-is-disabled-mid-session) ou [Agent Platform de Google Cloud](/docs/fr/google-vertex-ai#when-a-model-is-disabled-mid-session) refuse un modèle que votre compte ne peut pas invoquer, ce que Claude Code traite comme le modèle étant indisponible plutôt que comme une erreur d'authentification.

531 531 

532Configurez un ou plusieurs modèles de secours et Claude Code les essaie dans l'ordre, affichant un avis quand il bascule. Le basculement dure uniquement pour le tour actuel, de sorte que votre prochain message essaie d'abord le modèle principal à nouveau. Claude Code limite les chaînes à trois modèles après suppression des doublons et ignore les entrées supplémentaires.532Configurez un ou plusieurs modèles de secours et Claude Code les essaie dans l'ordre, affichant un avis quand il bascule. Le basculement dure uniquement pour le tour actuel, de sorte que votre prochain message essaie d'abord le modèle principal à nouveau. Claude Code limite les chaînes à trois modèles après suppression des doublons et ignore les entrées supplémentaires.

533 533 

534Définissez une chaîne pour une session avec l'indicateur `--fallback-model`, qui accepte une liste séparée par des virgules :534Définissez une chaîne pour une session avec le flag `--fallback-model`, qui accepte une liste séparée par des virgules :

535 535 

536```bash theme={null}536```bash theme={null}

537claude --fallback-model sonnet,haiku537claude --fallback-model sonnet,haiku

538```538```

539 539 

540Pour persister une chaîne entre les sessions, définissez `fallbackModel` dans [paramètres](/docs/fr/settings) comme un tableau :540Pour persister une chaîne entre les sessions, définissez `fallbackModel` dans les [paramètres](/docs/fr/settings) comme un tableau :

541 541 

542```json theme={null}542```json theme={null}

543{543{


545}545}

546```546```

547 547 

548L'indicateur `--fallback-model` a la priorité sur le paramètre `fallbackModel`. Chaque entrée accepte un nom de modèle ou un alias, et `"default"` se développe en le modèle par défaut.548Le flag `--fallback-model` a la priorité sur le paramètre `fallbackModel`. Chaque entrée accepte un nom de modèle ou un alias, et `"default"` se développe en le modèle par défaut.

549 549 

550Claude Code ne confirme pas la chaîne au démarrage et `/status` ne l'affiche pas. L'avis affiché quand un basculement se produit est le premier signe visible qu'un secours est configuré.550Claude Code ne confirme pas la chaîne au démarrage et `/status` ne l'affiche pas. L'avis affiché quand un basculement se produit est le premier signe visible qu'un secours est configuré.

551 551 

552Quand une demande bascule, Claude Code essaie chaque entrée dans l'ordre jusqu'à ce que l'une l'accepte. Une entrée qui ne peut pas être atteinte non plus, comme un modèle retiré épinglé dans les paramètres, bascule vers la suivante de la même manière. Claude Code supprime deux types d'entrée avant cette traversée :552Quand une requête bascule, Claude Code essaie chaque entrée dans l'ordre jusqu'à ce que l'une l'accepte. Une entrée qui ne peut pas être atteinte non plus, comme un modèle retiré épinglé dans les paramètres, bascule vers la suivante de la même manière. Claude Code supprime deux types d'entrée avant ce parcours :

553 553 

554* **En dehors de la liste d'autorisation** : Claude Code supprime toute entrée non autorisée par [`availableModels`](#restrict-model-selection) quand il lit la chaîne.554* **En dehors de la liste d'autorisation** : Claude Code supprime toute entrée non autorisée par [`availableModels`](#restrict-model-selection) quand il lit la chaîne.

555* **Fenêtre de contexte plus petite lors de la compaction** : la chaîne couvre également la [compaction](/docs/fr/context-window#what-survives-compaction), mais Claude Code ne basculera pas vers un modèle avec une fenêtre de contexte plus petite que celle du modèle principal, car résumer là couperait d'abord une partie de la conversation. Si chaque secours est plus petit, la compaction affiche l'erreur d'origine et vous pouvez réessayer.555* **Fenêtre de contexte plus petite lors de la compaction** : la chaîne couvre également la [compaction](/docs/fr/context-window#what-survives-compaction), mais Claude Code ne basculera pas vers un modèle avec une fenêtre de contexte plus petite que celle du modèle principal, car résumer là couperait d'abord une partie de la conversation. Si chaque modèle de secours est plus petit, la compaction affiche l'erreur d'origine et vous pouvez réessayer.

556 556 

557Claude Code applique également la chaîne aux [sous-agents](/docs/fr/sub-agents). Quand la demande d'un sous-agent bascule, Claude Code essaie vos modèles de secours configurés dans l'ordre, et le sous-agent continue sur le modèle qui accepte la demande. Le modèle de votre session reste inchangé. Avant la v2.1.247, un échec que la chaîne couvre terminait le sous-agent à la place.557Claude Code applique également la chaîne aux [sous-agents](/docs/fr/sub-agents). Quand la requête d'un sous-agent bascule, Claude Code essaie vos modèles de secours configurés dans l'ordre, et le sous-agent continue sur le modèle qui accepte la requête. Le modèle de votre session reste inchangé. Avant la v2.1.247, un échec que la chaîne couvre terminait le sous-agent à la place.

558 558 

559<h3 id="automatic-model-fallback">559<h3 id="automatic-model-fallback">

560 Secours automatique du modèle560 Secours automatique du modèle


562 562 

563Cette section couvre le secours basé sur le contenu des modèles Fable, Opus 5.5, Sonnet 5.5 et Opus 5. Pour le secours basé sur la disponibilité quand un modèle est surchargé ou indisponible, voir [Chaînes de modèles de secours](#fallback-model-chains).563Cette section couvre le secours basé sur le contenu des modèles Fable, Opus 5.5, Sonnet 5.5 et Opus 5. Pour le secours basé sur la disponibilité quand un modèle est surchargé ou indisponible, voir [Chaînes de modèles de secours](#fallback-model-chains).

564 564 

565Les modèles Fable, Opus 5.5, Sonnet 5.5 et Opus 5 s'exécutent avec des classificateurs de sécurité, qui signalent le plus souvent le contenu de cybersécurité et de biologie. Quand un classificateur signale une demande et que la catégorie signalée a un modèle de secours, Claude Code réexécute la demande sur ce modèle et affiche un avis dans la transcription. Pour ces deux catégories, le modèle de secours dépend du modèle qui a refusé :565Les modèles Fable, Opus 5.5, Sonnet 5.5 et Opus 5 s'exécutent avec des classifieurs de sécurité, qui signalent le plus souvent le contenu de cybersécurité et de biologie. Pour ces deux catégories, le modèle de secours dépend du modèle qui a refusé :

566 566 

567* **Fable 5.1, Fable 5 et Opus 5.5** : les demandes signalées pour biologie se réexécutent sur Opus 5, et les demandes signalées pour cybersécurité se réexécutent sur Opus 4.8.567* **Fable 5.1, Fable 5 et Opus 5.5** : les requêtes signalées pour biologie se réexécutent sur Opus 5, et les requêtes signalées pour cybersécurité se réexécutent sur Opus 4.8.

568* **Sonnet 5.5** : les demandes signalées pour cybersécurité se réexécutent sur Sonnet 5. Les demandes signalées pour biologie se terminent par un refus à la place, car Sonnet 5.5 n'a pas de modèle de secours pour la biologie.568* **Sonnet 5.5** : les requêtes signalées pour cybersécurité se réexécutent sur Sonnet 5. Les requêtes signalées pour biologie se terminent par un refus à la place, car Sonnet 5.5 n'a pas de modèle de secours pour la biologie.

569* **Opus 5** : les demandes signalées pour cybersécurité se réexécutent sur Opus 4.8. Les demandes signalées pour biologie se terminent par un refus à la place, car Opus 5 exécute ses propres classificateurs de biologie sans modèle de secours.569* **Opus 5** : les requêtes signalées pour cybersécurité se réexécutent sur Opus 4.8. Les requêtes signalées pour biologie se terminent par un refus à la place, car Opus 5 exécute ses propres classifieurs de biologie sans modèle de secours.

570 570 

571Sur Amazon Bedrock, Agent Platform de Google Cloud et Microsoft Foundry, Claude Code résout ces cibles via les ID de modèle de votre déploiement à la place. Voir [Activer le secours sur Bedrock, Agent Platform et Foundry](#enable-fallback-on-bedrock-agent-platform-and-foundry).571Sur Amazon Bedrock, Agent Platform de Google Cloud et Microsoft Foundry, Claude Code résout ces cibles via les ID de modèle de votre déploiement à la place. Voir [Activer le secours sur Bedrock, Agent Platform et Foundry](#enable-fallback-on-bedrock-agent-platform-and-foundry).

572 572 

573Quand Claude Code bascule une requête signalée vers le modèle de secours de sa catégorie, il réexécute la requête sur ce modèle. Dans votre conversation principale, il affiche un avis dans la transcription. Pour être consulté d'abord, voir [Demander avant de basculer](#ask-before-switching).

574 

573Après un secours, la session continue sur le modèle de secours. Pour revenir à votre modèle d'origine, exécutez [`/model`](#setting-your-model).575Après un secours, la session continue sur le modèle de secours. Pour revenir à votre modèle d'origine, exécutez [`/model`](#setting-your-model).

574 576 

575Le secours basé sur les catégories nécessite Claude Code v2.1.219 ou ultérieure. Avant la v2.1.219, chaque demande Fable 5 signalée se réexécutait sur le modèle Opus par défaut de votre fournisseur, et Opus 5 n'était pas une source de secours.577Le secours basé sur les catégories nécessite Claude Code v2.1.219 ou ultérieure. Avant la v2.1.219, chaque requête Fable 5 signalée se réexécutait sur le modèle Opus par défaut de votre fournisseur, et Opus 5 n'était pas une source de secours.

576 578 

577Le modèle de secours est vérifié par rapport à [`availableModels`](#restrict-model-selection). Quand il est bloqué, aucun secours ne se produit. Le refus est affiché comme une erreur normale et le modèle de la session reste inchangé.579Le modèle de secours est vérifié par rapport à [`availableModels`](#restrict-model-selection). Quand il est bloqué, aucun secours ne se produit. Le refus est affiché comme une erreur normale et le modèle de la session reste inchangé.

578 580 


580 Niveau d'effort après un secours582 Niveau d'effort après un secours

581</h4>583</h4>

582 584 

583Quand Claude Code bascule votre session vers le modèle de secours, il conserve le niveau d'effort auquel la requête signalée s'est exécutée au lieu de l'effort par défaut de ce modèle. Par exemple, une session sur Opus 5.5 à son niveau par défaut `medium` qui bascule sur Opus 4.8 reste à `medium`, bien qu'Opus 4.8 soit par défaut à `high`.585Quand Claude Code bascule votre session vers le modèle de secours, il conserve le niveau d'effort auquel la requête signalée s'est exécutée. Par exemple, une session sur Opus 5.5 à son niveau par défaut `medium` qui bascule sur Opus 4.8 reste à `medium`, bien qu'Opus 4.8 soit par défaut à `high`.

584 586 

585Un niveau différent s'applique dans des cas comme ceux-ci :587Un niveau différent s'applique dans des cas comme ceux-ci :

586 588 

587* **Paramètres ou défaut de l'organisation** : un niveau dans vos paramètres qui s'applique au modèle de secours, ou un effort par défaut que votre organisation a défini pour lui, s'applique à la place.

588* **Votre propre modification** : dès que vous choisissez un niveau d'effort, sélectionnez un modèle dans `/model` ou reprenez la session plus tard, le niveau de la requête signalée n'est plus reporté.589* **Votre propre modification** : dès que vous choisissez un niveau d'effort, sélectionnez un modèle dans `/model` ou reprenez la session plus tard, le niveau de la requête signalée n'est plus reporté.

589* **Effort du skill** : un niveau que le frontmatter `effort` d'un skill a défini pour la requête signalée s'applique à ce tour, et les tours suivants s'exécutent au niveau que l'[ordre de résolution de l'effort](#adjust-effort-level) attribue au modèle de secours.590* **Effort du skill** : un niveau que le frontmatter `effort` d'un skill a défini pour la requête signalée s'applique à ce tour, et les tours suivants s'exécutent au niveau que l'[ordre de résolution de l'effort](#adjust-effort-level) attribue au modèle de secours.

590 591 

591L'en-tête de session affiche le niveau en vigueur à côté du nom du modèle. Pour le modifier, exécutez `/effort` dans la session.592Dans la session, exécutez `/effort status` pour voir le niveau en vigueur, ou `/effort` pour le modifier.

592 593 

593<h4 id="check-what-triggered-fallback">594<h4 id="check-what-triggered-fallback">

594 Vérifier ce qui a déclenché le secours595 Vérifier ce qui a déclenché le secours

595</h4>596</h4>

596 597 

597Le secours peut se déclencher à la première demande d'une session, avant que vous n'envoyiez quelque chose d'inhabituel, car la première demande porte le contexte de l'espace de travail comme votre contenu CLAUDE.md et l'état git. Un référentiel qui contient du matériel de sécurité ou de biologie peut déclencher le classificateur sur ce contexte seul.598Le secours peut se déclencher à la première requête d'une session, avant que vous n'envoyiez quelque chose d'inhabituel, car la première requête porte le contexte de l'espace de travail comme votre contenu CLAUDE.md et l'état git. Un dépôt qui contient du matériel de sécurité ou de biologie peut déclencher le classifieur sur ce contexte seul.

598 599 

599Pour vérifier si les personnalisations sont le déclencheur, démarrez une session avec `claude --safe-mode`, qui désactive les personnalisations comme CLAUDE.md, les skills, les serveurs MCP et les hooks. L'état git et les noms de répertoires ne sont pas des personnalisations et sont toujours inclus.600Pour vérifier si les personnalisations sont le déclencheur, démarrez une session avec `claude --safe-mode`, qui désactive les personnalisations comme CLAUDE.md, les skills, les serveurs MCP et les hooks. L'état git et les noms de répertoires ne sont pas des personnalisations et sont toujours inclus.

600 601 


602 Demander avant de basculer603 Demander avant de basculer

603</h4>604</h4>

604 605 

605Pour décider ce qui se passe chaque fois qu'une demande est signalée, plutôt que de basculer automatiquement, exécutez `/config` et désactivez **Basculer les modèles quand un message est signalé**, ou définissez [`switchModelsOnFlag`](/docs/fr/settings-reference#switchmodelsonflag) sur `false` dans votre fichier de paramètres. Une demande signalée met alors la session en pause avec deux options : basculer vers le modèle de secours, ou modifier l'invite et réessayer sur le modèle actuel.606Pour décider de ce qui se passe chaque fois qu'une requête est signalée, exécutez `/config`, sélectionnez **Switch models when a message is flagged**, puis choisissez **Ask each time**. Vous pouvez également définir [`switchModelsOnFlag`](/docs/fr/settings-reference#switchmodelsonflag) sur `false` dans votre fichier de paramètres. Claude Code se met alors en pause à une requête signalée qui changerait de modèle et vous propose deux options : basculer vers le modèle de secours, ou modifier le prompt et réessayer.

607 

608La première fois qu'une requête signalée changerait de modèle dans une session interactive, Claude Code peut vous demander s'il doit basculer automatiquement à partir de ce moment. Il ne le demande que si vous n'avez pas défini `switchModelsOnFlag`, et il enregistre votre choix sous cette clé dans vos paramètres utilisateur.

609 

610Si vous choisissez plutôt de rester sur le modèle actuel, la valeur enregistrée est `false`, comme pour **Ask each time**. Si vous ignorez la question, Claude Code n'enregistre rien et la pose à nouveau la prochaine fois qu'une requête signalée changerait de modèle.

606 611 

607Certains cas se comportent différemment :612Quand vous avez choisi **Ask each time**, certains cas se comportent différemment :

608 613 

609* Quand la catégorie signalée n'a pas de modèle de secours, comme un signal de biologie sur Opus 5 ou Sonnet 5.5, Claude Code n'affiche pas l'invite et la demande se termine par le refus.614* Quand la catégorie signalée n'a pas de modèle de secours, comme un signal de biologie sur Opus 5 ou Sonnet 5.5, Claude Code n'affiche pas la demande et la requête se termine par le refus.

610* Si les deux modèles signalent la même demande, vous pouvez modifier l'invite et réessayer, ou démarrer une nouvelle session.615* Si les deux modèles signalent la même requête, vous pouvez modifier le prompt et réessayer, ou démarrer une nouvelle session.

611* Sur les sessions mobiles [Claude Code sur le web](/docs/fr/claude-code-on-the-web), la modification et la nouvelle tentative ne sont pas prises en charge. Basculez les modèles, ou continuez la session à partir d'un navigateur de bureau ou de l'application de bureau.616* Dans les [sessions cloud](/docs/fr/claude-code-on-the-web) sur l'application mobile, la modification et la nouvelle tentative ne sont pas prises en charge. Changez de modèle, ou continuez la session à partir d'un navigateur de bureau ou de l'application de bureau.

612* En [mode non interactif](/docs/fr/cli-reference#cli-flags) et les intégrations SDK qui ne peuvent pas afficher l'invite, une demande signalée termine le tour par un refus à la place.617* En [mode non interactif](/docs/fr/cli-reference#cli-flags) et dans les intégrations SDK qui ne peuvent pas afficher la demande, une requête signalée termine le tour par un refus à la place.

613* Quand la cible de secours est bloquée par [`availableModels`](#restrict-model-selection), Claude Code n'affiche pas l'invite. La demande signalée se termine par le refus, de la même manière que le secours automatique quand la cible est bloquée.618* Dans un [sous-agent](/docs/fr/sub-agents), Claude Code n'affiche pas la demande, et une requête signalée qui changerait de modèle se réexécute sur le modèle de secours.

619* Quand la cible de secours est bloquée par [`availableModels`](#restrict-model-selection), Claude Code n'affiche pas la demande. La requête signalée se termine par le refus, de la même manière que le secours automatique quand la cible est bloquée.

614 620 

615<h4 id="enable-fallback-on-bedrock-agent-platform-and-foundry">621<h4 id="enable-fallback-on-bedrock-agent-platform-and-foundry">

616 Activer le secours sur Bedrock, Agent Platform et Foundry622 Activer le secours sur Bedrock, Agent Platform et Foundry

617</h4>623</h4>

618 624 

619Sur [Amazon Bedrock](/docs/fr/amazon-bedrock), [Agent Platform de Google Cloud](/docs/fr/google-vertex-ai) et [Microsoft Foundry](/docs/fr/microsoft-foundry), les ID de modèle sont spécifiques au fournisseur, de sorte que le secours automatique ne fonctionne que quand Claude Code peut identifier les deux modèles impliqués :625Sur [Amazon Bedrock](/docs/fr/amazon-bedrock), [Agent Platform de Google Cloud](/docs/fr/google-vertex-ai) et [Microsoft Foundry](/docs/fr/microsoft-foundry), les ID de modèle sont spécifiques au fournisseur, de sorte que le secours automatique ne fonctionne que quand Claude Code peut identifier chaque modèle impliqué :

620 626 

621* Claude Code doit reconnaître le modèle actuel comme une source de secours. Fable 5.1 et Fable 5 sont reconnus quand l'ID de modèle contient `claude-fable-5`, correspond à la valeur de `ANTHROPIC_DEFAULT_FABLE_MODEL`, ou est mappé avec [`modelOverrides`](#override-model-ids-per-version). Opus 5.5, Sonnet 5.5 et Opus 5 sont reconnus par leur ID de modèle du fournisseur ou un mappage [`modelOverrides`](#override-model-ids-per-version).627* Claude Code doit reconnaître le modèle actuel comme une source de secours. Fable 5.1 et Fable 5 sont reconnus quand l'ID de modèle contient `claude-fable-5`, correspond à la valeur de `ANTHROPIC_DEFAULT_FABLE_MODEL`, ou est mappé avec [`modelOverrides`](#override-model-ids-per-version). Opus 5.5, Sonnet 5.5 et Opus 5 sont reconnus par leur ID de modèle du fournisseur ou un mappage [`modelOverrides`](#override-model-ids-per-version).

622* Une cible Opus doit se résoudre dans votre déploiement, quel que soit le modèle qui a refusé : définissez `ANTHROPIC_DEFAULT_OPUS_MODEL`, ou conservez une entrée Opus 4.8 dans la liste des modèles du fournisseur. Sans une, le secours reste désactivé pour chaque modèle source, y compris Sonnet 5.5, et les demandes signalées se terminent par un refus.628* Une cible Opus doit se résoudre dans votre déploiement, quel que soit le modèle qui a refusé : définissez `ANTHROPIC_DEFAULT_OPUS_MODEL`, ou conservez une entrée Opus 4.8 dans la liste des modèles du fournisseur. Sans cela, le secours reste désactivé pour chaque modèle source, y compris Sonnet 5.5, et les requêtes signalées se terminent par un refus.

623* Le modèle de secours de la catégorie signalée doit se résoudre dans votre déploiement. À partir d'un modèle Fable, Opus 5.5 ou Opus 5, si vous définissez `ANTHROPIC_DEFAULT_OPUS_MODEL`, les demandes signalées se réexécutent sur ce modèle pour chaque catégorie qui a un secours ; un signal de biologie sur Opus 5 se termine toujours par un refus. Si vous ne le définissez pas, les demandes signalées pour cybersécurité se réexécutent sur l'entrée Opus 4.8, et les demandes signalées pour biologie d'un modèle Fable ou Opus 5.5 sur une entrée Opus 5. À partir de Sonnet 5.5, les demandes signalées pour cybersécurité se réexécutent sur le modèle que vous avez défini dans `ANTHROPIC_DEFAULT_SONNET_MODEL`, ou sur une entrée Sonnet 5 dans la liste des modèles du fournisseur si vous ne le définissez pas.629* Le modèle de secours de la catégorie signalée doit se résoudre dans votre déploiement. À partir d'un modèle Fable, Opus 5.5 ou Opus 5, si vous définissez `ANTHROPIC_DEFAULT_OPUS_MODEL`, les requêtes signalées se réexécutent sur ce modèle pour chaque catégorie qui a un secours ; un signal de biologie sur Opus 5 se termine toujours par un refus. Si vous ne le définissez pas, les requêtes signalées pour cybersécurité se réexécutent sur l'entrée Opus 4.8, et les requêtes signalées pour biologie d'un modèle Fable ou d'Opus 5.5 sur une entrée Opus 5. À partir de Sonnet 5.5, les requêtes signalées pour cybersécurité se réexécutent sur le modèle que vous avez défini dans `ANTHROPIC_DEFAULT_SONNET_MODEL`, ou sur une entrée Sonnet 5 dans la liste des modèles du fournisseur si vous ne le définissez pas.

624 630 

625Si l'un ou l'autre modèle ne peut pas être identifié, Claude Code ne bascule pas. La demande signalée se termine par un message de refus, et vous pouvez basculer les modèles avec [`/model`](#setting-your-model) et réessayer. Pour rendre les deux modèles identifiables, définissez les épingles pour votre modèle source :631Si l'un ou l'autre modèle ne peut pas être identifié, Claude Code ne bascule pas. La requête signalée se termine par un message de refus, et vous pouvez changer de modèle avec [`/model`](#setting-your-model) et réessayer. Pour rendre les deux modèles identifiables, définissez les épingles pour votre modèle source :

626 632 

627* **Modèles Fable** : définissez `ANTHROPIC_DEFAULT_FABLE_MODEL` sur votre ID de modèle Fable pour que Claude Code le reconnaisse comme une source de secours.633* **Modèles Fable** : définissez `ANTHROPIC_DEFAULT_FABLE_MODEL` sur votre ID de modèle Fable pour que Claude Code le reconnaisse comme une source de secours.

628* **Chaque modèle source** : définissez `ANTHROPIC_DEFAULT_OPUS_MODEL` sur un ID de modèle Opus pour activer le secours et donner aux catégories signalées une cible. Une épingle qui nomme un modèle en dehors de la famille Opus, ou le modèle qui a refusé, laisse le refus tenir.634* **Chaque modèle source** : définissez `ANTHROPIC_DEFAULT_OPUS_MODEL` sur un ID de modèle Opus pour activer le secours et donner aux catégories signalées une cible. Une épingle qui nomme un modèle en dehors de la famille Opus, ou le modèle qui a refusé, laisse le refus en place.

629* **Sonnet 5.5** : en plus de l'épingle Opus, définissez `ANTHROPIC_DEFAULT_SONNET_MODEL` ou conservez une entrée Sonnet 5 dans la liste des modèles du fournisseur pour fournir le modèle sur lequel la demande se réexécute. Une épingle Sonnet qui nomme un modèle en dehors de la famille Sonnet, ou Sonnet 5.5 lui-même, laisse le refus tenir.635* **Sonnet 5.5** : en plus de l'épingle Opus, définissez `ANTHROPIC_DEFAULT_SONNET_MODEL` ou conservez une entrée Sonnet 5 dans la liste des modèles du fournisseur pour fournir le modèle sur lequel la requête se réexécute. Une épingle Sonnet qui nomme un modèle en dehors de la famille Sonnet, ou Sonnet 5.5 lui-même, laisse le refus en place.

636 

637Le modèle de secours doit également avoir une fenêtre de contexte au moins aussi grande que celle de la session, sinon Claude Code ne bascule pas et la requête signalée se termine par le même refus. Sur ces fournisseurs, les modèles sources s'exécutent avec la [fenêtre de contexte de 1M](#extended-context) par défaut. Épinglez un modèle qui le fait également, comme Opus 4.8 dans `ANTHROPIC_DEFAULT_OPUS_MODEL` ou Sonnet 5 dans `ANTHROPIC_DEFAULT_SONNET_MODEL`, par un ID que Claude Code [peut faire correspondre à ce modèle](#pin-models-for-third-party-deployments).

630 638 

631<h4 id="security-research-and-biology-workloads">639<h4 id="security-research-and-biology-workloads">

632 Recherche en sécurité et charges de travail en biologie640 Recherche en sécurité et charges de travail en biologie

633</h4>641</h4>

634 642 

635Les charges de travail en sécurité offensive ou en biologie, y compris les tests de pénétration, les exercices Capture the Flag (CTF) et les bases de code adjacentes à la biologie, déclenchent fréquemment le secours, souvent à la première demande. Pour un travail substantiel en biologie sur Fable 5.1, Fable 5 ou Opus 5.5, Claude Code déplace la session vers Opus 5 à la première demande signalée, et les demandes signalées pour biologie ultérieures se terminent par des refus là, car Opus 5 n'a pas de secours pour la biologie. Sur Opus 5 et Sonnet 5.5, vous obtenez ces refus à partir de la première demande signalée.643Les charges de travail en sécurité offensive ou en biologie, y compris les tests de pénétration, les exercices Capture the Flag (CTF) et les bases de code adjacentes à la biologie, déclenchent fréquemment le secours, souvent à la première requête. Pour un travail substantiel en biologie sur Fable 5.1, Fable 5 ou Opus 5.5, la première requête signalée qui change de modèle déplace la session vers Opus 5, et les requêtes signalées pour biologie ultérieures s'y terminent par des refus, car Opus 5 n'a pas de secours pour la biologie. Sur Opus 5 et Sonnet 5.5, vous obtenez ces refus dès la première requête signalée.

636 644 

637C'est un routage attendu pour ces domaines, pas un signal de compte. Si votre organisation a besoin de la capacité de classe Fable pour ce travail, demandez à votre équipe de compte Anthropic les programmes d'accès de confiance.645C'est un routage attendu pour ces domaines, pas un signal de compte. Si votre organisation a besoin de la capacité de classe Fable pour ce travail, demandez à votre équipe de compte Anthropic les programmes d'accès de confiance.

638 646 


640 Ajuster le niveau d'effort648 Ajuster le niveau d'effort

641</h3>649</h3>

642 650 

643Les [niveaux d'effort](https://platform.claude.com/docs/en/build-with-claude/effort) contrôlent le raisonnement adaptatif, qui permet au modèle de décider si et combien penser à chaque étape en fonction de la complexité de la tâche. Un effort inférieur est plus rapide et moins cher pour les tâches simples, tandis qu'un effort supérieur fournit un raisonnement plus profond pour les problèmes complexes.651Les [niveaux d'effort](https://platform.claude.com/docs/en/build-with-claude/effort) contrôlent le raisonnement adaptatif, qui permet au modèle de décider s'il doit réfléchir, et dans quelle mesure, à chaque étape en fonction de la complexité de la tâche. Un effort inférieur est plus rapide et moins cher pour les tâches simples, tandis qu'un effort supérieur fournit un raisonnement plus profond pour les problèmes complexes.

644 652 

645Les niveaux d'effort disponibles dépendent du modèle. Les modèles non énumérés ici ne supportent pas l'effort :653Les niveaux d'effort disponibles dépendent du modèle. Les modèles non énumérés ici ne supportent pas l'effort :

646 654 


650| Opus 5.5, Sonnet 5.5, Haiku 5.5, Opus 5, Sonnet 5, Opus 4.8 et Opus 4.7 | `low`, `medium`, `high`, `xhigh`, `max` |658| Opus 5.5, Sonnet 5.5, Haiku 5.5, Opus 5, Sonnet 5, Opus 4.8 et Opus 4.7 | `low`, `medium`, `high`, `xhigh`, `max` |

651| Opus 4.6 et Sonnet 4.6 | `low`, `medium`, `high`, `max` |659| Opus 4.6 et Sonnet 4.6 | `low`, `medium`, `high`, `max` |

652 660 

653Si vous définissez un niveau que le modèle actif ne supporte pas, Claude Code revient au niveau le plus élevé supporté au niveau ou en dessous de celui que vous avez défini. Par exemple, `xhigh` s'exécute comme `high` sur Opus 4.6. Votre organisation ou vos propres paramètres peuvent également limiter les niveaux qu'un modèle offre ; voir [Limites d'effort de l'organisation](#organization-effort-limits).661Si vous définissez un niveau que le modèle actif ne supporte pas, Claude Code se rabat sur le niveau le plus élevé supporté égal ou inférieur à celui que vous avez défini. Par exemple, `xhigh` s'exécute comme `high` sur Opus 4.6. Votre organisation ou vos propres paramètres peuvent également limiter les niveaux qu'un modèle offre ; voir [Limites d'effort de l'organisation](#organization-effort-limits).

654 662 

655Claude Code résout le niveau d'effort de la session dans cet ordre, en prenant le premier qui s'applique :663Claude Code résout le niveau d'effort de la session dans cet ordre, en prenant le premier qui s'applique :

656 664 

6571. Un choix explicite : la variable d'environnement [`CLAUDE_CODE_EFFORT_LEVEL`](/docs/fr/env-vars#variables), le lancement avec `--effort`, ou `/effort` dans la session ([un `/effort` non interactif a un effet plus étroit](#non-interactive-effort))6651. Un choix explicite : la variable d'environnement [`CLAUDE_CODE_EFFORT_LEVEL`](/docs/fr/env-vars#variables), le lancement avec `--effort`, ou `/effort` dans la session ([un `/effort` non interactif a un effet plus étroit](#non-interactive-effort))

6582. Vos paramètres : le niveau que vous avez enregistré pour le modèle ou une clé [`effortLevel`](/docs/fr/settings-reference#effortlevel), avec la priorité entre eux et entre les fichiers de paramètres énoncée à [`modelSettings`](/docs/fr/settings-reference#modelsettings)6662. Vos paramètres : le niveau que vous avez enregistré pour le modèle ou une clé [`effortLevel`](/docs/fr/settings-reference#effortlevel), avec la priorité entre eux et entre les fichiers de paramètres énoncée à [`modelSettings`](/docs/fr/settings-reference#modelsettings)

6593. L'effort par défaut du modèle : `high` sur chaque modèle qui supporte l'effort, sauf qu'Opus 5.5, Sonnet 5.5 et Haiku 5.5 sont par défaut à `medium`, Opus 4.7 est par défaut à `xhigh`, et, quand votre organisation définit un niveau d'effort par défaut pour son [modèle par défaut de l'organisation](#organization-default-model), ce niveau est le défaut quand vous exécutez ce modèle. Après un secours automatique du modèle, voir [Niveau d'effort après un secours](#effort-level-after-a-fallback) pour le niveau qui s'applique.6673. L'effort par défaut du modèle : `high` sur chaque modèle qui prend en charge l'effort, sauf qu'Opus 5.5, Sonnet 5.5 et Haiku 5.5 sont par défaut à `medium`, Opus 4.7 est par défaut à `xhigh`, et, quand votre organisation définit un niveau d'effort par défaut pour son [modèle par défaut de l'organisation](#organization-default-model), ce niveau est le niveau par défaut quand vous exécutez ce modèle

668 

669Après un secours automatique du modèle, voir [Niveau d'effort après un secours](#effort-level-after-a-fallback) pour le niveau qui s'applique.

660 670 

661Opus 5.5 démarre à `medium` sauf si l'une des sources ci-dessus définit un niveau pour lui, et un `effortLevel` de niveau supérieur dans votre fichier de paramètres utilisateur ne compte pas pour Opus 5.5. Cette clé est la forme plus ancienne que `/effort` écrivait avant que Claude Code enregistre les niveaux par modèle : elle continue à s'appliquer où elle s'appliquait avant, sur Opus 5, Fable 5.1 et les modèles antérieurs, tandis qu'Opus 5.5 et les modèles publiés après lui démarrent à leur propre défaut jusqu'à ce que vous choisissiez un niveau pour eux avec `/effort` ou le sélecteur `/model`. Un `effortLevel` de niveau supérieur dans les paramètres de projet, locaux ou gérés, ou un passé avec `--settings`, s'applique à chaque modèle.671Opus 5.5 démarre à `medium` sauf si l'une des sources ci-dessus définit un niveau pour lui, et un `effortLevel` de niveau supérieur dans votre fichier de paramètres utilisateur ne compte pas pour Opus 5.5. Cette clé est la forme plus ancienne que `/effort` écrivait avant que Claude Code enregistre les niveaux par modèle : elle continue à s'appliquer là où elle s'appliquait avant, sur Opus 5, Fable 5.1 et les modèles antérieurs, tandis qu'Opus 5.5 et les modèles publiés après lui démarrent à leur propre défaut jusqu'à ce que vous choisissiez un niveau pour eux avec `/effort` ou le sélecteur `/model`. Un `effortLevel` de niveau supérieur dans les paramètres de projet, locaux ou gérés, ou passé avec `--settings`, s'applique à chaque modèle.

662 672 

663Quand vous définissez `low`, `medium`, `high` ou `xhigh` dans une session interactive sur votre machine, vous choisissez combien de temps cela dure en comment vous le confirmez :673Quand vous définissez `low`, `medium`, `high` ou `xhigh` dans une session interactive sur votre machine, vous choisissez sa durée par la manière dont vous le confirmez :

664 674 

665* `Entrée` dans le curseur `/effort` ou le sélecteur `/model`, ou un niveau tapé après `/effort` : enregistrez le niveau comme votre défaut et appliquez-le dans les sessions ultérieures675* `Entrée` dans le curseur `/effort` ou le sélecteur `/model`, ou un niveau tapé après `/effort` : enregistre le niveau comme votre défaut et l'applique dans les sessions ultérieures

666* `s` dans le curseur `/effort` ou le sélecteur `/model` : appliquez le niveau à cette session uniquement. Nécessite Claude Code v2.1.257 ou ultérieure676* `s` dans le curseur `/effort` ou le sélecteur `/model` : applique le niveau à cette session uniquement. Nécessite Claude Code v2.1.257 ou ultérieure

667 677 

668Claude Code enregistre le niveau par modèle, sous la clé [`modelSettings`](/docs/fr/settings-reference#modelsettings) dans vos paramètres utilisateur, de sorte que chaque modèle conserve son propre niveau enregistré.678Claude Code enregistre le niveau par modèle, sous la clé [`modelSettings`](/docs/fr/settings-reference#modelsettings) dans vos paramètres utilisateur, de sorte que chaque modèle conserve son propre niveau enregistré.

669 679 

670`max` est le niveau de raisonnement le plus profond. À moins que vous ne le définissiez via la variable d'environnement `CLAUDE_CODE_EFFORT_LEVEL`, Claude Code applique `max` à la session actuelle uniquement.680`max` est le niveau de raisonnement le plus profond. À moins que vous ne le définissiez via la variable d'environnement `CLAUDE_CODE_EFFORT_LEVEL`, Claude Code applique `max` à la session actuelle uniquement.

671 681 

672<Note>682<Note>

673 Un niveau que vous choisissez à partir du contrôle d'effort sur un téléphone ou un navigateur connecté via [Contrôle à distance](/docs/fr/remote-control#what-connected-devices-see) s'applique à cette session uniquement.683 Un niveau que vous choisissez à partir du contrôle d'effort sur un téléphone ou un navigateur connecté via [Remote Control](/docs/fr/remote-control#what-connected-devices-see) s'applique à cette session uniquement.

674</Note>684</Note>

675 685 

676<span id="non-interactive-effort" />686<span id="non-interactive-effort" />

677 687 

678Quand vous définissez un niveau avec `/effort` dans une exécution [`-p`](/docs/fr/headless), Claude Code l'applique à cette session uniquement et ne l'enregistre pas comme votre défaut.688Quand vous définissez un niveau avec `/effort` dans une exécution [`-p`](/docs/fr/headless), Claude Code l'applique à cette session uniquement et ne l'enregistre pas comme votre défaut.

679 689 

680Le curseur `/effort` a également un basculement **Ultracode**. Ultracode est un paramètre Claude Code plutôt qu'un niveau d'effort du modèle : avec lui activé, Claude orchestre les [flux de travail dynamiques](/docs/fr/workflows) pour les tâches substantielles, à quel que soit le niveau d'effort auquel la session s'exécute. Pour où il peut être défini de manière persistante, voir le paramètre [`ultracode`](/docs/fr/settings-reference#ultracode).690Le curseur `/effort` a également un interrupteur **Ultracode**. Ultracode est un paramètre Claude Code plutôt qu'un niveau d'effort du modèle : lorsqu'il est activé, Claude orchestre des [workflows dynamiques](/docs/fr/workflows) pour les tâches substantielles, quel que soit le niveau d'effort auquel la session s'exécute. Pour savoir où il peut être défini de manière persistante, voir le paramètre [`ultracode`](/docs/fr/settings-reference#ultracode).

681 691 

682Activer ou désactiver ultracode avec `/effort` ou le paramètre `ultracode` laisse le niveau d'effort inchangé. L'indicateur `--effort ultracode` et la valeur Agent SDK `effortLevel: "ultracode"` l'activent et définissent également le niveau sur `xhigh`. Choisir un niveau dans le curseur `/effort` ou le sélecteur `/model` laisse ultracode comme il était.692Activer ou désactiver ultracode avec `/effort` ou le paramètre `ultracode` laisse le niveau d'effort inchangé. Le flag `--effort ultracode` et la valeur Agent SDK `effortLevel: "ultracode"` l'activent et définissent également le niveau sur `xhigh`. Choisir un niveau dans le curseur `/effort` ou le sélecteur `/model` laisse ultracode dans son état.

683 693 

684Vous pouvez activer ultracode via l'une des options suivantes :694Vous pouvez activer ultracode via l'une des options suivantes :

685 695 

686* **`/effort`** : exécutez `/effort ultracode` pour l'activer pour la session actuelle ou `/effort ultracode off` pour le désactiver. Dans le curseur `/effort`, appuyez sur `Tab` pour basculer le basculement **Ultracode**, puis `Entrée` pour l'appliquer696* **`/effort`** : exécutez `/effort ultracode` pour l'activer pour la session actuelle ou `/effort ultracode off` pour le désactiver. Dans le curseur `/effort`, appuyez sur `Tab` pour basculer l'interrupteur **Ultracode**, puis sur `Entrée` pour l'appliquer

687* **Indicateur `--effort`** : lancez avec `claude --effort ultracode`, qui démarre la session à l'effort `xhigh` avec ultracode activé697* **Flag `--effort`** : lancez avec `claude --effort ultracode`, qui démarre la session à l'effort `xhigh` avec ultracode activé

688* **Paramètre `ultracode`** : définissez [`"ultracode": true`](/docs/fr/settings-reference#ultracode) dans un fichier de paramètres, avec `--settings`, ou dans une demande de contrôle Agent SDK. Une demande [`applyFlagSettings()`](/docs/fr/agent-sdk/typescript#applyflagsettings) accepte également `effortLevel: "ultracode"`, qui l'active et définit le niveau d'effort sur `xhigh`698* **Paramètre `ultracode`** : définissez [`"ultracode": true`](/docs/fr/settings-reference#ultracode) dans un fichier de paramètres, avec `--settings`, ou dans une requête de contrôle Agent SDK. Une requête [`applyFlagSettings()`](/docs/fr/agent-sdk/typescript#applyflagsettings) accepte également `effortLevel: "ultracode"`, qui l'active et définit le niveau d'effort sur `xhigh`

689 699 

690La forme `/effort ultracode off`, le basculement du curseur et le maintien d'ultracode activé aux niveaux d'effort autres que `xhigh` nécessitent Claude Code v2.1.284 ou ultérieure. Avant la v2.1.284, l'activation d'ultracode définissait la session sur l'effort `xhigh`, choisir un autre niveau le désactivait, et un plafond d'effort en dessous de `xhigh` le rendait indisponible.700La forme `/effort ultracode off`, l'interrupteur du curseur et le maintien d'ultracode activé aux niveaux d'effort autres que `xhigh` nécessitent Claude Code v2.1.284 ou ultérieure. Avant la v2.1.284, l'activation d'ultracode définissait la session sur l'effort `xhigh`, choisir un autre niveau le désactivait, et un plafond d'effort inférieur à `xhigh` le rendait indisponible.

691 701 

692Passer `ultracode` à l'indicateur `--effort` ou à la valeur Agent SDK `effortLevel` nécessite Claude Code v2.1.203 ou ultérieure. Avant la v2.1.203, `--effort ultracode` imprimait `Unknown --effort value 'ultracode'` et la session démarrait à l'effort par défaut.702Passer `ultracode` au flag `--effort` ou à la valeur Agent SDK `effortLevel` nécessite Claude Code v2.1.203 ou ultérieure. Avant la v2.1.203, `--effort ultracode` affichait `Unknown --effort value 'ultracode'` et la session démarrait à l'effort par défaut.

693 703 

694Le paramètre `effortLevel` persisté et la variable d'environnement `CLAUDE_CODE_EFFORT_LEVEL` n'acceptent pas `ultracode`. Si `CLAUDE_CODE_EFFORT_LEVEL` ou un [plafond d'effort](#organization-effort-limits) définit le niveau de la session, ultracode reste activé à ce niveau.704Le paramètre `effortLevel` persisté et la variable d'environnement `CLAUDE_CODE_EFFORT_LEVEL` n'acceptent pas `ultracode`. Si `CLAUDE_CODE_EFFORT_LEVEL` ou un [plafond d'effort](#organization-effort-limits) définit le niveau de la session, ultracode reste activé à ce niveau.

695 705 


697 707 

698Ultracode n'est pas disponible quand :708Ultracode n'est pas disponible quand :

699 709 

700* [Les flux de travail sont désactivés](/docs/fr/workflows#turn-workflows-off)710* [Les workflows sont désactivés](/docs/fr/workflows#turn-workflows-off)

701* Le modèle ne supporte pas l'effort `xhigh`711* Le modèle ne supporte pas l'effort `xhigh`

702 712 

703Dans ces cas, `--effort ultracode` démarre la session avec ultracode désactivé, au niveau d'effort le plus élevé que le modèle et tout plafond permettent, jusqu'à `xhigh`.713Dans ces cas, `--effort ultracode` démarre la session avec ultracode désactivé, au niveau d'effort le plus élevé que le modèle et tout plafond permettent, jusqu'à `xhigh`.


706 Choisir un niveau d'effort716 Choisir un niveau d'effort

707</h4>717</h4>

708 718 

709Chaque niveau échange la dépense de jetons contre la capacité. Le défaut convient à la plupart des tâches de codage ; ajustez quand vous voulez un équilibre différent.719Chaque niveau arbitre entre la dépense de tokens et la capacité. Le défaut convient à la plupart des tâches de codage ; ajustez quand vous voulez un équilibre différent.

710 720 

711| Niveau | Quand l'utiliser |721| Niveau | Quand l'utiliser |

712| :- | :- |722| :- | :- |

713| `low` | Échanges rapides où vous examinez chaque résultat, comme le brainstorming, un premier brouillon, ou une petite modification comme un renommage |723| `low` | Échanges rapides où vous examinez chaque résultat, comme le brainstorming, un premier brouillon, ou une petite modification comme un renommage |

714| `medium` | Le défaut sur Opus 5.5, Sonnet 5.5 et Haiku 5.5. Sur Opus 5.5 et Sonnet 5.5, il convient au travail d'ingénierie quotidien avec une portée claire, comme l'implémentation d'une nouvelle fonctionnalité. Sur les modèles avec un défaut plus élevé, réduit l'utilisation de tokens pour le travail sensible aux coûts qui peut sacrifier une part d'intelligence |724| `medium` | Le défaut sur Opus 5.5, Sonnet 5.5 et Haiku 5.5. Sur Opus 5.5 et Sonnet 5.5, il convient au travail d'ingénierie quotidien avec une portée claire, comme l'implémentation d'une nouvelle fonctionnalité. Sur les modèles avec un défaut plus élevé, réduit l'utilisation de tokens pour le travail sensible aux coûts qui peut sacrifier une part d'intelligence |

715| `high` | Travail où la vérification compte ou les cas limites sont probables, comme corriger un bug dans une base de code existante. Le défaut sur chaque modèle sauf Opus 5.5, Sonnet 5.5, Haiku 5.5 et Opus 4.7 |725| `high` | Travail où la vérification compte ou les cas limites sont probables, comme corriger un bug dans une base de code existante. Le défaut sur chaque modèle sauf Opus 5.5, Sonnet 5.5, Haiku 5.5 et Opus 4.7 |

716| `xhigh` | Raisonnement plus profond à une dépense de jetons plus élevée. Le défaut sur Opus 4.7 |726| `xhigh` | Raisonnement plus profond à une dépense de tokens plus élevée. Le défaut sur Opus 4.7 |

717| `max` | Problèmes difficiles que vous voulez que Claude travaille sans vous, comme trouver des vulnérabilités de sécurité. `max` peut montrer des rendements décroissants et est sujet à la surréflexion, donc testez avant d'adopter largement |727| `max` | Problèmes difficiles que vous voulez que Claude traite sans vous, comme trouver des vulnérabilités de sécurité. `max` peut montrer des rendements décroissants et est sujet à la surréflexion, donc testez avant de l'adopter largement |

718| `ultracode` | Un paramètre Claude Code plutôt qu'un niveau : planifie un [flux de travail dynamique](/docs/fr/workflows) pour chaque tâche substantielle à quel que soit le niveau d'effort |728| `ultracode` | Un paramètre Claude Code plutôt qu'un niveau : planifie un [workflow dynamique](/docs/fr/workflows) pour chaque tâche substantielle, quel que soit le niveau d'effort |

719 729 

720Dans les tests sur Opus 5.5 et Fable 5.1, Claude à un niveau supérieur a testé plus de cas limites et vérifié plus de son travail avant de répondre. Il a également fait plus de choix de son propre chef. À un niveau inférieur, Claude a retourné un point de départ plus tôt, ce qui convient au travail où vous examinez chaque résultat et dirigez l'étape suivante. Pour voir les mêmes tâches s'exécuter à chaque niveau, lisez [Utiliser Claude Code : Dépenser votre effort](https://claude.dev/blog/spending-your-effort/) sur le blog.730Dans les tests sur Opus 5.5 et Fable 5.1, Claude à un niveau supérieur a testé plus de cas limites et vérifié davantage son travail avant de répondre. Il a également fait plus de choix de son propre chef. À un niveau inférieur, Claude a retourné un point de départ plus tôt, ce qui convient au travail où vous examinez chaque résultat et dirigez l'étape suivante. Pour voir les mêmes tâches s'exécuter à chaque niveau, lisez [Using Claude Code: Spending your effort](https://claude.dev/blog/spending-your-effort/) sur le blog.

721 731 

722L'échelle d'effort est calibrée par modèle, de sorte que le même nom de niveau ne représente pas la même valeur sous-jacente entre les modèles.732L'échelle d'effort est calibrée par modèle, de sorte que le même nom de niveau ne représente pas la même valeur sous-jacente entre les modèles.

723 733 

724Opus 5.5 [par défaut à `medium`](#adjust-effort-level), un niveau en dessous du défaut d'Opus 5 de `high`. Dans les tests d'Anthropic, Opus 5.5 à `medium` correspond ou dépasse Opus 5 à `high` sur les évaluations de codage et de travail de connaissance. À un niveau donné, Opus 5.5 tend à penser plus par tour qu'Opus 5. Quand vous passez d'Opus 5 à Opus 5.5, commencez à `medium` plutôt que de reporter le niveau que vous avez utilisé sur Opus 5. Pour tester les niveaux par rapport à votre propre travail, voir [Calibrer l'effort](https://platform.claude.com/docs/en/build-with-claude/prompt-engineering/prompting-claude-opus-5-5#calibrate-effort) dans le guide d'invite Opus 5.5.734Opus 5.5 [est par défaut à `medium`](#adjust-effort-level), un niveau en dessous du défaut `high` d'Opus 5. Dans les tests d'Anthropic, Opus 5.5 à `medium` égale ou dépasse Opus 5 à `high` sur les évaluations de codage et de travail intellectuel. À un niveau donné, Opus 5.5 tend à réfléchir davantage par tour qu'Opus 5. Quand vous passez d'Opus 5 à Opus 5.5, commencez à `medium` plutôt que de reporter le niveau que vous utilisiez sur Opus 5. Pour tester les niveaux sur votre propre travail, voir [Calibrate effort](https://platform.claude.com/docs/en/build-with-claude/prompt-engineering/prompting-claude-opus-5-5#calibrate-effort) dans le guide de prompting d'Opus 5.5.

725 735 

726<h4 id="use-ultrathink-for-one-off-deep-reasoning">736<h4 id="use-ultrathink-for-one-off-deep-reasoning">

727 Utiliser ultrathink pour un raisonnement profond ponctuel737 Utiliser ultrathink pour un raisonnement profond ponctuel

728</h4>738</h4>

729 739 

730Incluez `ultrathink` n'importe où dans votre invite pour demander un raisonnement plus profond sur ce tour sans changer votre paramètre d'effort de session. Claude Code reconnaît le mot-clé et ajoute une instruction en contexte. Le niveau d'effort envoyé à l'API est inchangé. Claude Code transmet d'autres phrases comme « think », « think hard » et « think more » comme du texte d'invite ordinaire et ne les reconnaît pas comme des mots-clés.740Incluez `ultrathink` n'importe où dans votre prompt pour demander un raisonnement plus profond sur ce tour sans changer votre paramètre d'effort de session. Claude Code reconnaît le mot-clé et ajoute une instruction en contexte. Le niveau d'effort envoyé à l'API est inchangé. Claude Code transmet d'autres phrases comme « think », « think hard » et « think more » comme du texte de prompt ordinaire et ne les reconnaît pas comme des mots-clés.

731 741 

732<h4 id="set-the-effort-level">742<h4 id="set-the-effort-level">

733 Définir le niveau d'effort743 Définir le niveau d'effort


735 745 

736Vous pouvez changer l'effort via l'une des options suivantes :746Vous pouvez changer l'effort via l'une des options suivantes :

737 747 

738* **`/effort`** : exécutez `/effort` sans arguments pour ouvrir un curseur interactif, `/effort` suivi d'un nom de niveau pour le définir directement, ou `/effort auto` pour effacer votre niveau enregistré pour le modèle actif. Vous pouvez l'exécuter pendant que Claude travaille, et une fois que vous confirmez l'[avertissement de cache](/docs/fr/prompt-caching#changing-effort-level), si Claude Code en affiche un, Claude Code applique le nouveau niveau à la demande suivante du tour748* **`/effort`** : exécutez `/effort` sans arguments pour ouvrir un curseur interactif, `/effort` suivi d'un nom de niveau pour le définir directement, ou `/effort auto` pour effacer votre niveau enregistré pour le modèle actif. Vous pouvez l'exécuter pendant que Claude travaille, et une fois que vous confirmez l'[avertissement de cache](/docs/fr/prompt-caching#changing-effort-level), si Claude Code en affiche un, Claude Code applique le nouveau niveau à la requête suivante du tour

739* **Dans `/model`** : utilisez les touches fléchées gauche/droite pour ajuster le curseur d'effort lors de la sélection d'un modèle749* **Dans `/model`** : utilisez les touches fléchées gauche/droite pour ajuster le curseur d'effort lors de la sélection d'un modèle

740* **Indicateur `--effort`** : passez un nom de niveau pour le définir pour une seule session lors du lancement de Claude Code750* **Flag `--effort`** : passez un nom de niveau pour le définir pour une seule session lors du lancement de Claude Code

741* **Variable d'environnement** : définissez `CLAUDE_CODE_EFFORT_LEVEL` sur un nom de niveau ou `auto`751* **Variable d'environnement** : définissez `CLAUDE_CODE_EFFORT_LEVEL` sur un nom de niveau ou `auto`

742* **Paramètres** : définissez un niveau par modèle dans [`modelSettings`](/docs/fr/settings-reference#modelsettings), ou définissez [`effortLevel`](/docs/fr/settings-reference#effortlevel) sur `low`, `medium`, `high` ou `xhigh` comme défaut pour les modèles sans un. `max` n'est pas accepté comme niveau dans l'une ou l'autre clé, et `ultracode` a sa propre clé [`ultracode`](/docs/fr/settings-reference#ultracode)752* **Paramètres** : définissez un niveau par modèle dans [`modelSettings`](/docs/fr/settings-reference#modelsettings), ou définissez [`effortLevel`](/docs/fr/settings-reference#effortlevel) sur `low`, `medium`, `high` ou `xhigh` comme défaut pour les modèles qui n'en ont pas. `max` n'est pas accepté comme niveau dans l'une ou l'autre clé, et `ultracode` a sa propre clé [`ultracode`](/docs/fr/settings-reference#ultracode)

743* **À partir d'un appareil connecté** : dans une session [Contrôle à distance](/docs/fr/remote-control#what-connected-devices-see), choisissez un niveau à partir du contrôle d'effort sur votre téléphone ou dans votre navigateur. Le niveau s'applique à la session actuelle uniquement. Nécessite Claude Code v2.1.234 ou ultérieure753* **À partir d'un appareil connecté** : dans une session [Remote Control](/docs/fr/remote-control#what-connected-devices-see), choisissez un niveau à partir du contrôle d'effort sur votre téléphone ou dans votre navigateur. Le niveau s'applique à la session actuelle uniquement. Nécessite Claude Code v2.1.234 ou ultérieure

744* **Frontmatter de skill et de sous-agent** : définissez `effort` dans un fichier markdown [skill](/docs/fr/skills#frontmatter-reference) ou [sous-agent](/docs/fr/sub-agents#supported-frontmatter-fields) pour remplacer le niveau d'effort quand ce skill ou sous-agent s'exécute754* **Frontmatter de skill et de sous-agent** : définissez `effort` dans un fichier markdown de [skill](/docs/fr/skills#frontmatter-reference) ou de [sous-agent](/docs/fr/sub-agents#supported-frontmatter-fields) pour remplacer le niveau d'effort quand ce skill ou sous-agent s'exécute

745 755 

746L'effort du frontmatter s'applique quand ce skill ou sous-agent est actif, remplaçant le niveau de session mais pas la variable d'environnement. Un [`maxEffortLevel`](/docs/fr/settings-reference#maxeffortlevel) ou un [plafond d'effort de l'organisation](#organization-effort-limits) limite toujours le niveau auquel le skill ou sous-agent s'exécute.756L'effort du frontmatter s'applique quand ce skill ou sous-agent est actif, remplaçant le niveau de session mais pas la variable d'environnement. Un [`maxEffortLevel`](/docs/fr/settings-reference#maxeffortlevel) ou un [plafond d'effort de l'organisation](#organization-effort-limits) limite toujours le niveau auquel le skill ou sous-agent s'exécute.

747 757 

748Si vous définissez `effortLevel` dans les [paramètres gérés](/docs/fr/managed-settings), Claude Code l'applique à l'étape des paramètres de l'[ordre de résolution d'effort](#adjust-effort-level), et les utilisateurs peuvent toujours changer le niveau avec `/effort` ou `--effort`. Pour garder les utilisateurs au niveau ou en dessous d'un niveau, définissez [`maxEffortLevel`](/docs/fr/settings-reference#maxeffortlevel).758Si vous définissez `effortLevel` dans les [paramètres gérés](/docs/fr/managed-settings), Claude Code l'applique à l'étape des paramètres de l'[ordre de résolution de l'effort](#adjust-effort-level), et les utilisateurs peuvent toujours changer le niveau avec `/effort` ou `--effort`. Pour maintenir les utilisateurs à un niveau ou en dessous, définissez [`maxEffortLevel`](/docs/fr/settings-reference#maxeffortlevel).

749 759 

750Le curseur d'effort apparaît dans `/model` quand un modèle supporté est sélectionné. Le niveau d'effort actuel est également affiché dans l'en-tête de session à côté du nom du modèle, par exemple « with low effort », de sorte que vous pouvez confirmer quel paramètre est actif sans ouvrir `/model`. Le pied de page affiche également brièvement le niveau d'effort au démarrage et quand il change.760Le curseur d'effort apparaît dans `/model` quand un modèle supporté est sélectionné. Le niveau d'effort actuel est également affiché dans l'en-tête de session à côté du nom du modèle, par exemple « with low effort », de sorte que vous pouvez confirmer quel paramètre est actif sans ouvrir `/model`. Le pied de page affiche également brièvement le niveau d'effort au démarrage et quand il change.

751 761 


753 Raisonnement adaptatif et budgets de réflexion fixes763 Raisonnement adaptatif et budgets de réflexion fixes

754</h4>764</h4>

755 765 

756Le raisonnement adaptatif rend la réflexion optionnelle à chaque étape, de sorte que Claude peut répondre plus rapidement aux invites de routine et réserver une réflexion plus profonde pour les étapes qui en bénéficient. Si vous voulez que Claude pense plus ou moins souvent que le niveau actuel ne produit, vous pouvez le dire directement dans votre invite ou dans `CLAUDE.md` ; le modèle répond à cette orientation dans son paramètre d'effort.766Le raisonnement adaptatif rend la réflexion optionnelle à chaque étape, de sorte que Claude peut répondre plus rapidement aux prompts courants et réserver une réflexion plus profonde aux étapes qui en bénéficient. Si vous voulez que Claude réfléchisse plus ou moins souvent que ce que produit le niveau actuel, vous pouvez le dire directement dans votre prompt ou dans `CLAUDE.md` ; le modèle suit cette orientation dans les limites de son paramètre d'effort.

757 767 

758Les modèles Fable, Sonnet 5 et ultérieurs, Haiku 5.5, et Opus 4.7 et ultérieurs utilisent toujours le raisonnement adaptatif. Le mode de budget de réflexion fixe et `CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING` ne s'y appliquent pas.768Les modèles Fable, Sonnet 5 et ultérieurs, Haiku 5.5, et Opus 4.7 et ultérieurs utilisent toujours le raisonnement adaptatif. Le mode de budget de réflexion fixe et `CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING` ne s'y appliquent pas.

759 769 


763 Réflexion étendue773 Réflexion étendue

764</h3>774</h3>

765 775 

766La réflexion étendue est le raisonnement que Claude émet avant de répondre. Sur les modèles qui supportent le [raisonnement adaptatif](#adjust-effort-level), le niveau d'effort est le contrôle principal pour la quantité de réflexion qui se produit ; les paramètres ci-dessous activent ou désactivent la réflexion et contrôlent comment elle s'affiche. Avec la réflexion désactivée sur l'API Anthropic, Claude Code envoie l'effort `high` au lieu d'un niveau supérieur aux modèles qu'il sait [n'acceptent pas cette combinaison](/docs/fr/errors#effort-isnt-available-with-thinking-turned-off), comme Opus 5.776La réflexion étendue est le raisonnement que Claude émet avant de répondre. Sur les modèles qui supportent le [raisonnement adaptatif](#adjust-effort-level), le niveau d'effort est le contrôle principal de la quantité de réflexion ; les paramètres ci-dessous activent ou désactivent la réflexion et contrôlent son affichage. Avec la réflexion désactivée sur l'API Anthropic, Claude Code envoie l'effort `high` au lieu d'un niveau supérieur aux modèles dont il sait qu'ils [n'acceptent pas cette combinaison](/docs/fr/errors#effort-isnt-available-with-thinking-turned-off), comme Opus 5.

767 777 

768| Contrôle | Comment le définir |778| Contrôle | Comment le définir |

769| :- | :- |779| :- | :- |

770| Basculer pour la session actuelle | Appuyez sur `Option+T` sur macOS ou `Alt+T` sur Windows et Linux |780| Basculer pour la session actuelle | Appuyez sur `Option+T` sur macOS ou `Alt+T` sur Windows et Linux |

771| Définir le défaut global | Exécutez `/config` et basculez le mode de réflexion. Enregistré comme `alwaysThinkingEnabled` dans `~/.claude/settings.json` |781| Définir le défaut global | Exécutez `/config` et basculez le mode réflexion. Enregistré comme `alwaysThinkingEnabled` dans `~/.claude/settings.json` |

772| Désactiver via une variable d'environnement | Définissez [`MAX_THINKING_TOKENS=0`](/docs/fr/env-vars), qui désactive la réflexion sur l'API Anthropic sauf sur Opus 5.5, Sonnet 5.5, Haiku 5.5 et les modèles Fable. Sur les [fournisseurs tiers](/docs/fr/third-party-integrations), Claude Code omet le paramètre `thinking` à la place, et les modèles à raisonnement adaptatif peuvent toujours réfléchir |782| Désactiver via une variable d'environnement | Définissez [`MAX_THINKING_TOKENS=0`](/docs/fr/env-vars), qui désactive la réflexion sur l'API Anthropic sauf sur Opus 5.5, Sonnet 5.5, Haiku 5.5 et les modèles Fable. Sur les [fournisseurs tiers](/docs/fr/third-party-integrations), Claude Code omet le paramètre `thinking` à la place, et les modèles à raisonnement adaptatif peuvent toujours réfléchir |

773 783 

774Vous ne pouvez pas désactiver la réflexion sur Opus 5.5, Sonnet 5.5, Haiku 5.5 ou les modèles Fable. Le basculement de session et la ligne `/config` affichent `Thinking can't be turned off` pour ces modèles au lieu de proposer le basculement, et un `alwaysThinkingEnabled: false` enregistré ou `MAX_THINKING_TOKENS=0` n'a aucun effet sur eux. Sur ces modèles, le modèle décide à chaque étape dans quelle mesure réfléchir en fonction du niveau d'effort. Le paramètre enregistré s'applique à nouveau quand vous basculez vers un modèle qui l'accepte.784Vous ne pouvez pas désactiver la réflexion sur Opus 5.5, Sonnet 5.5, Haiku 5.5 ou les modèles Fable. Le basculement de session et la ligne `/config` affichent `Thinking can't be turned off` pour ces modèles au lieu de proposer l'interrupteur, et un `alwaysThinkingEnabled: false` enregistré ou `MAX_THINKING_TOKENS=0` n'a aucun effet sur eux. Sur ces modèles, le modèle décide à chaque étape dans quelle mesure réfléchir en fonction du niveau d'effort. Le paramètre enregistré s'applique à nouveau quand vous basculez vers un modèle qui l'accepte.

775 785 

776Claude Code réduit la sortie de réflexion par défaut. Appuyez sur `Ctrl+O` pour basculer le mode verbeux et voir le raisonnement en tant que texte gris en italique. Les sessions interactives sur l'API Anthropic reçoivent des blocs de réflexion édités par défaut, donc définissez `showThinkingSummaries: true` dans les [paramètres](/docs/fr/settings) si vous voulez les résumés complets disponibles quand vous développez. Vous êtes facturé pour tous les jetons de réflexion générés, même quand réduits ou édités.786Claude Code réduit la sortie de réflexion par défaut. Appuyez sur `Ctrl+O` pour basculer le mode verbeux et voir le raisonnement en texte gris en italique. Les sessions interactives sur l'API Anthropic reçoivent des blocs de réflexion masqués par défaut, donc définissez `showThinkingSummaries: true` dans les [paramètres](/docs/fr/settings) si vous voulez que les résumés complets soient disponibles quand vous développez. Vous êtes facturé pour tous les tokens de réflexion générés, même quand ils sont réduits ou masqués.

777 787 

778<a id="extended-context-with-1m" />788<a id="extended-context-with-1m" />

779 789 

790<span id="sonnet-5-5-and-sonnet-5-context-window" />

791 

780<h3 id="extended-context">792<h3 id="extended-context">

781 Contexte étendu793 Contexte étendu

782</h3>794</h3>

783 795 

784Fable 5.1, Fable 5, Sonnet 5 et ultérieurs, Haiku 5.5, Opus 4.6 et ultérieurs, et Sonnet 4.6 supportent une [fenêtre de contexte de 1 million de tokens](https://platform.claude.com/docs/en/build-with-claude/context-windows#context-window-sizes-by-model) pour les sessions longues avec de grandes bases de code.796Fable 5.1, Fable 5, Sonnet 5 et ultérieurs, Haiku 5.5, Opus 4.6 et ultérieurs, et Sonnet 4.6 supportent une [fenêtre de contexte de 1 million de tokens](https://platform.claude.com/docs/en/build-with-claude/context-windows#context-window-sizes-by-model) pour les sessions longues avec de grandes bases de code.

785 797 

786Sur l'API Anthropic, Fable 5.1, Fable 5, Sonnet 5 et ultérieurs, Haiku 5.5, et Opus 4.7 et ultérieurs s'exécutent avec la fenêtre de 1M sur chaque plan, y compris Pro. Vous n'avez pas à sélectionner une variante `[1m]` ni à activer les crédits d'utilisation pour la fenêtre de 1M sur ces modèles. L'utilisation de Fable elle-même peut être facturée aux crédits d'utilisation sur certains plans ; voir [Fable et crédits d'utilisation](#fable-and-usage-credits).798Fable 5.1, Fable 5, Sonnet 5 et ultérieurs, Haiku 5.5, et Opus 4.7 et ultérieurs s'exécutent avec la fenêtre de 1M par défaut, sans suffixe `[1m]` nécessaire. Cela inclut les sessions sur Amazon Bedrock, Agent Platform de Google Cloud et Microsoft Foundry, ainsi que les sessions [Claude apps gateway](/docs/fr/claude-apps-gateway). Pour les exécuter avec une fenêtre de 200K à la place, voir [Désactiver le contexte de 1M](#turn-off-1m-context).

787 799 

788Opus 4.6 et Sonnet 4.6 n'atteignent 1M que via leur variante `[1m]`, et l'accès à cette variante dépend de votre plan. Sur les plans Max, Team et Enterprise, y compris les sièges Team Standard et Team Premium, Opus 4.6 avec un contexte de 1M est inclus avec votre abonnement. Sonnet 4.6 avec un contexte de 1M nécessite des [crédits d'utilisation](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans) sur chaque plan d'abonnement, y compris Max.800Opus 4.6 et Sonnet 4.6 n'atteignent 1M que via leur variante `[1m]`, et l'accès à cette variante dépend de votre plan. Sur les plans Max, Team et Enterprise, y compris les sièges Team Standard et Team Premium, Opus 4.6 avec un contexte de 1M est inclus avec votre abonnement. Sonnet 4.6 avec un contexte de 1M nécessite des [crédits d'utilisation](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans) sur chaque plan d'abonnement, y compris Max.

789 801 


793| Pro | Nécessite des [crédits d'utilisation](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans) | Nécessite des [crédits d'utilisation](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans) |805| Pro | Nécessite des [crédits d'utilisation](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans) | Nécessite des [crédits d'utilisation](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans) |

794| API et paiement à l'usage | Accès complet | Accès complet |806| API et paiement à l'usage | Accès complet | Accès complet |

795 807 

796Claude Code vérifie ces exigences de plan uniquement quand il se connecte directement à l'API Anthropic. Si vous pointez `ANTHROPIC_BASE_URL` vers une [passerelle LLM](/docs/fr/llm-gateway#subscriptions-and-gateways) et votre connexion claude.ai enregistrée reste la credential active, Claude Code ne vérifie pas les crédits d'utilisation de votre plan. Les options `[1m]` restent disponibles dans `/model`, et la passerelle décide si la demande réussit. Avant la v2.1.229, Claude Code rejetait `/model sonnet[1m]` dans cette configuration quand il ne pouvait pas confirmer les crédits d'utilisation sur le compte.808Claude Code vérifie ces exigences de plan uniquement quand il se connecte directement à l'API Anthropic. Si vous pointez `ANTHROPIC_BASE_URL` vers une [passerelle LLM](/docs/fr/llm-gateway#subscriptions-and-gateways) et que votre connexion claude.ai enregistrée reste l'identifiant actif, Claude Code ne vérifie pas les crédits d'utilisation de votre plan. Les options `[1m]` restent disponibles dans `/model`, et la passerelle décide si la requête réussit. Avant la v2.1.229, Claude Code rejetait `/model sonnet[1m]` dans cette configuration quand il ne pouvait pas confirmer les crédits d'utilisation sur le compte.

797 809 

798<span id="context-window-behind-a-gateway" />810Sur l'API Anthropic, la fenêtre de contexte de 1M utilise la tarification standard du modèle sans prime pour les tokens au-delà de 200K, sauf sur Haiku 5.5, qui [coûte plus cher sur les prompts de plus de 100K tokens](#haiku-5-5-context-window-and-pricing). Pour les plans où le contexte étendu est inclus avec votre abonnement, l'utilisation reste couverte par votre abonnement. Pour les plans qui accèdent au contexte étendu via des crédits d'utilisation, les tokens sont facturés aux crédits d'utilisation.

799 

800Si vous définissez `ANTHROPIC_BASE_URL` sur une [passerelle LLM](/docs/fr/llm-gateway) ou un autre proxy, Claude Code donne à chaque modèle qu'il reconnaît la même fenêtre de contexte que celle du modèle sur l'API Anthropic. Fable 5.1, Fable 5, Sonnet 5 et ultérieurs, Haiku 5.5, et Opus 4.7 et ultérieurs obtiennent la fenêtre de 1M sans variante `[1m]` à sélectionner, et un modèle qui n'atteint 1M que via sa variante `[1m]`, comme Opus 4.6, s'exécute à 200K sans elle. Claude Code ne peut pas détecter une limite inférieure appliquée par la passerelle ou le serveur situé derrière elle. Si votre passerelle rejette les requêtes au-delà de 200K tokens, définissez [`CLAUDE_CODE_AUTO_COMPACT_WINDOW=200000`](/docs/fr/env-vars) dans l'environnement qui démarre Claude Code, afin que les sessions sur chaque modèle [se compactent à cette limite](#set-the-auto-compact-window).

801 

802Pour désactiver le contexte de 1M, définissez `CLAUDE_CODE_DISABLE_1M_CONTEXT=1`. Claude Code supprime les variantes de modèle de 1M du sélecteur de modèle. Sur les modèles avec une fenêtre de 1M native, comme Sonnet 5 et les modèles Fable, il traite également le modèle comme ayant une fenêtre de contexte de 200K :

803 

804* Avec la compaction automatique activée, les sessions se compactent à la limite de 200K via la [compaction automatique](#set-the-auto-compact-window). Définir la fenêtre de compaction automatique au-dessus de 200K ne lève pas la retenue, car Claude Code limite cette fenêtre à la fenêtre de contexte du modèle.

805* Avec la compaction automatique désactivée, les sessions s'arrêtent à la limite de 200K avec l'[erreur de limite de contexte](/docs/fr/errors#prompt-is-too-long) au lieu de se compacter.

806 811 

807Avant la v2.1.223, Claude Code tenait uniquement Sonnet 5, Opus 4.8 et Opus 5 sessions à 200K. Voir [variables d'environnement](/docs/fr/env-vars).812<h4 id="select-1m-context-for-opus-4-6-or-sonnet-4-6">

808 813 Sélectionner le contexte de 1M pour Opus 4.6 ou Sonnet 4.6

809La fenêtre de contexte de 1M utilise la tarification standard du modèle sans prime pour les tokens au-delà de 200K, sauf sur Haiku 5.5, qui [coûte plus cher sur les prompts de plus de 100K tokens](#haiku-5-5-context-window-and-pricing). Pour les plans où le contexte étendu est inclus avec votre abonnement, l'utilisation reste couverte par votre abonnement. Pour les plans qui accèdent au contexte étendu via des crédits d'utilisation, les tokens sont facturés aux crédits d'utilisation.814</h4>

810 

811Si votre compte supporte le contexte de 1M, l'option apparaît dans le sélecteur `/model` dans les dernières versions de Claude Code. Si vous ne la voyez pas, redémarrez votre session, et sur un fournisseur tiers vérifiez si votre déploiement [a épinglé le modèle](#pin-models-for-third-party-deployments) avec une variable `ANTHROPIC_DEFAULT_*_MODEL`.

812 815 

813Vous pouvez également utiliser le suffixe `[1m]` avec les alias de modèle ou les noms de modèle complets :816Pour sélectionner une variante 1M par son nom, ajoutez le suffixe `[1m]` à un alias de modèle ou à un nom de modèle complet :

814 817 

815```text theme={null}818```text theme={null}

816# Utilisez l'alias opus[1m] ou sonnet[1m]819# Append [1m] to a full model name

817/model opus[1m]820/model claude-opus-4-6[1m]

818/model sonnet[1m]821/model claude-sonnet-4-6[1m]

819 822 

820# Ou ajoutez [1m] à un nom de modèle complet823# Or to an alias: the suffix applies to the model the alias resolves to

821/model claude-opus-4-8[1m]824/model opus[1m]

822```825```

823 826 

824<h4 id="sonnet-5-5-and-sonnet-5-context-window">827<span id="context-window-behind-a-gateway" />

825 Fenêtre de contexte Sonnet 5.5 et Sonnet 5828 

829<h4 id="context-window-behind-an-llm-gateway">

830 Fenêtre de contexte derrière une passerelle LLM

826</h4>831</h4>

827 832 

828Sur l'API Anthropic, Sonnet 5.5 et Sonnet 5 s'exécutent toujours avec la fenêtre de contexte de 1M. Il n'y a pas de variante de 200K, pas de suffixe `[1m]` à sélectionner, et aucun crédit d'utilisation requis sur aucun plan. Les sessions se compactent automatiquement avant que la fenêtre ne se remplisse, à environ 967K jetons par défaut ; définissez [`CLAUDE_CODE_AUTO_COMPACT_WINDOW`](/docs/fr/env-vars) pour choisir un seuil différent.833Si vous définissez `ANTHROPIC_BASE_URL` sur une [passerelle LLM](/docs/fr/llm-gateway) ou un autre proxy, Claude Code donne à chaque modèle qu'il reconnaît la même fenêtre de contexte que celle du modèle sur l'API Anthropic. Fable 5.1, Fable 5, Sonnet 5 et ultérieurs, Haiku 5.5, et Opus 4.7 et ultérieurs obtiennent la fenêtre de 1M sans variante `[1m]` à sélectionner, et un modèle qui n'atteint 1M que via sa variante `[1m]`, comme Opus 4.6, s'exécute à 200K sans elle. Claude Code ne peut pas détecter une limite inférieure appliquée par la passerelle ou le serveur situé derrière elle. Si votre passerelle rejette les requêtes au-delà de 200K tokens, définissez [`CLAUDE_CODE_AUTO_COMPACT_WINDOW=200000`](/docs/fr/env-vars) dans l'environnement qui démarre Claude Code, afin que les sessions sur chaque modèle [se compactent à cette limite](#set-the-auto-compact-window).

829 834 

830Claude Code donne à Sonnet 5.5 et Sonnet 5 la même fenêtre de 1M derrière une [passerelle LLM](/docs/fr/llm-gateway) ou un autre `ANTHROPIC_BASE_URL` personnalisé. Si votre passerelle applique une limite inférieure, voir [la fenêtre de contexte derrière une passerelle](#context-window-behind-a-gateway).835<h4 id="turn-off-1m-context">

836 Désactiver le contexte de 1M

837</h4>

831 838 

832Ce paramètre budgète la fenêtre à 200K à la place :839Pour maintenir les sessions à une fenêtre de 200K, définissez `CLAUDE_CODE_DISABLE_1M_CONTEXT=1` dans votre shell ou dans un [fichier de paramètres](/docs/fr/env-vars#set-environment-variables). Claude Code supprime les variantes de modèle `[1m]` du sélecteur de modèle. Sur les modèles qui s'exécutent avec la fenêtre de 1M par défaut, comme les modèles Fable, Sonnet 5 et ultérieurs, et Opus 4.7 et ultérieurs, il traite également le modèle comme ayant une fenêtre de contexte de 200K :

833 840 

834* **`CLAUDE_CODE_DISABLE_1M_CONTEXT=1`** : tient les sessions sur chaque modèle avec une fenêtre de 1M native à une fenêtre de 200K ; voir [Contexte étendu](#extended-context) pour comment la retenue est appliquée. Utile pour les déploiements qui ont besoin de limiter le contexte.841* Avec la compaction automatique activée, les sessions se compactent à la limite de 200K via la [compaction automatique](#set-the-auto-compact-window). Définir la fenêtre de compaction automatique au-dessus de 200K ne lève pas cette limite, car Claude Code plafonne cette fenêtre à la fenêtre de contexte du modèle.

842* Avec la compaction automatique désactivée, les sessions s'arrêtent à la limite de 200K avec l'[erreur de limite de contexte](/docs/fr/errors#prompt-is-too-long) au lieu de se compacter.

835 843 

836<h4 id="haiku-5-5-context-window-and-pricing">844<h4 id="haiku-5-5-context-window-and-pricing">

837 Fenêtre de contexte et tarification de Haiku 5.5845 Fenêtre de contexte et tarification de Haiku 5.5


857 865 

858* **Pour le modèle actuel, dans cette session et les sessions ultérieures** : exécutez `/autocompact` avec une valeur, comme `/autocompact 500k`. Claude Code l'enregistre dans vos paramètres utilisateur sous le modèle actuel dans [`modelSettings`](/docs/fr/settings-reference#modelsettings) et l'applique à la session actuelle. Si une [portée de paramètres](/docs/fr/settings#settings-precedence) de priorité plus élevée, comme les paramètres gérés, définit sa propre fenêtre pour ce modèle ou pour tous les modèles, la commande enregistre votre valeur mais la session conserve la fenêtre de cette portée, et la commande vous l'indique. Exécutez `/autocompact auto` pour revenir à la fenêtre optimisée pour votre modèle. Avant la v2.1.288, la commande enregistrait une seule fenêtre pour tous les modèles, sous la clé de premier niveau `autoCompactWindow`.866* **Pour le modèle actuel, dans cette session et les sessions ultérieures** : exécutez `/autocompact` avec une valeur, comme `/autocompact 500k`. Claude Code l'enregistre dans vos paramètres utilisateur sous le modèle actuel dans [`modelSettings`](/docs/fr/settings-reference#modelsettings) et l'applique à la session actuelle. Si une [portée de paramètres](/docs/fr/settings#settings-precedence) de priorité plus élevée, comme les paramètres gérés, définit sa propre fenêtre pour ce modèle ou pour tous les modèles, la commande enregistre votre valeur mais la session conserve la fenêtre de cette portée, et la commande vous l'indique. Exécutez `/autocompact auto` pour revenir à la fenêtre optimisée pour votre modèle. Avant la v2.1.288, la commande enregistrait une seule fenêtre pour tous les modèles, sous la clé de premier niveau `autoCompactWindow`.

859* **Pour tous les modèles** : définissez [`autoCompactWindow`](/docs/fr/settings-reference#autocompactwindow) dans un fichier de paramètres, comme `"autoCompactWindow": 200000` dans `~/.claude/settings.json`. Une fenêtre que vous avez enregistrée pour un modèle avec `/autocompact` a priorité sur cette clé dans le même fichier pour ce modèle.867* **Pour tous les modèles** : définissez [`autoCompactWindow`](/docs/fr/settings-reference#autocompactwindow) dans un fichier de paramètres, comme `"autoCompactWindow": 200000` dans `~/.claude/settings.json`. Une fenêtre que vous avez enregistrée pour un modèle avec `/autocompact` a priorité sur cette clé dans le même fichier pour ce modèle.

860* **Pour un lancement** : passez [`--autocompact`](/docs/fr/cli-reference#cli-flags) au démarrage de Claude Code. Le drapeau remplace votre paramètre enregistré pour ce lancement sans le modifier, et `claude --autocompact auto` exécute la session à la fenêtre optimisée même si votre paramètre enregistré a une valeur. Contrairement à `/autocompact`, le drapeau n'est pas préempté par une portée de paramètres de priorité plus élevée, comme les paramètres gérés.868* **Pour un lancement** : passez [`--autocompact`](/docs/fr/cli-reference#cli-flags) au démarrage de Claude Code. Le flag remplace votre paramètre enregistré pour ce lancement sans le modifier, et `claude --autocompact auto` exécute la session à la fenêtre optimisée même si votre paramètre enregistré a une valeur. Contrairement à `/autocompact`, le flag n'est pas préempté par une portée de paramètres de priorité plus élevée, comme les paramètres gérés.

861* **Dans les scripts et les environnements cloud** : définissez [`CLAUDE_CODE_AUTO_COMPACT_WINDOW`](/docs/fr/env-vars). Tant qu'il est défini, il a la priorité sur la commande, le drapeau et le paramètre, et `/autocompact` signale le remplacement au lieu de modifier la fenêtre.869* **Dans les scripts et les environnements cloud** : définissez [`CLAUDE_CODE_AUTO_COMPACT_WINDOW`](/docs/fr/env-vars). Tant qu'il est défini, il a la priorité sur la commande, le flag et le paramètre, et `/autocompact` signale le remplacement au lieu de modifier la fenêtre.

862 870 

863La commande et le drapeau acceptent une taille de fenêtre de 100 K à 1 M de jetons, sous l'une de ces formes :871La commande et le flag acceptent une taille de fenêtre de 100 K à 1 M de tokens, sous l'une de ces formes :

864 872 

865* Un nombre de jetons simple, comme `200000`873* Un nombre de tokens simple, comme `200000`

866* Un suffixe `k` ou `M`, comme `500k` ou `1M`874* Un suffixe `k` ou `M`, comme `500k` ou `1M`

867* Un nombre simple de 100 à 1 000, signifiant des milliers, donc `200` définit 200 000875* Un nombre simple de 100 à 1 000, signifiant des milliers, donc `200` définit 200 000

868 876 

869La variable d'environnement accepte uniquement le nombre de jetons simple. Claude Code limite la fenêtre à la fenêtre de contexte du modèle.877La variable d'environnement accepte uniquement le nombre de tokens simple. Claude Code limite la fenêtre à la fenêtre de contexte du modèle.

870 878 

871<h3 id="default-auto-compact-thresholds">879<h3 id="default-auto-compact-thresholds">

872 Seuils de compaction automatique par défaut880 Seuils de compaction automatique par défaut


875Si vous ne définissez pas de fenêtre de compaction automatique, Claude Code compacte lorsque la conversation atteint la limite de contexte du modèle, sauf dans ces sessions :883Si vous ne définissez pas de fenêtre de compaction automatique, Claude Code compacte lorsque la conversation atteint la limite de contexte du modèle, sauf dans ces sessions :

876 884 

877* Les [sessions cloud](/docs/fr/claude-code-on-the-web) se compactent à mesure que la conversation approche de la limite du modèle885* Les [sessions cloud](/docs/fr/claude-code-on-the-web) se compactent à mesure que la conversation approche de la limite du modèle

878* Sonnet 4.6 et Opus 4.6 sans [contexte étendu](#extended-context) se compactent à la limite de 200 K, tout comme Opus 4.8 et versions ultérieures lorsqu'ils s'exécutent avec une fenêtre de contexte de 200 K, comme sur Amazon Bedrock, Google Cloud's Agent Platform et Microsoft Foundry886* Sonnet 4.6 et Opus 4.6 sans [contexte étendu](#extended-context) se compactent à la limite de 200 K

879* Lorsque vous définissez [`CLAUDE_CODE_DISABLE_1M_CONTEXT=1`](/docs/fr/env-vars), les modèles avec une fenêtre native de 1 M, comme Sonnet 5 et les modèles Fable, se compactent à la limite de 200 K887* Lorsque vous définissez [`CLAUDE_CODE_DISABLE_1M_CONTEXT=1`](/docs/fr/env-vars), les modèles avec une fenêtre native de 1 M, comme Sonnet 5 et les modèles Fable, se compactent à la limite de 200 K

880* Les modèles s'exécutant avec une fenêtre native de 1 M se compactent avant que la fenêtre ne se remplisse, à environ 967 K tokens par défaut. Sur l'API Anthropic, ceux-ci incluent Sonnet 5, Haiku 5.5, les modèles Fable, et Opus 4.7 et versions ultérieures. Sur Amazon Bedrock, Google Cloud's Agent Platform et Microsoft Foundry, consultez [Épingler les modèles pour les déploiements tiers](#pin-models-for-third-party-deployments) pour savoir quels modèles s'exécutent avec cette fenêtre. Derrière une `ANTHROPIC_BASE_URL` personnalisée, consultez [la fenêtre de contexte derrière une passerelle](#context-window-behind-a-gateway)888* Les modèles s'exécutant avec une fenêtre native de 1 M se compactent avant que la fenêtre ne se remplisse, à environ 967 K tokens par défaut. Ceux-ci incluent les modèles Fable, Sonnet 5 et versions ultérieures, Haiku 5.5, et Opus 4.7 et versions ultérieures. Derrière une `ANTHROPIC_BASE_URL` personnalisée, consultez [la fenêtre de contexte derrière une passerelle](#context-window-behind-a-gateway)

881* Les sessions sur un ID de modèle que Claude Code ne reconnaît pas, comme un alias de [passerelle LLM](/docs/fr/llm-gateway), se compactent à la fenêtre de contexte que Claude Code suppose pour l'ID ; consultez [Corriger la fenêtre pour une passerelle ou un ID de modèle personnalisé](#correct-the-window-for-a-gateway-or-custom-model-id)889* Les sessions sur un ID de modèle que Claude Code ne reconnaît pas, comme un alias de [passerelle LLM](/docs/fr/llm-gateway), se compactent à la fenêtre de contexte que Claude Code suppose pour l'ID ; consultez [Corriger la fenêtre pour une passerelle ou un ID de modèle personnalisé](#correct-the-window-for-a-gateway-or-custom-model-id)

882 890 

883<h3 id="correct-the-window-for-a-gateway-or-custom-model-id">891<h3 id="correct-the-window-for-a-gateway-or-custom-model-id">


947| Variable d'environnement | Description |955| Variable d'environnement | Description |

948| - | - |956| - | - |

949| `ANTHROPIC_DEFAULT_FABLE_MODEL` | Le modèle à utiliser pour `fable`, et l'ID de modèle que Claude Code reconnaît comme modèle Fable pour le [basculement automatique du modèle](#automatic-model-fallback) sur les fournisseurs tiers |957| `ANTHROPIC_DEFAULT_FABLE_MODEL` | Le modèle à utiliser pour `fable`, et l'ID de modèle que Claude Code reconnaît comme modèle Fable pour le [basculement automatique du modèle](#automatic-model-fallback) sur les fournisseurs tiers |

950| `ANTHROPIC_DEFAULT_OPUS_MODEL` | Le modèle à utiliser pour `opus`, ou pour `opusplan` lorsque le mode Plan est actif. |958| `ANTHROPIC_DEFAULT_OPUS_MODEL` | Le modèle à utiliser pour `opus`, ou pour `opusplan` lorsque le mode plan est actif. |

951| `ANTHROPIC_DEFAULT_SONNET_MODEL` | Le modèle à utiliser pour `sonnet`, ou pour `opusplan` lorsque le mode Plan n'est pas actif. |959| `ANTHROPIC_DEFAULT_SONNET_MODEL` | Le modèle à utiliser pour `sonnet`, ou pour `opusplan` lorsque le mode plan n'est pas actif. |

952| `ANTHROPIC_DEFAULT_HAIKU_MODEL` | Le modèle à utiliser pour `haiku`, ou [fonctionnalité d'arrière-plan](/docs/fr/costs#background-token-usage) |960| `ANTHROPIC_DEFAULT_HAIKU_MODEL` | Le modèle à utiliser pour `haiku`, ou [fonctionnalité d'arrière-plan](/docs/fr/costs#background-token-usage) |

953| `CLAUDE_CODE_SUBAGENT_MODEL` | Le modèle par défaut pour les [subagents](/docs/fr/sub-agents#choose-a-model), les coéquipiers de l'[équipe d'agents](/docs/fr/agent-teams#specify-teammates-and-models) et les agents de [workflow](/docs/fr/workflows) qui ne sont pas assignés à un modèle d'une autre manière. Accepte un alias tel que `haiku` ou un nom de modèle complet. Un modèle par invocation ou le champ `model` d'une définition, y compris `inherit`, prend la priorité. Pour modifier cela, définissez [`CLAUDE_CODE_SUBAGENT_MODEL_FORCE`](/docs/fr/sub-agents#run-every-subagent-on-one-model) |961| `CLAUDE_CODE_SUBAGENT_MODEL` | Le modèle par défaut pour les [sous-agents](/docs/fr/sub-agents#choose-a-model), les coéquipiers de l'[équipe d'agents](/docs/fr/agent-teams#specify-teammates-and-models) et les agents de [workflow](/docs/fr/workflows) qui ne sont pas assignés à un modèle d'une autre manière. Accepte un alias tel que `haiku` ou un nom de modèle complet. Un modèle par invocation ou le champ `model` d'une définition, y compris `inherit`, prend la priorité. Pour modifier cela, définissez [`CLAUDE_CODE_SUBAGENT_MODEL_FORCE`](/docs/fr/sub-agents#run-every-subagent-on-one-model) |

954 962 

955Sur les fournisseurs tiers, [Personnaliser l'affichage et les capacités du modèle épinglé](#customize-pinned-model-display-and-capabilities) décrit ce qu'une ligne de modèle épinglé dans le sélecteur `/model` affiche.963Sur les fournisseurs tiers, [Personnaliser l'affichage et les capacités du modèle épinglé](#customize-pinned-model-display-and-capabilities) décrit ce qu'une ligne de modèle épinglé dans le sélecteur `/model` affiche.

956 964 


980 988 

981Appliquez le même modèle pour `ANTHROPIC_DEFAULT_FABLE_MODEL`, `ANTHROPIC_DEFAULT_SONNET_MODEL` et `ANTHROPIC_DEFAULT_HAIKU_MODEL`. Pour les ID de modèle actuels et hérités sur tous les fournisseurs, voir [Aperçu des modèles](https://platform.claude.com/docs/en/about-claude/models/overview). Pour mettre à niveau les utilisateurs vers une nouvelle version de modèle, mettez à jour ces variables d'environnement et redéployez.989Appliquez le même modèle pour `ANTHROPIC_DEFAULT_FABLE_MODEL`, `ANTHROPIC_DEFAULT_SONNET_MODEL` et `ANTHROPIC_DEFAULT_HAIKU_MODEL`. Pour les ID de modèle actuels et hérités sur tous les fournisseurs, voir [Aperçu des modèles](https://platform.claude.com/docs/en/about-claude/models/overview). Pour mettre à niveau les utilisateurs vers une nouvelle version de modèle, mettez à jour ces variables d'environnement et redéployez.

982 990 

983Pour activer le [contexte étendu](#extended-context) pour un modèle épinglé, ajoutez `[1m]` à l'ID du modèle dans `ANTHROPIC_DEFAULT_OPUS_MODEL`, `ANTHROPIC_DEFAULT_SONNET_MODEL`, ou `ANTHROPIC_DEFAULT_FABLE_MODEL` :991Un modèle épinglé doté d'une fenêtre 1M native, tel qu'Opus 4.8 ou Sonnet 5, s'exécute avec la [fenêtre de contexte 1M](#extended-context) sans aucun suffixe lorsque Claude Code peut faire correspondre l'ID épinglé à ce modèle. L'ID correspond lorsqu'il contient l'ID API Anthropic du modèle, comme `us.anthropic.claude-opus-4-8` contient `claude-opus-4-8`, ou lorsqu'une entrée [`modelOverrides`](#override-model-ids-per-version) mappe le modèle à cet ID. Pour un ID épinglé que Claude Code ne peut pas faire correspondre à un modèle, les sessions s'exécutent par défaut avec une fenêtre de 200K, sauf si l'ID porte le suffixe `[1m]`.

992 

993Pour un modèle qui atteint 1M via sa variante `[1m]`, tel qu'Opus 4.6 ou Sonnet 4.6, activez le contexte étendu en ajoutant `[1m]` à l'ID du modèle dans `ANTHROPIC_DEFAULT_OPUS_MODEL` ou `ANTHROPIC_DEFAULT_SONNET_MODEL` :

984 994 

985```bash theme={null}995```bash theme={null}

986export ANTHROPIC_DEFAULT_OPUS_MODEL='claude-opus-4-8[1m]'996export ANTHROPIC_DEFAULT_OPUS_MODEL='claude-opus-4-6[1m]'

987```997```

988 998 

989Avec le suffixe `[1m]`, la fenêtre de contexte 1M s'applique à toute utilisation de l'alias épinglé, y compris la phase Opus en mode plan de [`opusplan`](#opusplan-model-setting) et les [subagents](/docs/fr/sub-agents#choose-a-model) dont le frontmatter `model` nomme l'alias.999Avec le suffixe `[1m]`, la fenêtre de contexte 1M s'applique à toute utilisation de l'alias épinglé, y compris la phase Opus en mode plan de [`opusplan`](#opusplan-model-setting) et les [sous-agents](/docs/fr/sub-agents#choose-a-model) dont le frontmatter `model` nomme l'alias.

990 1000 

991* Claude Code supprime le suffixe avant d'envoyer l'ID du modèle à votre fournisseur.1001* Claude Code supprime le suffixe avant d'envoyer l'ID du modèle à votre fournisseur.

992* N'ajoutez `[1m]` que lorsque le modèle sous-jacent [prend en charge le contexte 1M](https://platform.claude.com/docs/en/build-with-claude/context-windows#context-window-sizes-by-model).1002* N'ajoutez `[1m]` que lorsque le modèle sous-jacent [prend en charge le contexte 1M](https://platform.claude.com/docs/en/build-with-claude/context-windows#context-window-sizes-by-model).

993* Le suffixe est lu par variable, et non par modèle. Sur Amazon Bedrock, Google Cloud's Agent Platform et Microsoft Foundry, un ID de modèle sans `[1m]` dans une variable utilise le contexte 200K même si une autre variable définit le même modèle avec le suffixe. Sonnet 5 s'exécute toujours avec la fenêtre 1M sur ces fournisseurs et n'a jamais besoin du suffixe.1003* Le suffixe est lu par variable, et non par modèle. Sur Amazon Bedrock, Google Cloud's Agent Platform et Microsoft Foundry, un ID Opus 4.6 ou Sonnet 4.6 sans `[1m]` dans une variable utilise le contexte 200K même si une autre variable définit le même modèle avec le suffixe.

994 1004 

995Lorsque vous définissez une variable `ANTHROPIC_DEFAULT_*_MODEL`, le sélecteur `/model` affiche une ligne pour ce modèle à la place des lignes intégrées de la famille, y compris les lignes de contexte 1M. Pour atteindre la fenêtre 1M sans ajouter le suffixe à cette variable, vos utilisateurs exécutent `/model opus[1m]`, et Claude Code applique le suffixe au modèle que la variable nomme. `/model sonnet[1m]` fonctionne de la même manière.1005Lorsque vous définissez une variable `ANTHROPIC_DEFAULT_*_MODEL`, le sélecteur `/model` affiche une ligne pour ce modèle à la place des lignes intégrées de la famille, y compris les lignes de contexte 1M. Pour atteindre la fenêtre 1M sans ajouter le suffixe à cette variable, vos utilisateurs exécutent `/model opus[1m]`, et Claude Code applique le suffixe au modèle que la variable nomme. `/model sonnet[1m]` fonctionne de la même manière.

996 1006 


1079 1089 

1080`modelOverrides` fonctionne aux côtés de `availableModels`. La liste d'autorisation est évaluée par rapport à l'ID de modèle Anthropic, et non à la valeur de remplacement, donc une entrée comme `"opus"` dans `availableModels` continue de correspondre même lorsque les versions d'Opus sont mappées à des ARN. Lorsque `enforceAvailableModels` est défini dans les paramètres gérés, la valeur par défaut appliquée se résout via `modelOverrides` à partir des [paramètres gérés](/docs/fr/managed-settings#how-claude-code-combines-managed-sources) uniquement. Le mappage d'un administrateur, tel qu'une version épinglée à un ARN de profil d'inférence, est honoré dans la valeur par défaut appliquée. Les remplacements des paramètres utilisateur ou projet ne l'affectent pas.1090`modelOverrides` fonctionne aux côtés de `availableModels`. La liste d'autorisation est évaluée par rapport à l'ID de modèle Anthropic, et non à la valeur de remplacement, donc une entrée comme `"opus"` dans `availableModels` continue de correspondre même lorsque les versions d'Opus sont mappées à des ARN. Lorsque `enforceAvailableModels` est défini dans les paramètres gérés, la valeur par défaut appliquée se résout via `modelOverrides` à partir des [paramètres gérés](/docs/fr/managed-settings#how-claude-code-combines-managed-sources) uniquement. Le mappage d'un administrateur, tel qu'une version épinglée à un ARN de profil d'inférence, est honoré dans la valeur par défaut appliquée. Les remplacements des paramètres utilisateur ou projet ne l'affectent pas.

1081 1091 

1082Lorsque `availableModels` est défini dans les [paramètres gérés](/docs/fr/managed-settings), seuls les `modelOverrides` de cette source gérée s'appliquent à un ID de modèle Anthropic transmis directement via `--model` ou les variables d'environnement ci-dessus. Claude Code ignore les remplacements dans les paramètres utilisateur ou projet pour ces ID, et ne résout jamais un ID que la liste gérée exclut via `modelOverrides` à partir de n'importe quelle source de paramètres. Cette restriction de source gérée nécessite Claude Code v2.1.200 ou ultérieur. Voir [Restreindre la sélection de modèle](#restrict-model-selection) pour savoir comment les ID bloqués sont gérés.1092Lorsque `availableModels` est défini dans les [paramètres gérés](/docs/fr/managed-settings), seuls les `modelOverrides` des paramètres gérés s'appliquent à un ID de modèle Anthropic transmis directement via `--model` ou les variables d'environnement ci-dessus. Claude Code ignore les remplacements dans les paramètres utilisateur ou projet pour ces ID, et ne résout jamais un ID que la liste gérée exclut via `modelOverrides` à partir de n'importe quelle source de paramètres. Cette restriction de source gérée nécessite Claude Code v2.1.200 ou ultérieur. Voir [Restreindre la sélection de modèle](#restrict-model-selection) pour savoir comment les ID bloqués sont gérés.

1083 1093 

1084<h3 id="prompt-caching-configuration">1094<h3 id="prompt-caching-configuration">

1085 Configuration de la mise en cache des invites1095 Configuration du prompt caching

1086</h3>1096</h3>

1087 1097 

1088Claude Code utilise automatiquement la [mise en cache des invites](/docs/fr/prompt-caching) pour optimiser les performances et réduire les coûts. Vous pouvez désactiver la mise en cache des invites globalement ou pour des niveaux de modèle spécifiques :1098Claude Code utilise automatiquement le [prompt caching](/docs/fr/prompt-caching) pour optimiser les performances et réduire les coûts. Vous pouvez désactiver le prompt caching globalement ou pour des niveaux de modèle spécifiques :

1089 1099 

1090| Variable d'environnement | Description |1100| Variable d'environnement | Description |

1091| - | - |1101| - | - |

1092| `DISABLE_PROMPT_CACHING` | Définissez sur `1` pour désactiver la mise en cache des invites pour tous les modèles. Prend la priorité sur les paramètres par modèle |1102| `DISABLE_PROMPT_CACHING` | Définissez sur `1` pour désactiver le prompt caching pour tous les modèles. Prend la priorité sur les paramètres par modèle |

1093| `DISABLE_PROMPT_CACHING_HAIKU` | Définissez sur `1` pour désactiver la mise en cache des invites pour le [modèle Haiku par défaut](/docs/fr/prompt-caching#disable-prompt-caching) |1103| `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) |

1094| `DISABLE_PROMPT_CACHING_SONNET` | Définissez sur `1` pour désactiver la mise en cache des invites pour le [modèle Sonnet par défaut](/docs/fr/prompt-caching#disable-prompt-caching) |1104| `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) |

1095| `DISABLE_PROMPT_CACHING_OPUS` | Définissez sur `1` pour désactiver la mise en cache des invites pour le [modèle Opus par défaut](/docs/fr/prompt-caching#disable-prompt-caching) |1105| `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) |

1096| `DISABLE_PROMPT_CACHING_FABLE` | Définissez sur `1` pour désactiver la mise en cache des invites pour les modèles Fable uniquement |1106| `DISABLE_PROMPT_CACHING_FABLE` | Définissez sur `1` pour désactiver le prompt caching pour les modèles Fable uniquement |

1097 1107 

1098Pour choisir vous-même le TTL du cache pour la conversation principale et pour les subagents séparément, voir [choisir vous-même le TTL](/docs/fr/prompt-caching#choose-the-ttl-yourself). Pour ce qui déclenche un échec du cache, voir [Comment Claude Code utilise la mise en cache des invites](/docs/fr/prompt-caching).1108Pour choisir vous-même le TTL du cache pour la conversation principale et pour les sous-agents séparément, voir [choisir vous-même le TTL](/docs/fr/prompt-caching#choose-the-ttl-yourself). Pour ce qui déclenche un échec du cache, voir [Comment Claude Code utilise le prompt caching](/docs/fr/prompt-caching).

1099 1109 

1100<h2 id="version-history">1110<h2 id="version-history">

1101 Historique des versions1111 Historique des versions

Details

551* **Paramètres gérés par le serveur** : ajoutez-les au bloc `env` des [paramètres gérés par le serveur](/docs/fr/server-managed-settings) de votre organisation. Claude Code récupère ces paramètres au démarrage partout où [les paramètres gérés par le serveur s'appliquent](/docs/fr/model-config#surface-coverage), ce qui inclut les machines de vos utilisateurs et les sessions cloud autres que les sessions du canal Claude Tag. Les sessions Claude Tag ne reçoivent pas vos paramètres gérés par le serveur, donc cette route ne les configure pas.551* **Paramètres gérés par le serveur** : ajoutez-les au bloc `env` des [paramètres gérés par le serveur](/docs/fr/server-managed-settings) de votre organisation. Claude Code récupère ces paramètres au démarrage partout où [les paramètres gérés par le serveur s'appliquent](/docs/fr/model-config#surface-coverage), ce qui inclut les machines de vos utilisateurs et les sessions cloud autres que les sessions du canal Claude Tag. Les sessions Claude Tag ne reçoivent pas vos paramètres gérés par le serveur, donc cette route ne les configure pas.

552* **Les variables de l'environnement** : ajoutez-les aux [variables d'environnement](/docs/fr/cloud-environments#set-environment-variables) d'un environnement cloud pour configurer uniquement les sessions qui s'exécutent dans cet environnement. C'est la route qui atteint les sessions Claude Tag.552* **Les variables de l'environnement** : ajoutez-les aux [variables d'environnement](/docs/fr/cloud-environments#set-environment-variables) d'un environnement cloud pour configurer uniquement les sessions qui s'exécutent dans cet environnement. C'est la route qui atteint les sessions Claude Tag.

553 553 

554Quiconque utilise un environnement peut lire ses variables, donc n'y placez pas d'identifiants, comme un jeton de collecteur dans `OTEL_EXPORTER_OTLP_HEADERS`. Un [secret réseau](/docs/fr/cloud-environments#add-api-credentials) sur l'environnement n'aide pas non plus, car l'export de télémétrie propre de Claude Code est l'une des [requêtes qui ne reçoivent jamais le secret](/docs/fr/cloud-environments#requests-that-never-get-the-credential). Si votre collecteur nécessite des identifiants, configurez l'export entier via les paramètres gérés par le serveur à la place, car lorsque vous y définissez des identifiants, [Claude Code supprime les variables d'endpoint définies en dehors des paramètres gérés](#how-managed-settings-lock-the-otlp-destination).554Quiconque utilise un environnement peut lire ses variables, donc n'y placez pas d'identifiants, comme un jeton de collecteur dans `OTEL_EXPORTER_OTLP_HEADERS`. Un [secret réseau](/docs/fr/cloud-environments#add-network-secrets) sur l'environnement n'aide pas non plus, car l'export de télémétrie propre de Claude Code est l'une des [requêtes qui ne reçoivent jamais le secret](/docs/fr/cloud-environments#requests-that-never-get-the-credential). Si votre collecteur nécessite des identifiants, configurez l'export entier via les paramètres gérés par le serveur à la place, car lorsque vous y définissez des identifiants, [Claude Code supprime les variables d'endpoint définies en dehors des paramètres gérés](#how-managed-settings-lock-the-otlp-destination).

555 555 

556Gardez ces contraintes à l'esprit lorsque vous configurez la télémétrie pour les sessions cloud :556Gardez ces contraintes à l'esprit lorsque vous configurez la télémétrie pour les sessions cloud :

557 557 


1314* `event.sequence` : compteur par processus pour ordonner les événements, décrit dans [Attributs de corrélation des événements](#event-correlation-attributes)1314* `event.sequence` : compteur par processus pour ordonner les événements, décrit dans [Attributs de corrélation des événements](#event-correlation-attributes)

1315* `plugin_id` : identifiant du plugin au format `<name>@<marketplace>`1315* `plugin_id` : identifiant du plugin au format `<name>@<marketplace>`

1316* `hook_event` : type d'événement de hook ayant émis les métriques1316* `hook_event` : type d'événement de hook ayant émis les métriques

1317* Jusqu'à 20 clés de métriques émises par le plugin. Les noms correspondent à `^[a-z][a-z0-9_]{0,39}$`. Les valeurs sont booléennes ou numériques.1317* Jusqu'à 20 clés de métriques émises par le plugin. Les noms correspondent à `^[a-z][a-z0-9_]{0,39}$`. Les valeurs sont des booléens ou des nombres.

1318 1318 

1319<h4 id="compaction-event">1319<h4 id="compaction-event">

1320 Événement de compaction1320 Événement de compaction

Details

209| :- | :- | :- | :- |209| :- | :- | :- | :- |

210| Limite du premier octet | Aucun en-tête de réponse n'arrive après que Claude Code envoie la demande | API Anthropic directe et [Claude Platform on AWS](/docs/fr/claude-platform-on-aws), y compris via un proxy HTTPS, mais pas quand `ANTHROPIC_BASE_URL` ou `ANTHROPIC_AWS_BASE_URL` les acheminent via une [passerelle](/docs/fr/gateways). Opt-in sur Amazon Bedrock avec `CLAUDE_ENABLE_BYTE_WATCHDOG_BEDROCK=1` ; ne s'exécute pas sur Google Cloud's Agent Platform ou Microsoft Foundry | 180 secondes sur l'API Anthropic directe, 300 secondes ailleurs, plus une seconde par 32 Ko de corps de demande |210| Limite du premier octet | Aucun en-tête de réponse n'arrive après que Claude Code envoie la demande | API Anthropic directe et [Claude Platform on AWS](/docs/fr/claude-platform-on-aws), y compris via un proxy HTTPS, mais pas quand `ANTHROPIC_BASE_URL` ou `ANTHROPIC_AWS_BASE_URL` les acheminent via une [passerelle](/docs/fr/gateways). Opt-in sur Amazon Bedrock avec `CLAUDE_ENABLE_BYTE_WATCHDOG_BEDROCK=1` ; ne s'exécute pas sur Google Cloud's Agent Platform ou Microsoft Foundry | 180 secondes sur l'API Anthropic directe, 300 secondes ailleurs, plus une seconde par 32 Ko de corps de demande |

211| Chien de garde au niveau des événements | Aucun événement de réponse ne s'analyse. Sur les connexions où le chien de garde au niveau des octets s'exécute, les octets arrivants, y compris les pings de maintien de connexion, réinitialisent également ce chien de garde, pendant environ cinq minutes sans événement analysé | Tous les fournisseurs | 300 secondes |211| Chien de garde au niveau des événements | Aucun événement de réponse ne s'analyse. Sur les connexions où le chien de garde au niveau des octets s'exécute, les octets arrivants, y compris les pings de maintien de connexion, réinitialisent également ce chien de garde, pendant environ cinq minutes sans événement analysé | Tous les fournisseurs | 300 secondes |

212| Chien de garde au niveau des octets | Aucun octet n'arrive sur le fil, y compris les pings de maintien de connexion SSE | API Anthropic directe, [Claude Platform on AWS](/docs/fr/claude-platform-on-aws), et [passerelle](/docs/fr/gateways) connexions, y compris un `ANTHROPIC_BASE_URL` personnalisé. Opt-in sur les réponses Amazon Bedrock `vnd.amazon.eventstream` avec `CLAUDE_ENABLE_BYTE_WATCHDOG_BEDROCK=1` ; ne s'exécute pas sur Google Cloud's Agent Platform ou Microsoft Foundry | 180 secondes sur l'API Anthropic directe, 300 secondes ailleurs |212| Chien de garde au niveau des octets | Aucun octet n'arrive sur le fil, y compris les pings de maintien de connexion SSE | API Anthropic directe, [Claude Platform on AWS](/docs/fr/claude-platform-on-aws), et [passerelle](/docs/fr/gateways) connexions, y compris un `ANTHROPIC_BASE_URL` personnalisé. Opt-in sur les réponses Amazon Bedrock `vnd.amazon.eventstream` avec `CLAUDE_ENABLE_BYTE_WATCHDOG_BEDROCK=1` ; ne s'exécute pas sur Google Cloud's Agent Platform ou Microsoft Foundry | 180 secondes sur l'API Anthropic directe. Via un `ANTHROPIC_BASE_URL` personnalisé, 180 secondes lorsque Claude Code a [récupéré les feature flags](/docs/fr/env-vars#features-that-need-feature-flag-fetching) et 300 secondes dans le cas contraire. 300 secondes ailleurs |

213| Délai d'inactivité du corps | Aucun octet n'arrive pendant 5 minutes | Fournisseurs autres que l'API Anthropic directe, Claude Platform on AWS, et Amazon Bedrock avec `CLAUDE_ENABLE_BYTE_WATCHDOG_BEDROCK=1` défini, sauf si [`API_FORCE_IDLE_TIMEOUT`](/docs/fr/env-vars) change cela | 5 minutes |213| Délai d'inactivité du corps | Aucun octet n'arrive pendant 5 minutes | Fournisseurs autres que l'API Anthropic directe, Claude Platform on AWS, et Amazon Bedrock avec `CLAUDE_ENABLE_BYTE_WATCHDOG_BEDROCK=1` défini, sauf si [`API_FORCE_IDLE_TIMEOUT`](/docs/fr/env-vars) change cela | 5 minutes |

214 214 

215Si vous définissez `CLAUDE_ENABLE_BYTE_WATCHDOG_BEDROCK=1`, le chien de garde au niveau des octets remplace le délai d'inactivité du corps sur Bedrock plutôt que de s'exécuter à côté de celui-ci. `CLAUDE_STREAM_IDLE_TIMEOUT_MS` gouverne alors également la durée pendant laquelle un flux Bedrock peut rester silencieux avant que Claude Code ne traite la connexion comme morte, dans les limites énumérées ci-dessous. Les octets arrivants ne réinitialisent toujours pas le chien de garde au niveau des événements sur Bedrock. Avec la journalisation de débogage activée, chaque flux Bedrock enregistre alors un message de débogage qui commence par `wire-heartbeat: _chunkTimes absent`.215Si vous définissez `CLAUDE_ENABLE_BYTE_WATCHDOG_BEDROCK=1`, le chien de garde au niveau des octets remplace le délai d'inactivité du corps sur Bedrock plutôt que de s'exécuter à côté de celui-ci. `CLAUDE_STREAM_IDLE_TIMEOUT_MS` gouverne alors également la durée pendant laquelle un flux Bedrock peut rester silencieux avant que Claude Code ne traite la connexion comme morte, dans les limites énumérées ci-dessous. Les octets arrivants ne réinitialisent toujours pas le chien de garde au niveau des événements sur Bedrock. Avec la journalisation de débogage activée, chaque flux Bedrock enregistre alors un message de débogage qui commence par `wire-heartbeat: _chunkTimes absent`.

Details

183| :- | :- | :- |183| :- | :- | :- |

184| `name` | Non | Nom du style de sortie, affiché dans le sélecteur `/config`. Par défaut : le nom du fichier |184| `name` | Non | Nom du style de sortie, affiché dans le sélecteur `/config`. Par défaut : le nom du fichier |

185| `description` | Non | Description du style de sortie, affichée dans le sélecteur `/config` |185| `description` | Non | Description du style de sortie, affichée dans le sélecteur `/config` |

186| `keep-coding-instructions` | Non | Définissez sur `true` pour conserver les instructions d'ingénierie logicielle intégrées de Claude Code aux côtés de votre style. Par défaut : `false` |186| `keep-coding-instructions` | Non | Définissez sur `true` pour conserver la section d'instructions d'ingénierie logicielle intégrées de Claude Code, que seul le prompt système complet inclut, aux côtés de votre style. Consultez [Fonctionnement des styles de sortie](#how-output-styles-work). Par défaut : `false` |

187| `force-for-plugin` | Non | Styles de sortie de plugin uniquement. Définissez sur `true` pour appliquer ce style automatiquement chaque fois que le plugin est activé, sans nécessiter une sélection de l'utilisateur. Remplace le paramètre `outputStyle` de l'utilisateur. Si plusieurs plugins activés définissent ceci, Claude Code utilise le premier chargé. Par défaut : `false` |187| `force-for-plugin` | Non | Styles de sortie de plugin uniquement. Définissez sur `true` pour appliquer ce style automatiquement chaque fois que le plugin est activé, sans nécessiter une sélection de l'utilisateur. Remplace le paramètre `outputStyle` de l'utilisateur. Si plusieurs plugins activés définissent ceci, Claude Code utilise le premier chargé. Par défaut : `false` |

188 188 

189<span id="comparisons-to-related-features" />189<span id="comparisons-to-related-features" />


214Un style de sortie modifie les instructions que Claude Code donne à Claude.214Un style de sortie modifie les instructions que Claude Code donne à Claude.

215 215 

216* Claude Code envoie les instructions du style actif avec chaque demande.216* Claude Code envoie les instructions du style actif avec chaque demande.

217* Les styles de sortie personnalisés omettent les instructions d'ingénierie logicielle intégrées de Claude Code, telles que la façon de délimiter les modifications, d'écrire des commentaires et de vérifier le travail, sauf si `keep-coding-instructions` est défini sur `true`.217* Sur le prompt système complet, les styles de sortie personnalisés omettent la section d'instructions d'ingénierie logicielle intégrées de Claude Code, telles que la façon de délimiter les modifications, d'écrire des commentaires et de vérifier le travail, sauf si `keep-coding-instructions` est défini sur `true`. Le prompt système plus court n'inclut pas cette section, donc le champ n'a aucun effet dans ce cas. Pour vous appuyer sur ce champ, définissez [`CLAUDE_CODE_SIMPLE_SYSTEM_PROMPT`](/docs/fr/env-vars#variables) sur `0`, ce qui sélectionne le prompt complet sur n'importe quel modèle.

218 218 

219Les styles de sortie s'appliquent à la conversation principale et à un [fork](/docs/fr/sub-agents#fork-the-current-conversation), qui hérite de la conversation complète et de l'invite système du parent. Les autres [sous-agents exécutent leur propre invite système](/docs/fr/sub-agents#what-loads-at-startup), donc les styles ne modifient pas leur façon de répondre.219Les styles de sortie s'appliquent à la conversation principale et à un [fork](/docs/fr/sub-agents#fork-the-current-conversation), qui hérite de la conversation complète et du prompt système du parent. Les autres [sous-agents exécutent leur propre prompt système](/docs/fr/sub-agents#what-loads-at-startup), donc les styles ne modifient pas leur façon de répondre.

220 220 

221L'utilisation des tokens dépend du style. Les instructions d'un style ajoutent des tokens d'entrée, bien que la mise en cache des invites réduise ce coût après la première demande d'une session.221L'utilisation des tokens dépend du style. Les instructions d'un style ajoutent des tokens d'entrée, bien que la mise en cache des invites réduise ce coût après la première demande d'une session.

222 222 

overview.md +1 −1

Details

42 curl -fsSL https://claude.ai/install.cmd -o install.cmd && install.cmd && del install.cmd42 curl -fsSL https://claude.ai/install.cmd -o install.cmd && install.cmd && del install.cmd

43 ```43 ```

44 44 

45 Quand l'installateur se termine, ouvrez une nouvelle fenêtre de terminal et exécutez `claude --version`. Une installation fonctionnelle affiche un numéro de version. Si votre shell dit que `claude` n'est pas trouvé ou n'est pas reconnu, le répertoire d'installation n'est pas encore sur votre PATH : consultez [Corriger votre PATH](/docs/fr/troubleshoot-install#command-not-found-claude-after-installation).45 La commande d'installation n'affiche aucune progression pendant le téléchargement de Claude Code. Quand l'installateur se termine, ouvrez une nouvelle fenêtre de terminal et exécutez `claude --version`. Une installation fonctionnelle affiche un numéro de version. Si votre shell dit que `claude` n'est pas trouvé ou n'est pas reconnu, le répertoire d'installation n'est pas encore sur votre PATH : consultez [Corriger votre PATH](/docs/fr/troubleshoot-install#command-not-found-claude-after-installation).

46 46 

47 Si vous voyez `The token '&&' is not a valid statement separator`, vous êtes dans PowerShell, pas dans CMD. Si vous voyez `'irm' is not recognized as an internal or external command`, vous êtes dans CMD, pas dans PowerShell.47 Si vous voyez `The token '&&' is not a valid statement separator`, vous êtes dans PowerShell, pas dans CMD. Si vous voyez `'irm' is not recognized as an internal or external command`, vous êtes dans CMD, pas dans PowerShell.

48 48 

permissions.md +1 −1

Details

700Les autorisations et le [sandboxing](/docs/fr/sandboxing) sont des couches de sécurité complémentaires :700Les autorisations et le [sandboxing](/docs/fr/sandboxing) sont des couches de sécurité complémentaires :

701 701 

702* **Les autorisations** contrôlent quels outils Claude Code peut utiliser et quels fichiers ou domaines il peut accéder. Elles s'appliquent à Bash, Read, Edit, WebFetch, MCP et tous les autres outils, sauf qu'une règle deny ou ask ne peut pas bloquer [`EndConversation`](/docs/fr/tools-reference#endconversation-tool-behavior) tant que tout autre outil reste disponible.702* **Les autorisations** contrôlent quels outils Claude Code peut utiliser et quels fichiers ou domaines il peut accéder. Elles s'appliquent à Bash, Read, Edit, WebFetch, MCP et tous les autres outils, sauf qu'une règle deny ou ask ne peut pas bloquer [`EndConversation`](/docs/fr/tools-reference#endconversation-tool-behavior) tant que tout autre outil reste disponible.

703* **Le sandboxing** fournit une application au niveau du système d'exploitation qui restreint l'accès du système de fichiers et du réseau des commandes shell. Il s'applique uniquement à Bash, PowerShell et aux commandes [Monitor](/docs/fr/tools-reference#monitor-tool) et à leurs processus enfants.703* **Le sandboxing** fournit une application au niveau du système d'exploitation qui restreint l'accès au système de fichiers et au réseau des commandes shell. Il s'applique aux commandes des outils Bash, PowerShell et [Monitor](/docs/fr/tools-reference#monitor-tool) ainsi qu'à leurs processus enfants.

704 704 

705Utilisez les deux pour une défense en profondeur, car les restrictions de sandbox s'appliquent toujours même si une injection de prompt contourne la prise de décision de Claude. Les chemins et domaines des paramètres de sandbox et des règles d'autorisation sont [fusionnés dans la configuration finale du sandbox](/docs/fr/sandboxing#permission-rules).705Utilisez les deux pour une défense en profondeur, car les restrictions de sandbox s'appliquent toujours même si une injection de prompt contourne la prise de décision de Claude. Les chemins et domaines des paramètres de sandbox et des règles d'autorisation sont [fusionnés dans la configuration finale du sandbox](/docs/fr/sandboxing#permission-rules).

706 706 

plugin-evals.md +26 −5

Details

337* **Substitutions** : insérez les champs de l'entrée de l'appel avec `{{input.<field>}}`, et le contenu d'un fichier de fixture à côté du mock avec `{{file:fixtures/{input.<field>}.json}}`.337* **Substitutions** : insérez les champs de l'entrée de l'appel avec `{{input.<field>}}`, et le contenu d'un fichier de fixture à côté du mock avec `{{file:fixtures/{input.<field>}.json}}`.

338* **`expect:`** : le bloc `expect:` protège l'entrée. Si un appel le viole, l'exécution s'arrête avec un score de 0 et enregistre pourquoi, donc un cas peut affirmer ce que votre plugin a demandé au serveur de faire.338* **`expect:`** : le bloc `expect:` protège l'entrée. Si un appel le viole, l'exécution s'arrête avec un score de 0 et enregistre pourquoi, donc un cas peut affirmer ce que votre plugin a demandé au serveur de faire.

339* **`error: true`** : définissez `error: true` pour retourner le corps comme une erreur d'outil à la place.339* **`error: true`** : définissez `error: true` pour retourner le corps comme une erreur d'outil à la place.

340* **`type: agent`** : définissez `type: agent` pour que le modèle juge réponde en tant que serveur à partir d'instructions dans le corps.340* **`type: agent`** : définissez `type: agent` pour que le modèle juge réponde en tant que serveur à partir d'instructions dans le corps. Les appels aux mocks d'agent partagent un [budget par exécution](#mock-call-budget-exceeded) égal à quatre fois le `max_turns` du cas, et un appel au-delà de ce budget interrompt l'exécution avec un score de 0.

341 341 

342La [référence du fichier mock](#mock-files) énumère chaque clé et les fichiers `_server.md` et `_tools.json`.342La [référence du fichier mock](#mock-files) énumère chaque clé et les fichiers `_server.md` et `_tools.json`.

343 343 


372| :- | :- |372| :- | :- |

373| Le répertoire racine d'un plugin, comme `.` | Chaque cas sous son répertoire d'eval, avec ce plugin chargé |373| Le répertoire racine d'un plugin, comme `.` | Chaque cas sous son répertoire d'eval, avec ce plugin chargé |

374| Un fichier `prompt.md` ou `case.yaml` unique | Ce cas, avec son plugin englobant chargé |374| Un fichier `prompt.md` ou `case.yaml` unique | Ce cas, avec son plugin englobant chargé |

375| Un plugin installé par nom, `name` ou `name@marketplace` | Les cas dans le répertoire d'eval de la copie installée, avec la copie installée chargée. Les résultats sont écrits sous `./evals/results/` dans votre répertoire courant, ou `./<dir>/results/` avec `--eval-dir` |375| Un plugin installé par nom, `name` ou `name@marketplace` | Le plugin et les cas de son répertoire d'eval, lus [sur place ou depuis la copie installée](/docs/fr/plugins/loading#in-place-and-copied-plugins). Les résultats sont écrits sous `./evals/results/` dans votre répertoire courant, ou `./<dir>/results/` avec `--eval-dir` |

376| `name@skills-dir` | La même chose, pour un [plugin de répertoire de skills](/docs/fr/plugins/loading#plugins-shared-through-a-repository) |376| `name@skills-dir` | La même chose, pour un [plugin de répertoire de skills](/docs/fr/plugins/loading#plugins-shared-through-a-repository) |

377| Omis | Le répertoire courant en tant que chemin |377| Omis | Le répertoire courant en tant que chemin |

378 378 


504| `cases[].aggregates.score` | Score d'exécution du bras with moyen pour le cas |504| `cases[].aggregates.score` | Score d'exécution du bras with moyen pour le cas |

505| `cases[].aggregates.delta` | Score du bras with moins score du bras without. Omis lorsque les bras ne sont pas comparables |505| `cases[].aggregates.delta` | Score du bras with moins score du bras without. Omis lorsque les bras ne sont pas comparables |

506| `cases[].arms.with[].error` | `null`, ou pourquoi une exécution s'est terminée anormalement, comme `timed out after 300s`. Une exécution qui a démarré mais s'est terminée mal est toujours notée sur ce qu'elle a produit, donc une erreur non-null n'implique pas un score de 0 |506| `cases[].arms.with[].error` | `null`, ou pourquoi une exécution s'est terminée anormalement, comme `timed out after 300s`. Une exécution qui a démarré mais s'est terminée mal est toujours notée sur ce qu'elle a produit, donc une erreur non-null n'implique pas un score de 0 |

507| `cases[].arms.with[].aborted` | Présent lorsqu'un [mock](#mock-mcp-servers) `expect:` ou `abort_when` a arrêté l'exécution, avec `server`, `tool`, et `reason`. L'exécution marque 0 et `error` reste `null` |507| `cases[].arms.with[].aborted` | Présent lorsqu'un [mock](#mock-mcp-servers) a arrêté l'exécution via `expect:`, `abort_when`, ou le [budget d'appels de l'agent-mock](#mock-call-budget-exceeded), avec `server`, `tool`, et `reason`. L'exécution marque 0 et `error` reste `null` |

508| `cases[].arms.with[].skippedPaidGraders` | `true` lorsque le plafond de coût a ignoré les évaluateurs de juge de cette exécution, donc son score n'est pas comparable |508| `cases[].arms.with[].skippedPaidGraders` | `true` lorsque le plafond de coût a ignoré les évaluateurs de juge de cette exécution, donc son score n'est pas comparable |

509| `costUsd`, `durationSeconds`, `claudeVersion` | Coût estimé au prix catalogue incluant les appels de juge, secondes de temps mural, et la version de Claude Code qui a exécuté la suite |509| `costUsd`, `durationSeconds`, `claudeVersion` | Coût estimé au prix catalogue incluant les appels de juge, secondes de temps mural, et la version de Claude Code qui a exécuté la suite |

510 510 


660| Clé | Par défaut | Objectif |660| Clé | Par défaut | Objectif |

661| :- | :- | :- |661| :- | :- | :- |

662| `type` | `fixed` | `fixed` retourne le corps tel qu'écrit. `agent` traite le corps comme des instructions pour le [modèle juge](#command-options), qui joue le rôle du serveur pour l'exécution et voit les appels antérieurs comme l'historique |662| `type` | `fixed` | `fixed` retourne le corps tel qu'écrit. `agent` traite le corps comme des instructions pour le [modèle juge](#command-options), qui joue le rôle du serveur pour l'exécution et voit les appels antérieurs comme l'historique |

663| `expect` | non défini | Une carte des chemins d'entrée pointillés vers un nom de type comme `string`, `number`, `boolean`, `array`, ou `object`, une `/regex/`, un littéral, ou une liste de littéraux autorisés. Un appel qui le viole arrête l'exécution avec un score de 0 et est rapporté comme `aborted` avec le serveur, l'outil, et la raison |663| `expect` | non défini | Une carte des chemins d'entrée pointillés vers un nom de type comme `string`, `number`, `boolean`, `array`, ou `object`, une [`/regex/`](#expect-patterns), un littéral, ou une liste de littéraux autorisés. Un appel qui le viole arrête l'exécution avec un score de 0 et est rapporté comme `aborted` avec le serveur, l'outil, et la raison |

664| `error` | `false` | `fixed` seulement. Retournez le corps comme une erreur d'outil |664| `error` | `false` | `fixed` seulement. Retournez le corps comme une erreur d'outil |

665| `abort_when` | non défini | `agent` seulement. Prose énumérant les seules conditions sous lesquelles l'agent peut arrêter l'exécution |665| `abort_when` | non défini | `agent` seulement. Prose énumérant les seules conditions sous lesquelles l'agent peut arrêter l'exécution |

666 666 

667Deux fichiers optionnels se trouvent à côté des fichiers d'outil dans le répertoire d'un serveur :667Deux fichiers optionnels se trouvent à côté des fichiers d'outil dans le répertoire d'un serveur :

668 668 

669* **`_server.md`** : un seul mock `type: agent` qui répond à plusieurs outils, énumérés dans sa clé frontmatter `tools:`. Un `<tool>.md` pour le même outil a la priorité. Mettez une garde `expect:` sur le `<tool>.md` individuel, pas ici669* **`_server.md`** : un seul mock `type: agent` qui répond à plusieurs outils, énumérés dans sa clé frontmatter `tools:`. Un `<tool>.md` pour le même outil a la priorité. Une garde `expect:` ici provoque une erreur de chargement, sauf si `tools:` ne liste qu'un seul outil ; placez donc plutôt la garde sur le `<tool>.md` individuel

670* **`_tools.json`** : une réponse `tools/list` enregistrée du vrai serveur, pour que les outils mockés portent leurs vraies descriptions et schémas d'entrée au lieu d'un espace réservé permissif670* **`_tools.json`** : une réponse `tools/list` enregistrée du vrai serveur, pour que les outils mockés portent leurs vraies descriptions et schémas d'entrée au lieu d'un espace réservé permissif

671 671 

672Le répertoire `mocks/` propre d'un cas utilise la même disposition et remplace les fichiers mocks de la suite fichier par fichier.672Le répertoire `mocks/` propre d'un cas utilise la même disposition et remplace les fichiers mocks de la suite fichier par fichier.

673 673 

674<h4 id="expect-patterns">

675 Motifs regex dans expect

676</h4>

677 

678Une valeur `/regex/` dans `expect:` utilise un petit dialecte que Claude Code vérifie lorsqu'il charge la suite :

679 

680* Les caractères littéraux, `.`, les échappements comme `\d`, et les classes de caractères comme `[a-z]`

681* Les quantificateurs `*`, `+`, `?`, et les formes `{m,n}`, chacun appliqué à un seul caractère, échappement ou classe

682* Un `^` facultatif au début et un `$` facultatif à la fin

683* Les flags `i` et `s` uniquement

684 

685Un motif hors du dialecte, comme un motif avec un groupe, une alternance, une référence arrière, un lookaround ou un autre flag, empêche le cas de se charger : le cas obtient un score de 0 et son erreur nomme le motif. Pour autoriser plusieurs valeurs exactes, écrivez une liste de littéraux au lieu d'une alternance.

686 

687Chaque motif ne vérifie les valeurs que jusqu'à une longueur maximale, et une valeur plus longue compte comme une violation. Les quantificateurs peuvent réduire cette longueur, et un `^` initial l'augmente, donc ancrez les motifs avec `^` et limitez le nombre de quantificateurs.

688 

674<h2 id="troubleshooting">689<h2 id="troubleshooting">

675 Dépannage690 Dépannage

676</h2>691</h2>


779 794 

780Si votre compte atteint la limite d'utilisation de son plan ou une limite de débit API pendant qu'une suite s'exécute, chaque exécution ultérieure se termine avec cette erreur, est notée sur ce qu'elle a produit, et marque généralement 0. La suite se termine toujours et n'est pas marquée `partial`, donc le résultat peut ressembler à une régression. Vérifiez la colonne `NOTES` ou `cases[].arms.with[].error` dans le JSON pour le message de limite avant de faire confiance aux scores, puis réexécutez après que la limite se réinitialise, avec `--runs 1` ou un filtre `--case` si vous avez besoin de rester en dessous.795Si votre compte atteint la limite d'utilisation de son plan ou une limite de débit API pendant qu'une suite s'exécute, chaque exécution ultérieure se termine avec cette erreur, est notée sur ce qu'elle a produit, et marque généralement 0. La suite se termine toujours et n'est pas marquée `partial`, donc le résultat peut ressembler à une régression. Vérifiez la colonne `NOTES` ou `cases[].arms.with[].error` dans le JSON pour le message de limite avant de faire confiance aux scores, puis réexécutez après que la limite se réinitialise, avec `--runs 1` ou un filtre `--case` si vous avez besoin de rester en dessous.

781 796 

797<h3 id="mock-call-budget-exceeded">

798 « mock call budget exceeded »

799</h3>

800 

801Chaque [mock](#mock-mcp-servers) `type: agent` d'une exécution puise dans un budget d'appels unique égal à quatre fois le `max_turns` du cas, soit 40 appels avec la valeur par défaut de 10. Les appels auxquels répondent les enregistrements `.replay/` comptent aussi, et la ligne de progression `mock budget` du cas affiche le budget. Un appel au-delà interrompt l'exécution avec un score de 0 et ce motif ; augmentez donc `max_turns` dans le cas pour un skill qui effectue de nombreux appels aux mocks d'agents.

802 

782<h3 id="runs-time-out-or-hit-the-turn-cap">803<h3 id="runs-time-out-or-hit-the-turn-cap">

783 Les exécutions expirent ou atteignent la limite de tour804 Les exécutions expirent ou atteignent la limite de tour

784</h3>805</h3>

Details

40 40 

41`new` est un alias pour `init`.41`new` est un alias pour `init`.

42 42 

43Pour le flux de travail créer, tester et éditer qui commence par cette commande, voir [Créer un plugin](/docs/fr/plugins/create).43Pour le workflow créer, tester et éditer qui commence par cette commande, voir [Créer un plugin](/docs/fr/plugins/create).

44 44 

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

46claude plugin init <name> [options]46claude plugin init <name> [options]


48 48 

49`<name>` devient le nom du répertoire sous `~/.claude/skills/` et le `name` du plugin dans son manifeste.49`<name>` devient le nom du répertoire sous `~/.claude/skills/` et le `name` du plugin dans son manifeste.

50 50 

51La commande n'a pas de drapeau pour un autre emplacement. Pour créer un scaffold dans un projet à la place, voir [Créer un plugin](/docs/fr/plugins/create).51La commande n'a pas de flag pour un autre emplacement. Pour créer un scaffold dans un projet à la place, voir [Créer un plugin](/docs/fr/plugins/create).

52 52 

53| Drapeau | Description |53| Flag | Description |

54| :- | :- |54| :- | :- |

55| `--description <text>` | Description du manifeste |55| `--description <text>` | Description du manifeste |

56| `--author <name>` | Nom de l'auteur. Par défaut `git config user.name` |56| `--author <name>` | Nom de l'auteur. Par défaut `git config user.name` |


76 plugin install76 plugin install

77</h3>77</h3>

78 78 

79Installez un plugin depuis une marketplace que vous avez ajoutée. `i` est un alias pour `install`.79Installez un plugin depuis l'une de vos marketplaces. `i` est un alias pour `install`.

80 80 

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

82claude plugin install <plugin> [options]82claude plugin install <plugin> [options]


84 84 

85La plupart des plugins s'installent sans invite. Pour un plugin dont l'entrée marketplace [exécute une commande pour l'installer](/docs/fr/plugins/host-marketplace) ou [définit un `headersHelper` pour son téléchargement](/docs/fr/plugins/host-marketplace#how-users-accept-a-headershelper-command), Claude Code affiche d'abord la commande et demande `Run this command now? [y/N]`.85La plupart des plugins s'installent sans invite. Pour un plugin dont l'entrée marketplace [exécute une commande pour l'installer](/docs/fr/plugins/host-marketplace) ou [définit un `headersHelper` pour son téléchargement](/docs/fr/plugins/host-marketplace#how-users-accept-a-headershelper-command), Claude Code affiche d'abord la commande et demande `Run this command now? [y/N]`.

86 86 

87| Drapeau | Description |87| Flag | Description |

88| :- | :- |88| :- | :- |

89| `-s, --scope <scope>` | Portée d'installation : `user`, `project`, ou `local`. Par défaut `user` |89| `-s, --scope <scope>` | Portée d'installation : `user`, `project`, ou `local`. Par défaut `user` |

90| `--config <key=value>` | Définissez une option [`userConfig`](/docs/fr/plugins/manifest-reference) que le manifeste du plugin déclare. Répétez le flag pour chaque option. Une clé écrite `<server>.<key>` définit un paramètre qu'un [serveur MCP fourni](/docs/fr/plugins/components#include-a-packaged-mcpb-server) déclare dans sa propre `user_config` à la place, pour un fichier bundle expédié à l'intérieur du plugin. La forme `<server>.<key>` nécessite Claude Code v2.1.285 ou ultérieur |90| `--config <key=value>` | Définissez une option [`userConfig`](/docs/fr/plugins/manifest-reference) que le manifeste du plugin déclare. Répétez le flag pour chaque option. Une clé écrite `<server>.<key>` définit un paramètre qu'un [serveur MCP fourni](/docs/fr/plugins/components#include-a-packaged-mcpb-server) déclare dans sa propre `user_config` à la place, pour un fichier bundle expédié à l'intérieur du plugin. La forme `<server>.<key>` nécessite Claude Code v2.1.285 ou ultérieur |


129 129 

130Une erreur d'utilisation, comme un `--scope` invalide, n'affiche aucune ligne de résultat et quitte `1` avec la raison sur stderr.130Une erreur d'utilisation, comme un `--scope` invalide, n'affiche aucune ligne de résultat et quitte `1` avec la raison sur stderr.

131 131 

132<h4 id="json-result-for-marketplace-commands">

133 Résultat JSON pour les commandes de marketplace

134</h4>

135 

136Sur `plugin marketplace add`, `plugin marketplace remove` et `plugin marketplace update`, `--json` affiche un objet JSON sur la dernière ligne de stdout avec les champs `command`, `outcome` et `message`. Voici le résultat de `claude plugin marketplace remove your-marketplace --json` :

137 

138```json theme={null}

139{"command":"marketplace-remove","outcome":"ok","marketplace":"your-marketplace","message":"Successfully removed marketplace: your-marketplace"}

140```

141 

142La valeur de `command` est `marketplace-add`, `marketplace-remove` ou `marketplace-update`. Les champs ci-dessous apparaissent seulement quand ils s'appliquent :

143 

144* `marketplace` : le nom de la marketplace sur laquelle la commande a agi

145* `failureCode` : un code indiquant pourquoi la commande a échoué, comme `invalid_source`

146 

147`plugin marketplace add` et `plugin marketplace remove` peuvent n'afficher aucune ligne de résultat quand l'argument est le [nom réservé](/docs/fr/plugins/marketplace-reference#reserved-names) `anthropic-plugin-directory`, donc vérifiez le code de sortie pour ce nom.

148 

132<h4 id="accept-a-displayed-install-command">149<h4 id="accept-a-displayed-install-command">

133 Accepter une commande d'installation affichée150 Accepter une commande d'installation affichée

134</h4>151</h4>

135 152 

136Quand une exécution `--json` affiche une commande déclarée par la marketplace et ne l'exécute pas, le résultat `failed` porte aussi un objet `shownCommand`. Ses champs incluent la commande telle qu'affichée, le plugin auquel elle appartient, et le `sha256` de la commande.153Quand une exécution `--json` affiche une commande déclarée par la marketplace et ne l'exécute pas, le résultat `failed` porte aussi un objet `shownCommand`. Ses champs incluent la commande telle qu'affichée, le plugin auquel elle appartient, et le `sha256` de la commande.

137 154 

138Pour accepter exactement cette commande, réexécutez avec ce `sha256` en tant que `--accept-command` depuis votre propre terminal, car le drapeau n'a aucun effet dans une session Claude Code. Nécessite Claude Code v2.1.271 ou ultérieur.155Pour accepter exactement cette commande, réexécutez avec ce `sha256` en tant que `--accept-command` depuis votre propre terminal, car le flag n'a aucun effet dans une session Claude Code. Nécessite Claude Code v2.1.271 ou ultérieur.

139 156 

140Le `sha256` compte comme acceptation pour exactement cette commande, ce plugin, et ce catalogue de marketplace. Si l'un d'eux a changé depuis que la commande a été affichée, Claude Code n'accepte pas le `sha256` et affiche la commande à nouveau. Un changement que l'actualisation de la marketplace de la propre exécution récupère compte aussi comme tel changement.157Le `sha256` compte comme acceptation pour exactement cette commande, ce plugin, et ce catalogue de marketplace. Si l'un d'eux a changé depuis que la commande a été affichée, Claude Code n'accepte pas le `sha256` et affiche la commande à nouveau. Un changement que l'actualisation de la marketplace de la propre exécution récupère compte aussi comme tel changement.

141 158 


151claude plugin uninstall <plugin> [options]168claude plugin uninstall <plugin> [options]

152```169```

153 170 

154| Drapeau | Description |171| Flag | Description |

155| :- | :- |172| :- | :- |

156| `-s, --scope <scope>` | Désinstallez de la portée : `user`, `project`, ou `local`. Par défaut `user` |173| `-s, --scope <scope>` | Désinstallez de la portée : `user`, `project`, ou `local`. Par défaut `user` |

157| `--keep-data` | Préservez le répertoire de données persistantes du plugin, `~/.claude/plugins/data/<id>/` |174| `--keep-data` | Préservez le répertoire de données persistantes du plugin, `~/.claude/plugins/data/<id>/` |

158| `--prune` | Supprimez aussi les [dépendances](/docs/fr/plugins/dependencies) auto-installées que nul plugin restant n'a besoin |175| `--prune` | Supprimez aussi les [dépendances](/docs/fr/plugins/dependencies) auto-installées dont aucun plugin restant n'a besoin |

159| `-y, --yes` | Ignorez l'invite de confirmation `--prune`. Requis avec `--prune` quand stdin ou stdout n'est pas un TTY |176| `-y, --yes` | Ignorez l'invite de confirmation `--prune`. Requis avec `--prune` quand stdin ou stdout n'est pas un TTY |

160| `--json` | Affiche le résultat en tant qu'un objet JSON sur la dernière ligne de stdout, dans le [même format que `plugin install --json`](#plugin-json-result). Ne peut pas être combiné avec `--prune`. Nécessite Claude Code v2.1.268 ou ultérieur |177| `--json` | Affiche le résultat en tant qu'un objet JSON sur la dernière ligne de stdout, dans le [même format que `plugin install --json`](#plugin-json-result). Ne peut pas être combiné avec `--prune`. Nécessite Claude Code v2.1.268 ou ultérieur |

161 178 


191claude plugin enable <plugin> [options]208claude plugin enable <plugin> [options]

192```209```

193 210 

194| Drapeau | Description |211| Flag | Description |

195| :- | :- |212| :- | :- |

196| `-s, --scope <scope>` | Portée pour activer : `user`, `project`, ou `local`. Auto-détecté quand omis |213| `-s, --scope <scope>` | Portée pour activer : `user`, `project`, ou `local`. Auto-détecté quand omis |

197| `--json` | Affiche le résultat en tant qu'un objet JSON sur la dernière ligne de stdout, dans le [même format que `plugin install --json`](#plugin-json-result). Nécessite Claude Code v2.1.268 ou ultérieur |214| `--json` | Affiche le résultat en tant qu'un objet JSON sur la dernière ligne de stdout, dans le [même format que `plugin install --json`](#plugin-json-result). Nécessite Claude Code v2.1.268 ou ultérieur |

198 215 

199Sans `--scope`, la commande vérifie vos fichiers de paramètres dans l'ordre local, projet, utilisateur, et utilise la première portée qui mentionne le plugin.216Sans `--scope`, la commande vérifie vos fichiers de paramètres dans l'ordre local, projet, utilisateur, et utilise la première portée qui mentionne le plugin.

200 217 

201Si vous passez un `--scope` où le plugin n'est pas déclaré, la commande écrit soit une substitution soit échoue :218Si vous passez un `--scope` où le plugin n'est pas déclaré, la commande écrit soit une surcharge soit échoue :

202 219 

203* **Une portée qui [prend la priorité](/docs/fr/plugins/loading) sur celle qui le déclare** : Claude Code écrit une substitution à la portée que vous avez passée. Par exemple, `claude plugin disable formatter --scope local` éteint un plugin activé au niveau du projet pour vous seul220* **Une portée qui [a priorité](/docs/fr/plugins/loading) sur celle qui le déclare** : Claude Code écrit une surcharge à la portée que vous avez passée. Par exemple, `claude plugin disable formatter --scope local` éteint un plugin activé au niveau du projet pour vous seul

204* **Toute autre portée** : la commande échoue avec `Plugin "formatter" is installed at project scope, not user. Use --scope project or omit --scope to auto-detect.`221* **Toute autre portée** : la commande échoue avec `Plugin "formatter" is installed at project scope, not user. Use --scope project or omit --scope to auto-detect.`

205 222 

206Si le plugin est déjà activé à la portée résolue, la commande affiche `Plugin "formatter" is already enabled` et quitte `1`. Avec `--json`, le résultat a `"failureCode": "already_in_goal_state"` et `"alreadyInGoalState": true`, donc un script peut traiter ce cas comme un succès.223Si le plugin est déjà activé à la portée résolue, la commande affiche `Plugin "formatter" is already enabled` et quitte `1`. Avec `--json`, le résultat a `"failureCode": "already_in_goal_state"` et `"alreadyInGoalState": true`, donc un script peut traiter ce cas comme un succès.


229claude plugin disable [plugin] [options]246claude plugin disable [plugin] [options]

230```247```

231 248 

232| Drapeau | Description |249| Flag | Description |

233| :- | :- |250| :- | :- |

234| `-a, --all` | Désactivez tous les plugins activés. Ne peut pas être combiné avec un nom de plugin ou `--scope` |251| `-a, --all` | Désactivez tous les plugins activés. Ne peut pas être combiné avec un nom de plugin ou `--scope` |

235| `-s, --scope <scope>` | Portée pour désactiver : `user`, `project`, ou `local`. Auto-détecté quand omis |252| `-s, --scope <scope>` | Portée pour désactiver : `user`, `project`, ou `local`. Auto-détecté quand omis |


262claude plugin update <plugin> [options]279claude plugin update <plugin> [options]

263```280```

264 281 

265| Drapeau | Description |282| Flag | Description |

266| :- | :- |283| :- | :- |

267| `-s, --scope <scope>` | Portée à mettre à jour : `user`, `project`, `local`, ou `managed`. Auto-détecté quand omis |284| `-s, --scope <scope>` | Portée à mettre à jour : `user`, `project`, `local`, ou `managed`. Auto-détecté quand omis |

268| `-y, --yes` | Acceptez une commande d'installation modifiée d'un plugin [source de commande](/docs/fr/plugins/host-marketplace), sans l'invite. Requis quand stdin ou stdout n'est pas un TTY, sauf si vous passez `--accept-command`. Nécessite Claude Code v2.1.229 ou ultérieur |285| `-y, --yes` | Acceptez une commande d'installation modifiée d'un plugin [source de commande](/docs/fr/plugins/host-marketplace), sans l'invite. Requis quand stdin ou stdout n'est pas un TTY, sauf si vous passez `--accept-command`. Nécessite Claude Code v2.1.229 ou ultérieur |


291 Mettre à jour par nom nu308 Mettre à jour par nom nu

292</h4>309</h4>

293 310 

294Vous pouvez passer un nom de plugin nu, que la commande correspond à vos plugins installés. Quand les plugins installés de différentes marketplaces partagent le nom, la commande refuse la mise à jour et liste les commandes `plugin-name@marketplace-name` qualifiées à exécuter à la place. La mise à jour par nom nu nécessite Claude Code v2.1.246 ou ultérieur.311Vous pouvez passer un nom de plugin nu, que la commande fait correspondre à vos plugins installés. Quand les plugins installés de différentes marketplaces partagent le nom, la commande refuse la mise à jour et liste les commandes `plugin-name@marketplace-name` qualifiées à exécuter à la place. La mise à jour par nom nu nécessite Claude Code v2.1.246 ou ultérieur.

295 312 

296<h4 id="retry-an-unfinished-dependency-install">313<h4 id="retry-an-unfinished-dependency-install">

297 Réessayer une installation de dépendances inachevée314 Réessayer une installation de dépendances inachevée


309claude plugin list [options]326claude plugin list [options]

310```327```

311 328 

312| Drapeau | Description |329| Flag | Description |

313| :- | :- |330| :- | :- |

314| `--json` | Affiche la liste en JSON |331| `--json` | Affiche la liste en JSON |

315| `--available` | Listez aussi les plugins que vos marketplaces offrent que vous n'avez pas installés. N'a aucun effet sans `--json` |332| `--available` | Listez aussi les plugins que vos marketplaces offrent que vous n'avez pas installés. N'a aucun effet sans `--json` |

316| `--data-size [plugin]` | Mesurez le répertoire de [données sauvegardées](#what-an-uninstall-deletes-and-keeps) de chaque plugin installé, ou seulement celui du plugin nommé, donné en tant que `name@marketplace`. N'a aucun effet sans `--json`. Si le nom n'a pas d'enregistrement d'installation, la commande affiche `--data-size names a plugin that is not installed` et quitte `1` au lieu d'afficher la liste. Nécessite Claude Code v2.1.285 ou ultérieur |333| `--data-size [plugin]` | Mesurez le répertoire de [données sauvegardées](#what-an-uninstall-deletes-and-keeps) de chaque plugin installé, ou seulement celui du plugin nommé, donné en tant que `name@marketplace`. N'a aucun effet sans `--json`. Si le nom n'a pas d'enregistrement d'installation, la commande affiche `--data-size names a plugin that is not installed` et quitte `1` au lieu d'afficher la liste. Nécessite Claude Code v2.1.285 ou ultérieur |

317 334 

318Claude Code groupe la sortie lisible par l'homme par comment chaque plugin se charge :335Claude Code groupe la sortie lisible par l'homme selon la façon dont chaque plugin se charge :

319 336 

320* **`Installed plugins:`** : plugins que vous avez installés depuis une marketplace337* **`Installed plugins:`** : plugins que vous avez installés depuis une marketplace

321* **`Session-only plugins (--plugin-dir / --plugin-url):`** : plugins chargés par ces drapeaux dans la même commande, comme dans `claude --plugin-dir ./my-plugin plugin list`338* **`Session-only plugins (--plugin-dir / --plugin-url):`** : plugins chargés par ces flags dans la même commande, comme dans `claude --plugin-dir ./my-plugin plugin list`

322* **`Skills-directory plugins (.claude/skills/*):`** : plugins que Claude Code a trouvés dans un répertoire de skills339* **`Skills-directory plugins (.claude/skills/*):`** : plugins que Claude Code a trouvés dans un répertoire de skills

323* **`Synced from claude.ai`** : [plugins synchronisés depuis votre compte claude.ai](/docs/fr/plugins/loading#synced-plugins)340* **`Synced from claude.ai`** : [plugins synchronisés depuis votre compte claude.ai](/docs/fr/plugins/loading#synced-plugins)

324 341 


376claude plugin details <name>393claude plugin details <name>

377```394```

378 395 

379La commande ne prend aucun drapeau au-delà de `--help`.396La commande ne prend aucun flag au-delà de `--help`.

380 397 

381Montrez ce qu'un plugin installé contribue :398Montrez ce qu'un plugin installé contribue :

382 399 


404claude plugin configure <plugin>421claude plugin configure <plugin>

405```422```

406 423 

407| Drapeau | Description |424| Flag | Description |

408| :- | :- |425| :- | :- |

409| `--values-stdin` | Lisez les valeurs d'option depuis stdin en tant qu'objet JSON de strings sur une seule ligne et sauvegardez-les. Les options que vous omettez conservent leurs valeurs sauvegardées |426| `--values-stdin` | Lisez les valeurs d'option depuis stdin en tant qu'objet JSON de strings sur une seule ligne et sauvegardez-les. Les options que vous omettez conservent leurs valeurs sauvegardées |

410| `--json` | Affiche le résultat en tant qu'un objet JSON sur stdout. Sans `--values-stdin`, l'objet porte le `schema` et les `choices` des options, leurs `inputs` de démarrage, et les noms d'options `configured` et `unconfigured`. Avec `--values-stdin`, il porte les noms d'options `saved` et, quand ils pourraient être relus, les noms `unconfigured` |427| `--json` | Affiche le résultat en tant qu'un objet JSON sur stdout. Sans `--values-stdin`, l'objet porte le `schema` et les `choices` des options, leurs `inputs` de démarrage, et les noms d'options `configured` et `unconfigured`. Avec `--values-stdin`, il porte les noms d'options `saved` et, quand ils ont pu être relus, les noms `unconfigured` |

411 428 

412Sans drapeaux, la commande liste chaque option avec jusqu'à trois étiquettes : `required` ou `optional`, puis `sensitive` pour une option que le manifeste déclare sensible, puis `set` ou `not set`. Elle n'affiche aucune valeur sauvegardée. Avec `--json`, la sortie inclut les valeurs sauvegardées des options qui ne sont pas sensibles, et jamais le texte d'une sensible.429Sans flags, la commande liste chaque option avec jusqu'à trois étiquettes : `required` ou `optional`, puis `sensitive` pour une option que le manifeste déclare sensible, puis `set` ou `not set`. Elle n'affiche aucune valeur sauvegardée. Avec `--json`, la sortie inclut les valeurs sauvegardées des options qui ne sont pas sensibles, et jamais le texte d'une sensible.

413 430 

414Pour sauvegarder les valeurs, écrivez-les dans un fichier en tant qu'objet JSON qui mappe les clés d'option à des valeurs de string, puis passez le fichier sur stdin. Remplacez `formatter@my-marketplace` par l'id de votre propre plugin en tant que `claude plugin list` le montre. Cet exemple définit une option nommée `api_url` depuis un fichier `values.json` qui contient `{"api_url": "https://example.com"}` :431Pour sauvegarder les valeurs, écrivez-les dans un fichier en tant qu'objet JSON qui mappe les clés d'option à des valeurs de string, puis passez le fichier sur stdin. Remplacez `formatter@my-marketplace` par l'id de votre propre plugin tel que `claude plugin list` le montre. Cet exemple définit une option nommée `api_url` depuis un fichier `values.json` qui contient `{"api_url": "https://example.com"}` :

415 432 

416```bash theme={null}433```bash theme={null}

417claude plugin configure formatter@my-marketplace --values-stdin < values.json434claude plugin configure formatter@my-marketplace --values-stdin < values.json


419 436 

420Claude Code valide chaque valeur par rapport au type déclaré de l'option et affiche `Configuration saved. Restart Claude Code to apply it.` Si vous passez une clé que le manifeste ne déclare pas, ou une valeur qui échoue la validation, la commande ne sauvegarde rien, affiche `Failed to save configuration:` avec la raison, et quitte `1`. Avec `--json`, une valeur refusée affiche aussi un objet sur stdout dont le champ `refused` porte le `message` et, quand une option est en cause, sa clé `option`.437Claude Code valide chaque valeur par rapport au type déclaré de l'option et affiche `Configuration saved. Restart Claude Code to apply it.` Si vous passez une clé que le manifeste ne déclare pas, ou une valeur qui échoue la validation, la commande ne sauvegarde rien, affiche `Failed to save configuration:` avec la raison, et quitte `1`. Avec `--json`, une valeur refusée affiche aussi un objet sur stdout dont le champ `refused` porte le `message` et, quand une option est en cause, sa clé `option`.

421 438 

422Passez l'id complet `name@marketplace` du plugin, en tant que `claude plugin list` le montre. `configure` n'accepte pas un `name` nu. Quand aucun plugin chargé n'a cet id, la commande affiche `No installed plugin has the id "<plugin>".` et quitte `1`.439Passez l'id complet `name@marketplace` du plugin, tel que `claude plugin list` le montre. `configure` n'accepte pas un `name` nu. Quand aucun plugin chargé n'a cet id, la commande affiche `No installed plugin has the id "<plugin>".` et quitte `1`.

423 440 

424Pour les paramètres d'un serveur MCP fourni, voir [`plugin install --config`](#plugin-install) ou l'élément **Configure** dans `/plugin`.441Pour les paramètres d'un serveur MCP fourni, voir [`plugin install --config`](#plugin-install) ou l'élément **Configure** dans `/plugin`.

425 442 


427 plugin prune444 plugin prune

428</h3>445</h3>

429 446 

430Supprimez les [dépendances](/docs/fr/plugins/dependencies) auto-installées que nul plugin installé n'a plus besoin. La commande ne supprime jamais un plugin que vous avez installé vous-même. `autoremove` est un alias pour `prune`.447Supprimez les [dépendances](/docs/fr/plugins/dependencies) auto-installées dont aucun plugin installé n'a plus besoin. La commande ne supprime jamais un plugin que vous avez installé vous-même. `autoremove` est un alias pour `prune`.

431 448 

432```bash theme={null}449```bash theme={null}

433claude plugin prune [options]450claude plugin prune [options]

434```451```

435 452 

436| Drapeau | Description |453| Flag | Description |

437| :- | :- |454| :- | :- |

438| `-s, --scope <scope>` | Élaguer à la portée : `user`, `project`, ou `local`. Par défaut `user` |455| `-s, --scope <scope>` | Élaguer à la portée : `user`, `project`, ou `local`. Par défaut `user` |

439| `--dry-run` | Listez ce qui serait supprimé sans le supprimer |456| `--dry-run` | Listez ce qui serait supprimé sans le supprimer |


451 468 

452Le code de sortie est `0` quelle que soit votre réponse à l'invite.469Le code de sortie est `0` quelle que soit votre réponse à l'invite.

453 470 

454Ce que `prune` fait dépend de si un terminal est attaché et si vous passez `-y`:471Ce que `prune` fait dépend de si un terminal est attaché et si vous passez `-y` :

455 472 

456| Terminal et drapeaux | Ce qui se passe |473| Terminal et flags | Ce qui se passe |

457| :- | :- |474| :- | :- |

458| Terminal interactif, pas de `-y` | Liste les dépendances orphelines et demande `Remove? [y/N]` |475| Terminal interactif, pas de `-y` | Liste les dépendances orphelines et demande `Remove? [y/N]` |

459| N'importe quel terminal, `-y` | Les supprime et affiche `Removed N auto-installed plugins: <names>` |476| N'importe quel terminal, `-y` | Les supprime et affiche `Removed N auto-installed plugins: <names>` |


465 482 

466Exécutez les [cas d'évaluation](/docs/fr/plugin-evals) d'un plugin et rapportez les résultats notés. Nécessite Claude Code v2.1.269 ou ultérieur.483Exécutez les [cas d'évaluation](/docs/fr/plugin-evals) d'un plugin et rapportez les résultats notés. Nécessite Claude Code v2.1.269 ou ultérieur.

467 484 

468Chaque cas est une invite plus des évaluateurs. Claude Code l'exécute plusieurs fois dans une session isolée avec seulement le plugin cible chargé, et par défaut aussi sans le plugin pour que le rapport montre la différence.485Chaque cas est un prompt plus des évaluateurs. Claude Code l'exécute plusieurs fois dans une session isolée avec seulement le plugin cible chargé, et par défaut aussi sans le plugin pour que le rapport montre la différence.

469 486 

470Voir [Tester les plugins avec des évaluations](/docs/fr/plugin-evals) pour le format des cas, les évaluateurs, les résultats et l'utilisation CI.487Voir [Tester les plugins avec des évaluations](/docs/fr/plugin-evals) pour le format des cas, les évaluateurs, les résultats et l'utilisation CI.

471 488 


473claude plugin eval [target] [options]490claude plugin eval [target] [options]

474```491```

475 492 

476La `target` optionnelle par défaut au répertoire courant et prend n'importe laquelle de ces formes :493La `target` optionnelle est par défaut le répertoire courant et prend n'importe laquelle de ces formes :

477 494 

478* Un répertoire de plugin495* Un répertoire de plugin

479* Un seul fichier `prompt.md` ou `case.yaml`496* Un seul fichier `prompt.md` ou `case.yaml`


495| `--max-cost-usd <usd>` | Arrêtez avant la prochaine exécution une fois que les dépenses atteignent ceci, quittez 2, et rapportez les résultats partiels | Pas de limite |512| `--max-cost-usd <usd>` | Arrêtez avant la prochaine exécution une fois que les dépenses atteignent ceci, quittez 2, et rapportez les résultats partiels | Pas de limite |

496| `--allow-tools <tools...>` | Accordez des outils au-delà de l'ensemble en lecture seule, comme `Bash`, `Write`, `Edit`, ou `"mcp__plugin_<plugin>_<server>__*"`. Voir [Accorder des outils](/docs/fr/plugin-evals#grant-tools) | |513| `--allow-tools <tools...>` | Accordez des outils au-delà de l'ensemble en lecture seule, comme `Bash`, `Write`, `Edit`, ou `"mcp__plugin_<plugin>_<server>__*"`. Voir [Accorder des outils](/docs/fr/plugin-evals#grant-tools) | |

497| `--scaffold` | Exécutez le [`scaffold_script`](/docs/fr/plugin-evals#add-setup-or-history-with-case-yaml) de chaque cas | Désactivé |514| `--scaffold` | Exécutez le [`scaffold_script`](/docs/fr/plugin-evals#add-setup-or-history-with-case-yaml) de chaque cas | Désactivé |

498| `--trust-plugin` | Ignorez l'invite de confiance à la première exécution, pour CI. Voir [Ce qu'une exécution peut accéder](/docs/fr/plugin-evals#security) | Désactivé |515| `--trust-plugin` | Ignorez l'invite de confiance à la première exécution, pour CI. Voir [Ce à quoi une exécution peut accéder](/docs/fr/plugin-evals#security) | Désactivé |

499| `--mocks <mode>` | `record` ou `off`. Voir [Serveurs MCP fictifs](/docs/fr/plugin-evals#mock-mcp-servers) | `record` |516| `--mocks <mode>` | `record` ou `off`. Voir [Serveurs MCP fictifs](/docs/fr/plugin-evals#mock-mcp-servers) | `record` |

500| `--eval-dir <dir>` | Répertoire sous le plugin qui contient les cas | La `experimental.evals` du manifeste, sinon `evals` |517| `--eval-dir <dir>` | Répertoire sous le plugin qui contient les cas | La `experimental.evals` du manifeste, sinon `evals` |

501| `--json [path]` | Affiche le [document de résultat](/docs/fr/plugin-evals#json-result) sur stdout, ou écrivez-le à un chemin `.json` | |518| `--json [path]` | Affiche le [document de résultat](/docs/fr/plugin-evals#json-result) sur stdout, ou écrivez-le à un chemin `.json` | |


5314. Écrit les fichiers de cas5484. Écrit les fichiers de cas

5325. Exécute les cas et examine les notes avec vous pour vérifier que les évaluateurs notent comme vous le feriez5495. Exécute les cas et examine les notes avec vous pour vérifier que les évaluateurs notent comme vous le feriez

533 550 

534Avec `--bare`, ou sans terminal, la commande écrit un modèle de cas unique vierge à la place. Quand Claude exécute la commande depuis l'intérieur d'une session Claude Code, la commande affiche les instructions d'interview pour que cette session suive plutôt que d'écrire un modèle.551Avec `--bare`, ou sans terminal, la commande écrit un modèle de cas unique vierge à la place. Quand Claude exécute la commande depuis l'intérieur d'une session Claude Code, la commande affiche les instructions d'interview pour que cette session les suive plutôt que d'écrire un modèle.

535 552 

536Le `name` optionnel est un nom de cas. Il est requis avec `--bare` ou sans terminal, car la commande écrit le modèle vierge pour ce cas. Un nom de cas commence par une lettre ou un chiffre et contient seulement des lettres, des chiffres, `.`, `_`, et `-`. Sur chaque plateforme, la commande refuse aussi les noms que Windows ne peut pas stocker, comme `con` ou un nom se terminant par `.`.553Le `name` optionnel est un nom de cas. Il est requis avec `--bare` ou sans terminal, car la commande écrit le modèle vierge pour ce cas. Un nom de cas commence par une lettre ou un chiffre et contient seulement des lettres, des chiffres, `.`, `_`, et `-`. Sur chaque plateforme, la commande refuse aussi les noms que Windows ne peut pas stocker, comme `con` ou un nom se terminant par `.`.

537 554 


549 566 

550Créez une balise git annotée nommée `<name>--v<version>` pour une version de plugin. Avant de baliser, la commande vérifie que le `plugin.json` du plugin et toute entrée de marketplace qui le liste s'accordent sur la version.567Créez une balise git annotée nommée `<name>--v<version>` pour une version de plugin. Avant de baliser, la commande vérifie que le `plugin.json` du plugin et toute entrée de marketplace qui le liste s'accordent sur la version.

551 568 

552Pour quand baliser une version, voir [Publier un plugin](/docs/fr/plugins/publish).569Pour savoir quand baliser une version, voir [Publier un plugin](/docs/fr/plugins/publish).

553 570 

554```bash theme={null}571```bash theme={null}

555claude plugin tag [path] [options]572claude plugin tag [path] [options]


557 574 

558Le `[path]` est le répertoire du plugin, par défaut le répertoire courant. La commande trouve l'entrée de marketplace en remontant de ce répertoire à un `.claude-plugin/marketplace.json` qui liste le plugin.575Le `[path]` est le répertoire du plugin, par défaut le répertoire courant. La commande trouve l'entrée de marketplace en remontant de ce répertoire à un `.claude-plugin/marketplace.json` qui liste le plugin.

559 576 

560| Drapeau | Description |577| Flag | Description |

561| :- | :- |578| :- | :- |

562| `--push` | Poussez la balise vers `--remote` après l'avoir créée |579| `--push` | Poussez la balise vers `--remote` après l'avoir créée |

563| `--dry-run` | Affiche ce qui serait balisé sans créer la balise |580| `--dry-run` | Affiche ce qui serait balisé sans créer la balise |


574Claude Code affiche le plan :591Claude Code affiche le plan :

575 592 

576* Le nom du plugin593* Le nom du plugin

577* La version et quel fichier elle provient594* La version et le fichier dont elle provient

578* L'entrée de marketplace correspondante, quand il y en a une595* L'entrée de marketplace correspondante, quand il y en a une

579* Le nom de la balise596* Le nom de la balise

580* Les commandes `git tag` et `git push` qu'il exécuterait597* Les commandes `git tag` et `git push` qu'il exécuterait


609 plugin validate626 plugin validate

610</h3>627</h3>

611 628 

612Validez un manifeste de plugin, un manifeste de marketplace, ou les skills, agents et commandes dans un répertoire, et quittez avec un code qu'un travail CI peut utiliser. Pour le flux de travail créer, tester et éditer, voir [Créer un plugin](/docs/fr/plugins/create). Pour ce que le validateur vérifie dans chaque manifeste, voir la [référence du manifeste de plugin](/docs/fr/plugins/manifest-reference) et la [référence de marketplace](/docs/fr/plugins/marketplace-reference).629Validez un manifeste de plugin, un manifeste de marketplace, ou les skills, agents et commandes dans un répertoire, et quittez avec un code qu'un travail CI peut utiliser. Pour le workflow créer, tester et éditer, voir [Créer un plugin](/docs/fr/plugins/create). Pour ce que le validateur vérifie dans chaque manifeste, voir la [référence du manifeste de plugin](/docs/fr/plugins/manifest-reference) et la [référence de marketplace](/docs/fr/plugins/marketplace-reference).

613 630 

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

615claude plugin validate <path> [options]632claude plugin validate <path> [options]

616```633```

617 634 

618| Drapeau | Description |635| Flag | Description |

619| :- | :- |636| :- | :- |

620| `--strict` | Traitez les avertissements comme des erreurs, donc les champs non reconnus et les métadonnées manquantes que le runtime tolère font échouer l'exécution |637| `--strict` | Traitez les avertissements comme des erreurs, donc les champs non reconnus et les métadonnées manquantes que le runtime tolère font échouer l'exécution |

621| `--json` | Sortez le rapport de validation en tant qu'un objet JSON avec les mêmes codes de sortie. Nécessite Claude Code v2.1.259 ou ultérieur |638| `--json` | Sortez le rapport de validation en tant qu'un objet JSON avec les mêmes codes de sortie. Nécessite Claude Code v2.1.259 ou ultérieur |

622 639 

623Validez un plugin avant de le valider :640Validez un plugin avant de le commiter :

624 641 

625```bash theme={null}642```bash theme={null}

626claude plugin validate ./my-plugin --strict643claude plugin validate ./my-plugin --strict

627```644```

628 645 

629<h4 id="validate-a-directory">646<h4 id="validate-a-directory">

630 Validez un répertoire647 Valider un répertoire

631</h4>648</h4>

632 649 

633Le `<path>` est un fichier manifeste ou un répertoire. Donné un répertoire, Claude Code choisit ce qu'il faut valider par ce qu'il y trouve :650Le `<path>` est un fichier manifeste ou un répertoire. Pour un répertoire, Claude Code choisit ce qu'il faut valider selon ce qu'il y trouve :

634 651 

635* `.claude-plugin/marketplace.json`, quand il existe652* `.claude-plugin/marketplace.json`, quand il existe

636* Sinon `.claude-plugin/plugin.json`653* Sinon `.claude-plugin/plugin.json`


641 658 

642Quand le répertoire contient à la fois un `.claude-plugin/marketplace.json` et un `.claude-plugin/plugin.json`, Claude Code valide la marketplace ainsi que le manifeste et les fichiers de composant du plugin. Cela nécessite Claude Code v2.1.289 ou ultérieur.659Quand le répertoire contient à la fois un `.claude-plugin/marketplace.json` et un `.claude-plugin/plugin.json`, Claude Code valide la marketplace ainsi que le manifeste et les fichiers de composant du plugin. Cela nécessite Claude Code v2.1.289 ou ultérieur.

643 660 

644Claude Code ne suit pas les liens symboliques à l'intérieur du répertoire que vous nommez. Ce qu'il fait dépend de l'endroit où le lien est :661Claude Code ne suit pas les liens symboliques à l'intérieur du répertoire que vous nommez. Ce qu'il fait dépend de l'endroit où se trouve le lien :

645 662 

646* **Un répertoire `skills`, `agents`, ou `commands` lié sous la racine du plugin ou `.claude`** : Claude Code avertit que rien dedans n'a été lu.663* **Un répertoire `skills`, `agents`, ou `commands` lié sous la racine du plugin ou `.claude`** : Claude Code avertit que rien dedans n'a été lu.

647* **Une entrée liée à l'intérieur d'un répertoire `skills`, `agents`, ou `commands`** : Claude Code la saute et avertit, par répertoire, combien d'entrées il a sautées qu'une session chargerait.664* **Une entrée liée à l'intérieur d'un répertoire `skills`, `agents`, ou `commands`** : Claude Code la saute et indique, par répertoire, combien d'entrées qu'une session chargerait il a sautées.

648* **Le répertoire `skills`, `agents`, ou `commands` que vous nommez est lui-même un lien symbolique, ou son répertoire parent `.claude` est** : Claude Code rapporte une erreur et ne vérifie rien dedans. Nommez le répertoire réel à la place.665* **Le répertoire `skills`, `agents`, ou `commands` que vous nommez est lui-même un lien symbolique, ou son répertoire parent `.claude` l'est** : Claude Code rapporte une erreur et ne vérifie rien dedans. Nommez le répertoire réel à la place.

649 666 

650Quelques fichiers ne sont pas lus par une exécution de validation :667Quelques fichiers ne sont pas lus par une exécution de validation :

651 668 


672* `target` : le chemin résolu que Claude Code a validé689* `target` : le chemin résolu que Claude Code a validé

673* `manifest` : le résultat du manifeste lui-même, ou `null` pour une exécution sans manifeste690* `manifest` : le résultat du manifeste lui-même, ou `null` pour une exécution sans manifeste

674* `contents` : résultats par fichier, chacun nommant son `file` et portant des tableaux `errors`, `warnings`, et `notes`691* `contents` : résultats par fichier, chacun nommant son `file` et portant des tableaux `errors`, `warnings`, et `notes`

692 * `gatingHooks` : indique, pour chaque hook de [mod](/docs/fr/plugins/mods/overview) pouvant refuser une action, comme un hook `tool.call`, s'il possède un [gestionnaire `.catch`](/docs/fr/plugins/mods/events#handle-a-hook-that-fails). Chaque élément donne `module`, `pattern`, `hook` et `hasCatch`. Nécessite Claude Code v2.1.290 ou ultérieur

675 693 

676À la sortie `2`, la commande n'écrit rien sur stdout. Le message d'erreur va sur stderr.694À la sortie `2`, la commande n'écrit rien sur stdout. Le message d'erreur va sur stderr.

677 695 


682Exécutez `claude plugin marketplace <subcommand>` depuis votre shell pour ajouter, lister, actualiser et supprimer les marketplaces d'où vous installez les plugins.700Exécutez `claude plugin marketplace <subcommand>` depuis votre shell pour ajouter, lister, actualiser et supprimer les marketplaces d'où vous installez les plugins.

683 701 

684* **Codes de sortie** : ces sous-commandes suivent la [convention de code de sortie](#claude-plugin-commands) des commandes de plugin702* **Codes de sortie** : ces sous-commandes suivent la [convention de code de sortie](#claude-plugin-commands) des commandes de plugin

685* **Portées** : leur drapeau `--scope` n'a pas de forme courte `-s`703* **Portées** : leur flag `--scope` n'a pas de forme courte `-s`

686 704 

687Pour ce qu'est une marketplace et comment Claude Code la met en cache, voir [Référence du chargement des plugins](/docs/fr/plugins/loading).705Pour ce qu'est une marketplace et comment Claude Code la met en cache, voir [Référence du chargement des plugins](/docs/fr/plugins/loading).

688 706 


690 plugin marketplace add708 plugin marketplace add

691</h3>709</h3>

692 710 

693Ajoutez une marketplace depuis un référentiel GitHub, une URL git, une `marketplace.json` hébergée, ou un chemin local, et déclarez-la dans un fichier de paramètres.711Ajoutez une marketplace depuis un dépôt GitHub, une URL git, une `marketplace.json` hébergée, ou un chemin local, et déclarez-la dans un fichier de paramètres.

694 712 

695Après l'avoir ajoutée, Claude Code installe toute [dépendance](/docs/fr/plugins/dependencies) que vos plugins installés manquaient.713Après l'avoir ajoutée, Claude Code installe toute [dépendance](/docs/fr/plugins/dependencies) que vos plugins installés manquaient.

696 714 


698claude plugin marketplace add <source> [options]716claude plugin marketplace add <source> [options]

699```717```

700 718 

701| Drapeau | Description |719| Flag | Description |

702| :- | :- |720| :- | :- |

703| `--scope <scope>` | Fichier de paramètres pour déclarer la marketplace : `user`, `project`, ou `local`. Par défaut `user` |721| `--scope <scope>` | Fichier de paramètres pour déclarer la marketplace : `user`, `project`, ou `local`. Par défaut `user` |

704| `--sparse <paths...>` | Limitez le checkout git à ces répertoires, pour les monorepos. Sources `github` et `git` seulement |722| `--sparse <paths...>` | Limitez le checkout git à ces répertoires, pour les monorepos. Sources `github` et `git` seulement |

705| `--claudeai` | Lisez l'argument comme le nom d'une [marketplace hébergée sur claude.ai](/docs/fr/plugins/install#add-from-claude-ai) au lieu d'une source. Nécessite Claude Code v2.1.273 ou ultérieur |723| `--claudeai` | Lisez l'argument comme le nom d'une [marketplace hébergée sur claude.ai](/docs/fr/plugins/install#add-from-claude-ai) au lieu d'une source. Nécessite Claude Code v2.1.273 ou ultérieur |

724| `--json` | Affiche si la commande a réussi, ainsi que son message, sous forme d'un objet JSON unique sur la dernière ligne de stdout, au [format de résultat JSON](#plugin-json-result). Sans effet avec `--claudeai`. Nécessite Claude Code v2.1.287 ou ultérieur |

706 725 

707`<source>` prend n'importe laquelle des formes du tableau ci-dessous, et sa forme décide du type de source et comment Claude Code récupère la marketplace. Pour l'objet source résultant, voir la [référence de marketplace](/docs/fr/plugins/marketplace-reference).726`<source>` prend n'importe laquelle des formes du tableau ci-dessous, et sa forme décide du type de source et comment Claude Code récupère la marketplace. Pour l'objet source résultant, voir la [référence de marketplace](/docs/fr/plugins/marketplace-reference).

708 727 

709| Vous tapez | Type de source | Comment Claude Code la récupère |728| Vous tapez | Type de source | Comment Claude Code la récupère |

710| :- | :- | :- |729| :- | :- | :- |

711| `owner/repo`, `owner/repo#ref`, ou `owner/repo@ref` | `github` | Clone le référentiel GitHub, épinglé à `ref` quand donné. Le propriétaire et le repo doivent suivre les règles de nommage GitHub |730| `owner/repo`, `owner/repo#ref`, ou `owner/repo@ref` | `github` | Clone le dépôt GitHub, épinglé à `ref` quand donné. Le propriétaire et le repo doivent suivre les règles de nommage GitHub |

712| `user@host:path[.git][#ref]` | `git` | Clone sur SSH |731| `user@host:path[.git][#ref]` | `git` | Clone sur SSH |

713| Une URL `http://` ou `https://` qui se termine par `.git[#ref]` ou contient `/_git/`, comme `https://example.com/repo.git` | `git` | Clone l'URL, incluant les URLs Azure DevOps |732| Une URL `http://` ou `https://` qui se termine par `.git[#ref]` ou contient `/_git/`, comme `https://example.com/repo.git` | `git` | Clone l'URL, incluant les URLs Azure DevOps |

714| `https://github.com/owner/repo` ou `https://gitlab.com/namespace/project`, ou la même chose sur `http://` | `git` | Clone l'URL après avoir ajouté `.git` |733| `https://github.com/owner/repo` ou `https://gitlab.com/namespace/project`, ou la même chose sur `http://` | `git` | Clone l'URL après avoir ajouté `.git` |

715| N'importe quelle autre URL `http://` ou `https://`, incluant un hôte git auto-hébergé sans `.git` | `url` | Récupère l'URL en tant que `marketplace.json`. Pour cloner un référentiel là à la place, ajoutez `.git` |734| N'importe quelle autre URL `http://` ou `https://`, incluant un hôte git auto-hébergé sans `.git` | `url` | Récupère l'URL en tant que `marketplace.json`. Pour cloner un dépôt là à la place, ajoutez `.git` |

716| `./path`, `../path`, `/path`, ou `~/path` vers un répertoire | `directory` | Lit le répertoire en place. Sur Windows, les formes `.\`, `..\`, et `C:\` fonctionnent aussi |735| `./path`, `../path`, `/path`, ou `~/path` vers un répertoire | `directory` | Lit le répertoire en place. Sur Windows, les formes `.\`, `..\`, et `C:\` fonctionnent aussi |

717| Les mêmes formes de chemin, vers un fichier `.json` | `file` | Lit le fichier en place |736| Les mêmes formes de chemin, vers un fichier `.json` | `file` | Lit le fichier en place |

718 737 

719Pour un hôte dont les URLs de clone ne portent pas le suffixe `.git`, comme AWS CodeCommit, ajoutez la marketplace en tant qu'entrée git dans [`extraKnownMarketplaces`](/docs/fr/settings-reference#extraknownmarketplaces) à la place. Claude Code clone une entrée git qu'elle se termine ou non par `.git`.738Pour un hôte dont les URLs de clone ne portent pas le suffixe `.git`, comme AWS CodeCommit, ajoutez la marketplace en tant qu'entrée git dans [`extraKnownMarketplaces`](/docs/fr/settings-reference#extraknownmarketplaces) à la place. Claude Code clone une entrée git que son URL se termine ou non par `.git`.

720 739 

721Claude Code clone aussi une URL `gitlab.com` avec des sous-groupes imbriqués, comme `https://gitlab.com/group/subgroup/project`.740Claude Code clone aussi une URL `gitlab.com` avec des sous-groupes imbriqués, comme `https://gitlab.com/group/subgroup/project`.

722 741 


732* **Source non reconnue** : la sortie est `Invalid marketplace source format. Try: owner/repo, https://..., or ./path` et le code de sortie est `1`751* **Source non reconnue** : la sortie est `Invalid marketplace source format. Try: owner/repo, https://..., or ./path` et le code de sortie est `1`

733* **Hôte nu comme `gitlab.example.com/team/plugins`** : l'ajout échoue en tant que raccourci `owner/repo` invalide, et le message vous dit d'ajouter `https://` ou d'utiliser un chemin local752* **Hôte nu comme `gitlab.example.com/team/plugins`** : l'ajout échoue en tant que raccourci `owner/repo` invalide, et le message vous dit d'ajouter `https://` ou d'utiliser un chemin local

734 753 

735Ajoutez une [marketplace hébergée sur claude.ai](/docs/fr/plugins/install#add-from-claude-ai) par le nom affiché dans la section `From claude.ai:` de `claude plugin marketplace list`:754Ajoutez une [marketplace hébergée sur claude.ai](/docs/fr/plugins/install#add-from-claude-ai) par le nom affiché dans la section `From claude.ai:` de `claude plugin marketplace list` :

736 755 

737```bash theme={null}756```bash theme={null}

738claude plugin marketplace add --claudeai claudeai-organization-library757claude plugin marketplace add --claudeai claudeai-organization-library


750claude plugin marketplace list [options]769claude plugin marketplace list [options]

751```770```

752 771 

753| Drapeau | Description |772| Flag | Description |

754| :- | :- |773| :- | :- |

755| `--json` | Affiche la liste en JSON |774| `--json` | Affiche la liste en JSON |

756 775 


794 813 

795Le `<name>` est le nom de la marketplace que `plugin marketplace list` affiche, pas la source que vous avez passée à `add`.814Le `<name>` est le nom de la marketplace que `plugin marketplace list` affiche, pas la source que vous avez passée à `add`.

796 815 

797| Drapeau | Description |816| Flag | Description |

798| :- | :- |817| :- | :- |

799| `--scope <scope>` | Supprimez la déclaration d'une portée de paramètres : `user`, `project`, ou `local`. Sans elle, Claude Code supprime la déclaration de chaque portée |818| `--scope <scope>` | Supprimez la déclaration d'une portée de paramètres : `user`, `project`, ou `local`. Sans lui, Claude Code supprime la déclaration de chaque portée |

819| `--json` | Affiche si la commande a réussi, ainsi que son message, sous forme d'un objet JSON unique sur la dernière ligne de stdout, au [format de résultat JSON](#plugin-json-result). Nécessite Claude Code v2.1.287 ou ultérieur |

800 820 

801Supprimez une marketplace de chaque portée :821Supprimez une marketplace de chaque portée :

802 822 


806 826 

807Claude Code affiche `Successfully removed marketplace: your-marketplace`. Quand la commande désinstalle des plugins, la sortie les liste sous une ligne comme `Also uninstalled 2 plugins from this marketplace:`. Pour en utiliser un à nouveau, ajoutez la marketplace à nouveau et réinstallez le plugin.827Claude Code affiche `Successfully removed marketplace: your-marketplace`. Quand la commande désinstalle des plugins, la sortie les liste sous une ligne comme `Also uninstalled 2 plugins from this marketplace:`. Pour en utiliser un à nouveau, ajoutez la marketplace à nouveau et réinstallez le plugin.

808 828 

809Si vous scoped à un fichier de paramètres qui ne déclare pas la marketplace, la commande échoue avec `Marketplace 'your-marketplace' is not declared in project settings. Omit --scope to remove it from all scopes.`829Si vous limitez la commande à un fichier de paramètres qui ne déclare pas la marketplace, la commande échoue avec `Marketplace 'your-marketplace' is not declared in project settings. Omit --scope to remove it from all scopes.`

810 830 

811<h3 id="plugin-marketplace-update">831<h3 id="plugin-marketplace-update">

812 plugin marketplace update832 plugin marketplace update

813</h3>833</h3>

814 834 

815Actualisez une marketplace, ou chaque marketplace, depuis sa source pour récupérer les nouveaux plugins et versions. Une marketplace ajoutée avec une branche ou une balise `ref` s'actualise au dernier commit de cette ref, pas la branche par défaut du référentiel.835Actualisez une marketplace, ou chaque marketplace, depuis sa source pour récupérer les nouveaux plugins et versions. Une marketplace ajoutée avec une branche ou une balise `ref` s'actualise au dernier commit de cette ref, pas la branche par défaut du dépôt.

816 836 

817```bash theme={null}837```bash theme={null}

818claude plugin marketplace update [name]838claude plugin marketplace update [name] [options]

819```839```

820 840 

821La commande ne prend aucun drapeau au-delà de `--help`.841| Flag | Description |

842| :- | :- |

843| `--json` | Affiche si la commande a réussi, ainsi que son message, sous forme d'un objet JSON unique sur la dernière ligne de stdout, au [format de résultat JSON](#plugin-json-result). Sans nom, la commande refuse `--json` et quitte avec le code `1`. Nécessite Claude Code v2.1.287 ou ultérieur |

822 844 

823Actualisez une marketplace :845Actualisez une marketplace :

824 846 


826claude plugin marketplace update your-marketplace848claude plugin marketplace update your-marketplace

827```849```

828 850 

829Claude Code affiche `Successfully updated marketplace: your-marketplace`. Quand vous omettez le nom, il affiche un compte comme `Successfully updated 2 marketplaces`. Sans marketplaces ajoutées, il affiche `No marketplaces configured` et quitte `0`.851Claude Code affiche `Successfully updated marketplace: your-marketplace`. Quand vous omettez le nom, il affiche un compte comme `Successfully updated 2 marketplaces`.

830 852 

831<h2 id="plugin-in-a-session">853<h2 id="plugin-in-a-session">

832 /plugin dans une session854 /plugin dans une session

Details

1034]1034]

1035```1035```

1036 1036 

1037La commande s'exécute dans un shell, dans le répertoire de travail dans lequel la session a démarré.1037La commande s'exécute dans un shell, dans le répertoire de travail actuel de la session. Elle s'exécute avec l'ensemble de vos permissions utilisateur et en dehors du [sandbox](/docs/fr/sandboxing).

1038 1038 

1039La commande d'un moniteur est limitée dans où elle démarre et ce qu'elle peut référencer :1039La commande d'un moniteur est limitée dans où elle démarre et ce qu'elle peut référencer :

1040 1040 

Details

52* **Noms que Claude Code utilise pour les plugins qui ne proviennent pas d'une marketplace** : `inline` pour les plugins chargés avec [`--plugin-dir`](/docs/fr/cli-reference), `builtin` pour les plugins intégrés, `skills-dir` pour les plugins chargés automatiquement à partir de [`.claude/skills/`](/docs/fr/skills) et `synced` pour les plugins synchronisés à partir de votre compte claude.ai. `claude-plugin-test` est également réservé. `skills-dir` apparaît également comme `{"source": "skills-dir"}` dans `strictKnownMarketplaces` et `blockedMarketplaces`, décrits sous [Valeurs source valides uniquement dans les listes de politique](#source-values-valid-only-in-policy-lists).52* **Noms que Claude Code utilise pour les plugins qui ne proviennent pas d'une marketplace** : `inline` pour les plugins chargés avec [`--plugin-dir`](/docs/fr/cli-reference), `builtin` pour les plugins intégrés, `skills-dir` pour les plugins chargés automatiquement à partir de [`.claude/skills/`](/docs/fr/skills) et `synced` pour les plugins synchronisés à partir de votre compte claude.ai. `claude-plugin-test` est également réservé. `skills-dir` apparaît également comme `{"source": "skills-dir"}` dans `strictKnownMarketplaces` et `blockedMarketplaces`, décrits sous [Valeurs source valides uniquement dans les listes de politique](#source-values-valid-only-in-policy-lists).

53* **`npm`, `pip`, `uv`, `cargo`, `github` et `gh`** : réservés dans n'importe quelle casse. Cette vérification nécessite Claude Code v2.1.275 ou ultérieure.53* **`npm`, `pip`, `uv`, `cargo`, `github` et `gh`** : réservés dans n'importe quelle casse. Cette vérification nécessite Claude Code v2.1.275 ou ultérieure.

54* **Noms commençant par `claudeai-`** : réservés pour les marketplaces hébergées sur claude.ai. `claude plugin marketplace add` refuse toute autre marketplace qui en utilise un avec `Cannot add marketplace "<name>": names starting with "claudeai-" are reserved for marketplaces hosted on claude.ai`.54* **Noms commençant par `claudeai-`** : réservés pour les marketplaces hébergées sur claude.ai. `claude plugin marketplace add` refuse toute autre marketplace qui en utilise un avec `Cannot add marketplace "<name>": names starting with "claudeai-" are reserved for marketplaces hosted on claude.ai`.

55* **Le dossier de téléchargement d'une marketplace GitHub enregistrée, `<owner>-<repo>`** : Claude Code télécharge une marketplace ajoutée à partir d'une source `github` telle que `acme/x-tools` via un dossier nommé `acme-x-tools`, quel que soit le `name` propre à cette marketplace. Tant que cette marketplace est enregistrée sous un nom autre que `acme-x-tools`, `claude plugin marketplace add` refuse une autre marketplace nommée `acme-x-tools` après l'avoir téléchargée, et signale `Can't use the marketplace name "acme-x-tools"`. Cette vérification nécessite Claude Code v2.1.290 ou ultérieure.

55 56 

56Quand une marketplace enregistrée cesse de se charger parce que son nom imite celui d'une marketplace officielle, `claude plugin list` et `/plugin` signalent `Claude Code refuses the marketplace name "<name>"`. Le message vous indique de supprimer la marketplace. La supprimer désinstalle également ses plugins et supprime leurs données enregistrées. Ce message de refus nommé nécessite Claude Code v2.1.282 ou ultérieure.57Quand une marketplace enregistrée cesse de se charger parce que son nom imite celui d'une marketplace officielle, `claude plugin list` et `/plugin` signalent `Claude Code refuses the marketplace name "<name>"`. Le message vous indique de supprimer la marketplace. La supprimer désinstalle également ses plugins et supprime leurs données enregistrées. Ce message de refus nommé nécessite Claude Code v2.1.282 ou ultérieure.

57 58 


498| `Claude Code cannot install plugin "x". 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. Change this entry's "name".` | Erreur | `plugins[i].name` |499| `Claude Code cannot install plugin "x". 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. Change this entry's "name".` | Erreur | `plugins[i].name` |

499| `Duplicate plugin name "x" found in marketplace` | Erreur | Deux entrées partagent un `name` |500| `Duplicate plugin name "x" found in marketplace` | Erreur | Deux entrées partagent un `name` |

500| `plugins.i.source: Invalid input` | Erreur | La `source` de l'entrée ne correspond à aucun type. Voir [Entrée invalide sur une source](#invalid-input-on-a-source) |501| `plugins.i.source: Invalid input` | Erreur | La `source` de l'entrée ne correspond à aucun type. Voir [Entrée invalide sur une source](#invalid-input-on-a-source) |

502| `plugins.i.source: Invalid string: must start with "./"` | Erreur | Une `source` avec chemin relatif sans le `./` initial. Avant la v2.1.285, cette erreur affichait `Invalid input` à la place |

501| `plugins[i].source: Path contains "..": <path>` | Erreur | Une `source` relative qui échappe à la racine marketplace |503| `plugins[i].source: Path contains "..": <path>` | Erreur | Une `source` relative qui échappe à la racine marketplace |

502| `source.source: 'unsupported' is a parse-time placeholder and cannot be authored` | Erreur | `plugins[i].source` |504| `source.source: 'unsupported' is a parse-time placeholder and cannot be authored` | Erreur | `plugins[i].source` |

503| `Plugin "x" sets headersHelper but is not "strict": false` | Erreur | `plugins[i].headersHelper`, sur une entrée `archive` |505| `Plugin "x" sets headersHelper but is not "strict": false` | Erreur | `plugins[i].headersHelper`, sur une entrée `archive` |


524 526 

525`Invalid input` sur une `source` signifie que l'objet ne correspondait à aucun type de source. Vérifiez ces causes :527`Invalid input` sur une `source` signifie que l'objet ne correspondait à aucun type de source. Vérifiez ces causes :

526 528 

527* Un chemin relatif qui ne commence pas par `./`, autre que `"."` ou un [nom nu sous `metadata.pluginRoot`](#relative-path-plugin-source)

528* Un `package` `npm` contenant `..`529* Un `package` `npm` contenant `..`

529* Un type `source` qui n'est pas l'un des [sources de plugin](#plugin-sources)530* Un type `source` qui n'est pas l'un des [sources de plugin](#plugin-sources)

530* Un type connu avec un champ obligatoire manquant ou du mauvais type, tel que `github` sans `repo`531* Un type connu avec un champ obligatoire manquant ou du mauvais type, tel que `github` sans `repo`

531 532 

533Un chemin relatif qui ne commence pas par `./`, autre que `"."` ou un [nom nu sous `metadata.pluginRoot`](#relative-path-plugin-source), échoue avec `Invalid string: must start with "./"`. Avant la v2.1.285, il affichait `Invalid input` comme les causes ci-dessus.

534 

532<h3 id="failures-that-validation-doesn’t-catch">535<h3 id="failures-that-validation-doesn’t-catch">

533 Défaillances que la validation ne détecte pas536 Défaillances que la validation ne détecte pas

534</h3>537</h3>

Details

25 Arrêter le chargement des mods installés par les utilisateurs25 Arrêter le chargement des mods installés par les utilisateurs

26</h2>26</h2>

27 27 

28Pour empêcher chaque mod que vos utilisateurs apportent de se charger, définissez l'option `allowManagedModsOnly` sur la [garde intégrée](#know-what-happens-by-default), un mod de politique que Claude Code charge avant chaque mod qu'un utilisateur installe. L'option se trouve dans les paramètres gérés sous `pluginConfigs`, indexée par `cc-plugin-sec-default@builtin` :28Pour empêcher chaque mod que vos utilisateurs apportent d'exécuter ses hooks, définissez l'option `allowManagedModsOnly` sur le [garde-fou intégré](#know-what-happens-by-default), un mod de politique que Claude Code charge avant chaque mod qu'un utilisateur installe. L'option se trouve dans les paramètres gérés sous `pluginConfigs`, indexée par `cc-plugin-sec-default@builtin` :

29 29 

30```json managed-settings.json theme={null}30```json managed-settings.json theme={null}

31{31{


41 41 

42Avec l'option définie dans les paramètres gérés :42Avec l'option définie dans les paramètres gérés :

43 43 

44* **Aucun mod qu'un utilisateur apporte ne se charge** : cela couvre un mod dans un plugin que l'utilisateur a installé, un mod chargé avec `--plugin-dir`, et un mod [que Claude a écrit pendant une session](/docs/fr/plugins/mods/create#ask-claude-for-a-mod)44* **Aucun mod qu'un utilisateur apporte n'exécute ses hooks** : cela couvre un mod dans un plugin que l'utilisateur a installé, un mod chargé avec `--plugin-dir`, et un mod [que Claude a écrit pendant une session](/docs/fr/plugins/mods/create#ask-claude-for-a-mod)

45* **Les mods de votre organisation se chargent toujours** : un mod qui [compte comme celui de votre organisation](#install-your-organizations-mods) n'est pas vérifié. Tous les autres mods comptent comme ceux d'un utilisateur et ne se chargent pas. Cela inclut un mod dans un plugin que vous activez à partir d'une place de marché GitHub ou autre distante, et un que votre organisation active pour ses membres sur claude.ai. Si aucun ne compte comme le vôtre, aucun mod installé ne se charge.45* **Les mods de votre organisation s'exécutent toujours** : un mod qui [compte comme celui de votre organisation](#install-your-organizations-mods) n'est pas vérifié. Tous les autres mods comptent comme ceux d'un utilisateur et sont refusés. Cela inclut un mod dans un plugin que vous activez à partir d'une marketplace GitHub ou d'une autre marketplace distante, et un mod que votre organisation active pour ses membres sur claude.ai. Si aucun ne compte comme le vôtre, aucun mod installé n'exécute ses hooks.

46* **Les utilisateurs ne peuvent pas l'annuler** : la garde lit l'option uniquement à partir des paramètres gérés, donc la même entrée dans un fichier de paramètres utilisateur, projet ou local, ou dans un fichier passé avec `--settings`, ne change rien46* **Les utilisateurs ne peuvent pas l'annuler** : le garde-fou lit l'option uniquement à partir des paramètres gérés, donc la même entrée dans un fichier de paramètres utilisateur, projet ou local, ou dans un fichier passé avec `--settings`, ne change rien

47* **Un fichier ou une politique MDM couvre chaque fournisseur** : quand vous livrez l'option sous forme de fichier ou via MDM, elle fonctionne de la même manière sur Amazon Bedrock, la plateforme Agent de Google Cloud, et Microsoft Foundry. Pour la livraison depuis la console d'administration claude.ai, voir [Disponibilité de la plateforme](/docs/fr/server-managed-settings#platform-availability)47* **Un fichier ou une politique MDM couvre chaque fournisseur** : quand vous livrez l'option sous forme de fichier ou via MDM, elle fonctionne de la même manière sur Amazon Bedrock, la plateforme Agent de Google Cloud, et Microsoft Foundry. Pour la livraison depuis la console d'administration claude.ai, voir [Disponibilité de la plateforme](/docs/fr/server-managed-settings#platform-availability)

48* **Les autres personnalisations des utilisateurs continuent de fonctionner** : leurs [hooks dans les fichiers de paramètres](/docs/fr/hooks), les lignes d'état, et `/goal` ne sont pas affectés48* **Les autres personnalisations des utilisateurs continuent de fonctionner** : leurs [hooks dans les fichiers de paramètres](/docs/fr/hooks) et dans le fichier `hooks/hooks.json` des plugins, les barres de statut, et `/goal` ne sont pas affectés

49* **Les mods intégrés continuent de s'exécuter** : les mods intégrés à Claude Code, comme le support `AGENTS.md`, ont chacun [leur propre commutateur](/docs/fr/plugins/mods/overview#mods-built-into-claude-code)49* **Les mods intégrés continuent de s'exécuter** : les mods intégrés à Claude Code, comme le support `AGENTS.md`, ont chacun [leur propre commutateur](/docs/fr/plugins/mods/overview#mods-built-into-claude-code)

50 50 

51Pour confirmer l'option sur la machine d'un utilisateur, démarrez Claude Code là-bas avec `--plugin-dir` et le chemin d'un répertoire qui contient un mod, comme `claude --plugin-dir ./first-mod`. Les hooks du mod ne s'exécutent pas, et la transcription et le journal de débogage contiennent le [message de la garde](/docs/fr/plugins/mods/troubleshoot#messages-from-the-built-in-guard), qui nomme le mod et `allowManagedModsOnly`. Si le mod se charge, voir [Vérifier qu'une politique est en vigueur](/docs/fr/managed-settings#check-that-a-policy-is-in-force) et les [règles qui décident si une option prend effet](#set-options-on-the-built-in-guard).51Pour confirmer l'option sur la machine d'un utilisateur, démarrez Claude Code là-bas avec `--plugin-dir` et le chemin d'un répertoire qui contient un mod, comme `claude --plugin-dir ./first-mod`. Les hooks du mod ne s'exécutent pas, et la transcription et le journal de débogage contiennent le [message du garde-fou](/docs/fr/plugins/mods/troubleshoot#messages-from-the-built-in-guard), qui nomme le mod et `allowManagedModsOnly`. Si le message n'y figure pas, voir [Vérifier qu'une politique est en vigueur](/docs/fr/managed-settings#check-that-a-policy-is-in-force) et les [règles qui décident si une option prend effet](#set-options-on-the-built-in-guard).

52 52 

53Si vous avez défini `CLAUDE_CODE_ENABLE_FUNCTION_HOOKS` à `0` lors de l'accès anticipé, remplacez-le par cette option. Claude Code v2.1.287 et versions ultérieures ignorent la variable à n'importe quelle valeur, donc un `0` là-bas laisse les mods activés.53Si vous avez défini `CLAUDE_CODE_ENABLE_FUNCTION_HOOKS` à `0` lors de l'accès anticipé, remplacez-le par cette option. Claude Code v2.1.287 et versions ultérieures ignorent la variable à n'importe quelle valeur, donc un `0` là-bas laisse les mods activés.

54 54 


117claude plugin validate ./some-mod117claude plugin validate ./some-mod

118```118```

119 119 

120Deux lignes de la sortie décrivent le code du mod :120Les lignes `hooks:` et `calls:` de la sortie décrivent le code du mod :

121 121 

122```text theme={null}122```text theme={null}

123 ❯ ./register.js hooks: session.start, tool.call, ui.render{component=Pane}123 ❯ ./register.js hooks: session.start, tool.call, ui.render{component=Pane}


150 150 

151| Ce que vous voulez | Paramètres |151| Ce que vous voulez | Paramètres |

152| :- | :- |152| :- | :- |

153| Aucun mod installé, avec les hooks intacts | Définissez [`allowManagedModsOnly`](#set-options-on-the-built-in-guard) et ne déployez aucun mod de votre côté |153| Aucun mod installé ne s'exécute, les hooks de paramètres restant intacts | Définissez [`allowManagedModsOnly`](#set-options-on-the-built-in-guard) et ne déployez aucun mod de votre côté |

154| Aucun mod installé et aucun hook du tout, y compris vos hooks gérés | Définissez `disableAllHooks` à `true` |154| Aucun mod installé et aucun hook du tout, y compris vos hooks gérés | Définissez `disableAllHooks` à `true` |

155| Uniquement les mods de votre organisation | Définissez l'option [`allowManagedModsOnly`](#stop-user-installed-mods-from-loading) de la garde, et [installez vos mods](#install-your-organizations-mods) pour qu'ils comptent comme les vôtres |155| Uniquement les mods de votre organisation | Définissez l'option [`allowManagedModsOnly`](#stop-user-installed-mods-from-loading) du garde-fou, et [installez vos mods](#install-your-organizations-mods) pour qu'ils comptent comme les vôtres |

156| N'importe quel mod à partir des places de marché que vous approuvez | Gardez vos [restrictions de place de marché](/docs/fr/plugins/org#restrict-what-users-can-install), et définissez `disableSideloadFlags` à `true` |156| N'importe quel mod à partir des marketplaces que vous approuvez | Gardez vos [restrictions de marketplace](/docs/fr/plugins/org#restrict-what-users-can-install), et définissez `disableSideloadFlags` à `true` |

157| N'importe quel mod, avec votre propre mod vérifiant les autres | [Installez votre mod](#install-your-organizations-mods), et listez-le avec `sec-default@builtin` dans `prependPlugins` |157| N'importe quel mod, avec votre propre mod vérifiant les autres | [Installez votre mod](#install-your-organizations-mods), et listez-le avec `sec-default@builtin` dans `prependPlugins` |

158 158 

159Ce que chaque paramètre fait :159Ce que chaque paramètre fait :

160 160 

161* **`allowManagedModsOnly`** : une option sur la garde intégrée. Les mods des utilisateurs ne se chargent pas, et leurs hooks de paramètres, lignes d'état, et `/goal` continuent de fonctionner. [Arrêter le chargement des mods installés par les utilisateurs](#stop-user-installed-mods-from-loading) liste ce qu'il couvre.161* **`allowManagedModsOnly`** : une option sur le garde-fou intégré. Claude Code refuse les mods propres des utilisateurs, de sorte qu'aucun de leurs hooks ne s'exécute. Les hooks de paramètres, les barres de statut et `/goal` des utilisateurs continuent de fonctionner. [Arrêter le chargement des mods installés par les utilisateurs](#stop-user-installed-mods-from-loading) liste ce qu'il couvre.

162* **`allowManagedHooksOnly`** : un paramètre plus large. Seuls [les mods de votre organisation](#install-your-organizations-mods) et les mods intégrés à Claude Code se chargent. Un mod qu'un utilisateur a installé lui-même ne se charge pas. Le paramètre bloque aussi les hooks dans les fichiers de paramètres propres des utilisateurs. Lisez [Ce qui s'exécute sous `allowManagedHooksOnly`](/docs/fr/settings-reference#what-runs-under-allowmanagedhooksonly) avant de le définir.162* **`allowManagedHooksOnly`** : un paramètre plus large. Seuls [les mods de votre organisation](#install-your-organizations-mods) et les mods intégrés à Claude Code se chargent. Un mod qu'un utilisateur a installé lui-même ne se charge pas. Le paramètre bloque aussi les hooks dans les fichiers de paramètres propres des utilisateurs. Lisez [Ce qui s'exécute sous `allowManagedHooksOnly`](/docs/fr/settings-reference#what-runs-under-allowmanagedhooksonly) avant de le définir.

163* **`disableAllHooks`** : le paramètre le plus large. Dans les paramètres gérés, il arrête les mods dans chaque plugin installé, y compris les vôtres, et désactive chaque hook dans les fichiers de paramètres, donc un hook `PreToolUse` dans vos paramètres gérés ne bloque plus rien. Les lignes d'état personnalisées et `/goal` cessent aussi de fonctionner. Lisez [`disableAllHooks`](/docs/fr/settings-reference#disableallhooks) avant de le définir.163* **`disableAllHooks`** : le paramètre le plus large. Dans les paramètres gérés, il arrête les mods dans chaque plugin installé, y compris les vôtres, et désactive chaque hook dans les fichiers de paramètres, donc un hook `PreToolUse` dans vos paramètres gérés ne bloque plus rien. Les barres de statut personnalisées et `/goal` cessent aussi de fonctionner. Lisez [`disableAllHooks`](/docs/fr/settings-reference#disableallhooks) avant de le définir.

164* **`disableSideloadFlags`** : rejette `--plugin-dir` et `--plugin-url` au démarrage, et empêche les mods que Claude écrit pendant une session de se charger. Le paramètre rejette aussi `--agents` et `--mcp-config`. Lisez [`disableSideloadFlags`](/docs/fr/settings-reference#disablesideloadflags) avant de le définir.164* **`disableSideloadFlags`** : rejette `--plugin-dir` et `--plugin-url` au démarrage, et empêche les mods que Claude écrit pendant une session de se charger. Le paramètre rejette aussi `--agents` et `--mcp-config`. Lisez [`disableSideloadFlags`](/docs/fr/settings-reference#disablesideloadflags) avant de le définir.

165 165 

166Les mods intégrés à Claude Code, comme le support `AGENTS.md`, ne sont pas affectés par ces paramètres. Chacun a [son propre commutateur](/docs/fr/plugins/mods/overview#mods-built-into-claude-code).166Les mods intégrés à Claude Code, comme le support `AGENTS.md`, ne sont pas affectés par ces paramètres. Chacun a [son propre commutateur](/docs/fr/plugins/mods/overview#mods-built-into-claude-code).

167 167 

168Un utilisateur dont le mod ne s'est pas chargé trouve la raison dans son journal de débogage. [Messages de refus](/docs/fr/plugins/mods/troubleshoot#refusal-messages) liste les lignes pour `allowManagedHooksOnly` et `disableAllHooks`, et [Messages de la garde intégrée](/docs/fr/plugins/mods/troubleshoot#messages-from-the-built-in-guard) a la ligne pour `allowManagedModsOnly`.168Un utilisateur dont le mod a été refusé ou ne s'est pas chargé trouve la raison dans son journal de débogage. [Messages de refus](/docs/fr/plugins/mods/troubleshoot#refusal-messages) liste les lignes pour `allowManagedHooksOnly` et `disableAllHooks`, et [Messages du garde-fou intégré](/docs/fr/plugins/mods/troubleshoot#messages-from-the-built-in-guard) a la ligne pour `allowManagedModsOnly`.

169 169 

170<h3 id="allow-only-your-organization’s-mods">170<h3 id="allow-only-your-organization’s-mods">

171 Autoriser uniquement les mods de votre organisation171 Autoriser uniquement les mods de votre organisation


193 193 

194Chaque groupe de clés remplit une fonction :194Chaque groupe de clés remplit une fonction :

195 195 

196* **`extraKnownMarketplaces`, `enabledPlugins` et `prependPlugins`** : installent votre mod pour qu'il compte comme le vôtre, et l'exécutent en premier avec la garde après lui. [Installer les mods de votre organisation et définir l'ordre](#install-your-organizations-mods) couvre le répertoire vers lequel pointent ces clés.196* **`extraKnownMarketplaces`, `enabledPlugins` et `prependPlugins`** : installent votre mod pour qu'il compte comme le vôtre, et l'exécutent en premier avec le garde-fou après lui. [Installer les mods de votre organisation et définir l'ordre](#install-your-organizations-mods) couvre le répertoire vers lequel pointent ces clés.

197* **`pluginConfigs`** : définit l'option `allowManagedModsOnly` de la garde, pour que Claude Code refuse les mods propres des utilisateurs. Leurs hooks de paramètres, barres de statut et `/goal` continuent de fonctionner.197* **`pluginConfigs`** : définit l'option `allowManagedModsOnly` du garde-fou, pour que Claude Code refuse les mods propres des utilisateurs. Leurs hooks de paramètres, barres de statut et `/goal` continuent de fonctionner.

198* **`disableSideloadFlags`** : consultez [`disableSideloadFlags`](/docs/fr/settings-reference#disablesideloadflags) pour les flags qu'il rejette au démarrage198* **`disableSideloadFlags`** : consultez [`disableSideloadFlags`](/docs/fr/settings-reference#disablesideloadflags) pour les flags qu'il rejette au démarrage

199 199 

200Pour confirmer la politique sur une machine de test, démarrez dans votre shell une session avec `claude --debug` et lisez le journal de débogage :200Pour confirmer la politique sur une machine de test, démarrez dans votre shell une session avec `claude --debug` et lisez le journal de débogage :


219* **Proposer des mods que vos utilisateurs peuvent installer** : [Héberger une marketplace](/docs/fr/plugins/host-marketplace). Un mod que Claude Code copie depuis une source GitHub, git, URL ou npm compte comme celui d'un utilisateur, et non comme [celui de votre organisation](#install-your-organizations-mods).219* **Proposer des mods que vos utilisateurs peuvent installer** : [Héberger une marketplace](/docs/fr/plugins/host-marketplace). Un mod que Claude Code copie depuis une source GitHub, git, URL ou npm compte comme celui d'un utilisateur, et non comme [celui de votre organisation](#install-your-organizations-mods).

220 220 

221<h3 id="set-options-on-the-built-in-guard">221<h3 id="set-options-on-the-built-in-guard">

222 Définir les options sur la garde intégrée222 Définir les options sur le garde-fou intégré

223</h3>223</h3>

224 224 

225La garde intégrée prend des options. Définissez-les dans les paramètres gérés sous `pluginConfigs`, indexées par `cc-plugin-sec-default@builtin`, comme l'exemple dans [Arrêter le chargement des mods installés par les utilisateurs](#stop-user-installed-mods-from-loading) le fait.225Le garde-fou intégré prend des options. Définissez-les dans les paramètres gérés sous `pluginConfigs`, indexées par `cc-plugin-sec-default@builtin`, comme l'exemple dans [Arrêter le chargement des mods installés par les utilisateurs](#stop-user-installed-mods-from-loading) le fait.

226 226 

227Le tableau donne ce que vos utilisateurs obtiennent avec chaque option non définie et avec elle définie à `true` :227Le tableau donne ce que vos utilisateurs obtiennent avec chaque option non définie et avec elle définie à `true` :

228 228 

229| Option | Non définie | `true` |229| Option | Non définie | `true` |

230| :- | :- | :- |230| :- | :- | :- |

231| `allowManagedModsOnly` | Les mods des utilisateurs se chargent | Seuls [les mods de votre organisation](#install-your-organizations-mods), et les mods intégrés à Claude Code, se chargent. Claude Code refuse tous les autres mods, y compris un que l'utilisateur a installé ou nommé avec `--plugin-dir`. |231| `allowManagedModsOnly` | Les mods propres des utilisateurs s'exécutent | Seuls [les mods de votre organisation](#install-your-organizations-mods), et les mods intégrés à Claude Code, exécutent leurs hooks. Claude Code refuse tous les autres mods, y compris un que l'utilisateur a installé ou nommé avec `--plugin-dir`. |

232| `allowModsToOverrideDenyRules` | Les règles de refus ont la priorité sur les mods des utilisateurs | Le mod d'un utilisateur qui approuve les appels d'outils peut approuver un appel qu'une règle `deny` refuse |232| `allowModsToOverrideDenyRules` | Les règles de refus ont la priorité sur les mods des utilisateurs | Le mod d'un utilisateur qui approuve les appels d'outils peut approuver un appel qu'une règle `deny` refuse |

233 233 

234Ces règles décident si une option prend effet :234Ces règles décident si une option prend effet :

235 235 

236* **L'id a une seule orthographe ici** : Claude Code lit les options uniquement sous `cc-plugin-sec-default@builtin`. `prependPlugins` accepte aussi `sec-default@builtin`, et `pluginConfigs` ne le fait pas.236* **L'id a une seule orthographe ici** : Claude Code lit les options uniquement sous `cc-plugin-sec-default@builtin`. `prependPlugins` accepte aussi `sec-default@builtin`, et `pluginConfigs` ne le fait pas.

237* **Seuls les paramètres gérés comptent** : la même entrée dans un fichier de paramètres utilisateur, projet ou local, ou dans un fichier passé avec `--settings`, ne définit ni ne desserre une option237* **Seuls les paramètres gérés comptent** : la même entrée dans un fichier de paramètres utilisateur, projet ou local, ou dans un fichier passé avec `--settings`, ne définit ni ne desserre une option

238* **La garde doit se charger** : si vous définissez `prependPlugins`, [nommez la garde dans la liste](#install-your-organizations-mods). Là où la garde ne se charge pas, aucune option ne s'applique.238* **Le garde-fou doit se charger** : si vous définissez `prependPlugins`, [nommez le garde-fou dans la liste](#install-your-organizations-mods). Là où le garde-fou ne se charge pas, aucune option ne s'applique.

239* **La garde échoue fermée** : si la garde ne peut pas lire les paramètres gérés, elle refuse tous les mods des utilisateurs au chargement. Si elle ne peut pas vérifier les règles de refus pour un appel qu'un mod d'utilisateur a approuvé, elle refuse l'appel.239* **Le garde-fou échoue fermé** : si le garde-fou ne peut pas lire les paramètres gérés, il refuse tous les mods des utilisateurs au chargement. S'il ne peut pas vérifier les règles de refus pour un appel qu'un mod d'utilisateur a approuvé, il refuse l'appel.

240 240 

241Les [messages de la garde intégrée](/docs/fr/plugins/mods/troubleshoot#messages-from-the-built-in-guard) sont ce que vos utilisateurs voient quand l'une ou l'autre option s'applique.241Les [messages du garde-fou intégré](/docs/fr/plugins/mods/troubleshoot#messages-from-the-built-in-guard) sont ce que vos utilisateurs voient quand l'une ou l'autre option s'applique.

242 242 

243<h2 id="run-your-organization’s-own-mods">243<h2 id="run-your-organization’s-own-mods">

244 Exécuter les mods de votre organisation244 Exécuter les mods de votre organisation


285}285}

286```286```

287 287 

288Un plugin que Claude Code copie dans son cache compte comme celui d'un utilisateur, même quand les `enabledPlugins` gérés l'activent. Cela couvre chaque plugin provenant d'une source GitHub, git, URL ou npm. Son mod s'exécute parmi les mods des utilisateurs, `prependPlugins` et `appendPlugins` l'ignorent, et il ne se charge pas sous `allowManagedModsOnly` ou `allowManagedHooksOnly`. Le journal de débogage de l'utilisateur contient une ligne qui commence par l'id du plugin et `is enabled by managed settings, but`.288Un plugin que Claude Code copie dans son cache compte comme celui d'un utilisateur, même quand les `enabledPlugins` gérés l'activent. Cela couvre chaque plugin provenant d'une source GitHub, git, URL ou npm. Son mod s'exécute parmi les mods des utilisateurs, `prependPlugins` et `appendPlugins` l'ignorent, `allowManagedModsOnly` le refuse, et `allowManagedHooksOnly` l'empêche de se charger. Le journal de débogage de l'utilisateur contient une ligne qui commence par l'id du plugin et `is enabled by managed settings, but`.

289 289 

290Claude Code déclenche un événement chaque fois qu'il est sur le point d'agir, comme exécuter un outil, et le passe à chaque mod à tour de rôle. Un mod qui compte comme le vôtre [s'exécute avant les mods des utilisateurs](/docs/fr/plugins/mods/events#the-order-mods-run-in) même quand vous ne le listez nulle part. Pour définir sa place, listez son id dans l'un de deux paramètres. L'id est le nom du plugin, `@`, et le nom de la marketplace, comme `acme-guard@acme-tools`.290Claude Code déclenche un événement chaque fois qu'il est sur le point d'agir, comme exécuter un outil, et le passe à chaque mod à tour de rôle. Un mod qui compte comme le vôtre [s'exécute avant les mods des utilisateurs](/docs/fr/plugins/mods/events#the-order-mods-run-in) même quand vous ne le listez nulle part. Pour définir sa place, listez son id dans l'un de deux paramètres. L'id est le nom du plugin, `@`, et le nom de la marketplace, comme `acme-guard@acme-tools`.

291 291 

292* **`prependPlugins`** : votre mod voit chaque événement avant n'importe quel mod d'utilisateur et chaque résultat après. Il peut modifier l'événement, le refuser, ou ignorer les mods des utilisateurs.292* **`prependPlugins`** : votre mod voit chaque événement avant n'importe quel mod d'utilisateur et chaque résultat après. Il peut modifier l'événement, le refuser, ou ignorer les mods des utilisateurs.

293* **`appendPlugins`** : votre mod s'exécute après chaque mod d'utilisateur, donc il voit uniquement les événements que ces mods transmettent, sous la forme dans laquelle ils les transmettent293* **`appendPlugins`** : votre mod s'exécute après chaque mod d'utilisateur, donc il voit uniquement les événements que ces mods transmettent, sous la forme dans laquelle ils les transmettent

294 294 

295Cet exemple déclare la marketplace `acme-tools` à `/opt/acme/claude-plugins`, active `acme-guard` à partir de celle-ci, et exécute ce mod en premier, avec la garde intégrée après lui :295Cet exemple déclare la marketplace `acme-tools` à `/opt/acme/claude-plugins`, active `acme-guard` à partir de celle-ci, et exécute ce mod en premier, avec le garde-fou intégré après lui :

296 296 

297```json managed-settings.json theme={null}297```json managed-settings.json theme={null}

298{298{


310 310 

311* **`extraKnownMarketplaces`** : désigne le répertoire qui contient la marketplace `acme-tools`. `path` est le chemin absolu du répertoire qui contient `.claude-plugin/marketplace.json`.311* **`extraKnownMarketplaces`** : désigne le répertoire qui contient la marketplace `acme-tools`. `path` est le chemin absolu du répertoire qui contient `.claude-plugin/marketplace.json`.

312* **`enabledPlugins`** : active `acme-guard` pour chaque utilisateur qui reçoit ces paramètres gérés312* **`enabledPlugins`** : active `acme-guard` pour chaque utilisateur qui reçoit ces paramètres gérés

313* **`prependPlugins`** : place `acme-guard` en premier et la garde intégrée en deuxième, tous deux avant n'importe quel mod qu'un utilisateur installe. Claude Code suit l'ordre que vous listez.313* **`prependPlugins`** : place `acme-guard` en premier et le garde-fou intégré en deuxième, tous deux avant n'importe quel mod qu'un utilisateur installe. Claude Code suit l'ordre que vous listez.

314 314 

315Pour confirmer qu'une machine d'utilisateur a reçu les paramètres, consultez [Vérifier qu'une politique est en vigueur](/docs/fr/managed-settings#check-that-a-policy-is-in-force).315Pour confirmer qu'une machine d'utilisateur a reçu les paramètres, consultez [Vérifier qu'une politique est en vigueur](/docs/fr/managed-settings#check-that-a-policy-is-in-force).

316 316 


321 321 

322Ces règles déterminent quels ids des deux listes prennent effet :322Ces règles déterminent quels ids des deux listes prennent effet :

323 323 

324* **La liste remplace la valeur par défaut** : quand vous définissez `prependPlugins` dans les paramètres gérés, indiquez-y `sec-default@builtin` pour conserver la garde intégrée. La garde est intégrée et n'a besoin d'aucune entrée `enabledPlugins`.324* **La liste remplace la valeur par défaut** : quand vous définissez `prependPlugins` dans les paramètres gérés, indiquez-y `sec-default@builtin` pour conserver le garde-fou intégré. Le garde-fou est intégré et n'a besoin d'aucune entrée `enabledPlugins`.

325* **Vos propres ids doivent compter comme les vôtres** : dans les paramètres gérés, Claude Code ignore un id dont le plugin ne remplit pas les conditions d'un mod d'organisation325* **Vos propres ids doivent compter comme les vôtres** : dans les paramètres gérés, Claude Code ignore un id dont le plugin ne remplit pas les conditions d'un mod d'organisation

326* **Les dépôts ne peuvent pas les définir** : Claude Code lit les deux paramètres à partir des paramètres gérés et jamais à partir du fichier de paramètres d'un dépôt. Un utilisateur peut les définir dans `~/.claude/settings.json` pour ordonner ses propres mods uniquement sur une machine sans paramètres gérés, et uniquement quand il n'est pas connecté avec un plan Team ou Enterprise. Partout ailleurs, Claude Code ignore les deux clés dans les paramètres utilisateur. Une liste à cet endroit n'ajoute ni ne supprime la garde intégrée.326* **Les dépôts ne peuvent pas les définir** : Claude Code lit les deux paramètres à partir des paramètres gérés et jamais à partir du fichier de paramètres d'un dépôt. Un utilisateur peut les définir dans `~/.claude/settings.json` pour ordonner ses propres mods uniquement sur une machine sans paramètres gérés, et uniquement quand il n'est pas connecté avec un plan Team ou Enterprise. Partout ailleurs, Claude Code ignore les deux clés dans les paramètres utilisateur. Une liste à cet endroit n'ajoute ni ne supprime le garde-fou intégré.

327 327 

328<h3 id="enforce-a-policy-with-a-mod-of-your-own">328<h3 id="enforce-a-policy-with-a-mod-of-your-own">

329 Appliquer une politique avec un mod de votre côté329 Appliquer une politique avec un mod de votre côté

Details

71 71 

72Quand vous posez une question sur un ticket, Claude peut appeler `mcp__my-mod__ticket` avec son id. Le deuxième hook récupère le ticket et retourne le corps de la réponse, que Claude lit comme le résultat de l'outil. Quand le serveur répond avec un statut d'erreur, Claude lit `Lookup failed with status` et le numéro.72Quand vous posez une question sur un ticket, Claude peut appeler `mcp__my-mod__ticket` avec son id. Le deuxième hook récupère le ticket et retourne le corps de la réponse, que Claude lit comme le résultat de l'outil. Quand le serveur répond avec un statut d'erreur, Claude lit `Lookup failed with status` et le numéro.

73 73 

74<Tip>

75 Lorsque [MCP Tool Search](/docs/fr/mcp#scale-with-mcp-tool-search) diffère un outil enregistré, Claude voit son nom mais pas sa description tant qu'il ne l'a pas recherché. Si Claude doit prendre en compte l'outil à chaque tour, ajoutez [`isDeferred: false`](/docs/fr/plugins/mods/reference#tools) à l'enregistrement pour [charger l'outil complet dès le départ](/docs/fr/mcp#exempt-a-server-from-deferral). Ce champ nécessite Claude Code v2.1.293 ou une version ultérieure, et les versions antérieures l'ignorent.

76</Tip>

77 

74<h2 id="call-a-model">78<h2 id="call-a-model">

75 Appeler un modèle79 Appeler un modèle

76</h2>80</h2>


187 Accéder aux fichiers, processus et au réseau191 Accéder aux fichiers, processus et au réseau

188</h2>192</h2>

189 193 

190Un mod accède au système de fichiers, aux processus et au réseau via l'API mods, avec les mêmes permissions que l'utilisateur exécutant Claude Code. Le module hooks lui-même n'a pas d'API Node.js, pas de globales de minuteur comme `setTimeout`, et pas d'accès réseau ou fichier de son propre chef. Les API JavaScript standard et web comme `URL`, `TextEncoder`, `AbortController`, et `crypto.subtle` sont disponibles. Chaque espace de noms ci-dessous couvre un type d'accès :194Un mod accède au système de fichiers, aux processus et au réseau via l'API mods, avec les mêmes permissions que l'utilisateur exécutant Claude Code. Le module de hooks lui-même n'a pas d'API Node.js, pas de globales de minuteur comme `setTimeout`, et pas d'accès réseau ou fichier de son propre chef. Les API JavaScript standard et web comme `URL`, `TextEncoder`, `AbortController`, et `crypto.subtle` sont disponibles. Chaque espace de noms ci-dessous couvre un type d'accès :

191 195 

192| Espace de noms | Ce qu'il fait |196| Espace de noms | Ce qu'il fait |

193| :- | :- |197| :- | :- |


208 212 

209Chacun de ces appels est lui-même un événement, nommé pour son espace de noms et sa méthode sans le `$.`, comme `fs.read` pour `$.fs.read`. Un mod [plus tôt dans la chaîne](/docs/fr/plugins/mods/events#the-order-mods-run-in) peut observer, réécrire ou refuser votre appel, c'est ainsi qu'une organisation restreint ce que les mods atteignent.213Chacun de ces appels est lui-même un événement, nommé pour son espace de noms et sa méthode sans le `$.`, comme `fs.read` pour `$.fs.read`. Un mod [plus tôt dans la chaîne](/docs/fr/plugins/mods/events#the-order-mods-run-in) peut observer, réécrire ou refuser votre appel, c'est ainsi qu'une organisation restreint ce que les mods atteignent.

210 214 

215Un mod peut refuser votre appel `$.process.spawn` après que la commande a produit une sortie ou s'est terminée, et rien de ce que la commande a fait n'est annulé. L'appel est alors rejeté avec un message qui se termine par l'une de ces chaînes suivie de la raison du mod qui refuse :

216 

217* **`$.process.spawn started, and a plugin withheld its result:`** : le mod qui refuse n'avait pas lu la sortie de la commande jusqu'au bout. Claude Code arrête la commande si elle est toujours en cours d'exécution.

218* **`$.process.spawn ran, and a plugin withheld its result:`** : le mod qui refuse avait lu la sortie de la commande jusqu'au bout, donc la commande s'était terminée

219 

211<h2 id="next-steps">220<h2 id="next-steps">

212 Prochaines étapes221 Prochaines étapes

213</h2>222</h2>

Details

316✔ Validation passed316✔ Validation passed

317```317```

318 318 

319La ligne `hooks:` liste les événements que votre module hook, chacun avec son filtre entre accolades. La ligne `calls:` liste chaque méthode de l'API des mods qu'il appelle. Un module qui lit ou définit des variables d'environnement obtient également des lignes `env reads:` et `env writes:`, et un qui utilise [`$.state`](/docs/fr/plugins/mods/interface#keep-state) obtient `state reads:` et `state writes:`.319Consultez la ligne `hooks:` pour les événements que votre module hook, chacun avec son filtre entre accolades, et `calls:` pour chaque méthode de l'API des mods qu'il appelle. Si votre module lit ou définit des variables d'environnement, recherchez également les lignes `env reads:` et `env writes:`, ainsi que `state reads:` et `state writes:` s'il utilise [`$.state`](/docs/fr/plugins/mods/interface#keep-state). Vous voyez aussi une ligne pour chaque hook qui peut refuser une action, comme `gating hook without .catch: tool.call`, qui indique si ce hook possède un [gestionnaire `.catch`](/docs/fr/plugins/mods/events#handle-a-hook-that-fails).

320 320 

321Si un événement que vous aviez l'intention de gérer manque de la première ligne, Claude Code n'appellera pas ce hook non plus. La cause habituelle est un nom d'événement mal orthographié, que la commande rapporte comme une erreur telle que `"tool.calls" is not an event`.321Si un événement que vous aviez l'intention de gérer manque de la première ligne, Claude Code n'appellera pas ce hook non plus. La cause habituelle est un nom d'événement mal orthographié, que la commande rapporte comme une erreur telle que `"tool.calls" is not an event`.

322 322 

Details

245 245 

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

247 247 

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

249 

248[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).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).

249 251 

250<h3 id="follow-a-turn">252<h3 id="follow-a-turn">


312 314 

313Claude Code ordonne la chaîne par où chaque mod vient :315Claude Code ordonne la chaîne par où chaque mod vient :

314 316 

3151. La garde intégrée `sec-default@builtin`, un mod intégré à Claude Code que `/plugin` énumère en tant que `cc-plugin-sec-default`, où [il charge](/docs/fr/plugins/mods/admin#know-what-happens-by-default), les mods que votre organisation énumère dans [`prependPlugins`](/docs/fr/plugins/mods/admin#install-your-organizations-mods), puis tout autre mod qui compte comme celui de votre organisation et n'est pas dans `appendPlugins`3171. Le garde-fou intégré `sec-default@builtin`, un mod intégré à Claude Code que `/plugin` énumère en tant que `cc-plugin-sec-default`, où [il charge](/docs/fr/plugins/mods/admin#know-what-happens-by-default), les mods que votre organisation énumère dans [`prependPlugins`](/docs/fr/plugins/mods/admin#install-your-organizations-mods), puis tout autre mod qui compte comme celui de votre organisation et n'est pas dans `appendPlugins`

3162. Les mods que vous installez3182. Les mods que vous installez

3173. Les mods que votre organisation énumère dans `appendPlugins`3193. Les mods que votre organisation énumère dans `appendPlugins`

3184. D'autres mods intégrés à Claude Code3204. D'autres mods intégrés à Claude Code

319 321 

320Parmi les mods que vous installez, un mod s'exécute avant les mods qu'il énumère sous `dependencies` dans son manifeste. Dans un module, les hooks s'exécutent dans l'ordre que `register` a appelé `on`.322Parmi les mods que vous installez, un mod s'exécute avant les mods qu'il énumère sous `dependencies` dans son manifeste. Dans un module, les hooks s'exécutent dans l'ordre où `register` a appelé `on`.

321 323 

322<h4 id="where-settings-hooks-run-in-the-order">324<h4 id="where-settings-hooks-run-in-the-order">

323 Où les hooks des paramètres s'exécutent dans l'ordre325 Où les hooks de paramètres s'exécutent dans l'ordre

324</h4>326</h4>

325 327 

326Les hooks `PreToolUse` configurés dans les fichiers de paramètres s'exécutent aussi pendant un appel d'outil, à des points fixes dans la chaîne des mods :328Les hooks `PreToolUse` configurés dans les fichiers de paramètres s'exécutent aussi pendant un appel d'outil, à des points fixes dans la chaîne des mods :

327 329 

328* **Hooks `PreToolUse` des paramètres gérés** : s'exécutent avant le hook `tool.call` du premier mod, et un bloc de l'un d'eux est final, donc aucun mod ne voit l'appel.330* **Hooks `PreToolUse` des paramètres gérés** : s'exécutent avant le hook `tool.call` du premier mod, et un blocage de l'un d'eux est définitif, donc aucun mod ne voit l'appel.

329* **Hooks `PreToolUse` de chaque autre fichier de paramètres et des `hooks/hooks.json` des plugins** : s'exécutent après que le dernier mod appelle `next`, comme partie du comportement propre de Claude Code. Un mod qui répond à `tool.call` sans appeler `next` les empêche de s'exécuter, et un mod qui appelle `next` voit leur décision dans le résultat qu'il retourne.331* **Hooks `PreToolUse` de chaque autre fichier de paramètres et des `hooks/hooks.json` des plugins** : s'exécutent après que le dernier mod appelle `next`, comme partie du comportement propre de Claude Code. Un mod qui répond à `tool.call` sans appeler `next` les empêche de s'exécuter, et un mod qui appelle `next` voit leur décision dans le résultat qu'il retourne.

330 332 

331[`tool.check`](#approve-or-refuse-a-tool-call-before-the-user-is-asked) se déclenche une fois que ces hooks et les règles de permission ont décidé, de sorte qu'un hook sur cet événement peut approuver un appel qu'un hook du deuxième groupe a bloqué.333[`tool.check`](#approve-or-refuse-a-tool-call-before-the-user-is-asked) se déclenche une fois que ces hooks et les règles de permission ont décidé, de sorte qu'un hook sur cet événement peut approuver un appel qu'un hook du deuxième groupe a bloqué.


341 343 

342Une ligne nomme le mod, l'événement, et la raison, comme `my-mod: tool.call hook skipped: threw Error: boom`. Où vous la lisez dépend de la session, comme [Découvrir pourquoi un mod ne fait rien](/docs/fr/plugins/mods/troubleshoot#find-out-why-a-mod-does-nothing) l'énumère. Un hook `ui.render` dont le dessin ne valide pas est rapporté différemment, comme [Construire un arbre à partir d'éléments](/docs/fr/plugins/mods/interface#build-a-tree-from-elements) le décrit.344Une ligne nomme le mod, l'événement, et la raison, comme `my-mod: tool.call hook skipped: threw Error: boom`. Où vous la lisez dépend de la session, comme [Découvrir pourquoi un mod ne fait rien](/docs/fr/plugins/mods/troubleshoot#find-out-why-a-mod-does-nothing) l'énumère. Un hook `ui.render` dont le dessin ne valide pas est rapporté différemment, comme [Construire un arbre à partir d'éléments](/docs/fr/plugins/mods/interface#build-a-tree-from-elements) le décrit.

343 345 

344Pour faire échouer un hook qui bloque les appels fermé, ajoutez un gestionnaire d'erreur `.catch` qui répond à sa place. Ici, `guard` est votre fonction hook :346Pour qu'un hook qui bloque les appels échoue en mode fermé, ajoutez un gestionnaire d'erreur `.catch` qui répond à sa place. Ici, `guard` est votre fonction hook, et le gestionnaire teste [`next.called`](/docs/fr/plugins/mods/reference#the-hook-function) pour savoir si `guard` avait déjà appelé `next` lorsqu'il a échoué :

345 347 

346```javascript theme={null}348```javascript theme={null}

347// on retourne une enregistrement, et .catch attache un gestionnaire à ce hook seul349// on retourne un enregistrement, et .catch attache un gestionnaire à ce hook seul

348on('tool.call', { tool: 'Bash' }, guard).catch(async ($, e, next) => {350on('tool.call', { tool: 'Bash' }, guard).catch(async ($, e, next) => {

349 // next.error.kind est 'throw' ou 'timeout', qui dit comment guard a échoué351 // guard avait déjà appelé next, donc retourner ce qui est revenu

352 if (next.called) return next(e)

353 // next.error.kind indique pourquoi le gestionnaire a été sollicité, par exemple 'throw' ou 'timeout'

350 return { deny: 'The command guard failed, so this command was not run: ' + next.error.kind }354 return { deny: 'The command guard failed, so this command was not run: ' + next.error.kind }

351})355})

352```356```

353 357 

354Pendant que `guard` fonctionne, le gestionnaire ne s'exécute jamais. Quand `guard` lève une exception ou expire sur un appel Bash, Claude Code appelle le gestionnaire avec le même événement. Le gestionnaire retourne `{ deny }`, donc la commande ne s'exécute pas, et Claude lit le texte avec `throw` ou `timeout` à la fin. Sans le gestionnaire, Claude Code sauterait `guard` et exécuterait la commande. Le gestionnaire a sa propre [limite de temps](/docs/fr/plugins/mods/reference#limits), plus courte.358Quand `guard` lève une exception ou expire sur un appel Bash, Claude Code appelle le gestionnaire avec le même événement :

359 

360* **`guard` a échoué avant d'appeler `next`** : la commande ne s'exécute pas, et Claude lit le texte de `deny` avec le type à la fin

361* **`guard` a échoué après avoir appelé `next`** : le `next(e)` du gestionnaire se résout avec le résultat qu'a produit l'appel de `guard`, sans exécuter à nouveau la commande, et Claude lit ce résultat

362 

363Le gestionnaire a sa propre [limite de temps](/docs/fr/plugins/mods/reference#limits), plus courte. Si le gestionnaire lui-même lève une exception ou expire, Claude Code saute le hook comme s'il n'avait pas de gestionnaire. Si `guard` n'avait pas appelé `next`, la commande se poursuit alors comme elle le ferait sans le mod.

364 

365La même forme de gestionnaire convient à un garde-fou sur `prompt.submit` ou `config.set`. Lorsque `next.called` vaut false, retournez le refus que la [référence des événements](/docs/fr/plugins/mods/reference#events) indique pour cet événement : `{ drop: 'the reason' }` pour `prompt.submit`, `{ deny: 'the reason' }` pour `config.set`.

366 

367Pour `tool.check` et `plugin.register`, un refus retourné après que `next` s'est résolu reste valable, donc retournez-le sans tester `next.called` :

368 

369* **`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)

355 371 

356<h2 id="next-steps">372<h2 id="next-steps">

357 Prochaines étapes373 Prochaines étapes

Details

443 443 

444Dans une session démarrée avec `--plugin-dir`, une ligne de transcription le dit, comme `ui.render (Pane) refused: Text prop "bogusProp" is not allowed; the engine drew its own`. Le [journal de débogage](/docs/fr/plugins/mods/troubleshoot#read-the-debug-log) l'enregistre comme `ui.render (Pane): a hook returned a tree that does not validate` avec la même raison. Rien d'autre n'apparaît dans la session, donc quand un dessin ne s'affiche pas, vérifiez cette ligne ou le journal.444Dans une session démarrée avec `--plugin-dir`, une ligne de transcription le dit, comme `ui.render (Pane) refused: Text prop "bogusProp" is not allowed; the engine drew its own`. Le [journal de débogage](/docs/fr/plugins/mods/troubleshoot#read-the-debug-log) l'enregistre comme `ui.render (Pane): a hook returned a tree that does not validate` avec la même raison. Rien d'autre n'apparaît dans la session, donc quand un dessin ne s'affiche pas, vérifiez cette ligne ou le journal.

445 445 

446<h3 id="link-in-the-desktop-app">

447 `Link` dans l'application Desktop

448</h3>

449 

450Dans l'application Desktop, un `Link` s'affiche comme du texte brut, sauf si son `href` remplit ces conditions :

451 

452* **Schéma et hôte** : une URL `https:`, ou une URL `http://localhost` comme `http://localhost:3000`

453* **Pas de `@`** : écrivez un `@` dans le chemin ou la requête sous la forme `%40`

454* **Graphie** : ce que renvoie `new URL(href).href`, à l'exception d'un `/` manquant après l'hôte. Cela exclut un hôte en majuscules, un espace et `:443` sur une URL `https:`.

455 

456Dans le terminal, ces conditions ne s'appliquent pas.

457 

458<h3 id="when-a-client-fails">

459 Quand un `Client` échoue

460</h3>

461 

462Dans le terminal, quand le fichier qu'exécute un `Client` échoue, une ligne atténuée comme `my-mod: Client client/spinner.js: boom` prend la place du `Client`, et le reste de votre dessin s'affiche toujours.

463 

464Si votre mod gère [`ui.fault`](/docs/fr/plugins/mods/reference#interface), Claude Code [redessine alors le site](#when-claude-code-redraws-without-being-asked).

465 

446<h3 id="draw-a-grid-of-colored-cells">466<h3 id="draw-a-grid-of-colored-cells">

447 Dessiner une grille de cellules colorées467 Dessiner une grille de cellules colorées

448</h3>468</h3>


806Ces règles s'appliquent au code :826Ces règles s'appliquent au code :

807 827 

808* **Écrivez `plugin` et `key` comme des chaînes littérales** : `claude plugin validate` les lit de votre source828* **Écrivez `plugin` et `key` comme des chaînes littérales** : `claude plugin validate` les lit de votre source

829* **Conservez le résultat de chaque appel `atom` dans une `const`** : si vous déclarez `count` avec `let`, la validation échoue avec `takes a source the scan can read`

809* **Déclarez chaque valeur dans le fichier de déclaration de types** : sinon la validation échoue avec `hello-tabs.count is not declared`830* **Déclarez chaque valeur dans le fichier de déclaration de types** : sinon la validation échoue avec `hello-tabs.count is not declared`

810* **Écrivez à partir d'un callback ou du hook d'un autre événement** : un hook `ui.render` peut lire l'état et ne peut pas l'écrire, donc écrivez à partir de `onPress`, `onSubmit`, ou un hook pour un autre événement831* **Écrivez à partir d'un callback ou du hook d'un autre événement** : un hook `ui.render` peut lire l'état et ne peut pas l'écrire, donc écrivez à partir de `onPress`, `onSubmit`, ou un hook pour un autre événement

811 832 

Details

113Les mods sont activés par défaut. Dans le terminal, utilisez Claude Code v2.1.287 ou version ultérieure. L'application Desktop inclut sa propre copie de Claude Code, et les mods y fonctionnent à partir de la v2.1.286. Vérifiez la version à l'endroit où vous utilisez les mods :113Les mods sont activés par défaut. Dans le terminal, utilisez Claude Code v2.1.287 ou version ultérieure. L'application Desktop inclut sa propre copie de Claude Code, et les mods y fonctionnent à partir de la v2.1.286. Vérifiez la version à l'endroit où vous utilisez les mods :

114 114 

115* **Terminal** : dans votre shell, exécutez `claude --version`. Si la vôtre est plus ancienne, [mettez à jour Claude Code](/docs/fr/setup#update-claude-code).115* **Terminal** : dans votre shell, exécutez `claude --version`. Si la vôtre est plus ancienne, [mettez à jour Claude Code](/docs/fr/setup#update-claude-code).

116* **Application Desktop** : dans une session locale de l'onglet Code, saisissez `/status` et lisez la ligne **Claude Code**, qui affiche une version telle que `2.1.286`. Si la vôtre est plus ancienne, mettez à jour l'application Desktop.116* **Application Desktop** : dans une session locale de l'onglet Code, saisissez `/status` et lisez la ligne **Claude Code**, qui affiche une version telle que `2.1.286`. Si la vôtre est plus ancienne, [mettez à jour l'application Desktop](/docs/fr/desktop#claude-code-version-in-the-code-tab).

117 117 

118Pour désactiver les mods, choisissez combien en arrêter et pour combien de temps. Pour les réactiver, annulez le même changement :118Pour désactiver les mods, choisissez combien en arrêter et pour combien de temps. Pour les réactiver, annulez le même changement :

119 119 

Details

43| `next.origin` | `{ plugin, tier }` de l'émetteur de l'événement. Claude Code lui-même est `{ plugin: 'engine', tier: 'core' }`. Le `tier` d'un mod est son groupe de priorité dans [l'ordre d'exécution des mods](/docs/fr/plugins/mods/events#the-order-mods-run-in) : `prepend`, `user`, `append` ou `builtin`. |43| `next.origin` | `{ plugin, tier }` de l'émetteur de l'événement. Claude Code lui-même est `{ plugin: 'engine', tier: 'core' }`. Le `tier` d'un mod est son groupe de priorité dans [l'ordre d'exécution des mods](/docs/fr/plugins/mods/events#the-order-mods-run-in) : `prepend`, `user`, `append` ou `builtin`. |

44| `next.budget` | La limite de temps du hook en millisecondes : `next.budget.ms` est la limite totale, et `next.budget.remainingMs` est ce qui reste à cet instant |44| `next.budget` | La limite de temps du hook en millisecondes : `next.budget.ms` est la limite totale, et `next.budget.remainingMs` est ce qui reste à cet instant |

45| `next.to(e, tier)` | Passe directement à un tier ultérieur, qui est `append`, `builtin` ou `core`. `next.to(e, 'append')` ignore les mods installés par un utilisateur. Seul un mod présent dans `prependPlugins` ou `appendPlugins` peut l'appeler. |45| `next.to(e, tier)` | Passe directement à un tier ultérieur, qui est `append`, `builtin` ou `core`. `next.to(e, 'append')` ignore les mods installés par un utilisateur. Seul un mod présent dans `prependPlugins` ou `appendPlugins` peut l'appeler. |

46| `next.error`, `next.called` | Dans un gestionnaire `.catch` uniquement. `next.error.kind` vaut `throw` ou `timeout`, `next.error.message` est le texte de l'erreur, et `next.called` vaut `true` lorsque le hook en échec avait appelé `next`. |46| `next.error` | Dans un gestionnaire `.catch` uniquement. `kind` vaut `throw` ou `timeout` lorsque le hook a échoué, et `message` est le texte de l'erreur. `kind` vaut `re-entry` lorsque le hook a été ignoré parce que l'événement provenait de l'un de ses propres appels à l'API des mods, et `cause` vaut `lent` si une méthode qu'un autre mod ajoute à l'API des mods a déclenché cet événement. `re-entry` et `cause` nécessitent Claude Code v2.1.292 ou une version ultérieure. |

47| `next.called` | Dans un gestionnaire `.catch` uniquement. `true` lorsque le hook avait appelé `next`. |

47 48 

48<h2 id="events">49<h2 id="events">

49 Événements50 Événements


258| [`Box`](/docs/fr/plugins/mods/interface#build-a-tree-from-elements) | `key`, disposition flex, `gap`, `padding`, `margin`, `width`, `height`, [`borderStyle`](#box-border-styles), `backgroundColor`, `position`, `hover` | ✓ | ✓ |259| [`Box`](/docs/fr/plugins/mods/interface#build-a-tree-from-elements) | `key`, disposition flex, `gap`, `padding`, `margin`, `width`, `height`, [`borderStyle`](#box-border-styles), `backgroundColor`, `position`, `hover` | ✓ | ✓ |

259| [`Text`](/docs/fr/plugins/mods/interface#build-a-tree-from-elements) | `color`, `backgroundColor`, `bold`, `italic`, `underline`, `dimColor`, `inverse`, `wrap` | ✓ | ✓ |260| [`Text`](/docs/fr/plugins/mods/interface#build-a-tree-from-elements) | `color`, `backgroundColor`, `bold`, `italic`, `underline`, `dimColor`, `inverse`, `wrap` | ✓ | ✓ |

260| [`Button`](/docs/fr/plugins/mods/interface#respond-to-presses-and-typing) | `key`, `label`, `onPress`, `hotkey`, `plain`, `dimColor`, `autoFocus`, `action` | ✓ | ✓ |261| [`Button`](/docs/fr/plugins/mods/interface#respond-to-presses-and-typing) | `key`, `label`, `onPress`, `hotkey`, `plain`, `dimColor`, `autoFocus`, `action` | ✓ | ✓ |

261| `Link` | `href`, `label` | ✓ | ✓ |262| [`Link`](/docs/fr/plugins/mods/interface#link-in-the-desktop-app) | `href`, `label`. Consultez [Limites](#limits). | ✓ | ✓ |

262| `Code` | Le code | ✓ | ✓ |263| [`Code`](/docs/fr/plugins/mods/gallery#show-code-and-changes) | `source`, `language`, `path`, `startLine`, `format`, `wrap` | ✓ | ✓ |

263| `Markdown` | `text`, `key`, `dimColor`, `onLinkPress`, `pressableLinks` | ✓ | ✓ |264| `Markdown` | `text`, `key`, `dimColor`, `onLinkPress`, `pressableLinks` | ✓ | ✓ |

264| [`Input`](/docs/fr/plugins/mods/interface#take-typed-input-and-draw-a-row-for-each-item) | `key`, `label`, `placeholder`, `value`, `submitLabel`, `onSubmit`, `onInput`, `autoFocus` | ✓ | ✓ |265| [`Input`](/docs/fr/plugins/mods/interface#take-typed-input-and-draw-a-row-for-each-item) | `key`, `label`, `placeholder`, `value`, `submitLabel`, `onSubmit`, `onInput`, `autoFocus` | ✓ | ✓ |

265| `Select` | `key`, `label`, `options`, `value`, `onSelect`, `autoFocus` | ✓ | ✓ |266| `Select` | `key`, `label`, `options`, `value`, `onSelect`, `autoFocus` | ✓ | ✓ |

266| `Svg` | Un document SVG, jusqu'à 131 072 caractères | | ✓ |267| `Svg` | Un document SVG, jusqu'à 131 072 caractères | | ✓ |

267| [`Client`](/docs/fr/plugins/mods/interface#build-a-tree-from-elements) | `module`, `key` | ✓ | ✓ |268| [`Client`](/docs/fr/plugins/mods/interface#build-a-tree-from-elements) | `module`, `key` | ✓ | ✓ |

268| [`Raster`](/docs/fr/plugins/mods/interface#draw-a-grid-of-colored-cells) | `key`, `columns` jusqu'à 512, `rows` jusqu'à 256, `cells`. Consultez [Dessiner une grille de cellules colorées](/docs/fr/plugins/mods/interface#draw-a-grid-of-colored-cells). | ✓ | |269| [`Raster`](/docs/fr/plugins/mods/interface#draw-a-grid-of-colored-cells) | `key`, `columns` jusqu'à 512, `rows` jusqu'à 256, `cells`. Consultez [Dessiner une grille de cellules colorées](/docs/fr/plugins/mods/interface#draw-a-grid-of-colored-cells). | ✓ | |

269| `Image` | Octets PNG ou RGBA jusqu'à 2 Mio, ou un chemin de fichier | ✓ | |270| `Image` | Octets PNG ou RGBA jusqu'à 2 Mio, ou un chemin de fichier, `columns` et `rows` jusqu'à 255, et un texte `alt`. | ✓ | |

270 271 

271Autres règles pour `Button` : `action` nomme l'une des propres [actions de raccourci clavier](/docs/fr/keybindings) de Claude Code, et le raccourci de l'utilisateur pour cette action presse le bouton lorsque ce raccourci est une combinaison de touches ou une touche avec modificateur. Un `hotkey` numérique sur un bouton du bandeau se déclenche aussi lorsque l'utilisateur tape ce seul chiffre dans un prompt vide puis marque une pause. Lorsque deux boutons d'un même dessin désignent le même `hotkey`, c'est le dernier qui l'obtient. `autoFocus` n'accepte que `true` sur tout contrôle : omettez donc la prop pour le désactiver.272Autres règles pour `Button` : `action` nomme l'une des propres [actions de raccourci clavier](/docs/fr/keybindings) de Claude Code, et le raccourci de l'utilisateur pour cette action presse le bouton lorsque ce raccourci est une combinaison de touches ou une touche avec modificateur. Un `hotkey` numérique sur un bouton du bandeau se déclenche aussi lorsque l'utilisateur tape ce seul chiffre dans un prompt vide puis marque une pause. Lorsque deux boutons d'un même dessin désignent le même `hotkey`, c'est le dernier qui l'obtient. `autoFocus` n'accepte que `true` sur tout contrôle : omettez donc la prop pour le désactiver.

272 273 


295 Limites296 Limites

296</h2>297</h2>

297 298 

298Les hooks et les appels à l'API des mods s'exécutent sous des limites de temps et de taille. Claude Code ignore un hook qui dépasse une limite de temps et rejette un appel qui dépasse une limite de taille.299Les hooks et les appels à l'API des mods s'exécutent sous des limites de temps et de taille. Claude Code ignore un hook qui dépasse une limite de temps.

299 300 

300| Limite | Valeur |301| Limite | Valeur |

301| :- | :- |302| :- | :- |


306| `maxTokens` de `$.model.complete` | 1024 par défaut, jusqu'à 64 000 ou la limite de sortie du modèle |307| `maxTokens` de `$.model.complete` | 1024 par défaut, jusqu'à 64 000 ou la limite de sortie du modèle |

307| `$.fs.read` et `$.fs.write` | 4 Mio pour un fichier |308| `$.fs.read` et `$.fs.write` | 4 Mio pour un fichier |

308| Texte dans un arbre | Les 100 000 premiers caractères sont dessinés |309| Texte dans un arbre | Les 100 000 premiers caractères sont dessinés |

310| 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). |

311| Le `href` d'un `Link` | 2 048 caractères. Un `href` plus long empêche le dessin de l'arbre entier. |

309| `$.store` | 4 Mio de JSON au total |312| `$.store` | 4 Mio de JSON au total |

310| `$.session.messages()` | Les 4 096 entrées les plus récentes |313| `$.session.messages()` | Les 4 096 entrées les plus récentes |

311| 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. |314| 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. |


325| `CLAUDE_CODE_PLUGIN_DIRS` | Environnement, ou `env` dans `~/.claude/settings.json` | Répertoires de plugins à charger comme le fait `--plugin-dir`, pour les applications auxquelles vous ne pouvez pas passer de flag. Chemins absolus séparés par `:`, ou `;` sous Windows. |328| `CLAUDE_CODE_PLUGIN_DIRS` | Environnement, ou `env` dans `~/.claude/settings.json` | Répertoires de plugins à charger comme le fait `--plugin-dir`, pour les applications auxquelles vous ne pouvez pas passer de flag. Chemins absolus séparés par `:`, ou `;` sous Windows. |

326| `CLAUDE_CODE_PLUGIN_DIR_WATCH` | Environnement | `1` fait recharger les mods `--plugin-dir` à l'enregistrement dans une session non interactive de longue durée |329| `CLAUDE_CODE_PLUGIN_DIR_WATCH` | Environnement | `1` fait recharger les mods `--plugin-dir` à l'enregistrement dans une session non interactive de longue durée |

327| `prependPlugins`, `appendPlugins` | Paramètres gérés. Paramètres utilisateur uniquement sur une machine sans paramètres gérés, pour un utilisateur qui n'est pas connecté avec un forfait Team ou Enterprise. | Listes d'identifiants de plugins, comme `acme-guard@acme-tools`. Les mods de `prependPlugins` s'exécutent avant tout mod installé par un utilisateur, et ceux de `appendPlugins` après, dans l'ordre indiqué. Consultez [L'ordre d'exécution des mods](/docs/fr/plugins/mods/events#the-order-mods-run-in). |330| `prependPlugins`, `appendPlugins` | Paramètres gérés. Paramètres utilisateur uniquement sur une machine sans paramètres gérés, pour un utilisateur qui n'est pas connecté avec un forfait Team ou Enterprise. | Listes d'identifiants de plugins, comme `acme-guard@acme-tools`. Les mods de `prependPlugins` s'exécutent avant tout mod installé par un utilisateur, et ceux de `appendPlugins` après, dans l'ordre indiqué. Consultez [L'ordre d'exécution des mods](/docs/fr/plugins/mods/events#the-order-mods-run-in). |

328| `allowManagedModsOnly` | Paramètres gérés, en tant qu'[option du garde-fou intégré](/docs/fr/plugins/mods/admin#set-options-on-the-built-in-guard) | Seuls les mods qui [relèvent de votre organisation](/docs/fr/plugins/mods/admin#install-your-organizations-mods) et les mods intégrés à Claude Code se chargent. Les hooks de paramètres des utilisateurs continuent de s'exécuter. |331| `allowManagedModsOnly` | Paramètres gérés, en tant qu'[option du garde-fou intégré](/docs/fr/plugins/mods/admin#set-options-on-the-built-in-guard) | Seuls les mods qui [relèvent de votre organisation](/docs/fr/plugins/mods/admin#install-your-organizations-mods) et les mods intégrés à Claude Code exécutent leurs hooks. Les hooks de paramètres des utilisateurs continuent de s'exécuter. |

329| `allowModsToOverrideDenyRules` | Paramètres gérés, en tant qu'[option du garde-fou intégré](/docs/fr/plugins/mods/admin#set-options-on-the-built-in-guard) | Permet à un mod installé par un utilisateur d'approuver un appel d'outil refusé par une règle `deny` |332| `allowModsToOverrideDenyRules` | Paramètres gérés, en tant qu'[option du garde-fou intégré](/docs/fr/plugins/mods/admin#set-options-on-the-built-in-guard) | Permet à un mod installé par un utilisateur d'approuver un appel d'outil refusé par une règle `deny` |

330| `allowManagedHooksOnly` | Paramètres gérés | Bloque les hooks et les mods installés qui n'appartiennent pas à votre organisation. Consultez [ce qui continue de s'exécuter](/docs/fr/settings-reference#what-runs-under-allowmanagedhooksonly). |333| `allowManagedHooksOnly` | Paramètres gérés | Bloque les hooks et les mods installés qui n'appartiennent pas à votre organisation. Consultez [ce qui continue de s'exécuter](/docs/fr/settings-reference#what-runs-under-allowmanagedhooksonly). |

331| `disableAllHooks` | Tout fichier de paramètres | Dans les paramètres gérés, aucun mod ni hook provenant d'un plugin installé ne s'exécute. Dans vos propres paramètres, ce que gère votre organisation continue de s'exécuter. Consultez [`disableAllHooks`](/docs/fr/settings-reference#disableallhooks). |334| `disableAllHooks` | Tout fichier de paramètres | Dans les paramètres gérés, aucun mod ni hook provenant d'un plugin installé ne s'exécute. Dans vos propres paramètres, ce que gère votre organisation continue de s'exécuter. Consultez [`disableAllHooks`](/docs/fr/settings-reference#disableallhooks). |

Details

107 107 

108Un stub pour un appel d'API des mods retourne un objet avec un champ `value`, qui contient ce que l'appel se résout en dans votre mod : `{ value: 7 }` fait que `$.store.get` se résout à `7`. Un stub pour l'un des événements de Claude Code, comme [`turn.step`](/docs/fr/plugins/mods/reference#turns) ou `tool.call`, retourne le propre résultat de cet événement, comme `{ result: 'ok' }`. `$.session.send` et `$.prompt.fill` prennent également le résultat de l'événement, comme le montre le tableau. [Rechercher ce qu'un stub retourne](#look-up-what-a-stub-returns) montre quelle forme chaque nom courant prend. Ces erreurs signifient qu'un stub est incorrect ou manquant. La sortie d'un test échoué inclut un bloc intitulé `the engine reported:`, et chaque erreur y apparaît :108Un stub pour un appel d'API des mods retourne un objet avec un champ `value`, qui contient ce que l'appel se résout en dans votre mod : `{ value: 7 }` fait que `$.store.get` se résout à `7`. Un stub pour l'un des événements de Claude Code, comme [`turn.step`](/docs/fr/plugins/mods/reference#turns) ou `tool.call`, retourne le propre résultat de cet événement, comme `{ result: 'ok' }`. `$.session.send` et `$.prompt.fill` prennent également le résultat de l'événement, comme le montre le tableau. [Rechercher ce qu'un stub retourne](#look-up-what-a-stub-returns) montre quelle forme chaque nom courant prend. Ces erreurs signifient qu'un stub est incorrect ou manquant. La sortie d'un test échoué inclut un bloc intitulé `the engine reported:`, et chaque erreur y apparaît :

109 109 

110* `returned neither { value } nor { deny }` : un stub pour un appel d'API des mods a retourné une valeur nue110* `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 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).


198 198 

199`expect` a les assertions `toBe`, `toEqual`, `toMatch`, `toMatchObject`, `toContain`, `toBeDefined`, `toBeUndefined`, et `toThrow`, et `.not` avant n'importe lequel d'entre eux.199`expect` a les assertions `toBe`, `toEqual`, `toMatch`, `toMatchObject`, `toContain`, `toBeDefined`, `toBeUndefined`, et `toThrow`, et `.not` avant n'importe lequel d'entre eux.

200 200 

201Quand un `expect` échoue à l'intérieur d'un stub ou d'un hook que vous avez passé à `on` sous forme de fonction simple plutôt que de générateur asynchrone, le test échoue. Le moteur ignore ce hook, et la sortie de l'échec le nomme, par exemple `in the test's store.set hook`.

202 

201<h2 id="test-a-timer">203<h2 id="test-a-timer">

202 Tester une minuterie204 Tester une minuterie

203</h2>205</h2>

Details

30| :- | :- |30| :- | :- |

31| `no hooks module to load` | Les mods peuvent se charger. La commande n'a trouvé aucun mod à tester dans ce répertoire. |31| `no hooks module to load` | Les mods peuvent se charger. La commande n'a trouvé aucun mod à tester dans ce répertoire. |

32| `hooks modules are turned off here` | Un paramètre empêche vos mods : `disableAllHooks` dans vos propres paramètres, ou la politique de votre organisation |32| `hooks modules are turned off here` | Un paramètre empêche vos mods : `disableAllHooks` dans vos propres paramètres, ou la politique de votre organisation |

33| `hooks modules are turned off in this process` | Anthropic a désactivé les mods installés à distance. Aucun paramètre sur votre machine ne les réactive. |33| `hooks modules are turned off in this process: the rollout switch served off` | Anthropic a désactivé les mods installés à distance. |

34| `hooks modules are turned off in this process: the rollout switch was saved off by an earlier session` | La commande a utilisé une valeur enregistrée par une session précédente, qui peut être obsolète. Démarrez `claude` une fois pour l'actualiser, puis exécutez à nouveau la commande. |

34 35 

35Une organisation peut également définir `allowManagedModsOnly` pour autoriser uniquement ses propres mods, ce que cette commande ne signale pas. Dans ce cas, un mod que vous installez ne se charge pas, et [un message explique pourquoi](/docs/fr/plugins/mods/troubleshoot#messages-from-the-built-in-guard).36Une organisation peut également définir `allowManagedModsOnly` pour autoriser uniquement ses propres mods, ce que cette commande ne signale pas. Dans ce cas, Claude Code refuse un mod que vous installez, et [un message explique pourquoi](/docs/fr/plugins/mods/troubleshoot#messages-from-the-built-in-guard).

36 37 

37<h2 id="the-mod-doesn’t-load">38<h2 id="the-mod-doesn’t-load">

38 Le mod ne se charge pas39 Le mod ne se charge pas


72 73 

73| Le message commence par | Ce que cela signifie |74| Le message commence par | Ce que cela signifie |

74| :- | :- |75| :- | :- |

75| `hooks modules are turned off for installed plugins in this process` | Anthropic a désactivé les mods installés à distance. Aucun paramètre sur votre machine ne les réactive. |76| `hooks modules are turned off for installed plugins in this process: the rollout switch served off` | Anthropic a désactivé les mods installés à distance. |

77| `hooks modules are turned off for installed plugins in this process: the rollout switch was saved off by an earlier session` | La session a utilisé une valeur enregistrée par une session précédente, qui peut être obsolète. Redémarrez Claude Code pour l'actualiser. |

76| `disableAllHooks in managed settings` | Votre organisation a désactivé les hooks des plugins installés |78| `disableAllHooks in managed settings` | Votre organisation a désactivé les hooks des plugins installés |

77| `only managed plugins and built-in plugins run` | `allowManagedHooksOnly` est défini, ou `disableAllHooks` est défini dans un fichier de paramètres autre que les paramètres gérés |79| `only managed plugins and built-in plugins run` | `allowManagedHooksOnly` est défini, ou `disableAllHooks` est défini dans un fichier de paramètres autre que les paramètres gérés |

78| `installed plugins that are not managed load no hooks module in this mode (--bare)` | Vous avez démarré Claude Code avec `--bare` |80| `installed plugins that are not managed load no hooks module in this mode (--bare)` | Vous avez démarré Claude Code avec `--bare` |


86 88 

87| Le message contient | Ce que cela signifie | Où cela apparaît |89| Le message contient | Ce que cela signifie | Où cela apparaît |

88| :- | :- | :- |90| :- | :- | :- |

89| `mods are limited to your organization's by policy (allowManagedModsOnly)` | Votre organisation n'autorise que [ses propres mods](/docs/fr/plugins/mods/admin#install-your-organizations-mods), donc le vôtre n'a pas été chargé | Le journal de débogage et la transcription dans une [session qui recharge à chaud un répertoire de plugin](#find-out-why-a-mod-does-nothing) |91| `mods are limited to your organization's by policy (allowManagedModsOnly)` | Votre organisation n'autorise que [ses propres mods](/docs/fr/plugins/mods/admin#install-your-organizations-mods), donc le vôtre a été refusé | Le journal de débogage et la transcription dans une [session qui recharge à chaud un répertoire de plugin](#find-out-why-a-mod-does-nothing) |

90| `tried to lift a deny rule in your settings` | Le hook [`tool.check`](/docs/fr/plugins/mods/reference#tools) de votre mod a approuvé un appel qu'une règle `deny` refuse. L'appel reste refusé. | La transcription et le journal de débogage, une fois pour chaque mod dans une session. Dans une exécution `claude -p`, le journal de débogage uniquement. |92| `tried to lift a deny rule in your settings` | Le hook [`tool.check`](/docs/fr/plugins/mods/reference#tools) de votre mod a approuvé un appel qu'une règle `deny` refuse. L'appel reste refusé. | La transcription et le journal de débogage, une fois pour chaque mod dans une session. Dans une exécution `claude -p`, le journal de débogage uniquement. |

91| `the deny rules in your settings could not be checked for this call, so it is refused` | Le garde a échoué lors de la vérification d'un appel qu'un mod a approuvé, donc il a refusé l'appel | La raison que Claude lit pour l'appel refusé |93| `the deny rules in your settings could not be checked for this call, so it is refused` | Le garde a échoué lors de la vérification d'un appel qu'un mod a approuvé, donc il a refusé l'appel | La raison que Claude lit pour l'appel refusé |

92 94 


163 165 

164Corrigez le hook.166Corrigez le hook.

165 167 

168<h3 id="its-session-start-ran-again-in-a-fresh-copy">

169 `its session.start ran again in a fresh copy`

170</h3>

171 

172La ligne commence par le nom du mod et nomme un appel `$.prompt.submit`, `$.command.run` ou `$.agent.spawn`, comme dans `first-mod: its session.start ran again in a fresh copy; the $.prompt.submit call it had already made was not made again`. Claude Code a rechargé le module du mod, par exemple après que le hooks worker s'est écrasé et a été remplacé, et le hook [`session.start`](/docs/fr/plugins/mods/reference#session) de la nouvelle copie s'est exécuté. L'appel nommé par la ligne s'est résolu avec le résultat de sa première exécution au lieu de s'exécuter à nouveau, de sorte que votre mod ne soumet pas le prompt, n'exécute pas la commande et ne démarre pas le sous-agent deux fois. Le reste du hook s'est exécuté normalement.

173 

174Il n'y a rien à corriger.

175 

176Avant la v2.1.292, l'appel s'exécutait une seconde fois, de sorte que le prompt était soumis, la commande exécutée ou le sous-agent démarré deux fois.

177 

166<h3 id="mods-that-run-in-the-hooks-worker-are-off-for-this-session">178<h3 id="mods-that-run-in-the-hooks-worker-are-off-for-this-session">

167 `mods that run in the hooks worker are off for this session`179 `mods that run in the hooks worker are off for this session`

168</h3>180</h3>


207 219 

208Lisez la raison sur cette ligne. Les causes courantes sont une prop que l'élément ne prend pas et un élément que l'application n'a pas.220Lisez la raison sur cette ligne. Les causes courantes sont une prop que l'élément ne prend pas et un élément que l'application n'a pas.

209 221 

222<h3 id="a-ui-render-line-says-threw-while-drawn">

223 Une ligne `ui.render` indique `threw while drawn`

224</h3>

225 

226La ligne nomme le [point de rendu](/docs/fr/plugins/mods/reference#render-sites), puis indique `threw while drawn:` et l'erreur, comme dans `first-mod: ui.render (ToolUse) threw while drawn: <error>; the engine drew its own`. Claude Code a rencontré cette erreur en dessinant l'arbre retourné par votre hook [`ui.render`](/docs/fr/plugins/mods/reference#interface), ou en dessinant le point de rendu à partir des [`props` que votre hook a passées à `next`](/docs/fr/plugins/mods/interface#change-what-claude-code-already-draws). La fin `the engine drew its own` signifie que le point de rendu affiche le contenu habituel de Claude Code.

227 

228Lisez l'erreur et corrigez la valeur de votre hook qui l'a causée.

229 

230Avant la v2.1.289, cette erreur dans une ligne de la transcription mettait fin à la session avec [`Claude Code exited after an unrecoverable interface error`](/docs/fr/errors#exited-after-an-unrecoverable-interface-error).

231 

232<h3 id="the-module-failed-without-a-message">

233 `the module failed without a message`

234</h3>

235 

236Un [`Client`](/docs/fr/plugins/mods/interface#when-a-client-fails) a échoué avec une erreur qui n'a pas de message, comme `throw new Error()`. La ligne à sa place ressemble à `my-mod: Client client/spinner.js: the module failed without a message`.

237 

238Trouvez le throw dans le code de votre `Client` et donnez un message à l'erreur. La ligne affiche alors ce message.

239 

240Avant la v2.1.289, la ligne affichait `Error` comme raison à la place.

241 

210<h3 id="$-ui-open-runs-and-no-pane-appears">242<h3 id="$-ui-open-runs-and-no-pane-appears">

211 `$.ui.open` s'exécute et aucun volet n'apparaît243 `$.ui.open` s'exécute et aucun volet n'apparaît

212</h3>244</h3>


229 261 

230Le site ou l'élément n'est pas disponible là.262Le site ou l'élément n'est pas disponible là.

231 263 

232Vérifiez les [sites de rendu](/docs/fr/plugins/mods/reference#render-sites) et les tableaux [éléments](/docs/fr/plugins/mods/reference#elements).264Vérifiez les tableaux [points de rendu](/docs/fr/plugins/mods/reference#render-sites) et [éléments](/docs/fr/plugins/mods/reference#elements).

233 265 

234<h2 id="an-edit-or-a-value-is-lost">266<h2 id="an-edit-or-a-value-is-lost">

235 Une modification ou une valeur est perdue267 Une modification ou une valeur est perdue


285 317 

286Un dessin qui n'a pas validé compte comme un résultat refusé et obtient aussi une ligne. Pour écrire vos propres lignes dans le journal, appelez [`$.ui.log`](/docs/fr/plugins/mods/api#show-something-without-starting-a-turn) avec un deuxième argument, comme dans `$.ui.log('message', { to: 'debug' })`. Sans le deuxième argument, `$.ui.log` ajoute une ligne atténuée à la transcription.318Un dessin qui n'a pas validé compte comme un résultat refusé et obtient aussi une ligne. Pour écrire vos propres lignes dans le journal, appelez [`$.ui.log`](/docs/fr/plugins/mods/api#show-something-without-starting-a-turn) avec un deuxième argument, comme dans `$.ui.log('message', { to: 'debug' })`. Sans le deuxième argument, `$.ui.log` ajoute une ligne atténuée à la transcription.

287 319 

288Pendant que vous modifiez un mod chargé avec `--plugin-dir`, la transcription affiche une ligne pour chaque rechargement qui nomme le mod et énumère ses hooks. Si une sauvegarde casse le module, la ligne dit `reload failed, the previous version stays loaded:` avec la raison, et la dernière version de travail continue de s'exécuter.320Pendant que vous modifiez un mod chargé avec `--plugin-dir`, la transcription affiche une ligne pour chaque rechargement qui nomme le mod et énumère ses hooks. Si une sauvegarde casse le module, la ligne dit `reload failed, the previous version stays loaded:` avec la raison, et la dernière version fonctionnelle continue de s'exécuter jusqu'au prochain rechargement des plugins par Claude Code, par exemple lorsque vous exécutez `/reload-plugins`.

289 321 

290<h2 id="next-steps">322<h2 id="next-steps">

291 Étapes suivantes323 Étapes suivantes

plugins/org.md +1 −1

Details

212| `pluginTrustMessage` | Ajoute votre texte à l'avertissement de confiance que `/plugin` affiche avant l'installation d'un plugin | Ne change pas le texte de l'avertissement lui-même |212| `pluginTrustMessage` | Ajoute votre texte à l'avertissement de confiance que `/plugin` affiche avant l'installation d'un plugin | Ne change pas le texte de l'avertissement lui-même |

213| `allowedChannelPlugins` | Remplace la liste par défaut des plugins autorisés à envoyer des messages de canal. Nécessite `channelsEnabled: true` | Voir [Restreindre les plugins de canal qui peuvent s'exécuter](/docs/fr/channels#restrict-which-channel-plugins-can-run) |213| `allowedChannelPlugins` | Remplace la liste par défaut des plugins autorisés à envoyer des messages de canal. Nécessite `channelsEnabled: true` | Voir [Restreindre les plugins de canal qui peuvent s'exécuter](/docs/fr/channels#restrict-which-channel-plugins-can-run) |

214| [`CLAUDE_CODE_DISABLE_OFFICIAL_MARKETPLACE_AUTOINSTALL=1`](/docs/fr/env-vars) | Arrête les sessions de terminal interactives de l'auto-enregistrement du marketplace officiel | Ne supprime pas un marketplace déjà enregistré. La liste blanche et la liste noire contrôlent le même auto-enregistrement sans celui-ci. Une machine qui a démarré une fois avec celui-ci défini ne reprend pas l'auto-enregistrement une fois que vous l'avez supprimé |214| [`CLAUDE_CODE_DISABLE_OFFICIAL_MARKETPLACE_AUTOINSTALL=1`](/docs/fr/env-vars) | Arrête les sessions de terminal interactives de l'auto-enregistrement du marketplace officiel | Ne supprime pas un marketplace déjà enregistré. La liste blanche et la liste noire contrôlent le même auto-enregistrement sans celui-ci. Une machine qui a démarré une fois avec celui-ci défini ne reprend pas l'auto-enregistrement une fois que vous l'avez supprimé |

215| [`allowManagedModsOnly`](/docs/fr/plugins/mods/admin#stop-user-installed-mods-from-loading) | Arrête chaque [mod](/docs/fr/plugins/mods/overview) installé qui ne [compte pas comme celui de votre organisation](/docs/fr/plugins/mods/admin#install-your-organizations-mods) de se charger | N'arrête pas un plugin qui contient un mod de s'installer. Pour cela, utilisez les clés de marketplace dans ce tableau |215| [`allowManagedModsOnly`](/docs/fr/plugins/mods/admin#stop-user-installed-mods-from-loading) | Empêche chaque [mod](/docs/fr/plugins/mods/overview) installé qui ne [compte pas comme un mod de votre organisation](/docs/fr/plugins/mods/admin#install-your-organizations-mods) d'exécuter ses hooks | N'empêche pas l'installation d'un plugin qui contient un mod. Pour cela, utilisez les clés de marketplace de ce tableau |

216 216 

217Chaque clé du tableau est un paramètre géré, à l'exception de `enabledPlugins`, `syncClaudeAiPlugins`, `CLAUDE_CODE_DISABLE_OFFICIAL_MARKETPLACE_AUTOINSTALL` et `allowManagedModsOnly` :217Chaque clé du tableau est un paramètre géré, à l'exception de `enabledPlugins`, `syncClaudeAiPlugins`, `CLAUDE_CODE_DISABLE_OFFICIAL_MARKETPLACE_AUTOINSTALL` et `allowManagedModsOnly` :

218 218 

Details

29Un plugin peut contenir du contenu qui exécute du code sur votre machine avec vos privilèges utilisateur et du contenu qui entre dans le contexte de Claude en tant qu'instructions, donc [examinez un plugin avant de l'installer](#review-a-plugin-before-you-install). Voici ce qu'un plugin installé peut faire :29Un plugin peut contenir du contenu qui exécute du code sur votre machine avec vos privilèges utilisateur et du contenu qui entre dans le contexte de Claude en tant qu'instructions, donc [examinez un plugin avant de l'installer](#review-a-plugin-before-you-install). Voici ce qu'un plugin installé peut faire :

30 30 

31* **Hooks** : les [hooks](/docs/fr/hooks) d'un plugin s'exécutent en tant que commandes shell à des points du cycle de vie de Claude Code, comme avant ou après un appel d'outil.31* **Hooks** : les [hooks](/docs/fr/hooks) d'un plugin s'exécutent en tant que commandes shell à des points du cycle de vie de Claude Code, comme avant ou après un appel d'outil.

32* **Moniteurs** : les [moniteurs](/docs/fr/plugins/components#monitors) d'un plugin s'exécutent en tant que commandes shell en arrière-plan que Claude Code démarre de lui-même au début de la session, lorsque vous rechargez les plugins, ou la première fois qu'un skill nommé s'exécute.

32* **Mods** : un [mod](/docs/fr/plugins/mods/overview) d'un plugin exécute du JavaScript dans Claude Code avec vos permissions. Pour lister ce qu'un mod fait avant de l'installer, voir [Décider si vous devez faire confiance à un mod](/docs/fr/plugins/mods/overview#decide-whether-to-trust-a-mod).33* **Mods** : un [mod](/docs/fr/plugins/mods/overview) d'un plugin exécute du JavaScript dans Claude Code avec vos permissions. Pour lister ce qu'un mod fait avant de l'installer, voir [Décider si vous devez faire confiance à un mod](/docs/fr/plugins/mods/overview#decide-whether-to-trust-a-mod).

33* **Serveurs MCP et LSP** : Claude Code se connecte aux [serveurs MCP](/docs/fr/mcp) qu'un plugin activé déclare et donne à Claude leurs outils. Un serveur MCP stdio s'exécute en tant que processus que Claude Code démarre sur votre machine. Claude Code démarre également les serveurs de langage que le plugin déclare.34* **Serveurs MCP et LSP** : Claude Code se connecte aux [serveurs MCP](/docs/fr/mcp) qu'un plugin activé déclare et donne à Claude leurs outils. Un serveur MCP stdio s'exécute en tant que processus que Claude Code démarre sur votre machine. Claude Code démarre également les serveurs de langage que le plugin déclare.

34* **Répertoire `bin/`** : Claude Code ajoute le répertoire `bin/` de chaque plugin activé au `PATH` du shell de l'outil Bash, afin que les commandes Bash de Claude puissent exécuter n'importe quel exécutable qui s'y trouve.35* **Répertoire `bin/`** : Claude Code ajoute le répertoire `bin/` de chaque plugin activé au `PATH` du shell de l'outil Bash, afin que les commandes Bash de Claude puissent exécuter n'importe quel exécutable qui s'y trouve.


37 38 

38Les [règles de permission](/docs/fr/permissions) et le [sandbox](/docs/fr/sandboxing) de Claude Code couvrent les appels d'outils que Claude fait, pas le code qu'un plugin exécute par lui-même :39Les [règles de permission](/docs/fr/permissions) et le [sandbox](/docs/fr/sandboxing) de Claude Code couvrent les appels d'outils que Claude fait, pas le code qu'un plugin exécute par lui-même :

39 40 

40* **Hooks et processus serveur** : les hooks de commande exécutent des commandes shell avec vos permissions utilisateur complètes. Claude Code exécute les hooks, les serveurs MCP et les processus qu'un [mod](/docs/fr/plugins/mods/overview#what-a-mod-can-reach) démarre en dehors du sandbox.41* **Hooks, moniteurs et processus serveur** : les hooks de commande et les moniteurs sont des commandes shell qui s'exécutent avec vos permissions utilisateur complètes. Claude Code exécute les hooks, les moniteurs, les serveurs MCP, les serveurs LSP et les processus qu'un [mod](/docs/fr/plugins/mods/overview#what-a-mod-can-reach) démarre en dehors du sandbox.

41* **Appels d'outils de Claude** : un appel à l'un des outils MCP du plugin, et une commande Bash qui exécute un exécutable du `bin/` du plugin, sont des appels d'outils, donc vos règles de permission s'y appliquent. Pour ce qu'un mod peut faire à un appel d'outil, voir [Décider si vous devez faire confiance à un mod](/docs/fr/plugins/mods/overview#decide-whether-to-trust-a-mod).42* **Appels d'outils de Claude** : un appel à l'un des outils MCP du plugin, et une commande Bash qui exécute un exécutable du `bin/` du plugin, sont des appels d'outils, donc vos règles de permission s'y appliquent. Pour ce qu'un mod peut faire à un appel d'outil, voir [Décider si vous devez faire confiance à un mod](/docs/fr/plugins/mods/overview#decide-whether-to-trust-a-mod).

42 43 

43L'installation d'un plugin l'active également, sauf si son manifeste ou son entrée de marketplace définit [`defaultEnabled: false`](/docs/fr/plugins/install#choose-an-install-scope) et que vous ne l'avez pas activé vous-même.44L'installation d'un plugin l'active également, sauf si son manifeste ou son entrée de marketplace définit [`defaultEnabled: false`](/docs/fr/plugins/install#choose-an-install-scope) et que vous ne l'avez pas activé vous-même.

Details

96 96 

97Le [paramètre de modèle `opusplan`](/docs/fr/model-config#opusplan-model-setting) se résout en Opus pendant le mode plan et en Sonnet pendant l'exécution, donc chaque basculement du mode plan est un changement de modèle et démarre un nouveau cache.97Le [paramètre de modèle `opusplan`](/docs/fr/model-config#opusplan-model-setting) se résout en Opus pendant le mode plan et en Sonnet pendant l'exécution, donc chaque basculement du mode plan est un changement de modèle et démarre un nouveau cache.

98 98 

99[Le basculement automatique du modèle](/docs/fr/model-config#automatic-model-fallback) sur les modèles Fable, Opus 5.5, Sonnet 5.5 et Opus 5 est également un changement de modèle. Lorsqu'un classificateur de sécurité signale une requête dans une catégorie qui a un modèle de secours, Claude Code réexécute la requête sur ce modèle et la session continue là.99[Le basculement automatique du modèle](/docs/fr/model-config#automatic-model-fallback) sur les modèles Fable, Opus 5.5, Sonnet 5.5 et Opus 5 est également un changement de modèle. Lorsqu'un classifieur de sécurité signale une requête dans une catégorie qui a un modèle de secours et que Claude Code réexécute la requête sur ce modèle, la session continue sur celui-ci.

100 100 

101Lorsque le frontmatter d'une skill ou d'une commande nomme un [`model`](/docs/fr/skills#frontmatter-reference) autre que le modèle actuel de la session, ce tour est également un changement de modèle : la prochaine requête lit l'intégralité de l'historique de conversation sans aucun cache hit. Le modèle de session reprend à votre prochain prompt. Une skill `context: fork` définit le [modèle du sous-agent forké](/docs/fr/skills#run-skills-in-a-subagent) à la place.101Lorsque le frontmatter d'une skill ou d'une commande nomme un [`model`](/docs/fr/skills#frontmatter-reference) autre que le modèle actuel de la session, ce tour est également un changement de modèle : la prochaine requête lit l'intégralité de l'historique de conversation sans aucun cache hit. Le modèle de session reprend à votre prochain prompt. Une skill `context: fork` définit le [modèle du sous-agent forké](/docs/fr/skills#run-skills-in-a-subagent) à la place.

102 102 

quickstart.md +16 −14

Details

53 curl -fsSL https://claude.ai/install.cmd -o install.cmd && install.cmd && del install.cmd53 curl -fsSL https://claude.ai/install.cmd -o install.cmd && install.cmd && del install.cmd

54 ```54 ```

55 55 

56 Quand l'installateur se termine, ouvrez une nouvelle fenêtre de terminal et exécutez `claude --version`. Une installation fonctionnelle affiche un numéro de version. Si votre shell dit que `claude` n'est pas trouvé ou n'est pas reconnu, le répertoire d'installation n'est pas encore sur votre PATH : consultez [Corriger votre PATH](/docs/fr/troubleshoot-install#command-not-found-claude-after-installation).56 La commande d'installation n'affiche aucune progression pendant le téléchargement de Claude Code. Quand l'installateur se termine, ouvrez une nouvelle fenêtre de terminal et exécutez `claude --version`. Une installation fonctionnelle affiche un numéro de version. Si votre shell dit que `claude` n'est pas trouvé ou n'est pas reconnu, le répertoire d'installation n'est pas encore sur votre PATH : consultez [Corriger votre PATH](/docs/fr/troubleshoot-install#command-not-found-claude-after-installation).

57 57 

58 Si vous voyez `The token '&&' is not a valid statement separator`, vous êtes dans PowerShell, pas dans CMD. Si vous voyez `'irm' is not recognized as an internal or external command`, vous êtes dans CMD, pas dans PowerShell.58 Si vous voyez `The token '&&' is not a valid statement separator`, vous êtes dans PowerShell, pas dans CMD. Si vous voyez `'irm' is not recognized as an internal or external command`, vous êtes dans CMD, pas dans PowerShell.

59 59 


229 Étape 7 : Tester d'autres workflows courants229 Étape 7 : Tester d'autres workflows courants

230</h2>230</h2>

231 231 

232Il existe de nombreuses façons de travailler avec Claude :232Essayez quelques prompts supplémentaires. Vous pouvez demander à Claude de refactoriser du code, d'écrire des tests, de mettre à jour la documentation ou de revoir vos modifications :

233 

234**Refactoriser du code**

235 233 

236```text wrap theme={null}234```text wrap theme={null}

237refactor the authentication module to use async/await instead of callbacks235refactor the authentication module to use async/await instead of callbacks

238```236```

239 237 

240**Écrire des tests**

241 

242```text wrap theme={null}238```text wrap theme={null}

243write unit tests for the calculator functions239write unit tests for the calculator functions

244```240```

245 241 

246**Mettre à jour la documentation**

247 

248```text wrap theme={null}242```text wrap theme={null}

249update the README with installation instructions243update the README with installation instructions

250```244```

251 245 

252**Revue de code**

253 

254```text wrap theme={null}246```text wrap theme={null}

255review my changes and suggest improvements247review my changes and suggest improvements

256```248```


263 Commandes essentielles255 Commandes essentielles

264</h2>256</h2>

265 257 

266Voici les commandes les plus importantes pour l'utilisation quotidienne. Les commandes shell s'exécutent depuis votre terminal pour démarrer ou reprendre Claude Code. Les commandes de session s'exécutent à l'intérieur de Claude Code après son démarrage.258Voici les commandes les plus importantes pour l'utilisation quotidienne, regroupées selon l'endroit où vous les exécutez.

267 259 

268**Commandes shell**260<h3 id="shell-commands">

261 Commandes shell

262</h3>

263 

264Exécutez-les depuis votre terminal pour démarrer ou reprendre Claude Code.

269 265 

270| Commande | Ce qu'elle fait | Exemple |266| Commande | Ce qu'elle fait | Exemple |

271| - | - | - |267| - | - | - |


275| `claude -c` | Continuer la conversation la plus récente dans le répertoire actuel | `claude -c` |271| `claude -c` | Continuer la conversation la plus récente dans le répertoire actuel | `claude -c` |

276| `claude -r` | Reprendre une conversation précédente | `claude -r` |272| `claude -r` | Reprendre une conversation précédente | `claude -r` |

277 273 

278**Commandes de session**274Voir la [référence CLI](/docs/fr/cli-reference) pour la liste complète des commandes shell.

275 

276<h3 id="session-commands">

277 Commandes de session

278</h3>

279 

280Exécutez-les à l'intérieur de Claude Code après son démarrage.

279 281 

280| Commande | Ce qu'elle fait | Exemple |282| Commande | Ce qu'elle fait | Exemple |

281| - | - | - |283| - | - | - |


283| `/help` | Afficher les commandes disponibles | `/help` |285| `/help` | Afficher les commandes disponibles | `/help` |

284| `/exit` ou Ctrl+D deux fois | Quitter Claude Code | `/exit` |286| `/exit` ou Ctrl+D deux fois | Quitter Claude Code | `/exit` |

285 287 

286Voir la [référence CLI](/docs/fr/cli-reference) pour la liste complète des commandes shell et la [référence des commandes](/docs/fr/commands) pour la liste complète des commandes de session.288Voir la [référence des commandes](/docs/fr/commands) pour la liste complète des commandes de session.

287 289 

288<h2 id="pro-tips-for-beginners">290<h2 id="pro-tips-for-beginners">

289 Conseils professionnels pour les débutants291 Conseils professionnels pour les débutants

Details

201* **`false`** : désactiver l'auto-connexion, bien qu'un `true` des [paramètres gérés](/docs/fr/managed-settings) le surclasse, car Claude Code enregistre le choix dans vos paramètres utilisateur. Un `false` dans les paramètres de projet ou locaux (`.claude/settings.json`, `.claude/settings.local.json`) désactive l'auto-connexion même sur un `true` géré.201* **`false`** : désactiver l'auto-connexion, bien qu'un `true` des [paramètres gérés](/docs/fr/managed-settings) le surclasse, car Claude Code enregistre le choix dans vos paramètres utilisateur. Un `false` dans les paramètres de projet ou locaux (`.claude/settings.json`, `.claude/settings.local.json`) désactive l'auto-connexion même sur un `true` géré.

202* **`default`** : effacer votre choix et suivre la valeur par défaut de votre organisation si elle est définie, sinon la valeur par défaut actuelle de Claude Code.202* **`default`** : effacer votre choix et suivre la valeur par défaut de votre organisation si elle est définie, sinon la valeur par défaut actuelle de Claude Code.

203 203 

204Le même bouton bascule apparaît en dehors de la CLI :204L'extension VS Code et l'application Desktop disposent également d'un bouton bascule d'auto-connexion :

205 205 

206* **Application Desktop** : **Settings > Claude Code > Connect new sessions to Remote Control**.

207* **Extension VS Code** : **Enable Remote Control for all sessions** dans la section Paramètres du [menu de commande](/docs/fr/vs-code#use-the-prompt-box).206* **Extension VS Code** : **Enable Remote Control for all sessions** dans la section Paramètres du [menu de commande](/docs/fr/vs-code#use-the-prompt-box).

207* **Application Desktop** : **Settings > Claude Code > Connect new sessions to Remote Control**. Voir [Contrôler quelles sessions apparaissent sur vos autres appareils](/docs/fr/desktop#control-which-sessions-appear-on-your-other-devices).

208 208 

209Pour activer l'auto-connexion à partir d'un fichier de paramètres à la place, définissez [`remoteControlAtStartup`](/docs/fr/settings-reference#remotecontrolatstartup) sur `true` dans votre fichier utilisateur `~/.claude/settings.json` ou dans les [paramètres gérés](/docs/fr/managed-settings). Dans les paramètres de projet ou locaux (`.claude/settings.json`, `.claude/settings.local.json`), Claude Code honore un `false` et désactive l'auto-connexion pour ce référentiel, mais ignore un `true`, afin qu'un fichier archivé ne puisse pas activer Remote Control pour tous ceux qui ouvrent le référentiel.209Pour activer l'auto-connexion à partir d'un fichier de paramètres à la place, définissez [`remoteControlAtStartup`](/docs/fr/settings-reference#remotecontrolatstartup) sur `true` dans votre fichier utilisateur `~/.claude/settings.json` ou dans les [paramètres gérés](/docs/fr/managed-settings). Dans les paramètres de projet ou locaux (`.claude/settings.json`, `.claude/settings.local.json`), Claude Code honore un `false` et désactive l'auto-connexion pour ce référentiel, mais ignore un `true`, afin qu'un fichier archivé ne puisse pas activer Remote Control pour tous ceux qui ouvrent le référentiel.

210 210 

routines.md +1 −1

Details

93 Choisissez un [environnement cloud](/docs/fr/cloud-environments) pour la routine. Les environnements contrôlent ce à quoi la session cloud a accès :93 Choisissez un [environnement cloud](/docs/fr/cloud-environments) pour la routine. Les environnements contrôlent ce à quoi la session cloud a accès :

94 94 

95 * **Network access** : définissez le niveau d'accès à Internet disponible pendant chaque exécution95 * **Network access** : définissez le niveau d'accès à Internet disponible pendant chaque exécution

96 * **Environment variables** : fournissez des valeurs que Claude peut utiliser pendant chaque exécution. Elles sont [visibles à quiconque utilise l'environnement](/docs/fr/cloud-environments#what-carries-over-from-your-setup), donc sur les plans Pro et Max, stockez plutôt les clés pour les API que Claude appelle pendant une exécution en tant que [secrets réseau](/docs/fr/cloud-environments#add-api-credentials). Cette section liste également les requêtes qui ne reçoivent jamais de secret96 * **Environment variables** : fournissez des valeurs que Claude peut utiliser pendant chaque exécution. Elles sont [visibles à quiconque utilise l'environnement](/docs/fr/cloud-environments#what-carries-over-from-your-setup), donc sur les plans Pro et Max, stockez plutôt les clés pour les API que Claude appelle pendant une exécution en tant que [secrets réseau](/docs/fr/cloud-environments#add-network-secrets). Cette section liste également les requêtes qui ne reçoivent jamais de secret

97 * **Setup script** : installez les dépendances et les outils dont la routine a besoin. Le résultat est [mis en cache](/docs/fr/cloud-environments#environment-caching), de sorte que le script ne se réexécute pas à chaque session97 * **Setup script** : installez les dépendances et les outils dont la routine a besoin. Le résultat est [mis en cache](/docs/fr/cloud-environments#environment-caching), de sorte que le script ne se réexécute pas à chaque session

98 98 

99 Un environnement **Default** est fourni avec un accès réseau **Trusted**, qui permet uniquement la [liste d'autorisation par défaut](/docs/fr/cloud-environments#default-allowed-domains) des registres de paquets, des API de fournisseurs cloud, des registres de conteneurs et des domaines de développement courants à travers le réseau de la session. Les connecteurs que vous ajoutez à la routine atteignent leurs services via les serveurs d'Anthropic, donc ils n'ont pas besoin de modifications de liste d'autorisation. Si votre routine doit atteindre vos propres services directement, ou un domaine en dehors de cette liste, modifiez l'[accès réseau](/docs/fr/cloud-environments#network-access) de l'environnement avant d'exécuter. Pour utiliser un environnement séparé, [créez-en un](/docs/fr/cloud-environments#configure-your-environment) d'abord.99 Un environnement **Default** est fourni avec un accès réseau **Trusted**, qui permet uniquement la [liste d'autorisation par défaut](/docs/fr/cloud-environments#default-allowed-domains) des registres de paquets, des API de fournisseurs cloud, des registres de conteneurs et des domaines de développement courants à travers le réseau de la session. Les connecteurs que vous ajoutez à la routine atteignent leurs services via les serveurs d'Anthropic, donc ils n'ont pas besoin de modifications de liste d'autorisation. Si votre routine doit atteindre vos propres services directement, ou un domaine en dehors de cette liste, modifiez l'[accès réseau](/docs/fr/cloud-environments#network-access) de l'environnement avant d'exécuter. Pour utiliser un environnement séparé, [créez-en un](/docs/fr/cloud-environments#configure-your-environment) d'abord.

Details

76 Cette option ne supporte pas Windows natif. Sur les hôtes Windows, utilisez WSL2 ou l'une des approches de conteneur ou VM ci-dessous.76 Cette option ne supporte pas Windows natif. Sur les hôtes Windows, utilisez WSL2 ou l'une des approches de conteneur ou VM ci-dessous.

77</Note>77</Note>

78 78 

79L'outil Bash sandboxé est intégré à Claude Code. Il utilise des primitives du système d'exploitation pour restreindre l'accès au système de fichiers et au réseau de chaque commande Bash, PowerShell ou Monitor que Claude exécute.79L'outil Bash sandboxé est intégré à Claude Code. Il utilise des primitives du système d'exploitation pour restreindre l'accès au système de fichiers et au réseau des commandes des outils Bash, PowerShell et Monitor que Claude exécute.

80 80 

81Exécutez la commande `/sandbox` pour ouvrir le panneau sandbox et choisir un mode. Le guide [Sandboxing](/docs/fr/sandboxing) couvre les modes d'approbation, la limite par défaut et comment l'élargir ou la réduire.81Exécutez la commande `/sandbox` pour ouvrir le panneau sandbox et choisir un mode. Le guide [Sandboxing](/docs/fr/sandboxing) couvre les modes d'approbation, la limite par défaut et comment l'élargir ou la réduire.

82 82 

83Le sandbox par commande ne couvre pas tout ce qui s'exécute dans une session :83Le sandbox par commande ne couvre pas tout ce qui s'exécute dans une session :

84 84 

85* D'autres [outils intégrés](/docs/fr/tools-reference) tels que Read, Edit et WebFetch s'exécutent à l'intérieur du processus Claude Code et ne génèrent pas de code arbitraire. Les [règles de permission](/docs/fr/permissions) pour le chemin ou le domaine les contrôlent à la place.85* D'autres [outils intégrés](/docs/fr/tools-reference) tels que Read, Edit et WebFetch s'exécutent à l'intérieur du processus Claude Code et ne génèrent pas de code arbitraire. Les [règles de permission](/docs/fr/permissions) pour le chemin ou le domaine les contrôlent à la place.

86* Les serveurs [MCP](/docs/fr/mcp) et les [hooks de commande](/docs/fr/hooks#command-hook-fields) sont des processus séparés qui s'exécutent sans contrainte sur l'hôte.86* Les serveurs [MCP](/docs/fr/mcp), les [hooks de commande](/docs/fr/hooks#command-hook-fields) et les [moniteurs de plugins](/docs/fr/plugins/components#monitors) sont des processus séparés qui s'exécutent sans contrainte sur l'hôte. Pour les autres processus qui s'exécutent de cette manière, consultez [Ce qui s'exécute en dehors du sandbox](/docs/fr/sandboxing#what-runs-outside-the-sandbox).

87 87 

88Pour mettre les outils intégrés, les serveurs MCP et les hooks tous derrière une limite du système d'exploitation, exécutez l'ensemble du processus Claude Code à l'intérieur du [runtime sandbox](#sandbox-runtime), du [dev container](#dev-containers) ou d'un [conteneur personnalisé](#custom-container).88Pour mettre les outils intégrés, les serveurs MCP et les hooks tous derrière une limite du système d'exploitation, exécutez l'ensemble du processus Claude Code à l'intérieur du [runtime sandbox](#sandbox-runtime), du [dev container](#dev-containers) ou d'un [conteneur personnalisé](#custom-container).

89 89 

sandboxing.md +1 −1

Details

698Les règles de permission et le sandboxing contrôlent des choses différentes :698Les règles de permission et le sandboxing contrôlent des choses différentes :

699 699 

700* **Les règles de permission** contrôlent quels outils Claude Code peut utiliser et sont évaluées avant l'exécution de tout outil. Elles s'appliquent à chaque outil : Bash, Read, Edit, WebFetch, MCP, et autres, sauf qu'une règle de refus ou de demande ne peut pas bloquer [`EndConversation`](/docs/fr/tools-reference#endconversation-tool-behavior) tant qu'un autre outil reste.700* **Les règles de permission** contrôlent quels outils Claude Code peut utiliser et sont évaluées avant l'exécution de tout outil. Elles s'appliquent à chaque outil : Bash, Read, Edit, WebFetch, MCP, et autres, sauf qu'une règle de refus ou de demande ne peut pas bloquer [`EndConversation`](/docs/fr/tools-reference#endconversation-tool-behavior) tant qu'un autre outil reste.

701* **Le sandboxing** fournit une application au niveau du système d'exploitation qui restreint ce que les commandes shell peuvent accéder au niveau du système de fichiers et du réseau. Il s'applique uniquement aux commandes Bash, PowerShell, et [Monitor](/docs/fr/tools-reference#monitor-tool) et à leurs processus enfants.701* **Le sandboxing** fournit une application au niveau du système d'exploitation qui restreint ce que les commandes shell peuvent accéder au niveau du système de fichiers et du réseau. Il s'applique aux commandes des outils Bash, PowerShell et [Monitor](/docs/fr/tools-reference#monitor-tool) et à leurs processus enfants.

702 702 

703Les deux couches diffèrent également dans la façon dont elles sont appliquées. Claude Code évalue les décisions de permission avant l'exécution d'une commande, en fonction de la chaîne de commande et, en mode auto, du jugement d'un classificateur distinct sur la sécurité de la commande. Le système d'exploitation applique la limite du sandbox au processus en cours d'exécution, donc elle tient indépendamment de ce que le modèle a choisi d'exécuter et même si une commande autorisée fait plus que son nom ne le suggère.703Les deux couches diffèrent également dans la façon dont elles sont appliquées. Claude Code évalue les décisions de permission avant l'exécution d'une commande, en fonction de la chaîne de commande et, en mode auto, du jugement d'un classificateur distinct sur la sécurité de la commande. Le système d'exploitation applique la limite du sandbox au processus en cours d'exécution, donc elle tient indépendamment de ce que le modèle a choisi d'exécuter et même si une commande autorisée fait plus que son nom ne le suggère.

704 704 

Details

348 348 

349Ni les clés renvoyées par un script [`apiKeyHelper`](/docs/fr/settings-reference#apikeyhelper) ni les informations d'identification de [Workload Identity Federation](https://platform.claude.com/docs/en/manage-claude/workload-identity-federation) ne déclenchent la récupération des paramètres.349Ni les clés renvoyées par un script [`apiKeyHelper`](/docs/fr/settings-reference#apikeyhelper) ni les informations d'identification de [Workload Identity Federation](https://platform.claude.com/docs/en/manage-claude/workload-identity-federation) ne déclenchent la récupération des paramètres.

350 350 

351Une session reçoit les paramètres gérés de l'organisation à laquelle appartiennent les identifiants avec lesquels elle s'authentifie. Une clé API de la [Claude Console](https://platform.claude.com) appartient à l'organisation Console dans laquelle elle a été créée, qui est une organisation distincte de votre organisation claude.ai Team ou Enterprise. Les paramètres que vous configurez dans les Admin Settings de claude.ai n'atteignent donc pas une session qui s'authentifie avec cette clé, comme une tâche CI qui utilise la clé API Console de votre entreprise. Pour les appliquer à cette tâche, utilisez l'une de ces options. L'option du jeton OAuth ne s'applique pas à une tâche qui s'exécute avec [`--bare`](/docs/fr/headless#start-faster-with-bare-mode), car le mode bare ne lit pas `CLAUDE_CODE_OAUTH_TOKEN`.

352 

353* **Jeton OAuth** : générez un jeton avec [`claude setup-token`](/docs/fr/authentication#generate-a-long-lived-token), autorisez-le pour votre organisation Team ou Enterprise, et définissez-le comme `CLAUDE_CODE_OAUTH_TOKEN` dans l'environnement de la tâche. Supprimez de cet environnement tout identifiant qui [a priorité](/docs/fr/authentication#authentication-precedence) sur le jeton, comme `ANTHROPIC_API_KEY`.

354* **Paramètres gérés par le point de terminaison** : déployez un [fichier de paramètres gérés](/docs/fr/managed-settings#delivery-mechanisms) sur la machine qui exécute la tâche.

355 

351Dans une session [Cowork](https://claude.com/docs/cowork/overview) 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, même lorsque l'utilisateur se connecte avec un compte Team ou Enterprise. [Où et quand une politique s'applique](/docs/fr/managed-settings#where-and-when-a-policy-applies) couvre quelle politique atteint les sessions Cowork sur la machine de l'utilisateur et les sessions Cowork distantes. claude.ai applique toujours vos listes [`strictKnownMarketplaces`](/docs/fr/settings-reference#strictknownmarketplaces) et [`blockedMarketplaces`](/docs/fr/settings-reference#blockedmarketplaces) lorsqu'un utilisateur Cowork ajoute une marketplace à partir d'un référentiel git sur claude.ai ou à partir de **Personnaliser** dans l'onglet Cowork. [Comment fonctionnent les restrictions](/docs/fr/plugins/org#restrict-what-users-can-install) décrit cette vérification.356Dans une session [Cowork](https://claude.com/docs/cowork/overview) 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, même lorsque l'utilisateur se connecte avec un compte Team ou Enterprise. [Où et quand une politique s'applique](/docs/fr/managed-settings#where-and-when-a-policy-applies) couvre quelle politique atteint les sessions Cowork sur la machine de l'utilisateur et les sessions Cowork distantes. claude.ai applique toujours vos listes [`strictKnownMarketplaces`](/docs/fr/settings-reference#strictknownmarketplaces) et [`blockedMarketplaces`](/docs/fr/settings-reference#blockedmarketplaces) lorsqu'un utilisateur Cowork ajoute une marketplace à partir d'un référentiel git sur claude.ai ou à partir de **Personnaliser** dans l'onglet Cowork. [Comment fonctionnent les restrictions](/docs/fr/plugins/org#restrict-what-users-can-install) décrit cette vérification.

352 357 

353Si vous exportez une variable de fournisseur `CLAUDE_CODE_USE_*` ou une `ANTHROPIC_BASE_URL` différente de la valeur par défaut dans votre shell, Claude Code ignore la récupération des paramètres pour vos sessions. [`claude doctor` et `/status` signalent la récupération ignorée et sa cause](#verify-settings-delivery).358Si vous exportez une variable de fournisseur `CLAUDE_CODE_USE_*` ou une `ANTHROPIC_BASE_URL` différente de la valeur par défaut dans votre shell, Claude Code ignore la récupération des paramètres pour vos sessions. [`claude doctor` et `/status` signalent la récupération ignorée et sa cause](#verify-settings-delivery).


379| L'utilisateur exécute un binaire Claude Code modifié | Un utilisateur qui peut exécuter un client modifié peut contourner n'importe quel contrôle côté client |384| L'utilisateur exécute un binaire Claude Code modifié | Un utilisateur qui peut exécuter un client modifié peut contourner n'importe quel contrôle côté client |

380| L'utilisateur exécute une version antérieure de Claude Code | Les versions antérieures aux paramètres gérés par le serveur ne les récupèrent ni ne les appliquent |385| L'utilisateur exécute une version antérieure de Claude Code | Les versions antérieures aux paramètres gérés par le serveur ne les récupèrent ni ne les appliquent |

381| L'API est indisponible | Les paramètres en cache s'appliquent s'ils sont disponibles, sauf pour les [valeurs que Claude Code retient](#fetch-and-caching-behavior) jusqu'à ce qu'une récupération réussisse. Sans cache, Claude Code n'applique aucun paramètre géré par le serveur jusqu'à la prochaine récupération réussie et applique toujours les [paramètres gérés par le point de terminaison](/docs/fr/managed-settings#delivery-mechanisms) sur l'appareil. Avec `forceRemoteSettingsRefresh: true`, l'interface de ligne de commande se ferme au lieu de continuer, sauf pour les [sous-commandes `claude auth`](#enforce-fail-closed-startup). Les clients connectés via une [passerelle d'applications Claude](#platform-availability) se ferment au démarrage sans ce paramètre, avec la même exemption `claude auth` |386| L'API est indisponible | Les paramètres en cache s'appliquent s'ils sont disponibles, sauf pour les [valeurs que Claude Code retient](#fetch-and-caching-behavior) jusqu'à ce qu'une récupération réussisse. Sans cache, Claude Code n'applique aucun paramètre géré par le serveur jusqu'à la prochaine récupération réussie et applique toujours les [paramètres gérés par le point de terminaison](/docs/fr/managed-settings#delivery-mechanisms) sur l'appareil. Avec `forceRemoteSettingsRefresh: true`, l'interface de ligne de commande se ferme au lieu de continuer, sauf pour les [sous-commandes `claude auth`](#enforce-fail-closed-startup). Les clients connectés via une [passerelle d'applications Claude](#platform-availability) se ferment au démarrage sans ce paramètre, avec la même exemption `claude auth` |

382| L'utilisateur s'authentifie avec une organisation différente | Les paramètres ne sont pas livrés pour les comptes en dehors de l'organisation gérée |387| L'utilisateur s'authentifie avec une organisation différente | Les paramètres ne sont pas livrés pour les comptes en dehors de l'organisation gérée, y compris une session qui s'authentifie avec une [clé API Console](#platform-availability) |

383| L'utilisateur configure un [fournisseur de modèle tiers](#platform-availability) | Les paramètres gérés par le serveur sont contournés. Cela inclut la définition de `CLAUDE_CODE_USE_BEDROCK`, `CLAUDE_CODE_USE_MANTLE`, `CLAUDE_CODE_USE_VERTEX`, `CLAUDE_CODE_USE_FOUNDRY`, `CLAUDE_CODE_USE_ANTHROPIC_AWS`, ou un `ANTHROPIC_BASE_URL` différent de la valeur par défaut |388| L'utilisateur configure un [fournisseur de modèle tiers](#platform-availability) | Les paramètres gérés par le serveur sont contournés. Cela inclut la définition de `CLAUDE_CODE_USE_BEDROCK`, `CLAUDE_CODE_USE_MANTLE`, `CLAUDE_CODE_USE_VERTEX`, `CLAUDE_CODE_USE_FOUNDRY`, `CLAUDE_CODE_USE_ANTHROPIC_AWS`, ou un `ANTHROPIC_BASE_URL` différent de la valeur par défaut |

384| Le trafic réseau est intercepté ou redirigé | La validation TLS désactivée ou le trafic intercepté peut modifier les paramètres que le client reçoit |389| Le trafic réseau est intercepté ou redirigé | La validation TLS désactivée ou le trafic intercepté peut modifier les paramètres que le client reçoit |

385 390 

Details

751| [`sandbox.credentials`](#sandbox-credentials) | Cachez ou masquez les fichiers et variables d'identifiants à l'intérieur du [sandbox](/docs/fr/sandboxing#protect-credentials) | Sandbox settings | Any file |751| [`sandbox.credentials`](#sandbox-credentials) | Cachez ou masquez les fichiers et variables d'identifiants à l'intérieur du [sandbox](/docs/fr/sandboxing#protect-credentials) | Sandbox settings | Any file |

752| [`sandbox.credentials.allowPlaintextInject`](#sandbox-credentials-allowplaintextinject) | Laissez les [identifiants masqués](/docs/fr/sandboxing#mask-credentials) atteindre les services HTTP simples sur les réseaux de test de confiance | Sandbox settings | User or managed |752| [`sandbox.credentials.allowPlaintextInject`](#sandbox-credentials-allowplaintextinject) | Laissez les [identifiants masqués](/docs/fr/sandboxing#mask-credentials) atteindre les services HTTP simples sur les réseaux de test de confiance | Sandbox settings | User or managed |

753| [`sandbox.credentials.awsPairs`](#sandbox-credentials-awspairs) | Liez les variables de clé AWS nommées personnalisées en un identifiant pour la [re-signature](/docs/fr/sandboxing#re-sign-aws-requests) | Sandbox settings | User or managed |753| [`sandbox.credentials.awsPairs`](#sandbox-credentials-awspairs) | Liez les variables de clé AWS nommées personnalisées en un identifiant pour la [re-signature](/docs/fr/sandboxing#re-sign-aws-requests) | Sandbox settings | User or managed |

754| [`sandbox.credentials.envVars`](#sandbox-credentials-envvars) | Désactivez ou masquez une variable d'environnement à l'intérieur du [sandbox](/docs/fr/sandboxing#mask-environment-variables) | Sandbox settings | Any file |754| [`sandbox.credentials.envVars`](#sandbox-credentials-envvars) | Supprimez ou masquez une variable d'environnement à l'intérieur du [sandbox](/docs/fr/sandboxing#mask-environment-variables) | Sandbox settings | Any file |

755| [`sandbox.credentials.files`](#sandbox-credentials-files) | Bloquez ou masquez les lectures d'un fichier d'identifiants à l'intérieur du [sandbox](/docs/fr/sandboxing#mask-credential-files) | Sandbox settings | Any file |755| [`sandbox.credentials.files`](#sandbox-credentials-files) | Bloquez ou masquez les lectures d'un fichier d'identifiants à l'intérieur du [sandbox](/docs/fr/sandboxing#mask-credential-files) | Sandbox settings | Any file |

756| [`sandbox.credentials.sigv4`](#sandbox-credentials-sigv4) | Choisissez si les requêtes AWS en streaming, présignées ou [SigV4A](/docs/fr/sandboxing#re-sign-aws-requests) échouent ou passent | Sandbox settings | User or managed |756| [`sandbox.credentials.sigv4`](#sandbox-credentials-sigv4) | Choisissez si les requêtes AWS en streaming, présignées ou [SigV4A](/docs/fr/sandboxing#re-sign-aws-requests) échouent ou passent | Sandbox settings | User or managed |

757| [`sandbox.enabled`](#sandbox-enabled) | Activez le [sandboxing Bash](/docs/fr/sandboxing#get-started) sur macOS, Linux et WSL2 | Sandbox settings | Any file |757| [`sandbox.enabled`](#sandbox-enabled) | Activez le [sandboxing Bash](/docs/fr/sandboxing#get-started) sur macOS, Linux et WSL2 | Sandbox settings | Any file |


1399 1399 

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

1401 1401 

1402* **Portée** : [`Tout fichier`](#scopes). Apparaît dans `/config` comme **Changer de modèles quand un message est signalé**.1402* **Portée** : [`Tout fichier`](#scopes). Apparaît dans `/config` comme **Changer de modèles quand un message est signalé**, avec les options **Basculer automatiquement** et **Demander à chaque fois**.

1403* **Type** : Booléen1403* **Type** : Booléen

1404 * `true` : Claude Code bascule vers le modèle de secours et continue1404 * `true` : Claude Code bascule vers le modèle de secours et continue

1405 * `false` : dans une session interactive Claude Code fait une pause pour que vous puissiez choisir entre basculer et éditer l'invite ; où aucune boîte de dialogue ne peut s'afficher, comme une exécution `-p`, la demande signalée se termine comme une erreur1405 * `false` : dans une session interactive Claude Code fait une pause pour que vous puissiez choisir entre basculer et éditer l'invite ; où aucune boîte de dialogue ne peut s'afficher, comme une exécution `-p`, la demande signalée se termine comme une erreur

1406* **Par défaut** : `true`, basculer automatiquement1406* **Par défaut** : non défini. Claude Code bascule automatiquement, bien qu'il puisse [demander d'abord](/docs/fr/model-config#ask-before-switching) dans une session interactive

1407 1407 

1408```json settings.json theme={null}1408```json settings.json theme={null}

1409{1409{


3164 `plansDirectory`3164 `plansDirectory`

3165</h3>3165</h3>

3166 3166 

3167Choisissez où Claude Code stocke les fichiers de plan qu'il écrit en [mode plan](/docs/fr/permission-modes#analyze-before-you-edit-with-plan-mode). Claude Code résout le chemin par rapport à la racine du projet et conserve la valeur par défaut lorsque le chemin se résout en dehors de celle-ci.3167Choisissez où Claude Code stocke les fichiers de plan qu'il écrit en [mode plan](/docs/fr/permission-modes#analyze-before-you-edit-with-plan-mode). Claude Code résout le chemin par rapport à la racine du projet.

3168 3168 

3169* **Scope** : [`Any file`](#scopes)3169* **Scope** : [`Any file`](#scopes)

3170* **Type** : string, a path relative to the project root3170* **Type** : string, a path relative to the project root


3176}3176}

3177```3177```

3178 3178 

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

3180 

3181* **En dehors de la racine du projet** : le chemin se résout en dehors de la racine du projet, comme le fait `"../plans"`.

3182* **Barre oblique inverse sur macOS, Linux et WSL** : le chemin résolu contient une barre oblique inverse, comme le fait `"docs\\plans"` de style Windows. Écrivez `"docs/plans"`, qui fonctionne aussi sous Windows.

3183 

3179<h3 id="skilllistingbudgetfraction">3184<h3 id="skilllistingbudgetfraction">

3180 `skillListingBudgetFraction`3185 `skillListingBudgetFraction`

3181</h3>3186</h3>


5768 5773 

5769Désactiver les sessions Code qui s'exécutent sur l'appareil dans l'[application de bureau](/docs/fr/desktop#local-sessions-on-managed-devices), pour les déploiements où les développeurs doivent travailler sur des machines distantes via SSH. Dans l'onglet Code, l'environnement **Local** reste dans la liste déroulante des environnements mais est grisé et ne peut pas être sélectionné, avec une info-bulle indiquant que votre organisation l'a désactivé ; sur Windows, l'entrée WSL est grisée de la même manière, bien que le fait que les sessions WSL s'exécutent sur un appareil géré soit [gouverné séparément](/docs/fr/admin-setup#wsl-sessions-in-claude-code-desktop). Les nouvelles sessions utilisent par défaut la première [connexion SSH](/docs/fr/desktop#ssh-sessions) si une est configurée, et l'application refuse de démarrer ou de reprendre une session sur l'appareil, y compris une connexion SSH vers la même machine. Les sessions SSH vers d'autres hôtes et les sessions cloud ne sont pas affectées. L'application de bureau lit cette clé ; le CLI du terminal l'ignore. Nécessite Claude Desktop v1.37937.0 ou ultérieur.5774Désactiver les sessions Code qui s'exécutent sur l'appareil dans l'[application de bureau](/docs/fr/desktop#local-sessions-on-managed-devices), pour les déploiements où les développeurs doivent travailler sur des machines distantes via SSH. Dans l'onglet Code, l'environnement **Local** reste dans la liste déroulante des environnements mais est grisé et ne peut pas être sélectionné, avec une info-bulle indiquant que votre organisation l'a désactivé ; sur Windows, l'entrée WSL est grisée de la même manière, bien que le fait que les sessions WSL s'exécutent sur un appareil géré soit [gouverné séparément](/docs/fr/admin-setup#wsl-sessions-in-claude-code-desktop). Les nouvelles sessions utilisent par défaut la première [connexion SSH](/docs/fr/desktop#ssh-sessions) si une est configurée, et l'application refuse de démarrer ou de reprendre une session sur l'appareil, y compris une connexion SSH vers la même machine. Les sessions SSH vers d'autres hôtes et les sessions cloud ne sont pas affectées. L'application de bureau lit cette clé ; le CLI du terminal l'ignore. Nécessite Claude Desktop v1.37937.0 ou ultérieur.

5770 5775 

5771* **Portée** : [`Géré`](#scopes)5776* **Portée** : [`Géré`](#scopes). Par défaut, l'application de bureau lit la clé depuis [une seule source gérée](/docs/fr/managed-settings#how-claude-code-combines-managed-sources).

5772* **Type** : Booléen ; seul le Booléen JSON `true` a un effet5777* **Type** : Booléen ; seul le Booléen JSON `true` a un effet

5773 * `true` : l'application de bureau n'offre aucune session Code sur l'appareil ; les sessions locales existantes restent listées mais ne peuvent pas continuer5778 * `true` : l'application de bureau n'offre aucune session Code sur l'appareil ; les sessions locales existantes restent listées mais ne peuvent pas continuer

5774 * `false` : les sessions locales restent disponibles5779 * `false` : les sessions locales restent disponibles


5915 5920 

5916Ajouter des connexions SSH à la liste déroulante de l'environnement [Bureau](/docs/fr/desktop#pre-configure-ssh-connections-for-your-team). Les administrateurs l'utilisent pour distribuer les connexions partagées à une équipe. Les connexions que vous définissez dans les paramètres gérés s'affichent comme gérées, donc les utilisateurs peuvent les sélectionner mais ne peuvent pas les modifier ou les supprimer dans l'application.5921Ajouter des connexions SSH à la liste déroulante de l'environnement [Bureau](/docs/fr/desktop#pre-configure-ssh-connections-for-your-team). Les administrateurs l'utilisent pour distribuer les connexions partagées à une équipe. Les connexions que vous définissez dans les paramètres gérés s'affichent comme gérées, donc les utilisateurs peuvent les sélectionner mais ne peuvent pas les modifier ou les supprimer dans l'application.

5917 5922 

5918* **Portée** : [`Utilisateur ou géré`](#scopes). L'application de bureau lit cette clé.5923* **Portée** : [`Utilisateur ou géré`](#scopes). L'application de bureau lit cette clé. Par défaut, elle lit les connexions gérées depuis [une seule source gérée](/docs/fr/managed-settings#how-claude-code-combines-managed-sources).

5919* **Type** : tableau d'objets, chacun avec `id`, `name` et `sshHost` requis et `sshPort` et `sshIdentityFile` optionnels5924* **Type** : tableau d'objets, chacun avec `id`, `name` et `sshHost` requis et `sshPort` et `sshIdentityFile` optionnels

5920* **Défaut** : non défini5925* **Défaut** : non défini

5921 5926 


5939 5944 

5940Limiter les hôtes auxquels une [session SSH de Bureau](/docs/fr/desktop#restrict-which-ssh-hosts-users-can-connect-to) peut se connecter. Seule l'application de Bureau lit cette clé ; la CLI ne le fait pas. Les modèles ne sont pas sensibles à la casse : `*` correspond à n'importe quel hôte, `*.example.com` correspond à `example.com` et à chaque sous-domaine, et tout le reste est une correspondance exacte avec le nom d'hôte après la résolution de `~/.ssh/config`. Un tableau vide désactive les sessions SSH.5945Limiter les hôtes auxquels une [session SSH de Bureau](/docs/fr/desktop#restrict-which-ssh-hosts-users-can-connect-to) peut se connecter. Seule l'application de Bureau lit cette clé ; la CLI ne le fait pas. Les modèles ne sont pas sensibles à la casse : `*` correspond à n'importe quel hôte, `*.example.com` correspond à `example.com` et à chaque sous-domaine, et tout le reste est une correspondance exacte avec le nom d'hôte après la résolution de `~/.ssh/config`. Un tableau vide désactive les sessions SSH.

5941 5946 

5942* **Portée** : [`Géré`](#scopes)5947* **Portée** : [`Géré`](#scopes). Par défaut, Bureau lit la clé depuis [une seule source gérée](/docs/fr/managed-settings#how-claude-code-combines-managed-sources).

5943* **Type** : tableau de modèles de nom d'hôte5948* **Type** : tableau de modèles de nom d'hôte

5944* **Défaut** : non défini, donc n'importe quel hôte est autorisé5949* **Défaut** : non défini, donc n'importe quel hôte est autorisé

5945 5950 


5951}5956}

5952```5957```

5953 5958 

5959Une valeur que Bureau ne peut pas lire comme une liste d'hôtes, comme `true` ou un objet, compte comme un tableau vide jusqu'à ce que vous la corrigiez, sauf `null`, qui compte comme non défini. Nécessite Claude Desktop v2.26454.0 ou ultérieur.

5960 

5961Si vous définissez [`managedSourcesBehavior`](#managedsourcesbehavior) sur `"merge"` dans votre source de rang le plus élevé, Bureau combine les listes de chaque [source d'administration](/docs/fr/managed-settings#how-claude-code-combines-managed-sources) et autorise un hôte qui correspond à l'une d'entre elles. Si vous définissez un tableau vide dans une source, les sessions SSH restent activées pour les hôtes qu'une autre source liste.

5962 

5954<span id="authentication-and-login" />5963<span id="authentication-and-login" />

5955 5964 

5956<h2 id="authentication-and-providers">5965<h2 id="authentication-and-providers">

setup.md +12 −8

Details

63 curl -fsSL https://claude.ai/install.cmd -o install.cmd && install.cmd && del install.cmd63 curl -fsSL https://claude.ai/install.cmd -o install.cmd && install.cmd && del install.cmd

64 ```64 ```

65 65 

66 Quand l'installateur se termine, ouvrez une nouvelle fenêtre de terminal et exécutez `claude --version`. Une installation fonctionnelle affiche un numéro de version. Si votre shell dit que `claude` n'est pas trouvé ou n'est pas reconnu, le répertoire d'installation n'est pas encore sur votre PATH : consultez [Corriger votre PATH](/docs/fr/troubleshoot-install#command-not-found-claude-after-installation).66 La commande d'installation n'affiche aucune progression pendant le téléchargement de Claude Code. Quand l'installateur se termine, ouvrez une nouvelle fenêtre de terminal et exécutez `claude --version`. Une installation fonctionnelle affiche un numéro de version. Si votre shell dit que `claude` n'est pas trouvé ou n'est pas reconnu, le répertoire d'installation n'est pas encore sur votre PATH : consultez [Corriger votre PATH](/docs/fr/troubleshoot-install#command-not-found-claude-after-installation).

67 67 

68 Si vous voyez `The token '&&' is not a valid statement separator`, vous êtes dans PowerShell, pas dans CMD. Si vous voyez `'irm' is not recognized as an internal or external command`, vous êtes dans CMD, pas dans PowerShell.68 Si vous voyez `The token '&&' is not a valid statement separator`, vous êtes dans PowerShell, pas dans CMD. Si vous voyez `'irm' is not recognized as an internal or external command`, vous êtes dans CMD, pas dans PowerShell.

69 69 


119 119 

120| Option | Nécessite | [Sandboxing](/docs/fr/sandboxing) | Quand l'utiliser |120| Option | Nécessite | [Sandboxing](/docs/fr/sandboxing) | Quand l'utiliser |

121| - | - | - | - |121| - | - | - | - |

122| Windows natif | Aucun ; [Git for Windows](https://git-scm.com/downloads/win) est optionnel | Non supporté | Projets et outils Windows natifs |122| [Windows natif](#install-on-native-windows) | Aucun ; [Git for Windows](https://git-scm.com/downloads/win) est optionnel | Non supporté | Projets et outils Windows natifs |

123| WSL 2 | WSL 2 activé | Supporté | Chaînes d'outils Linux ou exécution de commandes en sandbox |123| [WSL 2](#install-in-wsl) | WSL 2 activé | Supporté | Chaînes d'outils Linux ou exécution de commandes en sandbox |

124| WSL 1 | WSL 1 activé | Non supporté | Si WSL 2 n'est pas disponible |124| [WSL 1](#install-in-wsl) | WSL 1 activé | Non supporté | Si WSL 2 n'est pas disponible |

125 125 

126**Option 1 : Windows natif**126<h4 id="install-on-native-windows">

127 Installer sur Windows natif

128</h4>

127 129 

128Exécutez la commande d'installation à partir de PowerShell ou CMD. Vous n'avez pas besoin d'exécuter en tant qu'administrateur. L'installation de [Git for Windows](https://git-scm.com/downloads/win) est optionnelle. Elle fournit Git Bash, dont l'[outil Bash](/docs/fr/tools-reference#bash-tool-behavior) et l'[outil Monitor](/docs/fr/tools-reference#monitor-tool) ont besoin.130Exécutez la [commande d'installation](#install-claude-code) à partir de PowerShell ou CMD. Vous n'avez pas besoin d'exécuter en tant qu'administrateur. L'installation de [Git for Windows](https://git-scm.com/downloads/win) est optionnelle. Elle fournit Git Bash, dont l'[outil Bash](/docs/fr/tools-reference#bash-tool-behavior) et l'[outil Monitor](/docs/fr/tools-reference#monitor-tool) ont besoin.

129 131 

130Que vous installiez à partir de PowerShell ou CMD affecte uniquement la commande d'installation que vous exécutez. Votre invite affiche `PS C:\Users\VotreNom>` dans PowerShell et `C:\Users\VotreNom>` sans le `PS` dans CMD. Si vous êtes nouveau sur le terminal, le [guide du terminal](/docs/fr/terminal-guide#windows) vous guide à travers chaque étape.132Que vous installiez à partir de PowerShell ou CMD affecte uniquement la commande d'installation que vous exécutez. Votre invite affiche `PS C:\Users\VotreNom>` dans PowerShell et `C:\Users\VotreNom>` sans le `PS` dans CMD. Si vous êtes nouveau sur le terminal, le [guide du terminal](/docs/fr/terminal-guide#windows) vous guide à travers chaque étape.

131 133 


144 146 

145Lorsque Git for Windows est installé, l'outil PowerShell est disponible aux côtés de Bash : activé par défaut pour les comptes claude.ai et Console, et activé avec `CLAUDE_CODE_USE_POWERSHELL_TOOL=1` dans les sessions Amazon Bedrock, Google Cloud's Agent Platform et Microsoft Foundry. Définissez-le à `0` pour désactiver l'outil. Consultez [outil PowerShell](/docs/fr/tools-reference#powershell-tool) pour la configuration et les limitations.147Lorsque Git for Windows est installé, l'outil PowerShell est disponible aux côtés de Bash : activé par défaut pour les comptes claude.ai et Console, et activé avec `CLAUDE_CODE_USE_POWERSHELL_TOOL=1` dans les sessions Amazon Bedrock, Google Cloud's Agent Platform et Microsoft Foundry. Définissez-le à `0` pour désactiver l'outil. Consultez [outil PowerShell](/docs/fr/tools-reference#powershell-tool) pour la configuration et les limitations.

146 148 

147**Option 2 : WSL**149<h4 id="install-in-wsl">

150 Installer dans WSL

151</h4>

148 152 

149Ouvrez votre distribution WSL et exécutez le programme d'installation Linux à partir des [instructions d'installation](#install-claude-code) ci-dessus. Vous installez et lancez `claude` à l'intérieur du terminal WSL, pas à partir de PowerShell ou CMD.153Ouvrez votre distribution WSL et exécutez le programme d'installation Linux à partir des [instructions d'installation](#install-claude-code). Vous installez et lancez `claude` à l'intérieur du terminal WSL, pas à partir de PowerShell ou CMD.

150 154 

151<h3 id="alpine-linux-and-musl-based-distributions">155<h3 id="alpine-linux-and-musl-based-distributions">

152 Alpine Linux et distributions basées sur musl156 Alpine Linux et distributions basées sur musl

skills.md +15 −0

Details

36 36 

37Les compétences groupées sont listées aux côtés des commandes intégrées dans la [référence des commandes](/docs/fr/commands), marquées **Skill** dans la colonne Purpose.37Les compétences groupées sont listées aux côtés des commandes intégrées dans la [référence des commandes](/docs/fr/commands), marquées **Skill** dans la colonne Purpose.

38 38 

39<h3 id="check-your-setup-with-/doctor">

40 Vérifier votre configuration avec `/doctor`

41</h3>

42 

43Exécutez `/doctor` dans l'invite de Claude Code pour lancer une vérification de configuration qui diagnostique les problèmes et peut les corriger. Claude présente d'abord ses constats et demande une confirmation avant de modifier quoi que ce soit. La vérification couvre les domaines suivants :

44 

45* **État de l'installation** : installations en double ou résiduelles, problèmes de `PATH`, fichiers de paramètres impossibles à analyser, et disponibilité d'une version plus récente sur votre [canal de publication](/docs/fr/setup#configure-release-channel)

46* **Extensions** : skills, serveurs MCP et plugins inutilisés comparés à leur coût en contexte, et [hooks](/docs/fr/hooks) lents

47* **Fichiers `CLAUDE.md`** : fichiers `CLAUDE.md` locaux qui dupliquent ceux versionnés dans le dépôt, [contenu de `CLAUDE.md` que Claude pourrait déduire de la base de code](/docs/fr/memory#my-claude-md-is-too-large) versionné dans le dépôt, et les consignes toujours chargées restantes, que Claude propose de migrer vers des skills et des fichiers `CLAUDE.md` imbriqués chargés à la demande

48* **Permissions** : une proposition de faire du [mode auto](/docs/fr/permissions#permission-modes) votre mode de permission par défaut et de [pré-approuver](/docs/fr/permissions) les commandes en lecture seule que vous refusez fréquemment

49 

50Pour obtenir des diagnostics d'installation en lecture seule sans démarrer de session, exécutez plutôt `claude doctor` dans votre terminal.

51 

52Pour auditer vos instructions plutôt que votre configuration, exécutez `/doctor prompt-audit` dans l'invite de Claude Code. Au lieu d'effectuer la vérification de configuration, Claude [examine vos fichiers `CLAUDE.md`, vos skills et le reste de votre configuration](/docs/fr/memory#audit-your-instruction-files) à la recherche d'instructions obsolètes ou contradictoires. La sous-commande `prompt-audit` nécessite Claude Code v2.1.283 ou version ultérieure.

53 

39<h3 id="run-and-verify-your-app">54<h3 id="run-and-verify-your-app">

40 Exécuter et vérifier votre application55 Exécuter et vérifier votre application

41</h3>56</h3>

statusline.md +80 −31

Details

148 148 

149Claude Code exécute votre script avec les [données de session JSON](#available-data) sur stdin et affiche tout ce que le script imprime sur stdout.149Claude Code exécute votre script avec les [données de session JSON](#available-data) sur stdin et affiche tout ce que le script imprime sur stdout.

150 150 

151**Quand elle se met à jour**151<Note>La barre de statut s'exécute localement et ne consomme pas de tokens API. Elle se cache temporairement pendant certaines interactions UI, y compris le menu d'aide et les demandes de permission.</Note>

152 

153<h3 id="when-the-status-line-updates">

154 Quand la barre de statut se met à jour

155</h3>

152 156 

153Votre script s'exécute une fois au démarrage d'une session, y compris quand vous en reprenez une. Après cela, il s'exécute à nouveau quand :157Votre script s'exécute une fois au démarrage d'une session, y compris quand vous en reprenez une. Après cela, il s'exécute à nouveau quand :

154 158 


165 169 

166Les déclencheurs basés sur les événements peuvent devenir silencieux quand la session principale est inactive, par exemple pendant qu'un coordinateur attend les sous-agents en arrière-plan. Pour garder les segments basés sur le temps ou provenant de sources externes à jour pendant les périodes inactives, définissez [`refreshInterval`](#manually-configure-a-status-line) pour aussi réexécuter la commande sur un minuteur fixe.170Les déclencheurs basés sur les événements peuvent devenir silencieux quand la session principale est inactive, par exemple pendant qu'un coordinateur attend les sous-agents en arrière-plan. Pour garder les segments basés sur le temps ou provenant de sources externes à jour pendant les périodes inactives, définissez [`refreshInterval`](#manually-configure-a-status-line) pour aussi réexécuter la commande sur un minuteur fixe.

167 171 

168**Ce que votre script peut afficher**172<h3 id="what-your-script-can-output">

173 Ce que votre script peut afficher

174</h3>

175 

176Votre script peut afficher plus qu'une seule ligne de texte brut :

169 177 

170* **Plusieurs lignes** : chaque instruction `echo` ou `print` s'affiche comme une ligne séparée. Voir l'[exemple multi-lignes](#display-multiple-lines).178* **Plusieurs lignes** : chaque instruction `echo` ou `print` s'affiche comme une ligne séparée. Voir l'[exemple multi-lignes](#display-multiple-lines).

171* **Couleurs** : utilisez les [codes d'échappement ANSI](https://en.wikipedia.org/wiki/ANSI_escape_code#Colors) comme `\033[32m` pour le vert (le terminal doit les supporter). Voir l'[exemple d'état git](#git-status-with-colors).179* **Couleurs** : utilisez les [codes d'échappement ANSI](https://en.wikipedia.org/wiki/ANSI_escape_code#Colors) comme `\033[32m` pour le vert (le terminal doit les supporter). Voir l'[exemple d'état git](#git-status-with-colors).

172* **Liens** : utilisez les [séquences d'échappement OSC 8](https://en.wikipedia.org/wiki/ANSI_escape_code#OSC) pour rendre le texte cliquable (Cmd+clic sur macOS, Ctrl+clic sur Windows/Linux). Nécessite un terminal qui supporte les hyperliens comme iTerm2, Kitty ou WezTerm. Voir l'[exemple de liens cliquables](#clickable-links).180* **Liens** : utilisez les [séquences d'échappement OSC 8](https://en.wikipedia.org/wiki/ANSI_escape_code#OSC) pour rendre le texte cliquable (Cmd+clic sur macOS, Ctrl+clic sur Windows/Linux). Nécessite un terminal qui supporte les hyperliens comme iTerm2, Kitty ou WezTerm. Voir l'[exemple de liens cliquables](#clickable-links).

173 181 

174**Dimensionner la sortie au terminal**182<h3 id="size-output-to-the-terminal">

183 Dimensionner la sortie au terminal

184</h3>

175 185 

176Claude Code capture la sortie de votre script au lieu de la connecter directement au terminal, donc `tput cols` et la détection de largeur au niveau du langage ne peuvent pas lire la taille du terminal depuis l'intérieur du script. Lisez plutôt les variables d'environnement `COLUMNS` et `LINES`. Claude Code définit ces variables aux dimensions actuelles du terminal avant d'exécuter votre script.186Claude Code capture la sortie de votre script au lieu de la connecter directement au terminal, donc `tput cols` et la détection de largeur au niveau du langage ne peuvent pas lire la taille du terminal depuis l'intérieur du script. Lisez plutôt les variables d'environnement `COLUMNS` et `LINES`. Claude Code définit ces variables aux dimensions actuelles du terminal avant d'exécuter votre script.

177 187 

178<Note>La barre de statut s'exécute localement et ne consomme pas de jetons API. Elle se cache temporairement pendant certaines interactions UI, y compris le menu d'aide et les invites de permission.</Note>

179 

180<h2 id="available-data">188<h2 id="available-data">

181 Données disponibles189 Données disponibles

182</h2>190</h2>


1168}1176}

1169```1177```

1170 1178 

1171La commande s'exécute une fois par cycle d'actualisation et reçoit toutes les lignes de sous-agent visibles en tant qu'objet JSON unique sur stdin. L'entrée inclut les [champs d'entrée de hook de base](/docs/fr/hooks#common-input-fields), un champ `columns` avec la largeur de ligne utilisable, et un tableau `tasks`. Chaque tâche a `id`, `name`, `type`, `status`, `description`, `label`, `startTime`, `model`, `effort`, `contextWindowSize`, `tokenCount`, `tokenSamples` et `cwd`.1179La commande s'exécute une fois par cycle d'actualisation et reçoit toutes les lignes de sous-agent visibles en tant qu'objet JSON unique sur stdin. L'entrée inclut les [champs d'entrée de hook de base](/docs/fr/hooks#common-input-fields), un champ `columns` avec la largeur de ligne utilisable, et un tableau `tasks` contenant une entrée par ligne, décrit dans [Champs de tâche](#task-fields).

1172 

1173Le champ `model` par tâche est l'ID de modèle résolu sur lequel la tâche s'exécute. `contextWindowSize` est la fenêtre de contexte de ce modèle en tokens, calculée de la même manière que `context_window.context_window_size` de la barre de statut principale, vous pouvez donc rendre un pourcentage par ligne à partir de `tokenCount`. Les deux champs nécessitent Claude Code v2.1.205 ou une version ultérieure et sont omis pour une tâche dont le modèle n'est pas encore résolu.

1174 

1175Le champ `effort` par tâche est l'effort de raisonnement défini pour ce sous-agent, dans son [frontmatter de définition](/docs/fr/sub-agents#supported-frontmatter-fields) ou lors de l'invocation individuelle. La valeur est soit l'une des chaînes de niveau d'effort `low`, `medium`, `high`, `xhigh` ou `max`, soit un budget de tokens numérique. Le champ rapporte la valeur configurée telle qu'écrite : si le modèle ne supporte pas ce niveau, l'effort que Claude Code applique réellement peut différer. Le champ nécessite Claude Code v2.1.214 ou une version ultérieure et est absent lorsqu'aucun niveau n'est défini pour le sous-agent.

1176 1180 

1177Écrivez une ligne JSON sur stdout par ligne que vous voulez remplacer, sous la forme `{"id": "<task id>", "content": "<row body>"}`. La chaîne `content` est rendue telle quelle, y compris les couleurs ANSI et les hyperliens OSC 8. Omettez le `id` d'une tâche pour conserver le rendu par défaut pour cette ligne ; émettez une chaîne `content` vide pour la masquer.1181Écrivez une ligne JSON sur stdout par ligne que vous voulez remplacer, sous la forme `{"id": "<task id>", "content": "<row body>"}`. La chaîne `content` est rendue telle quelle, y compris les couleurs ANSI et les hyperliens OSC 8. Omettez le `id` d'une tâche pour conserver le rendu par défaut pour cette ligne ; émettez une chaîne `content` vide pour la masquer.

1178 1182 

1179Les mêmes portes de confiance, `disableAllHooks` et [`allowManagedHooksOnly`](/docs/fr/settings-reference#allowmanagedhooksonly) qui s'appliquent à `statusLine` s'appliquent ici. Les plugins peuvent expédier un `subagentStatusLine` par défaut dans leur [`settings.json`](/docs/fr/plugins/manifest-reference#standard-layout), mais contrairement aux hooks, les valeurs des plugins ne s'exécutent pas sous `allowManagedHooksOnly` même lorsque le plugin est forcé activé dans les paramètres gérés `enabledPlugins`.1183Les mêmes portes de confiance, `disableAllHooks` et [`allowManagedHooksOnly`](/docs/fr/settings-reference#allowmanagedhooksonly) qui s'appliquent à `statusLine` s'appliquent ici. Les plugins peuvent expédier un `subagentStatusLine` par défaut dans leur [`settings.json`](/docs/fr/plugins/manifest-reference#standard-layout), mais contrairement aux hooks, les valeurs des plugins ne s'exécutent pas sous `allowManagedHooksOnly` même lorsque le plugin est forcé activé dans les paramètres gérés `enabledPlugins`.

1180 1184 

1185<h3 id="task-fields">

1186 Champs de tâche

1187</h3>

1188 

1189Chaque entrée du tableau `tasks` décrit une ligne de sous-agent avec les champs ci-dessous. Les champs marqués comme facultatifs sont omis lorsqu'ils n'ont pas de valeur ; prévoyez donc leur absence dans votre script.

1190 

1191| Champ | Type | Description |

1192| :- | :- | :- |

1193| `id` | string | Identifiant de la tâche. Renvoyez-le en tant que `id` dans la ligne que vous écrivez en retour pour cette ligne |

1194| `name` | string, facultatif | Nom par lequel le sous-agent est [désigné](/docs/fr/sub-agents#subagent-names), lorsqu'il en a un |

1195| `type` | string | Type de tâche : `local_agent` |

1196| `agentType` | string | Type de sous-agent sous lequel la tâche s'exécute, comme le sous-agent intégré [`Explore`](/docs/fr/sub-agents#built-in-subagents) ou un sous-agent personnalisé `code-reviewer`. Contient la même valeur que celle reçue par les hooks en tant que [`agent_type`](/docs/fr/hooks#subagentstart). Nécessite Claude Code v2.1.293 ou une version ultérieure |

1197| `status` | string | État de la tâche, comme `running`, `completed`, `failed` ou `killed` |

1198| `description` | string | Courte description de la tâche, comme celle que Claude a donnée lors du lancement du sous-agent |

1199| `label` | string | Court résumé de la progression de la tâche lorsque Claude Code en dispose, sinon le même texte que `description` |

1200| `startTime` | number | Moment où la tâche a démarré, en millisecondes depuis l'epoch Unix |

1201| `model` | string, facultatif | ID du modèle résolu sur lequel la tâche s'exécute. Omis jusqu'à ce que le modèle soit résolu. Nécessite Claude Code v2.1.205 ou une version ultérieure |

1202| `effort` | string ou number, facultatif | Effort de raisonnement défini pour le sous-agent dans son [frontmatter de définition](/docs/fr/sub-agents#supported-frontmatter-fields) ou lors de l'invocation individuelle : `low`, `medium`, `high`, `xhigh`, `max`, ou un budget de tokens numérique. Il s'agit de la valeur configurée, et l'effort que Claude Code applique peut différer lorsque le modèle ne supporte pas ce niveau. Omis lorsqu'aucun effort n'est défini. Nécessite Claude Code v2.1.213 ou une version ultérieure |

1203| `contextWindowSize` | number, facultatif | Fenêtre de contexte de `model` en tokens, calculée de la même manière que [`context_window.context_window_size`](#context-window-fields) de la barre de statut principale, vous pouvez donc rendre un pourcentage par ligne à partir de `tokenCount`. Omis lorsque `model` l'est. Nécessite Claude Code v2.1.205 ou une version ultérieure |

1204| `tokenCount` | number | Nombre de tokens courant du sous-agent, la valeur affichée par la ligne par défaut |

1205| `tokenSamples` | array of numbers | Jusqu'aux 16 dernières lectures de `tokenCount`, une par cycle d'actualisation, de la plus ancienne à la plus récente et se terminant par la valeur actuelle |

1206| `cwd` | string | Répertoire de travail du sous-agent : son propre répertoire lorsqu'il s'exécute dans l'un d'eux, comme un worktree isolé, sinon le répertoire de travail de la session |

1207 

1181<h2 id="tips">1208<h2 id="tips">

1182 Conseils1209 Conseils

1183</h2>1210</h2>


1192 Dépannage1219 Dépannage

1193</h2>1220</h2>

1194 1221 

1195**La barre de statut n'apparaît pas**1222Si la barre de statut est vide, commencez par [La barre de statut n'apparaît pas](#status-line-not-appearing). Un dossier que vous n'avez pas approuvé et un script qui échoue laissent également la barre vide, comme le décrivent [Confiance de l'espace de travail requise](#workspace-trust-required) et [Erreurs de script ou blocages](#script-errors-or-hangs).

1223 

1224<h3 id="status-line-not-appearing">

1225 La barre de statut n'apparaît pas

1226</h3>

1227 

1228Si vous avez configuré une barre de statut et que rien ne s'affiche en bas de l'interface, effectuez les vérifications suivantes :

1196 1229 

1197* Vérifiez que votre script est exécutable : `chmod +x ~/.claude/statusline.sh`1230* Vérifiez que votre script est exécutable : `chmod +x ~/.claude/statusline.sh`

1198* Vérifiez que votre script affiche sur stdout, pas stderr1231* Vérifiez que votre script affiche sur stdout, pas stderr

1199* Exécutez votre script manuellement pour vérifier qu'il produit une sortie1232* Exécutez votre script manuellement pour vérifier qu'il produit une sortie

1200* Sur Windows avec Git Bash installé, les barres obliques inverses dans le chemin `command` sont probablement consommées comme caractères d'échappement avant l'exécution du script. Utilisez des barres obliques avant dans le chemin. Voir [Configuration Windows](#windows-configuration).1233* Sur Windows avec Git Bash installé, les barres obliques inverses dans le chemin `command` sont probablement consommées comme caractères d'échappement avant l'exécution du script. Utilisez des barres obliques avant dans le chemin. Voir [Configuration Windows](#windows-configuration).

1201* Si `disableAllHooks` est défini sur `true` en dehors des paramètres gérés après l'application de la [précédence des paramètres](/docs/fr/hooks#disable-or-remove-hooks), Claude Code exécute uniquement un `statusLine` à partir des paramètres gérés, et sans `statusLine` géré, la barre de statut est désactivée. Supprimez le paramètre ou définissez-le sur `false` dans le fichier qui le définit pour le réactiver. Voir [`disableAllHooks`](/docs/fr/settings-reference#disableallhooks).1234* Si `disableAllHooks` est défini sur `true` en dehors des paramètres gérés après l'application de la [priorité des paramètres](/docs/fr/hooks#disable-or-remove-hooks), Claude Code exécute uniquement un `statusLine` à partir des paramètres gérés, et sans `statusLine` géré, la barre de statut est désactivée. Supprimez le paramètre ou définissez-le sur `false` dans le fichier qui le définit pour le réactiver. Voir [`disableAllHooks`](/docs/fr/settings-reference#disableallhooks).

1202* Si votre organisation définit `allowManagedHooksOnly` dans les paramètres gérés, votre barre de statut personnalisée disparaît sans avertissement : vous ne pouvez obtenir une barre de statut que d'une valeur `statusLine` dans ces paramètres gérés. Voir [ce qui s'exécute sous `allowManagedHooksOnly`](/docs/fr/settings-reference#what-runs-under-allowmanagedhooksonly) pour le comportement complet, et demandez à votre administrateur si ce paramètre s'applique à vous.1235* Si votre organisation définit `allowManagedHooksOnly` dans les paramètres gérés, votre barre de statut personnalisée disparaît sans avertissement : vous ne pouvez obtenir une barre de statut que d'une valeur `statusLine` dans ces paramètres gérés. Voir [ce qui s'exécute sous `allowManagedHooksOnly`](/docs/fr/settings-reference#what-runs-under-allowmanagedhooksonly) pour le comportement complet, et demandez à votre administrateur si ce paramètre s'applique à vous.

1203* Exécutez `claude --debug` pour enregistrer le stderr de votre script à chaque invocation de barre de statut, et son code de sortie à la première invocation dans une session1236* Exécutez `claude --debug` pour journaliser le stderr de votre script à chaque invocation de barre de statut, et son code de sortie à la première invocation dans une session

1204* Demandez à Claude de lire votre fichier de paramètres et d'exécuter la commande `statusLine` directement pour afficher les erreurs1237* Demandez à Claude de lire votre fichier de paramètres et d'exécuter la commande `statusLine` directement pour afficher les erreurs

1205 1238 

1206**La barre de statut affiche `--` ou des valeurs vides**1239<h3 id="status-line-shows-or-empty-values">

1240 La barre de statut affiche `--` ou des valeurs vides

1241</h3>

1242 

1243Les champs peuvent être `null` avant la fin de la première réponse API ; gérez donc les valeurs null dans votre script avec des valeurs de secours telles que `// 0` dans jq. Redémarrez Claude Code si les valeurs restent vides après plusieurs messages.

1207 1244 

1208* Les champs peuvent être `null` avant la fin de la première réponse API1245<h3 id="context-percentage-shows-unexpected-values">

1209* Gérez les valeurs null dans votre script avec des valeurs par défaut de secours telles que `// 0` dans jq1246 Le pourcentage de contexte affiche des valeurs inattendues

1210* Redémarrez Claude Code si les valeurs restent vides après plusieurs messages1247</h3>

1211 1248 

1212**Le pourcentage de contexte affiche des valeurs inattendues**1249La barre de statut rapporte les décomptes de la dernière réponse API, tandis que `/context` ajoute une estimation pour les messages ajoutés depuis cette réponse, donc `/context` peut afficher une valeur plus élevée jusqu'à la réponse suivante. Utilisez `used_percentage` pour l'état de contexte le plus simple et précis. Pour la formule derrière `used_percentage`, voir [Champs de la fenêtre de contexte](#context-window-fields).

1213 1250 

1214* Utilisez `used_percentage` pour l'état de contexte le plus simple et précis1251<h3 id="osc-8-links-not-clickable">

1215* La barre de statut rapporte les décomptes de la dernière réponse API, tandis que `/context` ajoute une estimation pour les messages ajoutés depuis cette réponse, donc `/context` peut afficher une valeur plus élevée jusqu'à la réponse suivante1252 Les liens OSC 8 ne sont pas cliquables

1253</h3>

1216 1254 

1217**Les liens OSC 8 ne sont pas cliquables**1255Le fait qu'un lien soit cliquable dépend de votre terminal, de la détection par Claude Code du support des hyperliens dans celui-ci, de la suppression éventuelle de la séquence d'échappement par SSH ou tmux, et de la manière dont votre script l'affiche :

1218 1256 

1219* Vérifiez que votre terminal supporte les hyperliens OSC 8 (iTerm2, Kitty, WezTerm)1257* Vérifiez que votre terminal supporte les hyperliens OSC 8 (iTerm2, Kitty, WezTerm)

1220 1258 


1236 1274 

1237* Si les séquences d'échappement apparaissent comme du texte littéral comme `\e]8;;`, utilisez `printf '%b'` au lieu de `echo -e` pour une gestion plus fiable des échappements1275* Si les séquences d'échappement apparaissent comme du texte littéral comme `\e]8;;`, utilisez `printf '%b'` au lieu de `echo -e` pour une gestion plus fiable des échappements

1238 1276 

1239**Problèmes d'affichage avec les séquences d'échappement**1277<h3 id="display-glitches-with-escape-sequences">

1278 Problèmes d'affichage avec les séquences d'échappement

1279</h3>

1280 

1281Les séquences d'échappement complexes (couleurs ANSI, liens OSC 8) peuvent occasionnellement causer une sortie brouillée si elles chevauchent d'autres mises à jour UI. Les barres de statut multi-lignes avec codes d'échappement sont plus sujettes aux problèmes de rendu que le texte brut sur une seule ligne.

1282 

1283Si vous voyez du texte corrompu, essayez de simplifier votre script en sortie en texte brut.

1284 

1285<h3 id="workspace-trust-required">

1286 Confiance de l'espace de travail requise

1287</h3>

1240 1288 

1241* Les séquences d'échappement complexes (couleurs ANSI, liens OSC 8) peuvent occasionnellement causer une sortie brouillée si elles chevauchent d'autres mises à jour UI1289Tant que vous n'avez pas accepté la boîte de dialogue de confiance de l'espace de travail, la barre de statut reste vide. Parce que `statusLine` exécute une commande shell, Claude Code l'exécute selon la même [règle de confiance de l'espace de travail que les hooks dans les fichiers de paramètres](/docs/fr/permissions#what-runs-before-you-trust-a-folder). Accepter la boîte de dialogue pour le dossier, ou pour un répertoire parent dont la confiance s'étend à celui-ci, est suffisant.

1242* Si vous voyez du texte corrompu, essayez de simplifier votre script en sortie en texte brut

1243* Les barres de statut multi-lignes avec codes d'échappement sont plus sujettes aux problèmes de rendu que le texte brut sur une seule ligne

1244 1290 

1245**Confiance de l'espace de travail requise**1291Jusqu'à ce moment, `claude --debug` consigne `Status line command skipped: workspace trust not accepted`. Redémarrez Claude Code et acceptez la boîte de dialogue de confiance pour l'activer.

1246 1292 

1247* Parce que `statusLine` exécute une commande shell, Claude Code l'exécute selon la même [règle de confiance de l'espace de travail que les hooks dans les fichiers de paramètres](/docs/fr/permissions#what-runs-before-you-trust-a-folder). Accepter la boîte de dialogue pour le dossier, ou pour un répertoire parent dont la confiance s'étend à celui-ci, est suffisant.1293<h3 id="script-errors-or-hangs">

1248* Jusqu'à ce moment, la barre de statut reste vide, et `claude --debug` enregistre `Status line command skipped: workspace trust not accepted`. Redémarrez Claude Code et acceptez la boîte de dialogue de confiance pour l'activer.1294 Erreurs de script ou blocages

1295</h3>

1249 1296 

1250**Erreurs de script ou blocages**1297Claude Code n'affiche la sortie de votre script qu'une fois que celui-ci se termine avec le code 0 :

1251 1298 

1252* Les scripts qui se terminent avec des codes non nuls ou ne produisent aucune sortie font que la barre de statut devient vide1299* Les scripts qui se terminent avec des codes non nuls ou ne produisent aucune sortie font que la barre de statut devient vide

1253* Les scripts lents bloquent la barre de statut de se mettre à jour jusqu'à ce qu'ils se terminent. Gardez les scripts rapides pour éviter une sortie obsolète.1300* Les scripts lents bloquent la barre de statut de se mettre à jour jusqu'à ce qu'ils se terminent. Gardez les scripts rapides pour éviter une sortie obsolète.

1254* Si une nouvelle mise à jour se déclenche pendant qu'un script lent s'exécute, le script en cours est annulé1301* Si une nouvelle mise à jour se déclenche pendant qu'un script lent s'exécute, le script en cours est annulé

1255* Testez votre script indépendamment avec une entrée fictive avant de le configurer1302* Testez votre script indépendamment avec une entrée fictive avant de le configurer

1256 1303 

1257**Les notifications partagent la ligne de la barre de statut**1304<h3 id="notifications-share-the-status-line-row">

1305 Les notifications partagent la ligne de la barre de statut

1306</h3>

1258 1307 

1259En dehors du [rendu en plein écran](/docs/fr/fullscreen), Claude Code affiche les notifications sur la même ligne que votre barre de statut. En rendu en plein écran, Claude Code donne aux notifications leur propre ligne.1308En dehors du [rendu en plein écran](/docs/fr/fullscreen), Claude Code affiche les notifications sur la même ligne que votre barre de statut. En rendu en plein écran, Claude Code donne aux notifications leur propre ligne.

1260 1309 

1261* Les notifications système comme les erreurs de serveur MCP et les mises à jour automatiques s'affichent sur le côté droit de la ligne. Les notifications transitoires telles que l'avertissement de contexte faible circulent également dans cette zone.1310* Les notifications système comme les erreurs de serveur MCP et les mises à jour automatiques s'affichent sur le côté droit de la ligne. Les notifications transitoires telles que l'avertissement de contexte faible circulent également dans cette zone.

1262* L'activation du mode verbeux ajoute un compteur de jetons à cette zone1311* L'activation du mode verbeux ajoute un compteur de tokens à cette zone

1263* Sur les terminaux étroits, ces notifications peuvent tronquer votre sortie de barre de statut1312* Sur les terminaux étroits, ces notifications peuvent tronquer votre sortie de barre de statut

sub-agents.md +2 −0

Details

3793. La variable d'environnement [`CLAUDE_CODE_SUBAGENT_MODEL`](/docs/fr/model-config#environment-variables), lorsque vous la définissez sur un alias de modèle ou un ID de modèle3793. La variable d'environnement [`CLAUDE_CODE_SUBAGENT_MODEL`](/docs/fr/model-config#environment-variables), lorsque vous la définissez sur un alias de modèle ou un ID de modèle

3804. Le modèle de la conversation principale3804. Le modèle de la conversation principale

381 381 

382Si un [mod](/docs/fr/plugins/mods/overview) installé définit un modèle dans son hook [`agent.spawn`](/docs/fr/plugins/mods/reference#subagents), Claude Code utilise ce modèle à la place du paramètre par invocation.

383 

382Dans deux cas, un alias de famille tel que `opus` dans le paramètre par invocation ou le frontmatter se résout au modèle de la conversation principale au lieu de la [version vers laquelle l'alias pointe](/docs/fr/model-config#model-aliases) :384Dans deux cas, un alias de famille tel que `opus` dans le paramètre par invocation ou le frontmatter se résout au modèle de la conversation principale au lieu de la [version vers laquelle l'alias pointe](/docs/fr/model-config#model-aliases) :

383 385 

384* **Le modèle de la conversation principale appartient à cette famille** : le sous-agent s'exécute sur le modèle exact de la conversation principale, y compris tout suffixe `[1m]`, donc il obtient la même fenêtre de [contexte étendu](/docs/fr/model-config#extended-context) que la conversation principale.386* **Le modèle de la conversation principale appartient à cette famille** : le sous-agent s'exécute sur le modèle exact de la conversation principale, y compris tout suffixe `[1m]`, donc il obtient la même fenêtre de [contexte étendu](/docs/fr/model-config#extended-context) que la conversation principale.

Details

203 Quand une commande en arrière-plan s'arrête203 Quand une commande en arrière-plan s'arrête

204</h4>204</h4>

205 205 

206Une commande qu'un [sous-agent au premier plan](/docs/fr/sub-agents#run-subagents-in-foreground-or-background) a démarrée s'arrête quand l'exécution de ce sous-agent se termine, qu'elle ait réussi, échoué ou ait été interrompue. Une commande que la conversation principale ou un sous-agent en arrière-plan a démarrée continue à s'exécuter après une réponse finale, jusqu'à ce qu'elle se termine, soit arrêtée, ou atteigne sa [limite de temps](#time-limit-for-background-commands). En mode non interactif avec l'indicateur `-p`, [les commandes en arrière-plan se terminent peu après le résultat final de l'exécution](/docs/fr/headless#background-tasks-at-exit).206Une commande qu'un [sous-agent au premier plan](/docs/fr/sub-agents#run-subagents-in-foreground-or-background) a démarrée s'arrête quand l'exécution de ce sous-agent se termine, qu'elle ait réussi, échoué ou ait été interrompue. Une commande que la conversation principale ou un sous-agent en arrière-plan a démarrée continue à s'exécuter après une réponse finale, jusqu'à ce qu'elle se termine, soit arrêtée, ou atteigne sa [limite de temps](#time-limit-for-background-commands).

207 

208Tant qu'une commande démarrée par la conversation principale est encore en cours d'exécution, une exécution en mode non interactif avec le flag `-p` [reste ouverte après son résultat](/docs/fr/headless#background-tasks-at-exit) jusqu'à ce que cette commande se termine ou atteigne sa limite de temps. Une commande qu'un sous-agent en arrière-plan a démarrée est arrêtée quand l'exécution se termine.

207 209 

208<h4 id="time-limit-for-background-commands">210<h4 id="time-limit-for-background-commands">

209 Limite de temps pour les commandes en arrière-plan211 Limite de temps pour les commandes en arrière-plan


218* Une commande que Claude démarre en arrière-plan obtient 30 minutes, ou le `timeout` que Claude transmet avec `run_in_background`, jusqu'à un maximum de 2 heures220* Une commande que Claude démarre en arrière-plan obtient 30 minutes, ou le `timeout` que Claude transmet avec `run_in_background`, jusqu'à un maximum de 2 heures

219* Une commande qui démarre au premier plan puis passe en arrière-plan, par exemple à son délai d'expiration, obtient 30 minutes à partir du passage221* Une commande qui démarre au premier plan puis passe en arrière-plan, par exemple à son délai d'expiration, obtient 30 minutes à partir du passage

220 222 

223Dans une exécution avec le flag `-p` dont vous transmettez le prompt sous forme de texte plutôt qu'avec `--input-format stream-json`, les deux valeurs par défaut sont de 10 minutes au lieu de 30, car l'exécution [attend les commandes en arrière-plan après son résultat](/docs/fr/headless#background-tasks-at-exit).

224 

221Quand une commande en arrière-plan atteint sa limite de temps, Claude Code l'arrête et dit à Claude pourquoi, et Claude peut redémarrer la commande avec un `timeout` plus long si le travail en a encore besoin. L'avis d'arrêt se lit `Background command "<description>" was stopped after reaching its background time limit`.225Quand une commande en arrière-plan atteint sa limite de temps, Claude Code l'arrête et dit à Claude pourquoi, et Claude peut redémarrer la commande avec un `timeout` plus long si le travail en a encore besoin. L'avis d'arrêt se lit `Background command "<description>" was stopped after reaching its background time limit`.

222 226 

223<h4 id="raise-the-time-limit-for-background-commands">227<h4 id="raise-the-time-limit-for-background-commands">

224 Augmenter la limite de temps pour les commandes en arrière-plan228 Augmenter la limite de temps pour les commandes en arrière-plan

225</h4>229</h4>

226 230 

227Deux [variables d'environnement](/docs/fr/env-vars) augmentent ces limites, pour les commandes Bash et PowerShell de la même manière. Les deux prennent des millisecondes, et aucune ne peut raccourcir une limite : une valeur inférieure laisse le délai par défaut de 30 minutes et le maximum de 2 heures en place.231Deux [variables d'environnement](/docs/fr/env-vars) augmentent ces limites, pour les commandes Bash et PowerShell de la même manière. Les deux prennent des millisecondes, et aucune ne peut raccourcir une limite : une valeur inférieure laisse les valeurs par défaut et le maximum de 2 heures en place.

228 232 

229* Définissez `BASH_DEFAULT_TIMEOUT_MS` au-dessus de `1800000` pour remplacer le délai par défaut de 30 minutes par cette valeur, à la fois pour les commandes que Claude démarre sans `timeout` et pour les commandes déplacées233* Définissez `BASH_DEFAULT_TIMEOUT_MS` au-dessus de `1800000` pour remplacer le délai par défaut de 30 minutes par cette valeur, à la fois pour les commandes que Claude démarre sans `timeout` et pour les commandes déplacées. Dans une exécution `-p` dont vous transmettez le prompt sous forme de texte, toute valeur supérieure à `600000` remplace son délai par défaut de 10 minutes

230* Définissez `BASH_MAX_TIMEOUT_MS` au-dessus de `7200000` pour augmenter le maximum de 2 heures à cette valeur. Définir `BASH_DEFAULT_TIMEOUT_MS` au-dessus de `7200000` augmente le maximum de la même manière234* Définissez `BASH_MAX_TIMEOUT_MS` au-dessus de `7200000` pour augmenter le maximum de 2 heures à cette valeur. Définir `BASH_DEFAULT_TIMEOUT_MS` au-dessus de `7200000` augmente le maximum de la même manière

231 235 

232<h4 id="foreground-commands-that-move-to-the-background">236<h4 id="foreground-commands-that-move-to-the-background">


285 289 

286Afficher un fichier avec Bash satisfait également l'exigence read-before-edit lorsque la commande est `cat`, `nl`, `bat`, `batcat`, `head`, `tail`, `sed -n 'X,Yp'`, `grep`, `egrep`, `fgrep`, ou `rg` sur un seul fichier sans pipes ni redirections. La sortie redirigée et les autres commandes Bash ne comptent pas vers la vérification read-before-edit.290Afficher un fichier avec Bash satisfait également l'exigence read-before-edit lorsque la commande est `cat`, `nl`, `bat`, `batcat`, `head`, `tail`, `sed -n 'X,Yp'`, `grep`, `egrep`, `fgrep`, ou `rg` sur un seul fichier sans pipes ni redirections. La sortie redirigée et les autres commandes Bash ne comptent pas vers la vérification read-before-edit.

287 291 

288Afficher un fichier avec Bash affecte uniquement l'admissibilité de la modification, pas les permissions. Consultez [Règles de permission Read et Edit](/docs/fr/permissions#read-and-edit) pour savoir quelles commandes Bash vos règles de refus `Read` et `Edit` couvrent.292Lorsque Claude affiche un fichier de cette manière, Claude Code charge également tout [`CLAUDE.md` de sous-répertoire](/docs/fr/memory#how-claude-md-files-load) et toutes les [règles limitées à un chemin](/docs/fr/memory#path-specific-rules) qui s'appliquent à ce fichier. Consultez [Règles de permission Read et Edit](/docs/fr/permissions#read-and-edit) pour savoir quelles commandes Bash vos règles de refus `Read` et `Edit` couvrent.

289 293 

290<h2 id="endconversation-tool-behavior">294<h2 id="endconversation-tool-behavior">

291 Comportement de l'outil EndConversation295 Comportement de l'outil EndConversation


709Le backend de recherche n'est pas configurable. Pour effectuer une recherche avec un fournisseur différent, ajoutez un [serveur MCP](/docs/fr/mcp) qui expose un outil de recherche.713Le backend de recherche n'est pas configurable. Pour effectuer une recherche avec un fournisseur différent, ajoutez un [serveur MCP](/docs/fr/mcp) qui expose un outil de recherche.

710 714 

711<Note>715<Note>

712 WebSearch est disponible sur l'API Claude et [Claude Platform sur AWS](/docs/fr/claude-platform-on-aws). Sur Microsoft Foundry, cela nécessite un [déploiement hébergé sur Anthropic](https://platform.claude.com/docs/en/build-with-claude/claude-in-microsoft-foundry#hosting-options) : les déploiements hébergés sur Azure ne supportent pas les outils côté serveur, donc l'appel WebSearch échoue. Sur Agent Platform de Google Cloud, cela fonctionne avec Claude 4 et les modèles ultérieurs, y compris Opus, Sonnet et Haiku. Amazon Bedrock n'expose pas l'outil de recherche web côté serveur.716 WebSearch est disponible sur l'API Claude, [Claude Platform sur AWS](/docs/fr/claude-platform-on-aws) et Microsoft Foundry. Sur Agent Platform de Google Cloud, cela fonctionne avec Claude 4 et les modèles ultérieurs, y compris Opus, Sonnet et Haiku. Amazon Bedrock n'expose pas l'outil de recherche web côté serveur.

713</Note>717</Note>

714 718 

715<h3 id="session-search-limit">719<h3 id="session-search-limit">

716 Limite de recherche de session720 Limite de recherche de session

717</h3>721</h3>

718 722 

719Une session peut effectuer au maximum 200 appels WebSearch, comptabilisés dans la conversation principale et chaque [sous-agent](/docs/fr/sub-agents) qu'elle génère, donc les recherches effectuées par les fan-outs de recherche parallèle comptent contre la même limite. La limite nécessite Claude Code v2.1.212 ou ultérieur. Lorsque Claude atteint la limite, les appels ultérieurs retournent un avis indiquant à Claude de continuer avec les informations qu'il a déjà rassemblées, plutôt qu'une erreur qui inviterait à une nouvelle tentative. Vous ne voyez pas l'avis : un appel plafonné apparaît dans la conversation comme une recherche qui n'a rien fait, et si Claude a besoin de plus de recherches, l'avis lui indique de vous demander de relever la limite.723Une session de terminal interactive est limitée à 200 appels WebSearch. Les recherches effectuées depuis la conversation principale et depuis les [sous-agents](/docs/fr/sub-agents), comme un fan-out de recherche parallèle, comptent dans la même limite. La limite nécessite Claude Code v2.1.212 ou ultérieur.

724 

725Lorsqu'une session a atteint la limite, les recherches apparaissent dans la conversation comme des appels qui n'ont rien fait. Claude reçoit un avis lui indiquant de continuer avec les informations qu'il a déjà rassemblées et, s'il a besoin de plus de recherches, de vous demander de relever la limite.

726 

727Pour obtenir plus de recherches, relevez le plafond, attendez que la limite se recharge ou démarrez une nouvelle conversation :

720 728 

721Définissez la variable d'environnement [`CLAUDE_CODE_MAX_WEB_SEARCHES_PER_SESSION`](/docs/fr/env-vars) pour modifier le plafond ; elle accepte un nombre entier positif, donc le plafond peut être augmenté mais pas désactivé. L'exécution de [`/clear`](/docs/fr/commands#all-commands) réinitialise le compteur. Si un travail qui peut toujours générer des [sous-agents](/docs/fr/sub-agents) survit au clear, comme un workflow en cours d'exécution, le compteur est reporté à la place.729* **Relever le plafond** : définissez la variable d'environnement [`CLAUDE_CODE_MAX_WEB_SEARCHES_PER_SESSION`](/docs/fr/env-vars#variables) sur un nombre entier positif, comme `500`. Le plafond peut être augmenté mais pas désactivé.

730* **Attendre la recharge** : sur Claude Code v2.1.290 ou ultérieur, la limite d'une session de terminal interactive se recharge à raison d'environ 100 appels par heure. Pour modifier ce rythme, définissez [`CLAUDE_CODE_WEB_SEARCH_REFILLS_PER_HOUR`](/docs/fr/env-vars#variables) sur un nombre d'appels par heure, comme `50`.

731* **Démarrer une nouvelle conversation** : l'exécution de [`/clear`](/docs/fr/commands#all-commands) dans le prompt de Claude Code réinitialise également le compteur. Si un travail qui peut toujours générer des sous-agents survit au clear, comme un workflow en cours d'exécution, le compteur est reporté à la place.

722 732 

723<h2 id="write-tool-behavior">733<h2 id="write-tool-behavior">

724 Comportement de l'outil Write734 Comportement de l'outil Write

vs-code.md +1 −0

Details

623* **Les réponses de Claude** : l'extension annonce chaque réponse une seule fois, lorsqu'elle est complète, et reste silencieuse pendant que le texte s'affiche. Votre lecteur d'écran lit les blocs de code comme un résumé du nombre de lignes, lit les liens par leur étiquette, et lit les tableaux cellule par cellule ; la réponse complète reste lisible dans la transcription.623* **Les réponses de Claude** : l'extension annonce chaque réponse une seule fois, lorsqu'elle est complète, et reste silencieuse pendant que le texte s'affiche. Votre lecteur d'écran lit les blocs de code comme un résumé du nombre de lignes, lit les liens par leur étiquette, et lit les tableaux cellule par cellule ; la réponse complète reste lisible dans la transcription.

624* **Les demandes de permission et les questions** : l'extension annonce une demande lorsque son invite de permission apparaît, en nommant l'outil que Claude souhaite utiliser. Elle annonce de la même manière lorsque Claude vous pose une question et lorsque Claude termine un plan et attend votre examen.624* **Les demandes de permission et les questions** : l'extension annonce une demande lorsque son invite de permission apparaît, en nommant l'outil que Claude souhaite utiliser. Elle annonce de la même manière lorsque Claude vous pose une question et lorsque Claude termine un plan et attend votre examen.

625* **Les changements de statut** : l'extension annonce lorsque Claude commence à travailler, lorsque Claude est prêt pour votre entrée, et lorsque Claude Code commence à compacter la conversation.625* **Les changements de statut** : l'extension annonce lorsque Claude commence à travailler, lorsque Claude est prêt pour votre entrée, et lorsque Claude Code commence à compacter la conversation.

626* **Les messages en file d'attente** : lorsque vous envoyez un message pendant que Claude travaille, l'extension annonce « Message queued. » pour ce message.

626* **Les erreurs et les invites de modèle** : l'extension annonce les erreurs dans la conversation, et annonce lorsque l'[invite de consentement des crédits d'utilisation](/docs/fr/model-config#fable-and-usage-credits) ou l'[invite de demande signalée](/docs/fr/model-config#ask-before-switching) apparaît.627* **Les erreurs et les invites de modèle** : l'extension annonce les erreurs dans la conversation, et annonce lorsque l'[invite de consentement des crédits d'utilisation](/docs/fr/model-config#fable-and-usage-credits) ou l'[invite de demande signalée](/docs/fr/model-config#ask-before-switching) apparaît.

627 628 

628Pendant que Claude travaille, votre lecteur d'écran lit une étiquette de texte à la place de l'animation du spinner de progression.629Pendant que Claude travaille, votre lecteur d'écran lit une étiquette de texte à la place de l'animation du spinner de progression.

Details

12 12 

13Une session cloud exécute Claude Code sur l'infrastructure cloud au lieu de votre machine, gérée par Anthropic par défaut. Ce guide de démarrage rapide en lance une depuis [claude.ai/code](https://claude.ai/code) dans votre navigateur. Vous pouvez également en lancer une depuis l'application mobile Claude, l'application Desktop, ou votre terminal avec `claude --cloud`.13Une session cloud exécute Claude Code sur l'infrastructure cloud au lieu de votre machine, gérée par Anthropic par défaut. Ce guide de démarrage rapide en lance une depuis [claude.ai/code](https://claude.ai/code) dans votre navigateur. Vous pouvez également en lancer une depuis l'application mobile Claude, l'application Desktop, ou votre terminal avec `claude --cloud`.

14 14 

15Vous aurez besoin d'un référentiel GitHub pour [démarrer](#connect-github). Claude le clone dans une machine virtuelle isolée, effectue des modifications et pousse une branche pour que vous la révisiez. Les sessions persistent sur les appareils, donc une tâche que vous commencez sur votre ordinateur portable est prête à être examinée depuis votre téléphone plus tard.15Vous aurez besoin d'un dépôt GitHub pour [démarrer](#connect-github). Claude le clone dans une machine virtuelle isolée, effectue des modifications et pousse une branche pour que vous la révisiez. Les sessions persistent sur les appareils, donc une tâche que vous commencez sur votre ordinateur portable est prête à être examinée depuis votre téléphone plus tard. Chaque session est comptabilisée dans les limites d'utilisation de votre plan, au même titre que le reste de votre utilisation de Claude et Claude Code, et la VM cloud n'entraîne aucun frais supplémentaire.

16 16 

17Les sessions cloud fonctionnent bien pour :17Les sessions cloud fonctionnent bien pour :

18 18 

Details

59 <span className="digest-feature-pill">v2.1.89</span>59 <span className="digest-feature-pill">v2.1.89</span>

60 </div>60 </div>

61 61 

62 <p className="digest-feature-lede">Optez pour un nouveau moteur de rendu alt-screen avec scrollback virtualisé. L'entrée du prompt reste épinglée au bas, la sélection à la souris fonctionne sur les longues conversations, et le scintillement au redessinage a disparu. Désactivez <code>CLAUDE\_CODE\_NO\_FLICKER</code> pour revenir en arrière.</p>62 <p className="digest-feature-lede">Optez pour un nouveau moteur de rendu alt-screen avec scrollback virtualisé. L'entrée du prompt reste épinglée au bas, la sélection à la souris fonctionne sur les longues conversations, et le scintillement au redessinage a disparu. Supprimez <code>CLAUDE\_CODE\_NO\_FLICKER</code> pour revenir en arrière.</p>

63 63 

64 <Frame>64 <Frame>

65 <video autoPlay muted loop playsInline className="w-full" src="https://mintcdn.com/claude-code/CfffsX01JHFnIKvD/images/whats-new/flicker-free.mp4?fit=max&auto=format&n=CfffsX01JHFnIKvD&q=85&s=7719e35e52a3f9734b0cf69edac333ad" data-path="images/whats-new/flicker-free.mp4" />65 <video autoPlay muted loop playsInline className="w-full" src="https://mintcdn.com/claude-code/CfffsX01JHFnIKvD/images/whats-new/flicker-free.mp4?fit=max&auto=format&n=CfffsX01JHFnIKvD&q=85&s=7719e35e52a3f9734b0cf69edac333ad" data-path="images/whats-new/flicker-free.mp4" />