SpyBara
Go Premium

Documentation 2026-09-29 23:58 UTC to 2026-09-30 21:02 UTC

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

advisor.md +3 −2

Details

97 Choisir un modèle advisor97 Choisir un modèle advisor

98</h2>98</h2>

99 99 

100L'advisor doit être au moins aussi capable que le modèle principal. Les advisors acceptés pour chaque modèle principal sont :100Claude Code et l'API nécessitent un advisor au moins aussi capable que le modèle principal, et les deux classent certains modèles différemment. Les advisors acceptés pour chaque modèle principal sont :

101 101 

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

103| - | - | - |103| - | - | - |

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

105| Sonnet 4.6 | Fable, Opus, Sonnet | |105| Sonnet 4.6 | Fable, Opus, Sonnet | |

106| Sonnet 5.5 ou Sonnet 5 | Fable, Opus 4.7 ou ultérieur, Sonnet 5 ou ultérieur | Un advisor Sonnet 4.6 est rejeté, et l'API refuse un advisor Opus 4.6 |106| Sonnet 5 | Fable, Opus 4.7 ou ultérieur, Sonnet 5 ou ultérieur | Un advisor Sonnet 4.6 est rejeté, et l'API refuse un advisor Opus 4.6 |

107| Sonnet 5.5 | Fable, Opus 5 ou ultérieur, Sonnet 5.5 | Un advisor Sonnet 4.6 est rejeté, et l'API refuse un advisor Sonnet 5, Opus 4.6, Opus 4.7, ou Opus 4.8 |

107| Opus 4.6 | Fable, Opus, Sonnet 5 ou ultérieur | Un advisor Sonnet 4.6 est rejeté |108| Opus 4.6 | Fable, Opus, Sonnet 5 ou ultérieur | Un advisor Sonnet 4.6 est rejeté |

108| Opus 4.7 ou Opus 4.8 | Fable, et Opus 4.7 ou ultérieur | Un advisor Opus 4.6 ou Sonnet est rejeté |109| Opus 4.7 ou Opus 4.8 | Fable, et Opus 4.7 ou ultérieur | Un advisor Opus 4.6 ou Sonnet est rejeté |

109| Opus 5.5 ou Opus 5 | Fable, et Opus 5 ou ultérieur | Un advisor Opus 4.6 ou Sonnet est rejeté, et l'API refuse un advisor Opus 4.7 ou Opus 4.8 |110| Opus 5.5 ou Opus 5 | Fable, et Opus 5 ou ultérieur | Un advisor Opus 4.6 ou Sonnet est rejeté, et l'API refuse un advisor Opus 4.7 ou Opus 4.8 |

Details

258| `"acceptEdits"` | Approuve automatiquement les éditions de fichiers et les commandes communes du système de fichiers (`mkdir`, `touch`, `mv`, `cp`, etc.) ; les autres commandes Bash suivent les règles par défaut | Vous faites confiance aux éditions de Claude et voulez une itération plus rapide, par exemple lors du prototypage ou lorsque vous travaillez dans un répertoire isolé |258| `"acceptEdits"` | Approuve automatiquement les éditions de fichiers et les commandes communes du système de fichiers (`mkdir`, `touch`, `mv`, `cp`, etc.) ; les autres commandes Bash suivent les règles par défaut | Vous faites confiance aux éditions de Claude et voulez une itération plus rapide, par exemple lors du prototypage ou lorsque vous travaillez dans un répertoire isolé |

259| `"plan"` | Claude explore et planifie sans éditer vos fichiers source ; les éditions de fichiers ne sont jamais approuvées automatiquement et demandent via votre rappel `canUseTool` | Vous voulez que Claude propose des modifications sans les exécuter, par exemple lors d'une revue de code ou lorsque vous devez approuver les modifications avant qu'elles ne soient apportées |259| `"plan"` | Claude explore et planifie sans éditer vos fichiers source ; les éditions de fichiers ne sont jamais approuvées automatiquement et demandent via votre rappel `canUseTool` | Vous voulez que Claude propose des modifications sans les exécuter, par exemple lors d'une revue de code ou lorsque vous devez approuver les modifications avant qu'elles ne soient apportées |

260| `"dontAsk"` | Ne demande jamais. Les outils pré-approuvés par les [règles de permission](/docs/fr/settings-reference#permission-settings) s'exécutent, et il en va de même pour les appels qui ne nécessitent pas d'approbation en mode `default`, comme les lectures de fichiers dans vos répertoires de travail ; tout appel qui demanderait autrement est refusé. `AskUserQuestion`, les outils connecteur [que votre organisation a définis sur `ask`](/docs/fr/mcp#organization-controls-on-connector-tools) et les outils MCP marqués [`requiresUserInteraction`](/docs/fr/mcp#require-approval-for-a-specific-tool) sont refusés même si vous les avez autorisés | Vous voulez une surface d'outils fixe et explicite pour un agent sans interface et préférez un refus catégorique plutôt qu'une dépendance silencieuse à l'absence de `canUseTool` |260| `"dontAsk"` | Ne demande jamais. Les outils pré-approuvés par les [règles de permission](/docs/fr/settings-reference#permission-settings) s'exécutent, et il en va de même pour les appels qui ne nécessitent pas d'approbation en mode `default`, comme les lectures de fichiers dans vos répertoires de travail ; tout appel qui demanderait autrement est refusé. `AskUserQuestion`, les outils connecteur [que votre organisation a définis sur `ask`](/docs/fr/mcp#organization-controls-on-connector-tools) et les outils MCP marqués [`requiresUserInteraction`](/docs/fr/mcp#require-approval-for-a-specific-tool) sont refusés même si vous les avez autorisés | Vous voulez une surface d'outils fixe et explicite pour un agent sans interface et préférez un refus catégorique plutôt qu'une dépendance silencieuse à l'absence de `canUseTool` |

261| `"auto"` | Utilise un classificateur de modèle pour approuver ou refuser les invites de permission. Voir [Mode auto](/docs/fr/permission-modes#eliminate-prompts-with-auto-mode) pour la disponibilité et le comportement | Agents autonomes qui veulent toujours des garde-fous de sécurité sur l'utilisation des outils |261| `"auto"` | Utilise un classificateur de modèle pour examiner les actions telles que les commandes shell et les demandes réseau, en autorisant ou en bloquant chacune qu'il examine. Voir [Mode auto](/docs/fr/permission-modes#eliminate-prompts-with-auto-mode) pour la disponibilité et l'ordre de décision | Agents autonomes qui veulent toujours des garde-fous de sécurité sur l'utilisation des outils |

262| `"bypassPermissions"` | Exécute tous les outils autorisés sans demander, sauf les outils correspondant à une [règle `ask`](/docs/fr/settings-reference#permission-settings) explicite, les outils connecteur [que votre organisation a définis sur `ask`](/docs/fr/mcp#organization-controls-on-connector-tools) et les outils qui nécessitent une interaction utilisateur. Les [garde-fous de messagerie inter-sessions](/docs/fr/permission-modes#skip-all-checks-with-bypasspermissions-mode) s'appliquent toujours. Voir [Comment les permissions sont évaluées](/docs/fr/agent-sdk/permissions#how-permissions-are-evaluated) pour l'ordre de précédence. Dans le SDK TypeScript, nécessite également `allowDangerouslySkipPermissions: true` dans `options`. Ne peut pas être utilisé lors de l'exécution en tant que root sur Unix. À utiliser uniquement dans des environnements isolés où les actions de l'agent ne peuvent pas affecter les systèmes qui vous intéressent | CI, conteneurs ou autres environnements isolés |262| `"bypassPermissions"` | Exécute tous les outils autorisés sans demander, sauf les outils correspondant à une [règle `ask`](/docs/fr/settings-reference#permission-settings) explicite, les outils connecteur [que votre organisation a définis sur `ask`](/docs/fr/mcp#organization-controls-on-connector-tools) et les outils qui nécessitent une interaction utilisateur. Les [garde-fous de messagerie inter-sessions](/docs/fr/permission-modes#skip-all-checks-with-bypasspermissions-mode) s'appliquent toujours. Voir [Comment les permissions sont évaluées](/docs/fr/agent-sdk/permissions#how-permissions-are-evaluated) pour l'ordre de précédence. Dans le SDK TypeScript, nécessite également `allowDangerouslySkipPermissions: true` dans `options`. Ne peut pas être utilisé lors de l'exécution en tant que root sur Unix. À utiliser uniquement dans des environnements isolés où les actions de l'agent ne peuvent pas affecter les systèmes qui vous intéressent | CI, conteneurs ou autres environnements isolés |

263 263 

264Pour les applications interactives, utilisez `"default"` avec un rappel d'approbation d'outil pour afficher les invites d'approbation. Pour les agents autonomes sur une machine de développement, `"acceptEdits"` approuve automatiquement les éditions de fichiers et les commandes communes du système de fichiers (`mkdir`, `touch`, `mv`, `cp`, etc.) tout en gardant les autres commandes `Bash` derrière les règles d'autorisation. Réservez `"bypassPermissions"` pour CI, les conteneurs ou d'autres environnements isolés. Voir [Permissions](/docs/fr/agent-sdk/permissions) pour les détails complets.264Pour les applications interactives, utilisez `"default"` avec un rappel d'approbation d'outil pour afficher les invites d'approbation. Pour les agents autonomes sur une machine de développement, `"acceptEdits"` approuve automatiquement les éditions de fichiers et les commandes communes du système de fichiers (`mkdir`, `touch`, `mv`, `cp`, etc.) tout en gardant les autres commandes `Bash` derrière les règles d'autorisation. Réservez `"bypassPermissions"` pour CI, les conteneurs ou d'autres environnements isolés. Voir [Permissions](/docs/fr/agent-sdk/permissions) pour les détails complets.

Details

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

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

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

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

138 138 

139<Warning>139<Warning>

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

Details

2885 2885 

2886**Nom de l'outil :** `Bash`2886**Nom de l'outil :** `Bash`

2887 2887 

2888Pour ce qui définit le plafond au premier plan, voir [Limites de délai d'attente et de sortie](/docs/fr/tools-reference#timeout-and-output-limits). Pour la limite de temps en arrière-plan, voir [Commandes en arrière-plan](/docs/fr/tools-reference#background-commands).

2889 

2888**Entrée :**2890**Entrée :**

2889 2891 

2890```python theme={null}2892```python theme={null}

2891{2893{

2892 "command": str, # The command to execute2894 "command": str, # The command to execute

2893 "timeout": int | None, # Optional timeout in milliseconds (max 600000; higher values are clamped to the max)2895 "timeout": int | None, # Milliseconds. Foreground: capped at 600000 by default, higher values are clamped. With run_in_background (Claude Code v2.1.285 or later): the background time limit, 1800000 when omitted, capped at 7200000 unless raised

2894 "description": str | None, # Clear, concise description (5-10 words)2896 "description": str | None, # Clear, concise description (5-10 words)

2895 "run_in_background": bool | None, # Set to true to run in background2897 "run_in_background": bool | None, # Set to true to run in background

2896}2898}


3193**Nom de l'outil :** `TodoWrite`3195**Nom de l'outil :** `TodoWrite`

3194 3196 

3195<Note>3197<Note>

3196 The following tools are available by default only on Claude 3.x models, Opus 4 through 4.7, Sonnet 4 through 4.6, and Haiku 4.5. On every other model, including model IDs Claude Code doesn't recognize, they aren't available unless you opt in:3198 Les outils suivants sont disponibles par défaut uniquement sur les modèles Claude 3.x, Opus 4 à 4.7, Sonnet 4 à 4.6 et Haiku 4.5. Sur tous les autres modèles, y compris les identifiants de modèle que Claude Code ne reconnaît pas, ils ne sont pas disponibles sauf si vous les activez :

3197 3199 

3198 * `TodoWrite`3200 * `TodoWrite`

3199 * `TaskCreate`3201 * `TaskCreate`


3201 * `TaskUpdate`3203 * `TaskUpdate`

3202 * `TaskList`3204 * `TaskList`

3203 3205 

3204 Wherever the tools are available, Claude Code provides the four Task tools, or `TodoWrite` instead when you set `CLAUDE_CODE_ENABLE_TASKS=0`.3206 Partout où les outils sont disponibles, Claude Code fournit les quatre outils Task, ou `TodoWrite` à la place lorsque vous définissez `CLAUDE_CODE_ENABLE_TASKS=0`.

3205 3207 

3206 This default set applies in Claude Code v2.1.268 and later, which the TypeScript Agent SDK bundles from v0.3.268.3208 Cet ensemble par défaut s'applique dans Claude Code v2.1.268 et versions ultérieures, que le SDK TypeScript Agent regroupe à partir de v0.3.268.

3207 3209 

3208 Voir [Disponibilité du modèle](/docs/fr/agent-sdk/todo-tracking#model-availability) pour vous inscrire.3210 Voir [Disponibilité du modèle](/docs/fr/agent-sdk/todo-tracking#model-availability) pour vous inscrire.

3209</Note>3211</Note>

Details

15</h2>15</h2>

16 16 

17<Note>17<Note>

18 The following tools are available by default only on Claude 3.x models, Opus 4 through 4.7, Sonnet 4 through 4.6, and Haiku 4.5. On every other model, including model IDs Claude Code doesn't recognize, they aren't available unless you opt in:18 Les outils suivants sont disponibles par défaut uniquement sur les modèles Claude 3.x, Opus 4 à 4.7, Sonnet 4 à 4.6 et Haiku 4.5. Sur tous les autres modèles, y compris les identifiants de modèle que Claude Code ne reconnaît pas, ils ne sont pas disponibles sauf si vous les activez :

19 19 

20 * `TodoWrite`20 * `TodoWrite`

21 * `TaskCreate`21 * `TaskCreate`


23 * `TaskUpdate`23 * `TaskUpdate`

24 * `TaskList`24 * `TaskList`

25 25 

26 Wherever the tools are available, Claude Code provides the four Task tools, or `TodoWrite` instead when you set `CLAUDE_CODE_ENABLE_TASKS=0`.26 Partout où les outils sont disponibles, Claude Code fournit les quatre outils Task, ou `TodoWrite` à la place lorsque vous définissez `CLAUDE_CODE_ENABLE_TASKS=0`.

27 27 

28 This default set applies in Claude Code v2.1.268 and later, which the TypeScript Agent SDK bundles from v0.3.268.28 Cet ensemble par défaut s'applique dans Claude Code v2.1.268 et versions ultérieures, que le SDK TypeScript Agent regroupe à partir de v0.3.268.

29</Note>29</Note>

30 30 

31Sur un modèle qui n'a pas les outils par défaut, sauf si vous optez pour une session, vous ne voyez aucun bloc `tool_use` pour eux dans le flux de messages. Le SDK Agent applique ces paramètres par défaut via le binaire Claude Code qu'il regroupe. Si vous pointez `pathToClaudeCodeExecutable` (TypeScript) ou `cli_path` (Python) vers votre propre installation de Claude Code, vous obtenez les outils que cette installation fournit, selon ses propres paramètres par défaut. Pour voir l'ensemble exact dans une session en cours d'exécution, [vérifiez quels outils sont disponibles](/docs/fr/tools-reference#check-which-tools-are-available). Pour opter pour une session, faites l'une des choses suivantes :31Sur un modèle qui n'a pas les outils par défaut, sauf si vous optez pour une session, vous ne voyez aucun bloc `tool_use` pour eux dans le flux de messages. Le SDK Agent applique ces paramètres par défaut via le binaire Claude Code qu'il regroupe. Si vous pointez `pathToClaudeCodeExecutable` (TypeScript) ou `cli_path` (Python) vers votre propre installation de Claude Code, vous obtenez les outils que cette installation fournit, selon ses propres paramètres par défaut. Pour voir l'ensemble exact dans une session en cours d'exécution, [vérifiez quels outils sont disponibles](/docs/fr/tools-reference#check-which-tools-are-available). Pour opter pour une session, faites l'une des choses suivantes :

Details

308| `summary` | `string` | Titre d'affichage : titre personnalisé, résumé généré automatiquement ou première invite |308| `summary` | `string` | Titre d'affichage : titre personnalisé, résumé généré automatiquement ou première invite |

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

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

311| `customTitle` | `string \| undefined` | Titre de session défini par l'utilisateur (via `/rename`) |311| `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 |

312| `firstPrompt` | `string \| undefined` | Première invite utilisateur significative dans la session |312| `firstPrompt` | `string \| undefined` | Première invite utilisateur significative dans la session |

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

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


3232```typescript theme={null}3232```typescript theme={null}

3233type BashInput = {3233type BashInput = {

3234 command: string;3234 command: string;

3235 timeout?: number; // milliseconds, max 600000; higher values are clamped to the max3235 timeout?: number; // milliseconds. Foreground: capped at 600000 by default, higher values are clamped. With run_in_background (Claude Code v2.1.285 or later): the background time limit, 1800000 when omitted, capped at 7200000 unless raised

3236 description?: string;3236 description?: string;

3237 run_in_background?: boolean;3237 run_in_background?: boolean;

3238 dangerouslyDisableSandbox?: boolean;3238 dangerouslyDisableSandbox?: boolean;

3239};3239};

3240```3240```

3241 3241 

3242Exécute les commandes Bash avec délai d'expiration optionnel et exécution en arrière-plan. Le répertoire de travail persiste entre les commandes, y compris les commandes exécutées dans les tours ultérieurs d'une session multi-tour ; l'état du shell tel que les variables d'environnement exportées ne persiste pas. Pour les limites sur les changements de répertoire qui persistent, voir [Ce qui persiste entre les commandes](/docs/fr/tools-reference#what-persists-between-commands).3242Exécute les commandes Bash avec délai d'expiration optionnel et exécution en arrière-plan. Le répertoire de travail persiste entre les commandes, y compris les commandes exécutées dans les tours ultérieurs d'une session multi-tour ; l'état du shell tel que les variables d'environnement exportées ne persiste pas. Pour les limites sur les changements de répertoire qui persistent, voir [Ce qui persiste entre les commandes](/docs/fr/tools-reference#what-persists-between-commands). Pour ce qui définit le plafond de premier plan, voir [Délai d'expiration et limites de sortie](/docs/fr/tools-reference#timeout-and-output-limits). Pour la limite de temps en arrière-plan, voir [Commandes en arrière-plan](/docs/fr/tools-reference#background-commands).

3243 3243 

3244<h3 id="monitor">3244<h3 id="monitor">

3245 Monitor3245 Monitor


3261 3261 

3262Exé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.3262Exé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.

3263 3263 

3264`timeout_ms` est la date limite de la montre en millisecondes. Elle est par défaut 300000 et accepte les valeurs jusqu'à 3600000. La date limite effective est au maximum 1800000, 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.3264`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.

3265 3265 

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

3267 3267 


3482Crée et gère une liste de tâches structurée pour suivre la progression.3482Crée et gère une liste de tâches structurée pour suivre la progression.

3483 3483 

3484<Note>3484<Note>

3485 The following tools are available by default only on Claude 3.x models, Opus 4 through 4.7, Sonnet 4 through 4.6, and Haiku 4.5. On every other model, including model IDs Claude Code doesn't recognize, they aren't available unless you opt in:3485 Les outils suivants sont disponibles par défaut uniquement sur les modèles Claude 3.x, Opus 4 à 4.7, Sonnet 4 à 4.6 et Haiku 4.5. Sur tous les autres modèles, y compris les identifiants de modèle que Claude Code ne reconnaît pas, ils ne sont pas disponibles sauf si vous les activez :

3486 3486 

3487 * `TodoWrite`3487 * `TodoWrite`

3488 * `TaskCreate`3488 * `TaskCreate`


3490 * `TaskUpdate`3490 * `TaskUpdate`

3491 * `TaskList`3491 * `TaskList`

3492 3492 

3493 Wherever the tools are available, Claude Code provides the four Task tools, or `TodoWrite` instead when you set `CLAUDE_CODE_ENABLE_TASKS=0`.3493 Partout où les outils sont disponibles, Claude Code fournit les quatre outils Task, ou `TodoWrite` à la place lorsque vous définissez `CLAUDE_CODE_ENABLE_TASKS=0`.

3494 3494 

3495 This default set applies in Claude Code v2.1.268 and later, which the TypeScript Agent SDK bundles from v0.3.268.3495 Cet ensemble par défaut s'applique dans Claude Code v2.1.268 et versions ultérieures, que le SDK TypeScript Agent regroupe à partir de v0.3.268.

3496 3496 

3497 Voir [Disponibilité du modèle](/docs/fr/agent-sdk/todo-tracking#model-availability) pour vous inscrire.3497 Voir [Disponibilité du modèle](/docs/fr/agent-sdk/todo-tracking#model-availability) pour vous inscrire.

3498</Note>3498</Note>


3667};3667};

3668```3668```

3669 3669 

3670Planifie 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 : démarrer une nouvelle conversation les efface, et reprendre avec `--resume` ou `--continue` restaure les tâches qui n'ont pas expiré. Voir [Tâches planifiées](/docs/fr/scheduled-tasks).3670Planifie 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).

3671 3671 

3672Dé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é.3672Dé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é.

3673 3673 


3713};3713};

3714```3714```

3715 3715 

3716Planifie 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 3600 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).3716Planifie 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).

3717 3717 

3718<h3 id="remotetrigger">3718<h3 id="remotetrigger">

3719 RemoteTrigger3719 RemoteTrigger


4143 4143 

4144`timedOutAfterMs` est le délai d'expiration en millisecondes, défini lorsque la commande a atteint son délai d'expiration et s'est déplacée en arrière-plan plutôt que de démarrer explicitement. `backgroundCwdHint` est défini lorsque la commande mise en arrière-plan contenait une fonction intégrée de changement de répertoire telle que `cd`, `pushd`, `popd` ou `chdir`, et note que le répertoire de travail de la session n'a pas changé. Les deux champs nécessitent Claude Code v2.1.210 ou ultérieur.4144`timedOutAfterMs` est le délai d'expiration en millisecondes, défini lorsque la commande a atteint son délai d'expiration et s'est déplacée en arrière-plan plutôt que de démarrer explicitement. `backgroundCwdHint` est défini lorsque la commande mise en arrière-plan contenait une fonction intégrée de changement de répertoire telle que `cd`, `pushd`, `popd` ou `chdir`, et note que le répertoire de travail de la session n'a pas changé. Les deux champs nécessitent Claude Code v2.1.210 ou ultérieur.

4145 4145 

4146Lorsqu'un sous-agent s'exécutant au premier plan possède une commande mise en arrière-plan, Claude Code termine la commande lorsque ce sous-agent donne sa réponse finale. Claude Code définit `backgroundEndsWithFinalResponse` à `true` sur de telles commandes, et omet le champ lorsque la commande survit au tour, comme les commandes démarrées par la conversation principale ou par les sous-agents de fond. Le champ nécessite Claude Code v2.1.227 ou ultérieur.4146Lorsqu'un sous-agent s'exécutant au premier plan possède une commande mise en arrière-plan, la commande [se termine lorsque ce sous-agent donne sa réponse finale](/docs/fr/tools-reference#background-commands). Claude Code définit `backgroundEndsWithFinalResponse` à `true` sur de telles commandes, et omet le champ lorsque la commande survit au tour, comme les commandes démarrées par la conversation principale ou par les sous-agents de fond. Le champ nécessite Claude Code v2.1.227 ou ultérieur.

4147 4147 

4148Claude Code définit `gitOperation.commit.branch` à la branche nommée dans la ligne de résumé du commit git, et l'omet pour un commit effectué sur une HEAD détachée. Le champ nécessite Agent SDK v0.3.227 ou ultérieur. Claude Code signale une commande `gh pr reopen` comme l'action PR `reopened`, ce qui nécessite Agent SDK v0.3.234 ou ultérieur.4148Claude Code définit `gitOperation.commit.branch` à la branche nommée dans la ligne de résumé du commit git, et l'omet pour un commit effectué sur une HEAD détachée. Le champ nécessite Agent SDK v0.3.227 ou ultérieur. Claude Code signale une commande `gh pr reopen` comme l'action PR `reopened`, ce qui nécessite Agent SDK v0.3.234 ou ultérieur.

4149 4149 


4511Retourne les listes de tâches précédentes et mises à jour.4511Retourne les listes de tâches précédentes et mises à jour.

4512 4512 

4513<Note>4513<Note>

4514 The following tools are available by default only on Claude 3.x models, Opus 4 through 4.7, Sonnet 4 through 4.6, and Haiku 4.5. On every other model, including model IDs Claude Code doesn't recognize, they aren't available unless you opt in:4514 Les outils suivants sont disponibles par défaut uniquement sur les modèles Claude 3.x, Opus 4 à 4.7, Sonnet 4 à 4.6 et Haiku 4.5. Sur tous les autres modèles, y compris les identifiants de modèle que Claude Code ne reconnaît pas, ils ne sont pas disponibles sauf si vous les activez :

4515 4515 

4516 * `TodoWrite`4516 * `TodoWrite`

4517 * `TaskCreate`4517 * `TaskCreate`


4519 * `TaskUpdate`4519 * `TaskUpdate`

4520 * `TaskList`4520 * `TaskList`

4521 4521 

4522 Wherever the tools are available, Claude Code provides the four Task tools, or `TodoWrite` instead when you set `CLAUDE_CODE_ENABLE_TASKS=0`.4522 Partout où les outils sont disponibles, Claude Code fournit les quatre outils Task, ou `TodoWrite` à la place lorsque vous définissez `CLAUDE_CODE_ENABLE_TASKS=0`.

4523 4523 

4524 This default set applies in Claude Code v2.1.268 and later, which the TypeScript Agent SDK bundles from v0.3.268.4524 Cet ensemble par défaut s'applique dans Claude Code v2.1.268 et versions ultérieures, que le SDK TypeScript Agent regroupe à partir de v0.3.268.

4525 4525 

4526 Consultez [Disponibilité du modèle](/docs/fr/agent-sdk/todo-tracking#model-availability) pour vous inscrire.4526 Consultez [Disponibilité du modèle](/docs/fr/agent-sdk/todo-tracking#model-availability) pour vous inscrire.

4527</Note>4527</Note>

agent-view.md +28 −2

Details

64 </Step>64 </Step>

65</Steps>65</Steps>

66 66 

67Vous pouvez utiliser `claude agents` comme point d'entrée principal au lieu de `claude` : dispatcher chaque tâche à partir de la vue agent, vous attacher quand vous voulez la conversation complète, et appuyer sur `←` pour revenir au tableau.

68 

69À l'intérieur d'une session `claude` régulière, l'indice `←` du pied de page de l'invite compte les agents en arrière-plan qui attendent votre intervention, comme `← 2 agents`, et revient à `← for agents` quand aucun n'a besoin d'entrée. Les comptages supérieurs à 99 s'affichent comme `99+`. Le comptage se rafraîchit environ toutes les dix secondes lorsque le terminal est actif et immédiatement quand le focus revient. Il change brièvement de couleur quand il se déplace et quand un agent se termine, et quand une session en arrière-plan se termine alors qu'aucune n'a besoin de votre intervention, elle affiche brièvement le nombre complété, comme `← 2 done`. Les deux flashs sont désactivés quand le paramètre [`prefersReducedMotion`](/docs/fr/settings-reference#prefersreducedmotion) est activé, et l'indice est masqué en [mode lecteur d'écran](/docs/fr/accessibility).67À l'intérieur d'une session `claude` régulière, l'indice `←` du pied de page de l'invite compte les agents en arrière-plan qui attendent votre intervention, comme `← 2 agents`, et revient à `← for agents` quand aucun n'a besoin d'entrée. Les comptages supérieurs à 99 s'affichent comme `99+`. Le comptage se rafraîchit environ toutes les dix secondes lorsque le terminal est actif et immédiatement quand le focus revient. Il change brièvement de couleur quand il se déplace et quand un agent se termine, et quand une session en arrière-plan se termine alors qu'aucune n'a besoin de votre intervention, elle affiche brièvement le nombre complété, comme `← 2 done`. Les deux flashs sont désactivés quand le paramètre [`prefersReducedMotion`](/docs/fr/settings-reference#prefersreducedmotion) est activé, et l'indice est masqué en [mode lecteur d'écran](/docs/fr/accessibility).

70 68 

69<h3 id="open-agent-view-by-default">

70 Ouvrir la vue agent par défaut

71</h3>

72 

73Pour que `claude` sans arguments ouvre la vue agent au lieu d'une nouvelle conversation, activez un paramètre `/config`.

74 

75<Steps>

76 <Step title="Activer le paramètre">

77 Dans une session `claude` régulière, exécutez `/config` et activez **Ouvrir la vue agents par défaut**. Pour ignorer le menu, définissez directement la clé [`defaultToAgentsView`](/docs/fr/settings-reference#defaulttoagentsview) :

78 

79 ```text theme={null}

80 /config defaultToAgentsView=true

81 ```

82 </Step>

83 

84 <Step title="Démarrer Claude Code">

85 Quittez la session, puis exécutez `claude` sans arguments :

86 

87 ```bash theme={null}

88 claude

89 ```

90 

91 La vue agent s'ouvre à la place d'une nouvelle conversation.

92 </Step>

93</Steps>

94 

95Pour démarrer une session régulière tandis que le paramètre est activé, passez une invite : `claude "fix the login test"`. Pour désactiver le paramètre, exécutez `/config defaultToAgentsView=false` dans une session régulière ou dans une session à laquelle vous vous attachez à partir de la vue agent.

96 

71<h2 id="monitor-sessions-with-agent-view">97<h2 id="monitor-sessions-with-agent-view">

72 Surveiller les sessions avec la vue agent98 Surveiller les sessions avec la vue agent

73</h2>99</h2>

Details

482 482 

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

484 484 

485L'[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.485L'[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.

486 486 

487<h2 id="service-tiers">487<h2 id="service-tiers">

488 Niveaux de service488 Niveaux de service

artifacts.md +11 −11

Details

100Les personnes avec lesquelles vous pouvez partager dépendent de votre plan :100Les personnes avec lesquelles vous pouvez partager dépendent de votre plan :

101 101 

102* **Au sein de votre organisation** : sur les plans Team et Enterprise, accordez l'accès à des personnes spécifiques de votre organisation, ou à tous les membres. Les spectateurs se connectent à claude.ai en tant que membres de votre organisation pour voir la page.102* **Au sein de votre organisation** : sur les plans Team et Enterprise, accordez l'accès à des personnes spécifiques de votre organisation, ou à tous les membres. Les spectateurs se connectent à claude.ai en tant que membres de votre organisation pour voir la page.

103* **Publiquement** : partagez un lien que n'importe qui sur Internet peut ouvrir, sans connexion à claude.ai requise. Sur les plans Pro et Max, un lien public est le seul moyen de partager un artifact. Sur les plans Team et Enterprise, le partage public est désactivé jusqu'à ce qu'un propriétaire [l'active pour l'organisation](#control-public-sharing).103* **Publiquement** : partagez un lien que n'importe qui sur Internet peut ouvrir, sans connexion à claude.ai requise. Sur les plans Team et Enterprise, le partage public est désactivé jusqu'à ce qu'un propriétaire [l'active pour l'organisation](#control-public-sharing).

104 104 

105<h3 id="let-someone-edit-with-you">105<h3 id="let-someone-edit-with-you">

106 Laisser quelqu'un modifier avec vous106 Laisser quelqu'un modifier avec vous


122 Collecter les commentaires sur un artifact122 Collecter les commentaires sur un artifact

123</h2>123</h2>

124 124 

125Lorsque vous partagez un artifact au sein de votre organisation, les personnes avec lesquelles vous le partagez peuvent laisser des commentaires sur la page, et vous pouvez demander à Claude de lire ces commentaires et d'y répondre. Vous avez besoin de Claude Code v2.1.221 ou version ultérieure et d'un plan Team ou Enterprise, car seul un artifact que vous [partagez au sein de votre organisation](#share-an-artifact) accepte les commentaires. Claude lit les commentaires dans deux cas :125Lorsque vous partagez un artifact au sein de votre organisation, les personnes avec lesquelles vous le partagez peuvent laisser des commentaires sur la page, et vous pouvez demander à Claude de lire ces commentaires et d'y répondre. Vous avez besoin de Claude Code v2.1.221 ou version ultérieure. Claude lit les commentaires dans deux cas :

126 126 

127* **Vous demandez à Claude de les lire** : donnez à Claude l'URL de l'artifact et demandez les commentaires. Claude énumère chaque fil de discussion et marque les commentaires envoyés par quelqu'un qui peut modifier l'artifact.127* **Vous demandez à Claude de les lire** : donnez à Claude l'URL de l'artifact et demandez les commentaires. Claude énumère chaque fil de discussion et marque les commentaires envoyés par quelqu'un qui peut modifier l'artifact.

128* **Quelqu'un qui peut modifier l'artifact envoie un commentaire à Claude** : dans un fil de discussion sur la page, il envoie un commentaire avec **Send to Claude**, ou mentionne `@claude` dans celui-ci. De l'une ou l'autre façon, il active le fil de discussion.128* **Quelqu'un qui peut modifier l'artifact envoie un commentaire à Claude** : dans un fil de discussion sur la page, il envoie un commentaire avec **Send to Claude**, ou mentionne `@claude` dans celui-ci. De l'une ou l'autre façon, il active le fil de discussion.

129 129 

130Claude ne peut répondre à ou résoudre que les fils de discussion activés. Les autres fils restent ouverts jusqu'à ce qu'une personne les résolve sur la page. Les lecteurs voient chaque réponse attribuée à Claude, via vous.130Claude ne peut répondre à ou résoudre que les fils de discussion activés. Les autres fils restent ouverts jusqu'à ce qu'une personne les résolve sur la page. Les lecteurs voient chaque réponse attribuée à Claude, via vous.

131 131 

132Si vous partagez un artifact publiquement, les lecteurs ne peuvent pas commenter : la page affiche `Comments aren't available while this Artifact is shared publicly.` Pour basculer un artifact qui a déjà des fils de commentaires vers un lien public, supprimez d'abord les fils.132Si vous partagez un artifact publiquement, les personnes dont le seul accès est le lien public ne voient pas ses commentaires et ne peuvent pas en ajouter. Les fils de commentaires existants restent sur l'artifact, et vous et ses éditeurs pouvez toujours les lire et y répondre.

133 133 

134Pour demander les commentaires vous-même, donnez à Claude l'URL :134Pour demander les commentaires vous-même, donnez à Claude l'URL :

135 135 


195 195 

196Lorsque vous prévoyez de partager une page alimentée par un connecteur, demandez à Claude d'inclure un message de secours dans chaque section en direct qui nomme le connecteur dont elle a besoin. Un lecteur qui manque la connexion voit alors ce qu'il faut connecter au lieu d'une section vide.196Lorsque vous prévoyez de partager une page alimentée par un connecteur, demandez à Claude d'inclure un message de secours dans chaque section en direct qui nomme le connecteur dont elle a besoin. Un lecteur qui manque la connexion voit alors ce qu'il faut connecter au lieu d'une section vide.

197 197 

198Un artifact qui appelle des connecteurs ne peut pas être partagé via un lien public sur aucun plan. Sur les plans Team et Enterprise, vous pouvez le garder privé ou [le partager au sein de votre organisation](#share-an-artifact). Sur les plans Pro et Max, où un lien public est le seul moyen de partager, un artifact alimenté par un connecteur reste privé pour vous.198Vous pouvez [partager une page alimentée par un connecteur](#share-an-artifact) au sein de votre organisation ou publiquement, selon votre plan et vos paramètres d'organisation. Les appels de connecteur ne s'exécutent pas pour un lecteur qui ouvre le lien public sans se connecter à claude.ai, ou depuis l'extérieur de votre organisation. Ce lecteur voit la page sans ses sections en direct.

199 199 

200<h3 id="the-page-shows-no-live-data-for-a-viewer">200<h3 id="the-page-shows-no-live-data-for-a-viewer">

201 La page n'affiche aucune donnée en direct pour un lecteur201 La page n'affiche aucune donnée en direct pour un lecteur

202</h3>202</h3>

203 203 

204Lorsqu'une page alimentée par un connecteur s'affiche mais que ses sections en direct restent vides pour quelqu'un avec qui vous l'avez partagée, travaillez à travers ces causes :204Lorsqu'une page alimentée par un connecteur s'affiche mais que ses sections en direct restent vides pour un lecteur de votre organisation, travaillez à travers ces causes :

205 205 

206* **Le lecteur n'a pas connecté le connecteur** : les connecteurs sont par compte, de sorte que chaque lecteur a besoin de sa propre connexion à chaque connecteur que la page appelle. Il peut en ajouter un sous **Paramètres > Connecteurs** sur claude.ai, puis recharger la page.206* **Le lecteur n'a pas connecté le connecteur** : les connecteurs sont par compte, de sorte que chaque lecteur a besoin de sa propre connexion à chaque connecteur que la page appelle. Il peut en ajouter un sous **Paramètres > Connecteurs** sur claude.ai, puis recharger la page.

207* **Le lecteur a refusé la demande de permission** : un refus dure pour le reste de ce chargement de page. Recharger la page ramène la demande de permission.207* **Le lecteur a refusé la demande de permission** : un refus dure pour le reste de ce chargement de page. Recharger la page ramène la demande de permission.


375 375 

376| Exigence | Disponible quand |376| Exigence | Disponible quand |

377| :- | :- |377| :- | :- |

378| Plan | Pro, Max, Team ou Enterprise. Sur les plans Pro et Max, les artefacts sont privés pour vous jusqu'à ce que vous les partagiez, et aucune gestion d'administrateur ne s'applique. Sur les plans Team, les artefacts sont activés par défaut. Sur les plans Enterprise, un propriétaire [les active](#manage-artifacts-for-your-organization) dans les paramètres d'administration de claude.ai. |378| Plan | Pro, Max, Team ou Enterprise. Sur les plans Pro et Max, les artefacts sont privés pour vous jusqu'à ce que vous les partagiez, et aucune gestion d'administrateur ne s'applique. Sur les plans Team et Enterprise, les artefacts sont activés par défaut, et un propriétaire peut [les désactiver pour l'organisation](#manage-artifacts-for-your-organization) dans les paramètres d'administration de claude.ai. |

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

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

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


408 Gérer les artefacts pour votre organisation408 Gérer les artefacts pour votre organisation

409</h2>409</h2>

410 410 

411Les propriétaires sur les plans Team et Enterprise contrôlent les artefacts à partir des [paramètres d'administration de claude.ai](https://claude.ai/admin-settings/claude-code). Le contenu des artefacts est stocké sur l'infrastructure exploitée par Anthropic et n'est visible que pour les membres authentifiés de l'organisation de publication, sauf si l'artefact est [partagé publiquement](#control-public-sharing).411Les propriétaires sur les plans Team et Enterprise contrôlent les artefacts à partir des [paramètres d'administration de claude.ai](https://claude.ai/admin-settings/artifacts). Le contenu des artefacts est stocké sur l'infrastructure exploitée par Anthropic et n'est visible que pour les membres authentifiés de l'organisation de publication et les personnes avec lesquelles ils le partagent, sauf si l'artefact est [partagé publiquement](#control-public-sharing).

412 412 

413<h3 id="enable-or-disable-artifacts">413<h3 id="enable-or-disable-artifacts">

414 Activer ou désactiver les artefacts414 Activer ou désactiver les artefacts

415</h3>415</h3>

416 416 

417Pour activer ou désactiver les artefacts pour l'ensemble de l'organisation, allez à [**Paramètres > Claude Code > Capacités**](https://claude.ai/admin-settings/claude-code) et utilisez le bouton bascule **Artefacts**. Sur les plans Enterprise avec contrôle d'accès basé sur les rôles, vous pouvez également limiter les artefacts à des rôles spécifiques : allez à [**Paramètres > Rôles**](https://claude.ai/admin-settings/roles), modifiez un rôle et définissez la permission **Artefacts** sous le groupe **Claude Code**.417Pour activer ou désactiver les artefacts pour l'ensemble de l'organisation, allez à [**Paramètres de l'organisation > Artefacts**](https://claude.ai/admin-settings/artifacts) et utilisez le bouton bascule **Artefacts**. Sur les plans Enterprise avec contrôle d'accès basé sur les rôles, vous pouvez également limiter les artefacts à des rôles spécifiques : allez à [**Paramètres de l'organisation > Rôles**](https://claude.ai/admin-settings/roles), modifiez un rôle et définissez la permission **Artefacts**.

418 418 

419<h3 id="control-connector-calls-from-artifacts">419<h3 id="control-connector-calls-from-artifacts">

420 Contrôler les appels de connecteur à partir des artefacts420 Contrôler les appels de connecteur à partir des artefacts

421</h3>421</h3>

422 422 

423Les [appels de connecteur à partir des artefacts](#pull-live-data-with-mcp-connectors) disposent de leur propre bouton bascule, distinct du bouton bascule **Artefacts** qui active ou désactive les artefacts. Allez à [**Paramètres > Capacités**](https://claude.ai/admin-settings/capabilities) et utilisez le bouton bascule **Activer les connecteurs d'artefacts**. Le même bouton bascule régit les appels de connecteur à partir des artefacts créés dans les conversations de claude.ai, c'est pourquoi il se trouve sous **Paramètres > Capacités** plutôt que sous **Paramètres > Claude Code**.423Les [appels de connecteur à partir des artefacts](#pull-live-data-with-mcp-connectors) disposent de leur propre bouton bascule, distinct du bouton bascule **Artefacts** qui active ou désactive les artefacts. Allez à [**Paramètres de l'organisation > Capacités**](https://claude.ai/admin-settings/capabilities) et utilisez le bouton bascule **Activer les connecteurs d'artefacts**. Le même bouton bascule régit les appels de connecteur à partir des artefacts créés dans les conversations de claude.ai.

424 424 

425<h3 id="control-public-sharing">425<h3 id="control-public-sharing">

426 Contrôler le partage public426 Contrôler le partage public

427</h3>427</h3>

428 428 

429Le partage public est désactivé par défaut sur les plans Team et Enterprise, de sorte que les membres ne peuvent partager les artefacts que dans l'organisation jusqu'à ce qu'un propriétaire l'active. Pour permettre aux membres de publier des artefacts vers des liens publics que n'importe qui peut consulter sans se connecter, allez à **Paramètres > Claude Code > Capacités** et activez **Partage externe** sous le bouton bascule **Artefacts**. Le désactiver à nouveau bloque l'accès via les liens publics existants sans modifier l'audience de chaque artefact ; l'accès reprend si vous le réactivez.429Le partage public est désactivé par défaut sur les plans Team et Enterprise. Pour permettre aux membres de publier des artefacts vers des liens publics que n'importe qui peut consulter sans se connecter, allez à [**Paramètres de l'organisation > Artefacts**](https://claude.ai/admin-settings/artifacts) et activez **Partage externe** sous le bouton bascule **Artefacts**. Le désactiver à nouveau bloque l'accès via les liens publics existants sans modifier l'audience de chaque artefact ; l'accès reprend si vous le réactivez.

430 430 

431<h3 id="set-a-retention-policy">431<h3 id="set-a-retention-policy">

432 Définir une politique de rétention432 Définir une politique de rétention

433</h3>433</h3>

434 434 

435Pour définir la durée pendant laquelle les artefacts sont conservés avant suppression automatique, allez à [**Paramètres > Contrôles de données et de confidentialité**](https://claude.ai/admin-settings/data-privacy-controls). Vous pouvez définir des périodes de rétention distinctes pour les artefacts qui sont encore privés pour leur auteur et les artefacts qui ont été partagés.435Pour définir la durée pendant laquelle les artefacts sont conservés avant suppression automatique, allez à [**Paramètres de l'organisation > Données et confidentialité**](https://claude.ai/admin-settings/data-privacy-controls). Vous pouvez définir des périodes de rétention distinctes pour les artefacts qui sont encore privés pour leur auteur et les artefacts qui ont été partagés.

436 436 

437<h3 id="review-the-audit-log">437<h3 id="review-the-audit-log">

438 Examiner le journal d'audit438 Examiner le journal d'audit

Details

32 32 

33Pour vous déconnecter et vous réauthentifier, tapez `/logout` à l'invite Claude Code. La déconnexion réinitialise également votre état de configuration au premier lancement, de sorte que la prochaine fois que vous exécutez `claude`, il vous guide à nouveau à travers la connexion et la configuration.33Pour vous déconnecter et vous réauthentifier, tapez `/logout` à l'invite Claude Code. La déconnexion réinitialise également votre état de configuration au premier lancement, de sorte que la prochaine fois que vous exécutez `claude`, il vous guide à nouveau à travers la connexion et la configuration.

34 34 

35Si vous avez des difficultés à vous connecter, consultez [dépannage de l'authentification](/docs/fr/troubleshoot-install#login-and-authentication).

36 

37<h3 id="log-in-with-multiple-accounts">

38 Se connecter avec plusieurs comptes

39</h3>

40 

35Pour rester connecté à plusieurs comptes à la fois, comme des comptes professionnels et personnels, attribuez à chaque compte son propre répertoire de configuration. Lorsque vous démarrez `claude`, définissez la variable d'environnement [`CLAUDE_CONFIG_DIR`](/docs/fr/env-vars#variables) sur le répertoire du compte que vous souhaitez utiliser. Chaque répertoire possède ses propres paramètres, historique de session et connexion claude.ai ou clé API. Par exemple, dans Bash ou Zsh, ajoutez cet alias à `~/.bashrc` ou `~/.zshrc` pour que `claude-work` utilise votre compte professionnel tandis que `claude` conserve votre compte personnel :41Pour rester connecté à plusieurs comptes à la fois, comme des comptes professionnels et personnels, attribuez à chaque compte son propre répertoire de configuration. Lorsque vous démarrez `claude`, définissez la variable d'environnement [`CLAUDE_CONFIG_DIR`](/docs/fr/env-vars#variables) sur le répertoire du compte que vous souhaitez utiliser. Chaque répertoire possède ses propres paramètres, historique de session et connexion claude.ai ou clé API. Par exemple, dans Bash ou Zsh, ajoutez cet alias à `~/.bashrc` ou `~/.zshrc` pour que `claude-work` utilise votre compte professionnel tandis que `claude` conserve votre compte personnel :

36 42 

37```bash theme={null}43```bash theme={null}


40 46 

41Après avoir ouvert un nouveau terminal et exécuté `claude-work` pour la première fois, Claude Code vous guide à travers la connexion et la configuration du nouveau répertoire. Les répertoires séparés ne conservent pas deux connexions Claude Console [sans clé API](#sign-in-without-an-api-key) séparées, car Claude Code stocke ce type de connexion en dehors du répertoire de configuration.47Après avoir ouvert un nouveau terminal et exécuté `claude-work` pour la première fois, Claude Code vous guide à travers la connexion et la configuration du nouveau répertoire. Les répertoires séparés ne conservent pas deux connexions Claude Console [sans clé API](#sign-in-without-an-api-key) séparées, car Claude Code stocke ce type de connexion en dehors du répertoire de configuration.

42 48 

43Si vous avez des difficultés à vous connecter, consultez [dépannage de l'authentification](/docs/fr/troubleshoot-install#login-and-authentication).

44 

45<h2 id="set-up-team-authentication">49<h2 id="set-up-team-authentication">

46 Configurer l'authentification d'équipe50 Configurer l'authentification d'équipe

47</h2>51</h2>

Details

163 La charge utile arrive dans le contexte de Claude en tant que balise `<channel>` :163 La charge utile arrive dans le contexte de Claude en tant que balise `<channel>` :

164 164 

165 ```text theme={null}165 ```text theme={null}

166 <channel source="webhook" path="/" method="POST">build failed on main: https://ci.example.com/run/1234</channel>166 <channel source="webhook" path="/" method="POST">

167 build failed on main: https://ci.example.com/run/1234

168 </channel>

167 ```169 ```

168 170 

169 Votre terminal affiche l'événement sous la forme d'un résumé d'une ligne, `← webhook: build failed on main: https://ci.example.com/run/1234`, plutôt que la balise brute. Vous verrez ensuite Claude commencer à répondre : lire des fichiers, exécuter des commandes, ou tout ce que le message demande. C'est un canal unidirectionnel, donc Claude agit dans votre session mais ne renvoie rien via le webhook. Pour ajouter des réponses, consultez [Exposer un outil de réponse](#expose-a-reply-tool).171 Votre terminal affiche l'événement sous la forme d'un résumé d'une ligne, `← webhook: build failed on main: https://ci.example.com/run/1234`, plutôt que la balise brute. Vous verrez ensuite Claude commencer à répondre : lire des fichiers, exécuter des commandes, ou tout ce que le message demande. C'est un canal unidirectionnel, donc Claude agit dans votre session mais ne renvoie rien via le webhook. Pour ajouter des réponses, consultez [Exposer un outil de réponse](#expose-a-reply-tool).

chrome.md +5 −2

Details

97* **Not now** : continue la tâche sans outils du navigateur. Claude Code peut demander à nouveau dans une session ultérieure.97* **Not now** : continue la tâche sans outils du navigateur. Claude Code peut demander à nouveau dans une session ultérieure.

98* **Don't ask again** : arrête l'invite dans les sessions futures. Vous pouvez toujours configurer l'intégration à tout moment avec `/chrome`.98* **Don't ask again** : arrête l'invite dans les sessions futures. Vous pouvez toujours configurer l'intégration à tout moment avec `/chrome`.

99 99 

100Si votre organisation bloque le serveur MCP `claude-in-chrome` avec le [paramètre géré `deniedMcpServers`](/docs/fr/managed-mcp#policy-based-control-with-allowlists-and-denylists), Claude Code n'affiche pas l'invite d'installation.100Deux politiques MCP gérées désactivent l'invite :

101 

102* Si votre organisation bloque le serveur MCP `claude-in-chrome` avec le [paramètre géré `deniedMcpServers`](/docs/fr/managed-mcp#policy-based-control-with-allowlists-and-denylists), Claude Code n'affiche pas l'invite d'installation.

103* Si votre organisation déploie un fichier [`managed-mcp.json`](/docs/fr/managed-mcp#exclusive-control-with-managed-mcp-json) sans [autoriser Claude in Chrome aux côtés de l'ensemble géré](/docs/fr/managed-mcp#allow-claude-in-chrome-alongside-the-managed-set), Claude Code n'affiche pas l'invite d'installation.

101 104 

102<h3 id="enable-chrome-by-default">105<h3 id="enable-chrome-by-default">

103 Activer Chrome par défaut106 Activer Chrome par défaut


117 Gérer les autorisations du site120 Gérer les autorisations du site

118</h3>121</h3>

119 122 

120Les autorisations au niveau du site sont héritées de l'extension Chrome. Gérez les autorisations dans les paramètres de l'extension Chrome pour contrôler les sites que Claude peut parcourir, cliquer et taper.123Les autorisations au niveau du site sont héritées de l'extension Chrome. Gérez les autorisations dans les paramètres de l'extension Chrome pour contrôler les sites que Claude peut parcourir, cliquer et taper. En [mode automatique](/docs/fr/permission-modes#eliminate-prompts-with-auto-mode), lorsque le classificateur du mode automatique lui-même approuve un appel de navigateur à un site, l'extension ignore sa propre vérification par site pour cet appel, sauf si vos règles de permission refusent tout site à Claude in Chrome.

121 124 

122<h3 id="browser-tools-in-plan-mode">125<h3 id="browser-tools-in-plan-mode">

123 Outils du navigateur en mode plan126 Outils du navigateur en mode plan

Details

362 362 

363Les machines qui exécutent uniquement Claude Desktop en ont besoin. Claude Desktop applique la liste des modèles et la liste des outils désactivés aux sessions intégrées elle-même, mais la liste d'autorisation de sortie ne les atteint que comme paramètres parents, sous la forme de règles de domaine `WebFetch` et de règles de réseau sandbox. Sans l'opt-in, ces sessions s'exécutent sans la restriction de sortie, et rien ne vous avertit. La passerelle rejette toujours les demandes d'inférence pour les modèles que la politique n'accorde pas.363Les machines qui exécutent uniquement Claude Desktop en ont besoin. Claude Desktop applique la liste des modèles et la liste des outils désactivés aux sessions intégrées elle-même, mais la liste d'autorisation de sortie ne les atteint que comme paramètres parents, sous la forme de règles de domaine `WebFetch` et de règles de réseau sandbox. Sans l'opt-in, ces sessions s'exécutent sans la restriction de sortie, et rien ne vous avertit. La passerelle rejette toujours les demandes d'inférence pour les modèles que la politique n'accorde pas.

364 364 

365Une liste d'autorisation de marché de plugins atteint également les sessions intégrées uniquement comme paramètres parents. Quand vous désactivez les marchés de plugins ajoutés par l'utilisateur dans la configuration gérée de Claude Desktop, Claude Desktop 2.16120.0 ou ultérieur masque les marchés que votre organisation n'a pas provisionné et refuse les installations à partir d'eux. Pour empêcher les sessions intégrées de charger les plugins déjà installés à partir de ces marchés, il leur envoie une liste `strictKnownMarketplaces` comme paramètres parents. Sans l'opt-in, Claude Code ignore cette liste, et ces plugins continuent de charger.

366 

365Les machines où les développeurs se connectent via `/login` n'en ont pas besoin ; chaque session Claude Code récupère sa politique auprès de la passerelle.367Les machines où les développeurs se connectent via `/login` n'en ont pas besoin ; chaque session Claude Code récupère sa politique auprès de la passerelle.

366 368 

367Les flottes dont [`policyHelper`](/docs/fr/settings-reference#policyhelper) fournit des paramètres gérés ne peuvent pas l'utiliser : Claude Code ne fusionne jamais les paramètres parents sur ces flottes, car il lit les paramètres gérés à partir de la sortie du helper seule.369Les flottes dont [`policyHelper`](/docs/fr/settings-reference#policyhelper) fournit des paramètres gérés ne peuvent pas l'utiliser : Claude Code ne fusionne jamais les paramètres parents sur ces flottes, car il lit les paramètres gérés à partir de la sortie du helper seule.


457* **`forceLoginOrgUUID`** : Claude Code honore une valeur fournie par le parent quand la source d'administrateur de plus haute priorité ne définit pas un UUID d'organisation. La connexion à la passerelle ne vérifie pas cette clé. Un UUID d'organisation dans la source d'administrateur de plus haute priorité bloque la valeur du parent et est celui que Claude Code applique.459* **`forceLoginOrgUUID`** : Claude Code honore une valeur fournie par le parent quand la source d'administrateur de plus haute priorité ne définit pas un UUID d'organisation. La connexion à la passerelle ne vérifie pas cette clé. Un UUID d'organisation dans la source d'administrateur de plus haute priorité bloque la valeur du parent et est celui que Claude Code applique.

458* **`allowedMcpServers`** : Claude Code honore une liste d'autorisation fournie par le parent quand aucune liste d'administrateur n'est en vigueur. `allowManagedMcpServersOnly` ne la bloque pas, car le verrou applique quelle que soit la liste qui gagne comme valeur gérée, y compris une liste fournie par le parent quand aucune source d'administrateur n'en fournit une. Une liste dans la source d'administrateur de plus haute priorité bloque celle du parent et est la liste que Claude Code applique, donc définissez `allowedMcpServers` là, à côté du verrou. Avant v2.1.223, une valeur pour l'une ou l'autre clé dans toute source d'administrateur bloquait celle du parent.460* **`allowedMcpServers`** : Claude Code honore une liste d'autorisation fournie par le parent quand aucune liste d'administrateur n'est en vigueur. `allowManagedMcpServersOnly` ne la bloque pas, car le verrou applique quelle que soit la liste qui gagne comme valeur gérée, y compris une liste fournie par le parent quand aucune source d'administrateur n'en fournit une. Une liste dans la source d'administrateur de plus haute priorité bloque celle du parent et est la liste que Claude Code applique, donc définissez `allowedMcpServers` là, à côté du verrou. Avant v2.1.223, une valeur pour l'une ou l'autre clé dans toute source d'administrateur bloquait celle du parent.

459* **`availableModels`** : Claude Code honore une liste de modèles fournie par le parent quand la source gérée gagnante n'en définit pas. Si votre flotte restreint les modèles, définissez `availableModels` dans la source gagnante.461* **`availableModels`** : Claude Code honore une liste de modèles fournie par le parent quand la source gérée gagnante n'en définit pas. Si votre flotte restreint les modèles, définissez `availableModels` dans la source gagnante.

460* **`strictKnownMarketplaces`** : Claude Code honore une liste d'autorisation de marché de plugins fournie par le parent quand la source gérée gagnante n'en définit pas. Si votre flotte restreint les marchés, définissez `strictKnownMarketplaces` dans la source gagnante. Nécessite Claude Code v2.1.282 ou ultérieur.462* **`strictKnownMarketplaces`** : Claude Code honore une liste d'autorisation de marché de plugins fournie par le parent quand la source gérée gagnante n'en définit pas. Claude Desktop 2.16120.0 ou ultérieur envoie une quand sa configuration gérée désactive les marchés de plugins ajoutés par l'utilisateur. Si votre flotte restreint les marchés, définissez `strictKnownMarketplaces` dans la source gagnante. Nécessite Claude Code v2.1.282 ou ultérieur.

461* **`blockedMarketplaces`** : une liste de blocage de marché fournie par le parent passe et s'ajoute à toute liste de blocage qu'une source gérée définit, puisqu'une liste de blocage ne peut que restreindre davantage. Nécessite Claude Code v2.1.282 ou ultérieur.463* **`blockedMarketplaces`** : une liste de blocage de marché fournie par le parent passe et s'ajoute à toute liste de blocage qu'une source gérée définit, puisqu'une liste de blocage ne peut que restreindre davantage. Nécessite Claude Code v2.1.282 ou ultérieur.

462* **`strictPluginOnlyCustomization`** : cette clé passe le filtre indépendamment de tout verrou, et elle fait que Claude Code ignore la personnalisation propre du développeur, y compris les hooks protecteurs. Aucun verrou ne la bloque.464* **`strictPluginOnlyCustomization`** : cette clé passe le filtre indépendamment de tout verrou, et elle fait que Claude Code ignore la personnalisation propre du développeur, y compris les hooks protecteurs. Aucun verrou ne la bloque.

463 465 

Details

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

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

172| `connect_timeout_seconds` | Non | Secondes que la passerelle attend lorsqu'elle ouvre une connexion Postgres. Un nombre entier de `1` à `60`, par défaut `5`. Augmentez-le si les tentatives de connexion expirent lorsqu'une nouvelle instance de passerelle démarre. Nécessite Claude Code v2.1.274 ou ultérieur sur le serveur de la passerelle. Les versions antérieures refusent de démarrer lorsque la clé est définie. |172| `connect_timeout_seconds` | Non | Secondes que la passerelle attend lorsqu'elle ouvre une connexion Postgres. Un nombre entier de `1` à `60`, par défaut `5`. Augmentez-le si les tentatives de connexion expirent lorsqu'une nouvelle instance de passerelle démarre. Nécessite Claude Code v2.1.274 ou ultérieur sur le serveur de la passerelle. Les versions antérieures refusent de démarrer lorsque la clé est définie. |

173| `readiness_grace_seconds` | Non | Combien de secondes `/readyz` continue de signaler prêt après que Postgres cesse de répondre. Un nombre entier de `0` à `3600`, par défaut `0`. Voir [Comportement en cas de panne](/docs/fr/claude-apps-gateway-deploy#outage-behavior) pour savoir comment choisir une valeur. Nécessite Claude Code v2.1.282 ou ultérieur sur le serveur de la passerelle. Les versions antérieures refusent de démarrer lorsque la clé est définie. |

173 174 

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

175 176 


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

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

315 316 

317<h5 id="apply-an-amazon-bedrock-guardrail">

318 Appliquer une barrière de sécurité Amazon Bedrock

319</h5>

320 

321Pour appliquer une barrière de sécurité Amazon Bedrock à chaque demande d'inférence que la passerelle envoie via un upstream Bedrock, ajoutez un bloc `guardrail` à cet upstream. Nécessite Claude Code v2.1.281 ou ultérieur sur le serveur de la passerelle.

322 

323```yaml theme={null}

324upstreams:

325 - provider: bedrock

326 region: us-east-1

327 auth: {}

328 guardrail:

329 id: gr-abc123 # ID de barrière de sécurité ou ARN complet

330 version: "1" # un numéro de version publié, ou DRAFT

331 # gardez les guillemets : un 1 nu échoue au démarrage

332```

333 

334<Warning>

335 La passerelle ne supporte pas les balises d'entrée de barrière de sécurité. Elle n'ajoute pas de balises de contenu de garde aux invites, donc un filtre de barrière de sécurité qu'Amazon Bedrock applique uniquement à l'entrée balisée ne s'exécute pas sur le trafic via la passerelle. Pour savoir quels filtres dépendent des balises d'entrée, voir [balises d'entrée](https://docs.aws.amazon.com/bedrock/latest/userguide/guardrails-tagging.html) dans la documentation Amazon Bedrock.

336</Warning>

337 

338Accordez également au principal AWS de la passerelle `bedrock:ApplyGuardrail` sur la barrière de sécurité.

339 

340Définissez `guardrail` sur chaque upstream `bedrock` ou sur aucun. La passerelle refuse de démarrer sur un mélange, car le [basculement](#multiple-upstreams) pourrait autrement envoyer une demande à un upstream Bedrock qui n'a pas de barrière de sécurité.

341 

342La barrière de sécurité couvre les upstreams Bedrock uniquement. Si vous listez un autre fournisseur dans `upstreams`, la passerelle envoie les demandes à ce fournisseur sans la barrière de sécurité.

343 

344Lorsqu'une demande `/v1/messages` dont le corps porte un champ `amazon-bedrock-*`, tel que `amazon-bedrock-guardrailConfig`, atteint un upstream Bedrock qui a `guardrail` défini, la passerelle répond 400 au lieu de le transférer.

345 

316<h4 id="claude-platform-on-aws">346<h4 id="claude-platform-on-aws">

317 Claude Platform on AWS347 Claude Platform on AWS

318</h4>348</h4>


529 `admin`559 `admin`

530</h3>560</h3>

531 561 

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

533 563 

534```yaml theme={null}564```yaml theme={null}

535admin:565admin:


551| - | - | - |581| - | - | - |

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

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

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

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

556| `audit_retention_days` | Non | Par défaut `365`. Les lignes `admin_audit` plus anciennes sont supprimées. |586| `audit_retention_days` | Non | Par défaut `365`. Les lignes `admin_audit` plus anciennes sont supprimées. |

557| `spend_retention_months` | Non | Par défaut `13`. Les lignes du compteur `spend` plus anciennes que cela sont supprimées. La valeur par défaut conserve une année complète plus le mois partiel actuel pour les rapports d'une année sur l'autre. |587| `spend_retention_months` | Non | Par défaut `13`. Les lignes du compteur `spend` plus anciennes que cela sont supprimées. La valeur par défaut conserve une année complète plus le mois partiel actuel pour les rapports d'une année sur l'autre. |

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

559| `group_limit_mode` | Non | `min` (par défaut) ou `max`. Lorsqu'un développeur se trouve dans plusieurs groupes avec des plafonds, `min` applique le plus restrictif et `max` le moins restrictif. Utilisé à la fois par l'application et par `/effective`. |589| `group_limit_mode` | Non | `min` (par défaut) ou `max`. Lorsqu'un développeur se trouve dans plusieurs groupes avec des plafonds, `min` applique le plus restrictif et `max` le moins restrictif. Utilisé à la fois par l'application et par `/effective`. |

560 590 

561<h3 id="enforcement">591<h3 id="enforcement">


566 596 

567| Champ | Requis | Description |597| Champ | Requis | Description |

568| - | - | - |598| - | - | - |

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

570 600 

571<h3 id="pricing">601<h3 id="pricing">

572 `pricing`602 `pricing`


592| Champ | Requis | Description |622| Champ | Requis | Description |

593| - | - | - |623| - | - | - |

594| `multiplier` | Non | Par défaut `1`. Le compteur multiplie chaque montant mesuré par ceci, qu'il soit au prix catalogue ou remplacé, donc `0.85` facture 85 % du prix. Doit être supérieur à 0 et au maximum 10, et une valeur supérieure à 1 est une [majoration](#mark-prices-up). |624| `multiplier` | Non | Par défaut `1`. Le compteur multiplie chaque montant mesuré par ceci, qu'il soit au prix catalogue ou remplacé, donc `0.85` facture 85 % du prix. Doit être supérieur à 0 et au maximum 10, et une valeur supérieure à 1 est une [majoration](#mark-prices-up). |

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

596 626 

597Comment le compteur correspond à une ligne de remplacement :627Comment le compteur correspond à une ligne de remplacement :

598 628 

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

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

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

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

603* Les demandes de recherche Web restent au prix catalogue de \$0,01 ; le multiplicateur s'y applique toujours.633* Les demandes de recherche Web restent au prix catalogue de \$0,01 ; le multiplicateur s'y applique toujours.

604 634 

605Pour les tarifs par région, donnez à chaque région son propre amont nommé et une ligne par amont.635Pour les tarifs par région, donnez à chaque région son propre upstream nommé et une ligne par upstream.

606 636 

607<h4 id="mark-prices-up">637<h4 id="mark-prices-up">

608 Majorer les prix638 Majorer les prix


627 Envoyer les tarifs aux clients connectés657 Envoyer les tarifs aux clients connectés

628</h4>658</h4>

629 659 

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

631 661 

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

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

634* Conserver les tarifs propres d'une politique : une politique dont le bloc `cli` définit `modelPricing` avec son propre `multiplier` ou `overrides` conserve ce `modelPricing` entièrement, et la passerelle n'ajoute aucun de ses propres tarifs à celui-ci.664* Conserver les tarifs propres d'une politique : une politique dont le bloc `cli` définit `modelPricing` avec son propre `multiplier` ou `overrides` conserve ce `modelPricing` entièrement, et la passerelle n'ajoute aucun de ses propres tarifs.

635 665 

636<h3 id="models">666<h3 id="models">

637 `models`667 `models`

638</h3>668</h3>

639 669 

640Le bloc `models` est une liste de modèles optionnelle organisée par l'administrateur, servie à `/v1/models` et utilisée pour traduire les ID de modèles par amont. Elle est obligatoire pour les régions Amazon Bedrock non-US, les ARN de débit provisionné Amazon Bedrock et les noms de déploiement Microsoft Foundry.670Le bloc `models` est une liste de modèles optionnelle organisée par l'administrateur, servie à `/v1/models` et utilisée pour traduire les ID de modèles par upstream. Elle est requise pour les régions Amazon Bedrock non-US, les ARN de débit provisionné Amazon Bedrock et les noms de déploiement Microsoft Foundry.

641 671 

642```yaml theme={null}672```yaml theme={null}

643auto_include_builtin_models: true # false: expose only the list below673auto_include_builtin_models: true # false: expose only the list below


651 foundry: your-opus-deployment-name681 foundry: your-opus-deployment-name

652```682```

653 683 

654Chaque clé sous `upstream_model` doit correspondre au `name` d'un amont configuré, qui par défaut est le nom du fournisseur. Une clé qui ne correspond à aucun amont échoue au démarrage, donc omettez les lignes pour les fournisseurs que vous n'utilisez pas.684Chaque clé sous `upstream_model` doit correspondre au `name` d'un upstream configuré, qui par défaut est le nom du fournisseur. Une clé qui ne correspond à aucun upstream échoue au démarrage, donc omettez les lignes pour les fournisseurs que vous n'utilisez pas.

655 685 

656<h3 id="managed">686<h3 id="managed">

657 `managed`687 `managed`

658</h3>688</h3>

659 689 

660Le bloc `managed` définit les politiques d'accès basées sur les rôles basées sur les groupes IdP ou le domaine de messagerie. Les politiques sont évaluées dans l'ordre ; la première correspondance est sélectionnée, puis fusionnée sur la base de capture-tout `match: {}`. Elles sont servies par utilisateur à `GET /managed/settings` avec mise en cache ETag/304.690Le bloc `managed` définit les politiques d'accès basées sur les rôles basées sur les groupes IdP ou le domaine de courrier électronique. Les politiques sont évaluées dans l'ordre ; la première correspondance est sélectionnée, puis fusionnée sur la base de capture-tout `match: {}`. Elles sont servies par utilisateur à `GET /managed/settings` avec mise en cache ETag/304.

661 691 

662```yaml theme={null}692```yaml theme={null}

663managed:693managed:


675 705 

676Une capture-tout `match: {}`, conventionnellement listée en dernier, est traitée comme une couche de base. Chaque autre politique hérite de toute clé qu'elle ne définit pas de la capture-tout, afin que les entrées par rôle n'aient besoin de lister que ce qui diffère de la valeur par défaut de l'organisation. Les règles de fusion dépendent du type de clé :706Une capture-tout `match: {}`, conventionnellement listée en dernier, est traitée comme une couche de base. Chaque autre politique hérite de toute clé qu'elle ne définit pas de la capture-tout, afin que les entrées par rôle n'aient besoin de lister que ce qui diffère de la valeur par défaut de l'organisation. Les règles de fusion dépendent du type de clé :

677 707 

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

679* **Listes de refus et tableaux de hooks** : `permissions.deny`, `permissions.ask`, `disabledMcpjsonServers`, `deniedMcpServers`, `blockedMarketplaces` et chaque tableau d'événement de type `hooks`. Ceux-ci prennent l'union de la base et de la politique, afin qu'un refus à l'échelle de l'organisation ou un hook d'audit ne soit pas accidentellement supprimé par un remplacement par rôle.709* **Listes de refus et tableaux de hooks** : `permissions.deny`, `permissions.ask`, `disabledMcpjsonServers`, `deniedMcpServers`, `blockedMarketplaces` et chaque tableau d'événement de type `hooks`. Ceux-ci prennent l'union de la base et de la politique, afin qu'un hook de refus ou d'audit à l'échelle de l'organisation ne soit pas accidentellement supprimé par un remplacement par rôle.

680* **Clés de type enregistrement** : `env`, `modelOverrides` et `skillOverrides`. Ceux-ci fusionnent superficiellement, afin qu'un bloc `env` par rôle remplace les clés qu'il définit et hérite du reste de la base.710* **Clés de type enregistrement** : `env`, `modelOverrides` et `skillOverrides`. Ceux-ci fusionnent superficiellement, afin qu'un bloc `env` par rôle remplace les clés qu'il définit et hérite du reste de la base.

681 711 

682`availableModels` est également appliqué côté serveur à `/v1/messages`, afin qu'un modèle refusé retourne `400` indépendamment de ce que le client envoie.712`availableModels` est également appliqué côté serveur à `/v1/messages`, afin qu'un modèle refusé retourne `400` indépendamment de ce que le client envoie.

683 713 

684La passerelle valide la valeur `model` elle-même avant de relayer une demande, afin qu'une valeur mal formée n'atteigne jamais un amont. Elle rejette la demande avec un `400` dans deux cas :714La passerelle valide la valeur `model` elle-même avant de relayer une demande, afin qu'une valeur mal formée n'atteigne jamais un upstream. Elle rejette la demande avec un `400` dans deux cas :

685 715 

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

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


698<Note>728<Note>

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

700 730 

701 Exécutez la gestion du cycle de vie des utilisateurs et des groupes à la source de vérité, qui est le provisionnement SCIM natif de votre IdP ou une plateforme de gouvernance des identités dédiée. L'appartenance et la déprovision gouvernées là-bas s'écoulent dans la passerelle automatiquement via le jeton. Si vous voulez le provisionnement SCIM des comptes Claude eux-mêmes, c'est une capacité de [Claude for Enterprise](/docs/fr/admin-setup).731 Exécutez la gestion du cycle de vie des utilisateurs et des groupes à la source de vérité, qui est l'approvisionnement SCIM natif de votre IdP ou une plateforme de gouvernance des identités dédiée. L'appartenance et la déprovision gouvernées là-bas s'écoulent dans la passerelle automatiquement via le jeton. Si vous voulez l'approvisionnement SCIM des comptes Claude eux-mêmes, c'est une capacité [Claude for Enterprise](/docs/fr/admin-setup).

702 732 

703 Deux horloges de propagation s'appliquent :733 Deux horloges de propagation s'appliquent :

704 734 

705 * **Contenu de la politique** : modifier une politique et redéployer atteint les clients connectés lors de leur prochain sondage de paramètres gérés, dans l'heure, à l'exception des [modifications qui s'appliquent uniquement au prochain lancement](/docs/fr/server-managed-settings#fetch-and-caching-behavior)735 * **Contenu de la politique** : modifier une politique et redéployer atteint les clients connectés lors de leur prochain sondage de paramètres gérés, dans une heure, à part les [modifications qui s'appliquent uniquement au prochain lancement](/docs/fr/server-managed-settings#fetch-and-caching-behavior)

706 * **Appartenance au groupe** : modifier l'appartenance au groupe d'un utilisateur change la politique qui le correspond. Cela prend effet lors de la prochaine réémission de session, ce qui signifie le prochain renouvellement silencieux, limité par `session.ttl_hours`.736 * **Appartenance au groupe** : modifier l'appartenance au groupe d'un utilisateur change la politique qui le correspond. Cela prend effet lors de la prochaine remise en session, ce qui signifie le prochain renouvellement silencieux, limité par `session.ttl_hours`.

707</Note>737</Note>

708 738 

709<h4 id="matcher-values-that-stop-the-gateway-at-boot">739<h4 id="matcher-values-that-stop-the-gateway-at-boot">


715* Une liste `groups` vide745* Une liste `groups` vide

716* Une entrée vide dans `groups` ou dans `admin_groups`746* Une entrée vide dans `groups` ou dans `admin_groups`

717* Un `email_domain` vide747* Un `email_domain` vide

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

719 749 

720Avant v2.1.232, la passerelle démarrait avec ces valeurs. Chaque valeur avait cet effet :750Avant v2.1.232, la passerelle a démarré avec ces valeurs. Chaque valeur avait cet effet :

721 751 

722* Un `email_domain` vide : la passerelle a ignoré la vérification du domaine, afin qu'une politique avec un `email_domain` vide et aucune liste `groups` corresponde à chaque utilisateur authentifié752* Un `email_domain` vide : la passerelle a ignoré la vérification du domaine, afin qu'une politique avec un `email_domain` vide et aucune liste `groups` corresponde à chaque utilisateur authentifié

723* Une liste `groups` vide : la politique ne correspondait à personne753* Une liste `groups` vide : la politique ne correspondait à personne


775| `permissions.disableBypassPermissionsMode` | CLI | Définissez à `disable` pour bloquer [`bypassPermissions`](/docs/fr/permission-modes#skip-all-checks-with-bypasspermissions-mode), le mode qui ignore les invites de permission, et l'indicateur `--dangerously-skip-permissions` |805| `permissions.disableBypassPermissionsMode` | CLI | Définissez à `disable` pour bloquer [`bypassPermissions`](/docs/fr/permission-modes#skip-all-checks-with-bypasspermissions-mode), le mode qui ignore les invites de permission, et l'indicateur `--dangerously-skip-permissions` |

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

777| `env` | CLI | Variables d'environnement fusionnées dans le processus CLI. Utilisez pour la télémétrie, la mise à jour automatique et les remplacements de noms de modèles. |807| `env` | CLI | Variables d'environnement fusionnées dans le processus CLI. Utilisez pour la télémétrie, la mise à jour automatique et les remplacements de noms de modèles. |

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

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

780 810 

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


783* `hooks`813* `hooks`

784* Variables `env` qui nécessitent l'approbation du développeur, comme les variables de proxy et d'URL de base814* Variables `env` qui nécessitent l'approbation du développeur, comme les variables de proxy et d'URL de base

785* Paramètres d'exécution de shell comme `apiKeyHelper` et `statusLine`815* Paramètres d'exécution de shell comme `apiKeyHelper` et `statusLine`

786* Les paramètres binaires du bac à sable `sandbox.bwrapPath`, `sandbox.socatPath` et `sandbox.ripgrep`816* Les paramètres binaires du sandbox `sandbox.bwrapPath`, `sandbox.socatPath` et `sandbox.ripgrep`

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

788 818 

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

790 820 

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

792 822 

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

794 824 

795La configuration de [télémétrie](#telemetry) de la passerelle pousse `OTEL_EXPORTER_OTLP_ENDPOINT`, afin que la définition de `telemetry.forward_to` déclenche la boîte de dialogue sur chaque client interactif. La boîte de dialogue protège la machine du développeur d'une passerelle compromise ou hostile, pas l'organisation du développeur.825La configuration [télémétrie](#telemetry) de la passerelle pousse `OTEL_EXPORTER_OTLP_ENDPOINT`, afin que la définition de `telemetry.forward_to` déclenche la boîte de dialogue sur chaque client interactif. La boîte de dialogue protège la machine du développeur d'une passerelle compromise ou hostile, pas l'organisation du développeur.

796 826 

797Une exécution non interactive avec l'indicateur `-p` ne peut pas afficher la boîte de dialogue. Elle applique les paramètres poussés pour cette exécution uniquement et ne les enregistre pas comme approuvés, afin que la prochaine session interactive du développeur affiche toujours la boîte de dialogue pour eux. Avant v2.1.207, une exécution non interactive enregistrait les paramètres comme approuvés et aucune session interactive ultérieure n'affichait la boîte de dialogue pour eux.827Une [exécution non interactive](/docs/fr/server-managed-settings#security-approval-dialogs), comme `claude -p` ou une session Agent SDK, ne peut pas afficher la boîte de dialogue. Elle applique les paramètres poussés pour cette exécution uniquement et ne les enregistre pas comme approuvés, afin que la prochaine session interactive du développeur affiche toujours la boîte de dialogue pour eux. Avant v2.1.207, une exécution non interactive enregistrait les paramètres comme approuvés et aucune session interactive ultérieure n'affichait la boîte de dialogue pour eux.

798 828 

799Si un développeur refuse, Claude Code quitte cette session plutôt que d'appliquer la politique. Lorsque vous poussez un nouveau hook, ou toute variable env qui déclenche la boîte de dialogue, à une politique large, Claude Code affiche donc la boîte de dialogue à chaque développeur correspondant. Il affiche la boîte de dialogue dans une session en cours lors du prochain sondage horaire, et sinon au prochain démarrage du développeur.829Si un développeur refuse, Claude Code quitte cette session plutôt que d'appliquer la politique. Lorsque vous poussez un nouveau hook, ou toute variable env qui déclenche la boîte de dialogue, à une politique large, chaque développeur correspondant voit donc la boîte de dialogue dans ses sessions interactives. Une session interactive en cours l'affiche lors du prochain sondage horaire, et sinon elle apparaît au prochain démarrage interactif du développeur.

800 830 

801La clé `cli` s'appelait `settings` dans les versions antérieures. Cette orthographe est toujours acceptée comme alias, mais les nouveaux déploiements doivent utiliser `cli`.831La clé `cli` s'appelait `settings` dans les versions antérieures. Cette orthographe est toujours acceptée comme alias, mais les nouveaux déploiements doivent utiliser `cli`.

802 832 


808 838 

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

810 840 

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

812 842 

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

814 844 


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

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

831 861 

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

833 863 

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

835 865 

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

837 867 

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

839 869 

840```yaml theme={null}870```yaml theme={null}

841managed:871managed:


860 890 

861La passerelle valide un bloc `desktop` par rapport au schéma fourni avec sa version installée, comme elle le fait pour le bloc `cli`. Pour livrer un paramètre introduit par une version plus récente de Claude Desktop, mettez à niveau la passerelle en premier. Par exemple, `userPluginMarketplacesEnabled` et `userPluginUploadsEnabled` nécessitent Claude Code v2.1.260 ou ultérieur sur le serveur de passerelle et Claude Desktop 1.37937.0 ou ultérieur sur les machines des membres.891La passerelle valide un bloc `desktop` par rapport au schéma fourni avec sa version installée, comme elle le fait pour le bloc `cli`. Pour livrer un paramètre introduit par une version plus récente de Claude Desktop, mettez à niveau la passerelle en premier. Par exemple, `userPluginMarketplacesEnabled` et `userPluginUploadsEnabled` nécessitent Claude Code v2.1.260 ou ultérieur sur le serveur de passerelle et Claude Desktop 1.37937.0 ou ultérieur sur les machines des membres.

862 892 

863Si vous définissez `orgPluginSettings` dans le bloc `desktop` d'une politique, la passerelle le sert sous la forme de tableau que Claude Desktop 1.15200.0 et ultérieur lit. Les anciens bureaux ignorent le tableau et n'appliquent aucune politique d'outil de plugin, afin de mettre à jour les membres vers 1.15200.0 ou ultérieur avant de vous y fier.893`blockReadsOutsideWorkingDirectories`, `disableBypassPermissionsMode`, `configRecheckIntervalMinutes` et `sshClientPath` nécessitent Claude Code v2.1.281 ou ultérieur sur le serveur de passerelle. Tout comme la valeur `required` de `microsoftAuthBroker` et le champ `continuousAccessEvaluation` d'une entrée Microsoft 365 `managedMcpServers`. Les versions de Claude Desktop qui précèdent la valeur `required` la lisent comme `disabled`, donc définissez `required` uniquement après que chaque membre's Claude Desktop la supporte. La [référence de configuration gérée](https://claude.com/docs/third-party/claude-desktop/configuration) de Claude Desktop liste la version qui lit en premier chaque clé.

894 

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

864 896 

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

866 898 


875 Précédence avec d'autres sources gérées907 Précédence avec d'autres sources gérées

876</h4>908</h4>

877 909 

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

879 911 

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

881 913 

882Les politiques de passerelle s'appliquent à chaque invocation de Claude Code sur la machine, y compris les exécutions non interactives `claude -p` et les sessions générées par le SDK Agent. Si la passerelle est inaccessible au démarrage, les sessions connectées quittent avec une erreur plutôt que de s'exécuter sans leur politique.914Les politiques de passerelle s'appliquent à chaque invocation de Claude Code sur la machine, y compris les exécutions non interactives `claude -p` et les sessions générées par le SDK Agent. Si la passerelle est inaccessible au démarrage, les sessions connectées quittent avec une erreur plutôt que de s'exécuter sans leur politique.

883 915 


887 919 

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

889 921 

890Le CLI horodate chaque exportation avec l'identité de l'utilisateur authentifié, lue à partir du JWT émis par la passerelle : les attributs `user.id`, `user.email` et `user.groups`. L'attribution du coût et de l'utilisation par développeur fonctionne donc sans configuration côté développeur.922Dans les sessions connectées via `/login`, le CLI horodate chaque exportation avec l'identité de l'utilisateur authentifié, lue à partir du JWT émis par la passerelle : les attributs `user.id`, `user.email` et `user.groups`. L'attribution des coûts et de l'utilisation par développeur fonctionne donc sans configuration côté développeur.

891 923 

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

893 925 

894La télémétrie du bureau et de Cowork porte également `enduser.sub`, la revendication `sub` que votre fournisseur d'identité émet pour l'utilisateur, qui reste la même lorsque l'e-mail d'un utilisateur change. Les sessions de terminal horodatent la même valeur sous `user.id`, afin qu'une requête qui correspond à `enduser.sub` par rapport à `user.id` du terminal couvre l'utilisation du terminal, du bureau et de Cowork d'un utilisateur ensemble. Sur les exportations du bureau et de Cowork, `user.id` est un identifiant anonyme, pas le sujet.926La télémétrie du bureau et de Cowork porte également `enduser.sub`, la revendication `sub` que votre fournisseur d'identité émet pour l'utilisateur, qui reste la même lorsque l'e-mail d'un utilisateur change. Les sessions de terminal horodatent la même valeur sous `user.id`, afin qu'une requête qui correspond à `enduser.sub` par rapport au terminal `user.id` couvre l'utilisation du terminal, du bureau et de Cowork d'un utilisateur ensemble. Sur les exportations du bureau et de Cowork, `user.id` est un identifiant anonyme, pas le sujet.

895 927 

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

897 929 

898Si la liste des groupes d'un utilisateur est plus longue que 255 caractères une fois codée en pourcentage, ou si un nom de groupe contient une virgule ou un signe égal, la passerelle laisse `user.groups` hors de la télémétrie du bureau et de Cowork de cet utilisateur plutôt que de la tronquer. Les sessions de terminal de cet utilisateur portent toujours la liste complète.930Si la liste de groupes d'un utilisateur est plus longue que 255 caractères une fois codée en pourcentage, ou si un nom de groupe contient une virgule ou un signe égal, la passerelle laisse `user.groups` hors de la télémétrie du bureau et de Cowork de cet utilisateur plutôt que de la tronquer. Les sessions de terminal de cet utilisateur portent toujours la liste complète.

899 931 

900La passerelle laisse `enduser.sub` hors quand le sujet est plus long que 255 caractères une fois codé en pourcentage, ou contient un espace, un caractère en dehors de l'ASCII imprimable, ou l'un de `,` `;` `=` `\` `"` `%`. La télémétrie du bureau et de Cowork de cet utilisateur conserve ses autres attributs.932La passerelle laisse `enduser.sub` hors quand le sujet est plus long que 255 caractères une fois codé en pourcentage, ou contient un espace, un caractère en dehors de l'ASCII imprimable, ou l'un de `,` `;` `=` `\` `"` `%`. La télémétrie du bureau et de Cowork de cet utilisateur conserve ses autres attributs.

901 933 


921<Warning>953<Warning>

922 Chaque destination opte pour `metrics`, `logs` et `traces` indépendamment, et la valeur par défaut est les métriques uniquement. Les signaux diffèrent en sensibilité :954 Chaque destination opte pour `metrics`, `logs` et `traces` indépendamment, et la valeur par défaut est les métriques uniquement. Les signaux diffèrent en sensibilité :

923 955 

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

925 * **Journaux et traces** : peuvent porter des commandes Bash complètes, des entrées d'outils et des chemins de fichiers, couvrant tout ce que Claude Code fait sur la machine d'un développeur957 * **Journaux et traces** : peuvent porter des commandes Bash complètes, des entrées d'outils et des chemins de fichiers, couvrant tout ce que Claude Code fait sur la machine d'un développeur

926 958 

927 Activez les journaux et les traces uniquement sur les destinations avec les contrôles d'accès et la politique de rétention que les données justifient.959 Activez les journaux et les traces uniquement sur les destinations avec les contrôles d'accès et la politique de rétention que les données justifient.

928</Warning>960</Warning>

929 961 

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

931 963 

932* `http://localhost:<port>` passe la validation de configuration, mais la [garde SSRF](/docs/fr/claude-apps-gateway-deploy#threat-model-summary) bloque chaque exportation avec `ECONNREFUSED_SSRF` à moins que vous ne définissiez `CLAUDE_GATEWAY_ALLOW_LOOPBACK=1` dans l'environnement de la passerelle964* `http://localhost:<port>` passe la validation de configuration, mais le [garde SSRF](/docs/fr/claude-apps-gateway-deploy#threat-model-summary) bloque chaque exportation avec `ECONNREFUSED_SSRF` à moins que vous ne définissiez `CLAUDE_GATEWAY_ALLOW_LOOPBACK=1` dans l'environnement de la passerelle

933* `http://127.0.0.1:<port>` ou `http://[::1]:<port>` échoue au démarrage à moins que cette variable ne soit définie965* `http://127.0.0.1:<port>` ou `http://[::1]:<port>` échoue au démarrage à moins que cette variable ne soit définie

934 966 

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


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

957 989 

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

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

960 992 

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

962 994 

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

964 996 

965Définissez-le à `1` uniquement dans les politiques dont vous voulez que les groupes soient tracés. Une politique qui ne le définit pas hérite de la valeur de votre politique de capture-tout `match: {}` si cette politique en définit une, selon les [règles de fusion](#managed). Pour empêcher les clients d'un groupe d'envoyer des traces même lorsqu'un développeur définit la variable localement, définissez-la à `0` dans la politique de ce groupe.997Définissez-le à `1` uniquement dans les politiques dont vous voulez que les groupes soient tracés. Une politique qui ne le définit pas hérite de la valeur de votre politique de capture-tout `match: {}` si cette politique en définit une, selon les [règles de fusion](#managed). Pour empêcher les clients d'un groupe d'envoyer des traces même lorsqu'un développeur définit la variable localement, définissez-la à `0` dans la politique de ce groupe.

966 998 

967Les encodages OTLP protobuf et JSON sont tous deux relayés, et tout backend compatible OpenTelemetry fonctionne comme destination.999Les encodages OTLP protobuf et JSON sont relayés, et tout backend compatible OpenTelemetry fonctionne comme destination.

968 1000 

969<h4 id="add-your-own-labels">1001<h4 id="add-your-own-labels">

970 Ajouter vos propres étiquettes1002 Ajouter vos propres étiquettes

971</h4>1003</h4>

972 1004 

973Pour mettre des étiquettes fixes comme `service.namespace` ou `deployment.environment.name` sur la télémétrie des sessions connectées via la passerelle, définissez `telemetry.resource_attributes`. Chaque étiquette est un attribut de ressource OpenTelemetry, et chaque destination reçoit les mêmes étiquettes.1005Pour placer des étiquettes fixes comme `service.namespace` ou `deployment.environment.name` sur la télémétrie des sessions connectées via la passerelle, définissez `telemetry.resource_attributes`. Chaque étiquette est un attribut de ressource OpenTelemetry, et chaque destination reçoit les mêmes étiquettes.

974 1006 

975Les sessions obtiennent les étiquettes uniquement lorsque vous définissez également `telemetry.forward_to` et `listen.public_url`. Cet exemple ajoute deux étiquettes :1007Les sessions obtiennent les étiquettes uniquement lorsque vous définissez également `telemetry.forward_to` et `listen.public_url`. Cet exemple ajoute deux étiquettes :

976 1008 


991* Les valeurs sont au maximum 255 caractères tels que la passerelle les compte après codage en pourcentage, donc `/`, `:` et `@` comptent chacun comme trois1023* Les valeurs sont au maximum 255 caractères tels que la passerelle les compte après codage en pourcentage, donc `/`, `:` et `@` comptent chacun comme trois

992* Les valeurs sont du texte, donc citez un nombre, `true` ou `false`1024* Les valeurs sont du texte, donc citez un nombre, `true` ou `false`

993 1025 

994Vous avez besoin de Claude Code v2.1.281 ou ultérieur sur le serveur de passerelle pour définir `telemetry.resource_attributes`. Une passerelle antérieure refuse de démarrer lorsqu'elle trouve la clé. Mettez à niveau chaque réplica avant d'ajouter la clé, et supprimez la clé avant de revenir en arrière vers une version antérieure.1026Vous avez besoin de Claude Code v2.1.281 ou ultérieur sur le serveur de passerelle pour définir `telemetry.resource_attributes`. Une passerelle antérieure refuse de démarrer lorsqu'elle trouve la clé. Mettez à niveau chaque réplica avant d'ajouter la clé, et supprimez la clé avant de revenir à une version antérieure.

995 1027 

996Les sessions de terminal connectées via `/login` reçoivent les étiquettes en tant que `OTEL_RESOURCE_ATTRIBUTES`, poussées avec les autres [variables de télémétrie](#telemetry). Si vous définissez `OTEL_RESOURCE_ATTRIBUTES` dans le bloc `env` d'une politique, les sessions de terminal que cette politique correspond obtiennent cette valeur à la place des étiquettes. Claude Desktop reçoit les étiquettes de la passerelle aux côtés de `user.email` et des autres attributs d'identité.1028Les sessions de terminal connectées via `/login` reçoivent les étiquettes en tant que `OTEL_RESOURCE_ATTRIBUTES`, poussées avec les autres [variables de télémétrie](#telemetry). Si vous définissez `OTEL_RESOURCE_ATTRIBUTES` dans le bloc `env` d'une politique, les sessions de terminal que cette politique correspond obtiennent cette valeur à la place des étiquettes. Claude Desktop reçoit les étiquettes de la passerelle aux côtés de `user.email` et des autres attributs d'identité.

997 1029 


1001 Exporter directement vers votre collecteur1033 Exporter directement vers votre collecteur

1002</h4>1034</h4>

1003 1035 

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

1005 1037 

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

1007 1039 

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

1009 1041 

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

1011 1043 

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

1013* L'URL utilise `https://`, ou `http://` à une adresse de bouclage1045* L'URL utilise `https://`, ou `http://` à une adresse de bouclage

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

1015* L'URL n'est pas l'hôte propre de la passerelle. Un point de terminaison adressé à la passerelle conserve le chemin du relais et son jeton de session.1047* L'URL n'est pas l'hôte propre de la passerelle. Un point de terminaison adressé à la passerelle conserve le chemin du relais et son jeton de session.

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

1017 1049 

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

1019 1051 

1020Le point de terminaison seul n'active pas l'exportation, afin de définir également les variables qui le font, à moins que la passerelle ne les pousse déjà :1052Le point de terminaison seul n'active pas l'exportation, donc définissez également les variables qui le font, à moins que la passerelle ne les pousse déjà :

1021 1053 

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

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

1024 1056 

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

1026 1058 

1027<h4 id="when-a-destination-fails">1059<h4 id="when-a-destination-fails">

1028 Lorsqu'une destination échoue1060 Quand une destination échoue

1029</h4>1061</h4>

1030 1062 

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

1032 1064 

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

1034 1066 

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

1036 1068 

1037<h3 id="http-tuning">1069<h3 id="http-tuning">

1038 Réglage HTTP1070 Réglage HTTP


1042 1074 

1043| Bloc | Clé | Par défaut | Description |1075| Bloc | Clé | Par défaut | Description |

1044| - | - | - | - |1076| - | - | - | - |

1045| `access_control` | `allow_cidrs` / `deny_cidrs` | vide | Autorisation/refus IP entrant par adresse client, après résolution `trusted_proxies`. `deny_cidrs` est vérifié en premier ; un client qu'il correspond est rejeté même si `allow_cidrs` correspond également. Si `allow_cidrs` est non vide, la passerelle est par défaut refusée. `/healthz` et `/readyz` sont exempts de `allow_cidrs`. Lorsqu'un proxy de confiance envoie une entrée `X-Forwarded-For` qui n'est pas une adresse IP, le vrai client est inconnu et la passerelle enregistre un avertissement une fois nommant ce qu'il faut vérifier. Où l'une ou l'autre liste s'applique à la demande, elle la refuse avec `403` et la raison d'audit `xff_unparseable`. Où aucune ne le fait, elle sert la demande et utilise l'adresse propre du proxy comme adresse IP client pour les limites de débit par IP et l'audit. |1077| `access_control` | `allow_cidrs` / `deny_cidrs` | vide | Inbound IP allow/deny par adresse client, après résolution `trusted_proxies`. `deny_cidrs` est vérifié en premier ; un client qu'il correspond est rejeté même si `allow_cidrs` correspond également. Si `allow_cidrs` est non vide, la passerelle est par défaut refusée. `/healthz` et `/readyz` sont exempts de `allow_cidrs`. Lorsqu'un proxy de confiance envoie une entrée `X-Forwarded-For` qui n'est pas une adresse IP, le client réel est inconnu et la passerelle enregistre un avertissement une fois nommant ce qu'il faut vérifier. Lorsque l'une ou l'autre liste s'applique à la demande, elle la refuse avec `403` et la raison d'audit `xff_unparseable`. Lorsqu'aucune ne s'applique, elle sert la demande et utilise l'adresse propre du proxy comme adresse IP client pour les limites de débit par IP et l'audit. |

1046| `limits` | `max_request_bytes` | 32 MiB | Corps de demande entrant max ; les demandes surdimensionnées obtiennent `413` avant que le corps ne soit mis en mémoire tampon. Augmentez pour les demandes de fichiers ou d'images volumineux. |1078| `limits` | `max_request_bytes` | 32 MiB | Corps de demande entrante max ; les demandes surdimensionnées obtiennent `413` avant que le corps ne soit mis en mémoire tampon. Augmentez pour les demandes de fichiers ou d'images volumineux. |

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

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

1049| `timeouts` | `upstream_ttfb_ms` | 120000 | Attente max pour les en-têtes de réponse en amont (temps jusqu'au premier octet). Le corps de la réponse s'écoule ensuite sans plafond mural. S'applique au chemin d'amont Anthropic direct ; sur tous les autres fournisseurs, la passerelle attend jusqu'à une heure pour que la réponse commence. |1081| `timeouts` | `upstream_ttfb_ms` | 120000 | Attente max pour les en-têtes de réponse en amont (temps jusqu'au premier octet). Le corps de la réponse s'écoule ensuite sans plafond mural. S'applique au chemin d'amont Anthropic direct ; sur tous les autres fournisseurs, la passerelle attend jusqu'à une heure pour que la réponse commence. |

1050| `rate_limits` | `device_authorization.max` / `.window_seconds` | 30 / 600 | Limite de débit par IP sur le point de terminaison d'autorisation d'appareil non authentifié. Augmentez pour une grande organisation derrière une adresse IP de sortie partagée ou NAT. [Déploiements à grande échelle](/docs/fr/claude-apps-gateway-deploy#large-rollouts) montre comment le dimensionner. Ces limites s'appliquent uniquement au flux de connexion par octroi d'appareil, pas à l'inférence `/v1/messages`. Consultez [Résistance à la force brute du code utilisateur](/docs/fr/claude-apps-gateway-deploy#user-code-brute-force-resistance). |1082| `rate_limits` | `device_authorization.max` / `.window_seconds` | 30 / 600 | Limite de débit par IP sur le point de terminaison d'autorisation d'appareil non authentifié. Augmentez pour une grande organisation derrière une adresse IP de sortie partagée ou NAT. [Déploiements à grande échelle](/docs/fr/claude-apps-gateway-deploy#large-rollouts) montre comment le dimensionner. Ces limites s'appliquent uniquement au flux de connexion par octroi d'appareil, pas à l'inférence `/v1/messages`. Consultez [Résistance à la force brute du code utilisateur](/docs/fr/claude-apps-gateway-deploy#user-code-brute-force-resistance). |

1051| `rate_limits` | `device_verify.max` / `.window_seconds` | 10 / 600 | Limite de débit par IP sur les soumissions `user_code` à `/device`. C'est ce qui empêche quelqu'un de deviner le code d'un autre développeur. [Déploiements à grande échelle](/docs/fr/claude-apps-gateway-deploy#large-rollouts) montre jusqu'où l'augmenter. |1083| `rate_limits` | `device_verify.max` / `.window_seconds` | 10 / 600 | Limite de débit par IP sur les soumissions `user_code` à `/device`. C'est ce qui empêche quelqu'un de deviner le code d'un autre développeur. [Déploiements à grande échelle](/docs/fr/claude-apps-gateway-deploy#large-rollouts) montre jusqu'où l'augmenter. |

1052 1084 

1053Si vous laissez les deux listes `access_control` vides, ce qui est la valeur par défaut, la passerelle sert toute adresse client, afin que seul votre réseau restreigne qui peut l'atteindre. C'est important car une passerelle peut pousser des [paramètres gérés](#managed) qui exécutent des commandes sur les machines des développeurs.1085Si vous laissez les deux listes `access_control` vides, ce qui est la valeur par défaut, la passerelle sert n'importe quelle adresse client, afin que seul votre réseau restreigne qui peut l'atteindre. C'est important car une passerelle peut pousser [des paramètres gérés](#managed) qui exécutent des commandes sur les machines des développeurs.

1054 1086 

1055Tandis que `allow_cidrs` est vide, la passerelle avertit à deux endroits, sans changer la façon dont elle répond à toute demande :1087Tandis que `allow_cidrs` est vide, la passerelle avertit à deux endroits, sans changer la façon dont elle répond à aucune demande :

1056 1088 

1057* **Au démarrage** : un avertissement dans le journal opérationnel recommande d'autoriser uniquement les plages privées `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`, `100.64.0.0/10`, `127.0.0.0/8`, `::1/128` et `fc00::/7`, plus toute autre plage interne à partir de laquelle vos développeurs se connectent. Si vous liez la passerelle à une adresse de bouclage et ne définissez ni `trusted_proxies` ni `public_url`, comme dans le développement local, l'avertissement n'apparaît pas.1089* **Au démarrage** : un avertissement dans le journal opérationnel recommande d'autoriser uniquement les plages privées `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`, `100.64.0.0/10`, `127.0.0.0/8`, `::1/128` et `fc00::/7`, plus toute autre plage interne à partir de laquelle vos développeurs se connectent. Si vous liez la passerelle à une adresse de bouclage et ne définissez ni `trusted_proxies` ni `public_url`, comme dans le développement local, l'avertissement n'apparaît pas.

1058* **À l'exécution** : la première fois qu'une demande arrive d'une adresse en dehors de ces plages privées, la passerelle enregistre un avertissement et émet un événement d'audit [`access.public_client`](/docs/fr/claude-apps-gateway-deploy#logs) portant l'adresse IP du client. Les deux se déclenchent une fois par processus. Les adresses lien-local, `169.254.0.0/16` et `fe80::/10`, ne comptent pas comme publiques. La passerelle répond à `/healthz` et `/readyz` avant cette vérification, afin que les sondes de santé à partir de plages publiques ne la déclenchent pas.1090* **À l'exécution** : la première fois qu'une demande arrive d'une adresse en dehors de ces plages privées, la passerelle enregistre un avertissement et émet un événement d'audit [`access.public_client`](/docs/fr/claude-apps-gateway-deploy#logs) portant l'adresse IP du client. Les deux se déclenchent une fois par processus. Les adresses lien-local, `169.254.0.0/16` et `fe80::/10`, ne comptent pas comme publiques. La passerelle répond à `/healthz` et `/readyz` avant cette vérification, afin que les sondes de santé à partir de plages publiques ne la déclenchent pas.

1059 1091 

1060Les deux signaux utilisent l'adresse client telle que la passerelle la résout. Si un équilibreur de charge, un port-forward ou un tunnel relaie le trafic et n'est pas listé dans `listen.trusted_proxies`, la passerelle voit l'adresse du relais, qui est généralement privée, afin que ni l'avertissement d'exécution ni une liste d'autorisation privée ne l'attrape.1092Les deux signaux utilisent l'adresse client telle que la passerelle la résout. Si un équilibreur de charge, un port-forward ou un tunnel relaie le trafic et n'est pas listé dans `listen.trusted_proxies`, la passerelle voit l'adresse du relais, qui est généralement privée, afin que ni l'avertissement à l'exécution ni une liste d'autorisation privée ne l'attrape.

1061 1093 

1062Derrière un tel front-end, définissez [`listen.trusted_proxies`](#listen) en premier afin que la passerelle voie les vraies adresses client, et gardez la passerelle et tout ce qui se trouve devant elle inaccessible à partir d'Internet public indépendamment.1094Derrière un tel front-end, définissez [`listen.trusted_proxies`](#listen) en premier afin que la passerelle voie les adresses client réelles, et gardez la passerelle et tout ce qui se trouve devant elle inaccessible à partir d'Internet public indépendamment.

1063 1095 

1064<h3 id="load_test_mode">1096<h3 id="load_test_mode">

1065 `load_test_mode`1097 `load_test_mode`

1066</h3>1098</h3>

1067 1099 

1068Le bloc `load_test_mode` vous permet de tester la charge d'une passerelle sans appeler un fournisseur de modèles. Tandis qu'il est activé, la passerelle construit et signe chaque demande de fournisseur comme d'habitude, la rejette au lieu de l'envoyer, et diffuse une réponse en conserve via son chemin de réponse normal. La réponse est un texte de remplissage qui commence par une phrase disant qu'elle est en conserve.1100Le bloc `load_test_mode` vous permet de tester la charge d'une passerelle sans appeler un fournisseur de modèles. Pendant qu'il est activé, la passerelle construit et signe chaque demande de fournisseur comme d'habitude, la rejette au lieu de l'envoyer, et diffuse une réponse en conserve via son chemin de réponse normal. La réponse est du texte de remplissage qui commence par une phrase disant qu'elle est en conserve.

1069 1101 

1070Nécessite Claude Code v2.1.282 ou ultérieur sur le serveur de passerelle. Les versions antérieures refusent de démarrer lorsque la clé est trouvée. Mettez à niveau chaque réplica avant d'ajouter le bloc, et supprimez le bloc avant de revenir en arrière.1102Nécessite Claude Code v2.1.282 ou ultérieur sur le serveur de passerelle. Une passerelle antérieure refuse de démarrer lorsqu'elle trouve la clé. Mettez à niveau chaque réplica avant d'ajouter le bloc, et supprimez le bloc avant de revenir à une version antérieure.

1071 1103 

1072L'exemple ci-dessous active le mode avec les valeurs par défaut, une réponse d'environ 750 jetons de texte diffusée sur environ 10 secondes :1104L'exemple ci-dessous active le mode avec les valeurs par défaut, une réponse d'environ 750 jetons de texte diffusée sur environ 10 secondes :

1073 1105 


1081| Champ | Requis | Description |1113| Champ | Requis | Description |

1082| - | - | - |1114| - | - | - |

1083| `enabled` | Oui | `true` active le mode. `false` conserve vos nombres dans le fichier avec le mode désactivé. La passerelle refuse de démarrer si le bloc est présent sans lui. |1115| `enabled` | Oui | `true` active le mode. `false` conserve vos nombres dans le fichier avec le mode désactivé. La passerelle refuse de démarrer si le bloc est présent sans lui. |

1084| `reply_tokens` | Non | Par défaut `750`. Environ combien de jetons de texte chaque réponse en conserve porte, un nombre entier de 1 à 100 000. |1116| `reply_tokens` | Non | Par défaut `750`. Environ combien de jetons de texte chaque réponse en conserve porte, un nombre entier de 1 à 100000. |

1085| `reply_seconds` | Non | Par défaut `9.5`. Combien de temps une réponse diffusée prend, de 0 à 600. `0` envoie la réponse entière à la fois. Une réponse à une demande non diffusée revient toujours à la fois. |1117| `reply_seconds` | Non | Par défaut `9.5`. Combien de temps une réponse diffusée prend, de 0 à 600. `0` envoie la réponse entière à la fois. Une réponse à une demande non diffusée revient toujours à la fois. |

1086 1118 

1087Un test de charge dans ce mode couvre la passerelle, votre Postgres et tout ce qui se trouve devant la passerelle. Il ne couvre pas les limites, la vitesse ou le chemin réseau du fournisseur.1119Un test de charge dans ce mode couvre la passerelle, votre Postgres et tout ce qui se trouve devant la passerelle. Il ne couvre pas les limites, la vitesse ou le chemin réseau du fournisseur.

1088 1120 

1089Aucune demande de modèle n'est envoyée au fournisseur, afin que le CPU d'une réplica par demande soit une estimation et se lit plus bas qu'en production, qui chiffre également son trafic vers le fournisseur. Confirmez un nombre de réplicas avec un petit pilote contre le vrai fournisseur. Avant v2.1.283, l'estimation se lit beaucoup plus bas.1121Aucune demande de modèle n'est envoyée au fournisseur, afin que le CPU d'une réplica par demande soit une estimation et se lit plus bas que la production, qui chiffre également son trafic vers le fournisseur. Confirmez un nombre de réplicas avec un petit pilote contre le vrai fournisseur. Avant v2.1.283, l'estimation se lit beaucoup plus bas.

1090 1122 

1091Tandis que le mode est activé, une demande peut porter un en-tête `x-load-test-user` contenant un nombre entier de jusqu'à sept chiffres. La passerelle compte chaque nombre comme un développeur distinct avec l'e-mail et les groupes du développeur dont le jeton est venu avec la demande.1123Tandis que le mode est activé, une demande peut porter un en-tête `x-load-test-user` contenant un nombre entier de jusqu'à sept chiffres. La passerelle compte chaque nombre comme un développeur séparé, avec l'e-mail et les groupes du développeur dont le jeton est venu avec la demande.

1092 1124 

1093Donnez au déploiement de test de charge sa propre base de données vide, car la passerelle refuse de démarrer avec le mode activé par rapport à une base de données dans laquelle un développeur a déjà dépensé quelque chose.1125Donnez au déploiement de test de charge sa propre base de données vide, car la passerelle refuse de démarrer avec le mode activé par rapport à une base de données dans laquelle un développeur a déjà dépensé quelque chose.

1094 1126 


1149 postgres_url: ${GATEWAY_POSTGRES_URL}1181 postgres_url: ${GATEWAY_POSTGRES_URL}

1150 # max_connections: 51182 # max_connections: 5

1151 # connect_timeout_seconds: 51183 # connect_timeout_seconds: 5

1184 # readiness_grace_seconds: 300 # continuez à passer le contrôle de disponibilité lors d'un basculement de base de données

1152 1185 

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

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


1276 1309 

1277Pour Claude Desktop, définissez la clé `bootstrapUrl` dans la propre [configuration gérée](https://claude.com/docs/third-party/claude-desktop/configuration) de Claude Desktop sur `<listen.public_url>/user/bootstrap`. Le flux de connexion et la stratégie par groupe correspondent alors à ceux du CLI une fois qu'une stratégie opte pour le serveur avec une clé `desktop` ; sans l'opt-in, `/user/bootstrap` retourne 404. Voir [Claude Desktop overlay](#claude-desktop-overlay) pour la moitié côté serveur.1310Pour Claude Desktop, définissez la clé `bootstrapUrl` dans la propre [configuration gérée](https://claude.com/docs/third-party/claude-desktop/configuration) de Claude Desktop sur `<listen.public_url>/user/bootstrap`. Le flux de connexion et la stratégie par groupe correspondent alors à ceux du CLI une fois qu'une stratégie opte pour le serveur avec une clé `desktop` ; sans l'opt-in, `/user/bootstrap` retourne 404. Voir [Claude Desktop overlay](#claude-desktop-overlay) pour la moitié côté serveur.

1278 1311 

1279Claude Code honore [`forceLoginGatewayUrl`](/docs/fr/settings-reference#forcelogingatewayurl), [`gatewayInternalNetworks`](/docs/fr/settings-reference#gatewayinternalnetworks), et la valeur `"gateway"` de [`forceLoginMethod`](/docs/fr/settings-reference#forceloginmethod) uniquement à partir d'une source gérée sur la machine : `managed-settings.json`, le plist macOS ou le registre HKLM Windows, ou un assistant de stratégie. Un développeur les définissant dans son propre `~/.claude/settings.json` n'a aucun effet, et il en va de même pour les définir dans la charge utile de la passerelle.1312Claude Code honore [`forceLoginGatewayUrl`](/docs/fr/settings-reference#forcelogingatewayurl), [`gatewayInternalNetworks`](/docs/fr/settings-reference#gatewayinternalnetworks), et la valeur `"gateway"` de [`forceLoginMethod`](/docs/fr/settings-reference#forceloginmethod) uniquement à partir d'une source gérée sur la machine : `managed-settings.json`, le plist macOS ou le registre HKLM Windows, ou un assistant de stratégie. Les définir dans le `~/.claude/settings.json` personnel d'un développeur ou dans la charge utile de la passerelle ne configure pas la connexion à la passerelle.

1313 

1314Omettez `forceLoginMethod` et `forceLoginOrgUUID` de la charge utile. Claude Code lit toujours les deux clés à partir de la charge utile pour sa vérification des identifiants au démarrage, donc un développeur qui conserve une identifiant émis par Anthropic sur la machine obtient la sortie au démarrage décrite sous [Administrator policy requires a Cloud gateway sign-in](/docs/fr/errors#administrator-policy-requires-a-cloud-gateway-sign-in) même après sa connexion.

1280 1315 

1281<h2 id="related">1316<h2 id="related">

1282 Connexes1317 Connexes

Details

303| - | - | - |303| - | - | - |

304| Inférence (invites, complétions) | CLI → passerelle → votre amont | Uniquement si l'API Anthropic est un amont configuré |304| Inférence (invites, complétions) | CLI → passerelle → votre amont | Uniquement si l'API Anthropic est un amont configuré |

305| Télémétrie (métriques OTLP, plus [journaux et traces opt-in](/docs/fr/claude-apps-gateway-config#telemetry)) | CLI → passerelle → votre collecteur | Jamais |305| Télémétrie (métriques OTLP, plus [journaux et traces opt-in](/docs/fr/claude-apps-gateway-config#telemetry)) | CLI → passerelle → votre collecteur | Jamais |

306| Identité (email, groupes, sub) | IdP → passerelle → JWT → CLI ; le CLI l'estampille sur les exports OTLP. Si vous activez [`forward_user_identity`](/docs/fr/claude-apps-gateway-config#per-user-identity-headers-for-a-proxy-you-run), la passerelle envoie également l'email du développeur et le sujet IdP en tant qu'en-têtes à votre proxy | Jamais |306| Identité (email, groupes, sub) | IdP → passerelle → CLI ; le CLI l'estampille sur les exports OTLP. Si vous activez [`forward_user_identity`](/docs/fr/claude-apps-gateway-config#per-user-identity-headers-for-a-proxy-you-run), la passerelle envoie également l'email du développeur et le sujet IdP en tant qu'en-têtes à votre proxy | Jamais |

307| Paramètres gérés | Votre YAML de passerelle → CLI | Jamais |307| Paramètres gérés | Votre YAML de passerelle → CLI | Jamais |

308| Journal d'audit | Stderr de passerelle → votre agrégateur | Jamais |308| Journal d'audit | Stderr de passerelle → votre agrégateur | Jamais |

309 309 

Details

514 Télémétrie514 Télémétrie

515</h2>515</h2>

516 516 

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

518 518 

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

520 520 

Details

150* Le répertoire doit être un référentiel git avec au moins un commit150* Le répertoire doit être un référentiel git avec au moins un commit

151* Le référentiel regroupé doit être inférieur à 100 MB. Les référentiels plus grands reviennent à regrouper uniquement la branche actuelle, puis à un seul snapshot aplati de l'arborescence de travail, et échouent uniquement si le snapshot est toujours trop volumineux151* Le référentiel regroupé doit être inférieur à 100 MB. Les référentiels plus grands reviennent à regrouper uniquement la branche actuelle, puis à un seul snapshot aplati de l'arborescence de travail, et échouent uniquement si le snapshot est toujours trop volumineux

152* Les fichiers non suivis ne sont pas inclus ; exécutez `git add` sur les fichiers que vous voulez que la session cloud voie152* Les fichiers non suivis ne sont pas inclus ; exécutez `git add` sur les fichiers que vous voulez que la session cloud voie

153* Sur macOS, Linux et WSL, Claude Code refuse l'upload quand il ne peut pas suivre un paramètre git qui affecte les règles d'attributs qui s'appliquent à vos fichiers, comme `core.attributesFile` défini dans un fichier config inclus. Le [message de refus](/docs/fr/errors#the-repository-upload-cant-follow-a-git-setting) nomme le paramètre et la correction

153* Les sessions créées à partir d'un bundle ne peuvent repousser vers un remote GitHub que si votre [connexion GitHub](#github-authentication-options) a accès en push à ce référentiel154* Les sessions créées à partir d'un bundle ne peuvent repousser vers un remote GitHub que si votre [connexion GitHub](#github-authentication-options) a accès en push à ce référentiel

154 155 

155<h3 id="send-follow-ups-from-the-cli">156<h3 id="send-follow-ups-from-the-cli">

Details

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

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

1571| `skills/.trash/`, `plugins/.trash/` | [Skills](/docs/fr/skills#how-synced-skills-behave) et [plugins](/docs/fr/plugins/loading#synced-plugins) que la synchronisation claude.ai a supprimés, par exemple après que vous en ayez désactivé un sur claude.ai ou arrêté la synchronisation. Les fichiers restent ici pour que vous puissiez les récupérer jusqu'à ce que le balayage les supprime |1571| `skills/.trash/`, `plugins/.trash/` | [Skills](/docs/fr/skills#how-synced-skills-behave) et [plugins](/docs/fr/plugins/loading#synced-plugins) que la synchronisation claude.ai a supprimés, par exemple après que vous en ayez désactivé un sur claude.ai ou arrêté la synchronisation. Les fichiers restent ici pour que vous puissiez les récupérer jusqu'à ce que le balayage les supprime |

1572| `plugins/installed_plugins.set-aside.<date>.<hash>.json`, `plugins/installed_plugins.unreadable.<date>.<hash>.kept` | Copies datées que Claude Code crée avant de réécrire [`installed_plugins.json`](/docs/fr/plugins/loading#find-plugins-on-disk) : enregistrements d'installation qu'il a supprimés, et le contenu d'un fichier qu'il n'a pas pu lire. |

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

1573 1574 

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


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

1716| `~/.claude/tasks/` | Listes de tâches qu'une session reprise récupérerait |1717| `~/.claude/tasks/` | Listes de tâches qu'une session reprise récupérerait |

1717| `~/.claude/skills/.trash/`, `~/.claude/plugins/.trash/` | La chance de récupérer les [skills synchronisés](/docs/fr/skills#how-synced-skills-behave) et les [plugins synchronisés](/docs/fr/plugins/loading#synced-plugins) que Claude Code a supprimés |1718| `~/.claude/skills/.trash/`, `~/.claude/plugins/.trash/` | La chance de récupérer les [skills synchronisés](/docs/fr/skills#how-synced-skills-behave) et les [plugins synchronisés](/docs/fr/plugins/loading#synced-plugins) que Claude Code a supprimés |

1719| `~/.claude/plugins/installed_plugins.set-aside.<date>.<hash>.json`, `~/.claude/plugins/installed_plugins.unreadable.<date>.<hash>.kept` | Les copies des enregistrements d'installation de plugins que Claude Code a supprimés ou n'a pas pu lire. Rien ne les relit |

1718| `~/.claude/debug/`, `~/.claude/plans/`, `~/.claude/session-env/`, `~/.claude/shell-snapshots/`, `~/.claude/backups/` | Rien d'orienté utilisateur |1720| `~/.claude/debug/`, `~/.claude/plans/`, `~/.claude/session-env/`, `~/.claude/shell-snapshots/`, `~/.claude/backups/` | Rien d'orienté utilisateur |

1719| `~/.claude/todos/`, `~/.claude/statsig/`, `~/.claude/logs/`, `~/.claude/image-cache/` | Rien. Répertoires hérités non écrits par les versions actuelles. |1721| `~/.claude/todos/`, `~/.claude/statsig/`, `~/.claude/logs/`, `~/.claude/image-cache/` | Rien. Répertoires hérités non écrits par les versions actuelles. |

1720 1722 

claude-projects.md +62 −48

Details

80Vous créez et utilisez des projets à [claude.ai/code](https://claude.ai/code), dans l'onglet Code de l'application de bureau, ou dans l'application mobile Claude pour [iOS](https://apps.apple.com/us/app/claude-by-anthropic/id6473753684) et [Android](https://play.google.com/store/apps/details?id=com.anthropic.claude). Dans le navigateur et l'application de bureau, il y a deux façons de démarrer un projet :80Vous créez et utilisez des projets à [claude.ai/code](https://claude.ai/code), dans l'onglet Code de l'application de bureau, ou dans l'application mobile Claude pour [iOS](https://apps.apple.com/us/app/claude-by-anthropic/id6473753684) et [Android](https://play.google.com/store/apps/details?id=com.anthropic.claude). Dans le navigateur et l'application de bureau, il y a deux façons de démarrer un projet :

81 81 

82* **À partir de zéro**, quand vous connaissez le flux de travail que vous voulez que Claude exécute : ouvrez la boîte de dialogue **New project** et nommez-la. [Démarrer un nouveau projet à partir de zéro](#start-a-new-project-from-scratch) parcourt la boîte de dialogue.82* **À partir de zéro**, quand vous connaissez le flux de travail que vous voulez que Claude exécute : ouvrez la boîte de dialogue **New project** et nommez-la. [Démarrer un nouveau projet à partir de zéro](#start-a-new-project-from-scratch) parcourt la boîte de dialogue.

83* **À partir d'une session cloud qui fait déjà le travail** : choisissez **Continue as a project** dans le menu de cette session, et Claude propose la configuration du projet à partir de ce que la session faisait. Voir [Démarrer à partir d'une session cloud existante](#start-from-an-existing-cloud-session).83* **À partir d'une session cloud qui fait déjà le travail** : choisissez **Continue as project** dans le menu de cette session, et Claude propose la configuration du projet à partir de ce que la session faisait. Voir [Démarrer à partir d'une session cloud existante](#start-from-an-existing-cloud-session).

84 84 

85De toute façon, [vérifiez d'abord les prérequis](#check-the-prerequisites).85De toute façon, [vérifiez d'abord les prérequis](#check-the-prerequisites).

86 86 


131 Démarrer à partir d'une session cloud existante131 Démarrer à partir d'une session cloud existante

132</h3>132</h3>

133 133 

134Si vous avez déjà une session cloud qui fait du travail qui appartient à un projet, ouvrez le menu de la session dans la barre latérale et choisissez **Continue as a project** ou **Move to project** :134Si vous avez déjà une session cloud qui fait du travail qui appartient à un projet, ouvrez le menu de la session dans la barre latérale et choisissez **Continue as project** ou **Move to project** :

135 135 

136* **Continue as a project** crée un nouveau projet nommé d'après la session et l'ouvre. Claude lit la session et publie **Setup recommendations** dans la conversation pour que vous confirmiez. La session d'origine reste dans votre liste de sessions, et si elle était au milieu d'un tour, elle continue à s'exécuter, donc arrêtez-la vous-même si vous ne voulez pas que les deux fonctionnent à la fois. Si vous utilisez la bannière **Set up project** qui peut apparaître au-dessus de la boîte de message de la session cloud à la place, le résultat est le même, sauf que le tour en cours de la session s'arrête une fois que le projet s'ouvre.136* **Continue as project** crée un nouveau projet nommé d'après la session et l'ouvre. Claude lit la session et publie **Setup recommendations** dans la conversation pour que vous confirmiez. La session d'origine reste dans votre liste de sessions, et si elle était au milieu d'un tour, elle continue à s'exécuter, donc arrêtez-la vous-même si vous ne voulez pas que les deux fonctionnent à la fois. Si vous utilisez la bannière **Set up project** qui peut apparaître au-dessus de la boîte de message de la session cloud à la place, le résultat est le même, sauf que le tour en cours de la session s'arrête une fois que le projet s'ouvre.

137* **Move to project** apporte le travail de la session dans un projet existant. Il publie un message dans la conversation de ce projet demandant à Claude de lire la session et de continuer là où elle s'était arrêtée, et le nouveau travail continue dans les propres threads du projet. La session d'origine reste dans votre liste de sessions, inchangée.137* **Move to project** apporte le travail de la session dans un projet existant. Il publie un message dans la conversation de ce projet demandant à Claude de lire la session et de continuer là où elle s'était arrêtée, et le nouveau travail continue dans les propres threads du projet. La session d'origine reste dans votre liste de sessions, inchangée.

138 138 

139Une session locale n'a pas ces options. Pour continuer son travail dans un projet, décrivez le travail dans la conversation du projet, ou poussez sa branche, ajoutez ce référentiel au projet et nommez la branche dans la tâche.

140 

139<h3 id="set-up-github-access">141<h3 id="set-up-github-access">

140 Configurer l'accès GitHub142 Configurer l'accès GitHub

141</h3>143</h3>


162 Travailler dans un projet164 Travailler dans un projet

163</h2>165</h2>

164 166 

165Donnez du travail à Claude à travers la conversation du projet : des tâches une à la fois ou plusieurs à la fois, plus des mises à jour et des pensées vagues au fur et à mesure qu'elles arrivent. Claude achemine chaque message, et les threads font le travail et rapportent.167Donnez du travail à Claude via la conversation du projet : des tâches une à la fois ou plusieurs à la fois, plus des mises à jour et des pensées informelles au fur et à mesure. Claude achemine chaque message, et les threads font le travail et rendent compte.

166 168 

167<h3 id="your-first-batch">169<h3 id="your-first-batch">

168 Votre premier lot170 Votre premier lot

169</h3>171</h3>

170 172 

171Avant d'envoyer à un nouveau projet un lot de travail, configurez-le pour que les premiers threads reviennent comme vous le souhaitez :173Avant d'envoyer un nouveau lot de travail à un projet, configurez-le pour que les premiers threads reviennent comme vous le souhaitez :

172 174 

1731. [Écrire les instructions du projet](#write-project-instructions) : le brief que chaque thread commence, comme la branche à cibler, comment un thread vérifie son travail et ce qui a besoin de votre approbation.1751. [Écrire les instructions du projet](#write-project-instructions) : le brief que chaque thread commence, par exemple quelle branche cibler, comment un thread vérifie son travail, et ce qui a besoin de votre approbation.

1742. Envoyez un petit morceau du vrai travail, ou démarrez l'un des threads que Claude a suggérés, et ouvrez le thread quand il termine pour voir comment il rapporte et ce qu'il a fait sur sa branche. S'il a supposé quelque chose de mal ou ne pouvait pas atteindre ce dont il avait besoin, [Les threads ont deviné ou se sont arrêtés au lieu de demander](#threads-guessed-or-stalled-instead-of-asking) couvre où corriger cela.1762. Envoyez un petit morceau du vrai travail, ou démarrez l'un des threads que Claude a suggérés s'il en a proposé, et ouvrez le thread quand il se termine pour voir comment il rend compte et ce qu'il a fait sur sa branche. S'il a supposé quelque chose de mal ou n'a pas pu atteindre ce dont il avait besoin, [Les threads ont deviné ou se sont bloqués au lieu de demander](#threads-guessed-or-stalled-instead-of-asking) couvre où corriger cela.

1753. Vérifiez **Thread model** et **Thread effort** dans **Project settings > General**. Un nouveau projet exécute chaque thread sur Opus à effort élevé, ce qui utilise votre plan le plus rapidement ; [Choisir des modèles et laisser Claude gérer le contexte](#choose-models-and-let-claude-manage-context) couvre les alternatives.1773. Vérifiez **Thread model** et **Thread effort** dans **Project settings > General**. Un nouveau projet exécute chaque thread sur Opus à effort élevé, ce qui consomme votre plan le plus rapidement ; [Choisir les modèles et laisser Claude gérer le contexte](#choose-models-and-let-claude-manage-context) couvre les alternatives.

1764. Demandez à Claude de [proposer des threads avant de les démarrer et d'en exécuter quelques-uns à la fois](#tune-how-claude-runs-a-project), et abandonnez ces limites une fois que quelques threads reviennent comme vous le souhaitez.1784. Demandez à Claude de [proposer les threads avant de les démarrer et d'en exécuter quelques-uns à la fois](#tune-how-claude-runs-a-project), et supprimez ces limites une fois que quelques threads reviennent comme vous le souhaitez.

177 179 

178<h3 id="send-work-and-read-results">180<h3 id="send-work-and-read-results">

179 Envoyer du travail et lire les résultats181 Envoyer du travail et lire les résultats

180</h3>182</h3>

181 183 

182Claude décide où va chaque message que vous envoyez dans la conversation :184Claude décide où chaque message que vous envoyez dans la conversation va :

183 185 

184* Une question rapide obtient généralement une réponse dans la conversation.186* Une question rapide reçoit généralement une réponse dans la conversation.

185* Le nouveau travail va à un nouveau thread ou à un thread qui travaille déjà dans ce domaine, et Claude vous dit lequel. Chaque nouveau thread s'affiche sous votre message sous forme de carte : une boîte avec le titre et l'état du thread, que vous cliquez pour ouvrir le thread.187* Le nouveau travail va à un nouveau thread ou à un thread déjà en train de travailler dans ce domaine, et Claude vous dit lequel. Chaque nouveau thread s'affiche sous votre message sous forme de carte : une boîte avec le titre et l'état du thread, que vous cliquez pour ouvrir le thread.

186* Plusieurs tâches non liées dans un message deviennent des threads séparés.188* Plusieurs tâches non liées dans un message deviennent des threads séparés.

187 189 

188Si Claude achemine quelque chose différemment de ce que vous vouliez, dites-le. [Affiner la façon dont Claude exécute un projet](#tune-how-claude-runs-a-project) énumère les choses que vous pouvez lui dire, comme réutiliser un thread existant pour les suites ou répondre sur place au lieu de démarrer un thread.190Si Claude achemine quelque chose différemment de ce que vous vouliez, dites-le. [Affiner comment Claude exécute un projet](#tune-how-claude-runs-a-project) énumère les choses que vous pouvez lui dire, comme réutiliser un thread existant pour les suites ou répondre sur place au lieu de démarrer un thread.

189 191 

190Les résultats complets d'un thread restent dans le thread, et vous ouvrez sa carte dans la conversation pour les lire. Les fichiers qu'un thread a produits sont également sur l'onglet **Library** dans **Overview**.192Les résultats complets d'un thread restent dans le thread, et vous ouvrez sa carte dans la conversation pour les lire. Les fichiers qu'un thread a produits sont également sur l'onglet **Library** dans **Overview**.

191 193 


195 Examiner la pull request d'un thread197 Examiner la pull request d'un thread

196</h3>198</h3>

197 199 

198Quand un thread change du code, voici ce qu'il fait sauf si vous lui dites autrement :200Quand un thread cloud change le code, voici ce qu'il fait sauf si vous lui dites le contraire :

199 201 

200* **Branch** : travaille sur une nouvelle branche, commencée à partir de la branche par défaut du référentiel.202* **Branch** : travaille sur une nouvelle branche, démarrée à partir de la branche par défaut du référentiel.

201* **Pull request** : en ouvre une quand vous le demandez, et peut en ouvrir une seule pour une correction de bug ou un autre changement concret.203* **Pull request** : en ouvre une quand vous le demandez, et peut en ouvrir une de sa propre initiative pour un correctif de bug ou un autre changement concret.

202* **Après l'ouverture** : surveille la pull request avec [auto-fix](/docs/fr/claude-code-on-the-web#auto-fix-pull-requests) activé, que auto-fix soit activé ou non pour vos autres sessions cloud. Il pousse des corrections quand CI échoue, traite les commentaires d'examen, et répond dans le thread quand les vérifications réussissent et la pull request est prête pour vous.204* **Après l'ouverture** : surveille la pull request avec [auto-fix](/docs/fr/claude-code-on-the-web#auto-fix-pull-requests) activé, que l'auto-fix soit activé ou non pour vos autres sessions cloud. Il pousse les correctifs quand CI échoue, traite les commentaires d'examen, et répond dans le thread quand les vérifications réussissent et la pull request est prête pour vous.

203 205 

204Quand un thread a poussé une branche ou ouvert une pull request, sa carte dans la conversation peut afficher un bouton pour l'étape suivante :206Quand un thread a poussé une branche ou ouvert une pull request, sa carte dans la conversation peut afficher un bouton pour l'étape suivante :

205 207 

206* **Resolve conflicts**, **Fix CI**, **Address comments**, et **Merge it** envoient cette instruction au thread en tant que message de vous, vous pouvez donc inviter le thread vous-même au lieu d'attendre qu'il réagisse à la pull request.208* **Resolve conflicts**, **Fix CI**, **Address comments**, et **Merge it** envoient cette instruction au thread comme un message de votre part, pour que vous puissiez inviter le thread vous-même au lieu d'attendre qu'il réagisse à la pull request.

207* **Review PR** ouvre la pull request sur GitHub.209* **Review PR** ouvre la pull request sur GitHub.

208* **Create PR** apparaît quand un thread inactif a poussé une branche mais n'a pas ouvert de pull request. Le cliquer crée la pull request à partir de cette branche directement plutôt que d'envoyer au thread une instruction pour en ouvrir une.210* **Create PR** apparaît quand un thread inactif a poussé une branche mais n'a pas ouvert de pull request. Cliquer dessus crée la pull request à partir de cette branche directement plutôt que d'envoyer au thread une instruction pour en ouvrir une.

209 211 

210Pour changer quand les threads ouvrent les pull requests, par exemple seulement quand vous le demandez, ou quelle branche ils commencent, dites-le dans la tâche ou dans [les instructions du projet](#write-project-instructions).212Pour changer quand les threads ouvrent les pull requests, par exemple seulement quand vous le demandez, ou quelle branche ils commencent, dites-le dans la tâche ou dans [les instructions du projet](#write-project-instructions).

211 213 


215 217 

216Le volet **Overview** à côté de la conversation suit les threads du projet. Il est déjà ouvert la première fois que vous ouvrez un nouveau projet. Le bouton **Overview** dans l'en-tête du projet le ferme et le rouvre, et affiche un point quand un thread vous attend.218Le volet **Overview** à côté de la conversation suit les threads du projet. Il est déjà ouvert la première fois que vous ouvrez un nouveau projet. Le bouton **Overview** dans l'en-tête du projet le ferme et le rouvre, et affiche un point quand un thread vous attend.

217 219 

218Dans l'application de bureau, vous obtenez également une notification de bureau quand Claude publie dans la conversation, un thread atteint une erreur ou un thread a besoin de votre entrée, vous n'avez donc pas besoin de garder le projet ouvert pour le découvrir. Pour obtenir également une notification chaque fois qu'un thread termine un tour, ou pour les désactiver pour un projet, choisissez **Notifications** dans le menu de la barre latérale du projet. Ces notifications sont uniquement de bureau : dans un navigateur, vérifiez le point sur le bouton **Overview**.220Dans l'application de bureau, vous recevez également une notification de bureau quand Claude poste dans la conversation, qu'un thread rencontre une erreur, ou qu'un thread a besoin de votre entrée, pour que vous n'ayez pas à garder le projet ouvert pour le découvrir. Pour en recevoir une aussi chaque fois qu'un thread termine un tour, ou pour les désactiver pour un projet, choisissez **Notifications** dans le menu de la barre latérale du projet. Ces notifications sont uniquement de bureau : dans un navigateur, vérifiez le point sur le bouton **Overview**.

219 221 

220L'onglet **Threads** du volet groupe les threads par état :222L'onglet **Threads** du volet groupe les threads par état :

221 223 

222| Groupe | Ce qui s'y trouve |224| Groupe | Ce qu'il contient |

223| :- | :- |225| :- | :- |

224| **Ready for review** | Threads dont la pull request est ouverte et en attente d'examen |226| **Ready for review** | Threads dont la pull request est ouverte et en attente d'examen |

225| **Waiting on you** | Threads qui ont besoin de votre réponse ou approbation, ou qui ont échoué |227| **Waiting on you** | Threads qui ont besoin de votre réponse ou approbation, ou qui ont échoué |


237Cliquez sur la carte d'un thread dans la conversation ou sa ligne dans **Overview** pour ouvrir sa transcription dans le volet Overview. De là, vous pouvez :239Cliquez sur la carte d'un thread dans la conversation ou sa ligne dans **Overview** pour ouvrir sa transcription dans le volet Overview. De là, vous pouvez :

238 240 

239* Lire ce que Claude a fait, étape par étape.241* Lire ce que Claude a fait, étape par étape.

240* Diriger la tâche en écrivant dans la boîte de message propre du thread. Un message là va directement à ce thread, tandis qu'une suite dans la conversation du projet ne l'atteint que quand Claude correspond la suite à ce thread.242* Diriger la tâche en écrivant dans la boîte de message propre du thread. Un message là va directement à ce thread, tandis qu'une suite dans la conversation du projet ne l'atteint que quand Claude fait correspondre la suite à ce thread.

241* Répondre à une invite de permission que le thread attend.243* Répondre à une invite de permission que le thread attend.

242* Interrompre le thread avec **Stop**, qui remplace le bouton d'envoi pendant que le thread fonctionne, ou en appuyant sur Échap.244* Interrompre le thread avec **Stop**, qui remplace le bouton d'envoi pendant que le thread fonctionne, ou en appuyant sur Échap.

243 245 

244<h3 id="choose-models-and-let-claude-manage-context">246<h3 id="choose-models-and-let-claude-manage-context">

245 Choisir des modèles et laisser Claude gérer le contexte247 Choisir les modèles et laisser Claude gérer le contexte

246</h3>248</h3>

247 249 

248Définissez les modèles et l'effort dans **Project settings > General**. Un nouveau projet exécute Opus partout, avec un [effort](/docs/fr/model-config#adjust-effort-level) élevé pour les threads et un effort faible pour la conversation :250Définissez les modèles et l'effort dans **Project settings > General**. Un nouveau projet exécute Opus partout, avec un [effort](/docs/fr/model-config#adjust-effort-level) élevé pour les threads et un effort faible pour la conversation :


250* **Thread model** et **Thread effort** s'appliquent aux threads. Pour utiliser un modèle différent pour une tâche, demandez-le dans la tâche ; pour un thread déjà en cours d'exécution, utilisez le sélecteur de modèle de ce thread.252* **Thread model** et **Thread effort** s'appliquent aux threads. Pour utiliser un modèle différent pour une tâche, demandez-le dans la tâche ; pour un thread déjà en cours d'exécution, utilisez le sélecteur de modèle de ce thread.

251* **Coordinator model** et **Coordinator effort** s'appliquent à Claude dans la conversation du projet.253* **Coordinator model** et **Coordinator effort** s'appliquent à Claude dans la conversation du projet.

252 254 

253Vous ne gérez pas les fenêtres de contexte dans un projet. Les threads se compactent automatiquement, et la conversation fonctionne à partir des messages récents, des threads récents et de la mémoire du projet plutôt que de son historique complet, elle continue donc aussi longtemps que le projet s'exécute. Mettez tout ce qui ne doit jamais être supprimé dans la [mémoire du projet](#give-a-project-standing-context). Si un thread dépasse sa fenêtre de contexte, il affiche [Claude a manqué de contexte à ce tour](#context-limit).255Vous ne gérez pas les fenêtres de contexte dans un projet. Les threads se compactent automatiquement, et la conversation fonctionne à partir des messages récents, des threads récents, et de la mémoire du projet plutôt que de son historique complet, pour qu'elle continue aussi longtemps que le projet s'exécute. Mettez tout ce qui ne doit jamais être supprimé dans [la mémoire du projet](#give-a-project-standing-context). Si un thread dépasse sa fenêtre de contexte, il affiche [Claude a manqué de contexte à ce tour](#context-limit).

254 256 

255<h3 id="tune-how-claude-runs-a-project">257<h3 id="tune-how-claude-runs-a-project">

256 Affiner la façon dont Claude exécute un projet258 Affiner comment Claude exécute un projet

257</h3>259</h3>

258 260 

259Dites à Claude dans la conversation combien de threads exécuter à la fois, quand publier des mises à jour et quand ouvrir des pull requests. Si Claude coordonne d'une manière que vous ne voulez pas, dites-le. Par exemple, vous pouvez dire :261Dites à Claude dans la conversation combien de threads exécuter à la fois, quand poster les mises à jour, et quand ouvrir les pull requests. Si Claude coordonne d'une manière que vous ne voulez pas, dites-le. Par exemple, vous pouvez dire :

260 262 

261* « Proposer des threads et attendre mon approbation avant de les démarrer » ou « Démarrer ceux-ci maintenant sans me demander de confirmer »263* « Propose les threads et attends mon approbation avant de les démarrer » ou « Démarre ceux-ci maintenant sans me demander de confirmer »

262* « Exécuter au maximum deux threads à la fois » ou « Réutiliser un thread existant pour les suites dans le même domaine »264* « Exécute au maximum deux threads à la fois » ou « Réutilise un thread existant pour les suites dans le même domaine »

263* « Publier des mises à jour plus courtes » ou « Publier seulement quand quelque chose se termine ou est bloqué »265* « Poste des mises à jour plus courtes » ou « Poste seulement quand quelque chose se termine ou se bloque »

264* « Donnez-moi une mise à jour d'état sur chaque thread »266* « Donne-moi une mise à jour de statut sur chaque thread »

265* « Faire cette tâche avec un modèle plus petit »267* « Fais cette tâche avec un modèle plus petit »

266* « N'ouvrez pas de pull request jusqu'à ce que j'aie vu le plan »268* « N'ouvre pas de pull request jusqu'à ce que j'aie vu le plan »

267* « Dites-moi ce qui ne va pas dans ces référentiels et ne corrigez rien pour l'instant », quand vous voulez examiner les résultats avant qu'aucun d'eux ne devienne un thread269* « Dis-moi ce qui ne va pas dans ces référentiels et ne corrige rien pour l'instant », quand vous voulez examiner les résultats avant qu'aucun d'eux ne devienne un thread

268* « Répondre à cela ici au lieu de démarrer un thread », quand Claude démarre un thread pour quelque chose que vous aviez l'intention comme une question rapide270* « Réponds à cela ici au lieu de démarrer un thread », quand Claude démarre un thread pour quelque chose que vous aviez l'intention comme une question rapide

269 271 

270Claude enregistre les préférences comme celles-ci dans la [mémoire du projet](#give-a-project-standing-context) de lui-même et les suit dans les threads ultérieurs. Ce sont des instructions que Claude respecte, pas des paramètres appliqués, donc une limite de thread que vous donnez de cette façon n'est pas un plafond dur. Ajoutez-en une aux instructions du projet quand vous voulez qu'elle soit formulée exactement et appliquée à chaque thread dès le départ.272Claude enregistre les préférences comme celles-ci dans [la mémoire du projet](#give-a-project-standing-context) de sa propre initiative et les suit dans les threads cloud ultérieurs. Ce sont des instructions que Claude respecte, pas des paramètres appliqués, donc une limite de thread que vous donnez de cette manière n'est pas un plafond strict. Ajoutez-en une aux instructions du projet quand vous voulez qu'elle soit formulée exactement et appliquée à chaque thread dès le départ.

271 273 

272<h3 id="unblock-a-thread-waiting-on-approval">274<h3 id="unblock-a-thread-waiting-on-approval">

273 Débloquer un thread en attente d'approbation275 Débloquer un thread en attente d'approbation


275 277 

276Les threads s'exécutent en [mode auto](/docs/fr/permission-modes#eliminate-prompts-with-auto-mode) quand le modèle du thread le supporte, donc la plupart des appels d'outils s'exécutent sans vous demander. Quand un thread a besoin de votre approbation, l'invite est à l'intérieur de ce thread et le thread attend jusqu'à ce que vous y répondiez. Dire à Claude dans la conversation du projet d'aller de l'avant ne l'atteint pas.278Les threads s'exécutent en [mode auto](/docs/fr/permission-modes#eliminate-prompts-with-auto-mode) quand le modèle du thread le supporte, donc la plupart des appels d'outils s'exécutent sans vous demander. Quand un thread a besoin de votre approbation, l'invite est à l'intérieur de ce thread et le thread attend jusqu'à ce que vous y répondiez. Dire à Claude dans la conversation du projet d'aller de l'avant ne l'atteint pas.

277 279 

278Chaque approbation couvre cette invite, ou le reste de ce thread si vous choisissez l'option plus large. Pour laisser chaque thread exécuter certaines commandes sans demander, ou pour en bloquer certaines, ajoutez des [règles de permission](/docs/fr/permissions) au `.claude/settings.json` du référentiel. Les threads ne les appliquent que dans un projet avec un référentiel ; voir [Ce que les threads reprennent de vos référentiels](#what-threads-pick-up-from-your-repositories).280Chaque approbation couvre cette invite, ou le reste de ce thread si vous choisissez l'option plus large. Pour laisser chaque thread exécuter certaines commandes sans demander, ou pour en bloquer certaines, ajoutez des [règles de permission](/docs/fr/permissions) au `.claude/settings.json` du référentiel. Les threads cloud ne les appliquent que dans un projet avec un référentiel ; voir [Ce que les threads récupèrent de vos référentiels](#what-threads-pick-up-from-your-repositories). Dans un projet avec plusieurs référentiels, aucune règle de permission du référentiel n'atteint un thread cloud, donc vous comptez sur le mode auto et sur les approbations que vous donnez à l'intérieur de chaque thread.

279 281 

280<h3 id="run-a-thread-on-your-own-computer">282<h3 id="run-a-thread-on-your-own-computer">

281 Exécuter un thread sur votre propre ordinateur283 Exécuter un thread sur votre propre ordinateur

282</h3>284</h3>

283 285 

284Quand une tâche a besoin de quelque chose que seul votre ordinateur possède, comme une base de données locale, un émulateur d'appareil ou une API derrière votre VPN, demandez à Claude d'exécuter le thread pour cette tâche sur votre ordinateur au lieu du cloud. Quand vous demandez dans la conversation du projet, le thread est une session Claude Code dans un dossier sur votre machine, connectée via [Remote Control](/docs/fr/remote-control). Les autres threads du projet continuent de s'exécuter dans le cloud. Comparé à un thread cloud, un thread sur votre ordinateur :286Quand une tâche a besoin de quelque chose que seul votre ordinateur a, comme une base de données locale, un émulateur d'appareil, ou une API derrière votre VPN, demandez à Claude d'exécuter le thread pour cette tâche sur votre ordinateur au lieu du cloud. Quand vous demandez dans la conversation du projet, le thread est une session Claude Code dans un dossier sur votre machine, connectée via [Remote Control](/docs/fr/remote-control). Les autres threads du projet continuent à s'exécuter dans le cloud. Comparé à un thread cloud, un thread sur votre ordinateur :

285 287 

286* Fonctionne avec les fichiers, les outils, les serveurs MCP et les paramètres Claude Code sur cette machine au lieu de l'environnement cloud du projet288* Fonctionne avec les fichiers, les outils, les serveurs MCP, et les paramètres Claude Code sur cette machine, y compris ses hooks et règles de permission, au lieu de l'environnement cloud du projet

287* Commence avec les instructions du projet, mais pas avec ses fichiers de mémoire chargés289* Commence avec les instructions du projet, mais pas avec ses fichiers de mémoire chargés

288* S'exécute uniquement tant que cet ordinateur est éveillé avec Remote Control activé290* S'exécute seulement tant que cet ordinateur est éveillé avec Remote Control activé

289 291 

290<Steps>292<Steps>

291 <Step title="Connecter le dossier">293 <Step title="Connecter le dossier">

292 Sur l'ordinateur qui a le dossier dont la tâche a besoin, rendez-le disponible via Remote Control de l'une des deux façons. Les deux ont besoin de Claude Code v2.1.280 ou ultérieur sur cet ordinateur.294 Sur l'ordinateur qui a le dossier dont la tâche a besoin, rendez-le disponible via Remote Control de l'une des deux façons. Les deux ont besoin de Claude Code v2.1.280 ou plus tard sur cet ordinateur.

293 295 

294 * **Dans l'application de bureau Claude** : ouvrez **Settings > Claude Code**, activez **Use this computer from your phone and claude.ai**, et ajoutez le dossier à la liste sous ce commutateur. Les threads peuvent s'exécuter sur cet ordinateur pendant que l'application est ouverte.296 * **Dans l'application de bureau Claude** : ouvrez **Settings > Claude Code**, activez **Use this computer from your phone and claude.ai**, et ajoutez le dossier à la liste sous ce commutateur. Les threads peuvent s'exécuter sur cet ordinateur pendant que l'application est ouverte.

295 * **Dans un terminal** : exécutez `claude remote-control` dans le dossier et laissez-le s'exécuter.297 * **Dans un terminal** : exécutez `claude remote-control` dans le dossier et laissez-le s'exécuter. Dans un référentiel git, ajoutez `--spawn worktree` pour donner à chaque thread là son propre [worktree](/docs/fr/worktrees) au lieu du dossier lui-même.

296 </Step>298 </Step>

297 299 

298 <Step title="Demander la tâche avec Work locally">300 <Step title="Demander la tâche avec Work locally">


300 </Step>302 </Step>

301 303 

302 <Step title="L'autoriser sur la carte">304 <Step title="L'autoriser sur la carte">

303 Claude répond avec une carte **Allow Claude to work in a folder on your device**. Choisissez le dossier si vous en avez connecté plusieurs. Puis cliquez sur **Allow once**.305 Claude répond avec une carte **Allow Claude to work in a folder on your device**. Choisissez le dossier si vous en avez connecté plusieurs. Deux threads travaillant dans un dossier en même temps peuvent écraser les changements l'un de l'autre, donc si le dossier est un référentiel git, vous pouvez activer **Worktree** dans les options du dossier pour donner à ce thread son propre worktree à la place. Puis cliquez sur **Allow once**.

304 </Step>306 </Step>

305</Steps>307</Steps>

306 308 

307Le thread s'exécute en [mode auto](/docs/fr/permission-modes#eliminate-prompts-with-auto-mode), donc Claude exécute les commandes et édite les fichiers dans ce dossier sans vous demander à chaque fois. Si le mode auto n'est pas disponible ou désactivé dans Claude Code sur cet ordinateur, le thread s'exécute sans lui, et toute invite de permission qu'il lève attend votre réponse dans le thread, comme [Débloquer un thread en attente d'approbation](#unblock-a-thread-waiting-on-approval) le décrit.309Le thread s'exécute en [mode auto](/docs/fr/permission-modes#eliminate-prompts-with-auto-mode), donc Claude exécute les commandes et édite les fichiers dans ce dossier sans vous demander à chaque fois. Si le mode auto n'est pas disponible ou est désactivé dans Claude Code de cet ordinateur, le thread s'exécute sans lui, et toute invite de permission qu'il lève attend votre réponse dans le thread, comme [Débloquer un thread en attente d'approbation](#unblock-a-thread-waiting-on-approval) le décrit.

308 310 

309Pendant que le thread s'exécute, une icône d'ordinateur portable dans son en-tête montre si votre ordinateur est connecté. Cliquez dessus pour voir quel dossier le thread utilise ou pour désactiver la connexion. Le thread s'interrompt pendant que cet ordinateur dort, et s'arrête si l'application de bureau ou `claude remote-control` quitte. [Perte de contact avec votre dossier](#lost-contact-with-your-folder) couvre comment le remettre en marche. Dans l'application de bureau, activez **Keep this computer awake for Remote Control** sous **Settings > Claude Code** pour empêcher l'ordinateur de s'endormir de lui-même.311Pendant que le thread s'exécute, une icône d'ordinateur portable dans son en-tête montre si votre ordinateur est connecté. Cliquez dessus pour voir quel dossier le thread utilise ou pour désactiver la connexion. Le thread se met en pause pendant que cet ordinateur dort, et s'arrête si l'application de bureau ou `claude remote-control` se ferme. [Perte de contact avec votre dossier](#lost-contact-with-your-folder) couvre comment le remettre en marche. Dans l'application de bureau, activez **Keep this computer awake for Remote Control** sous **Settings > Claude Code** pour empêcher l'ordinateur de s'endormir de sa propre initiative.

310 312 

311Un projet ne peut pas exécuter un thread sur votre ordinateur pendant que [**Require trusted devices**](/docs/fr/remote-control#trusted-devices) est activé pour votre compte.313Un projet ne peut pas exécuter un thread sur votre ordinateur pendant que [**Require trusted devices**](/docs/fr/remote-control#trusted-devices) est activé pour votre compte.

312 314 


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

321| 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** |

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

323| 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 depuis **Add** sur l'onglet **Library** dans **Overview** |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** |

324 326 

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

326 328 


364 366 

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

366 368 

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

370 Ajouter des fichiers et des dossiers

371</h3>

372 

373Ajoutez les fichiers et dossiers que vous voulez que les threads lisent dans le champ **Context** de la boîte de dialogue **New project**, ou après avec **Add** sur l'onglet **Library** dans **Overview**. Ces limites s'appliquent à ce que vous ajoutez :

374 

375* **Library tab** : jusqu'à 100 fichiers et 2 GB en un seul choix, avec un seul fichier jusqu'à 480 MB.

376* **New project dialog** : les fichiers de plus de 30 MB sont ignorés, donc ajoutez les fichiers plus volumineux à partir de l'onglet **Library** après avoir créé le projet.

377* **Folders** : quand vous ajoutez un dossier à partir de l'un ou l'autre endroit, le projet reçoit une copie de ses 100 premiers fichiers jusqu'à 200 MB, sans aucun fichier de plus de 30 MB, fichiers cachés ou `node_modules`. Un projet contient jusqu'à 10 dossiers et dossiers Google Drive combinés, et les fichiers uniques ne comptent pas vers cette limite.

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 

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

368 Ce que les threads reprennent de vos référentiels381 Ce que les threads reprennent de vos référentiels

369</h3>382</h3>


472Plusieurs fonctionnalités de Claude Code permettent à plus d'une session de fonctionner en même temps, donc exécuter du travail en parallèle n'est pas en soi à quoi sert un projet. Dans un projet, Claude démarre et suit les sessions au lieu de vous, et chacun commence à partir des mêmes instructions. Voici comment chaque fonctionnalité voisine se connecte à un projet :485Plusieurs fonctionnalités de Claude Code permettent à plus d'une session de fonctionner en même temps, donc exécuter du travail en parallèle n'est pas en soi à quoi sert un projet. Dans un projet, Claude démarre et suit les sessions au lieu de vous, et chacun commence à partir des mêmes instructions. Voici comment chaque fonctionnalité voisine se connecte à un projet :

473 486 

474* **Claude Tag** : [Claude Tag](https://claude.com/docs/claude-tag/overview) est Claude dans les canaux Slack de votre équipe, sur les plans Team et Enterprise. N'importe qui dans un canal peut lui donner du travail, tout le monde dans le canal le voit et le dirige, et il utilise les connexions qu'un administrateur a configurées pour ce canal. Un projet est le vôtre seul : vous êtes le seul à lui envoyer du travail ou à voir ses threads, il utilise votre propre accès GitHub et vos connecteurs, et il est sur Pro et Max. [Comment Claude Tag diffère de Cowork et Claude Code](https://claude.com/docs/claude-tag/concepts/how-it-works#how-claude-tag-differs-from-cowork-and-claude-code) a le côté à côté.487* **Claude Tag** : [Claude Tag](https://claude.com/docs/claude-tag/overview) est Claude dans les canaux Slack de votre équipe, sur les plans Team et Enterprise. N'importe qui dans un canal peut lui donner du travail, tout le monde dans le canal le voit et le dirige, et il utilise les connexions qu'un administrateur a configurées pour ce canal. Un projet est le vôtre seul : vous êtes le seul à lui envoyer du travail ou à voir ses threads, il utilise votre propre accès GitHub et vos connecteurs, et il est sur Pro et Max. [Comment Claude Tag diffère de Cowork et Claude Code](https://claude.com/docs/claude-tag/concepts/how-it-works#how-claude-tag-differs-from-cowork-and-claude-code) a le côté à côté.

475* **Sessions cloud** : chaque thread est une [session cloud](/docs/fr/claude-code-on-the-web) sauf si vous demandez à Claude de l'exécuter sur votre machine. De toute façon, Claude la démarre et la suit au lieu de vous. Une session cloud que vous avez démarrée vous-même peut devenir un projet ou en alimenter un via [**Continue as a project** ou **Move to project**](#start-from-an-existing-cloud-session).488* **Sessions cloud** : chaque thread est une [session cloud](/docs/fr/claude-code-on-the-web) sauf si vous demandez à Claude de l'exécuter sur votre machine. De toute façon, Claude la démarre et la suit au lieu de vous. Une session cloud que vous avez démarrée vous-même peut devenir un projet ou en alimenter un via [**Continue as project** ou **Move to project**](#start-from-an-existing-cloud-session).

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

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

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

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

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

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

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

482 496 

483[Exécuter des agents en parallèle](/docs/fr/agents) compare ces options côte à côte.497[Exécuter des agents en parallèle](/docs/fr/agents) compare ces options côte à côte.


486 Limitations500 Limitations

487</h2>501</h2>

488 502 

489* Les projets sont disponibles à claude.ai/code, dans l'application de bureau et dans l'application mobile Claude, pas dans le CLI du terminal ou via Amazon Bedrock, la plateforme d'agents de Google Cloud ou Microsoft Foundry. La commande [`claude project`](/docs/fr/cli-reference) du CLI, qui gère l'état local de Claude Code pour un répertoire, n'est pas liée.503* Les projets sont disponibles à claude.ai/code, dans l'application de bureau et dans l'application mobile Claude, pas dans le CLI du terminal, l'extension VS Code ou le plugin JetBrains, et pas via Amazon Bedrock, la plateforme d'agents de Google Cloud ou Microsoft Foundry. La commande [`claude project`](/docs/fr/cli-reference) du CLI, qui gère l'état local de Claude Code pour un répertoire, n'est pas liée.

490* Les threads du projet sont des [sessions cloud](/docs/fr/claude-code-on-the-web), ou des sessions sur votre propre machine via [Remote Control](/docs/fr/remote-control), avec Anthropic comme fournisseur de modèle dans les deux cas. [Sécurité](/docs/fr/security) et [Utilisation des données](/docs/fr/data-usage) couvrent comment les sessions cloud sont isolées et ce qui est conservé, et [Connexion et sécurité](/docs/fr/remote-control#connection-and-security) couvre comment un thread sur votre machine se connecte et ce qui est stocké.504* Les threads du projet sont des [sessions cloud](/docs/fr/claude-code-on-the-web), ou des sessions sur votre propre machine via [Remote Control](/docs/fr/remote-control), avec Anthropic comme fournisseur de modèle dans les deux cas. [Sécurité](/docs/fr/security) et [Utilisation des données](/docs/fr/data-usage) couvrent comment les sessions cloud sont isolées et ce qui est conservé, et [Connexion et sécurité](/docs/fr/remote-control#connection-and-security) couvre comment un thread sur votre machine se connecte et ce qui est stocké.

491* Vous ne pouvez pas ajouter une session que vous avez démarrée vous-même sur votre machine à un projet. Un projet atteint votre machine uniquement en [exécutant un thread là-bas via Remote Control](#run-a-thread-on-your-own-computer), et cette section énumère ce dont il a besoin.505* Vous ne pouvez pas ajouter une session que vous avez démarrée vous-même sur votre machine à un projet. Un projet atteint votre machine uniquement en [exécutant un thread là-bas via Remote Control](#run-a-thread-on-your-own-computer), et cette section énumère ce dont il a besoin.

492* Le sandbox d'un thread cloud se met en pause entre les tours et reprend quand le thread continue. Si le sandbox ne peut pas être repris, le thread continue à partir d'un clone frais, donc les modifications non validées peuvent être perdues. Sur les tâches longues, demandez à Claude de valider et de pousser le travail en cours.506* Le sandbox d'un thread cloud se met en pause entre les tours et reprend quand le thread continue. Si le sandbox ne peut pas être repris, le thread continue à partir d'un clone frais, donc les modifications non validées peuvent être perdues. Sur les tâches longues, demandez à Claude de valider et de pousser le travail en cours.

493* Un projet appartient à un utilisateur. Vous ne pouvez pas partager un projet ou ses threads avec un autre utilisateur, et les transcriptions de threads n'ont pas l'option de partage que les autres sessions cloud ont. Il n'y a pas de contrôles au niveau de l'organisation pour les projets pendant la bêta.507* Un projet appartient à un utilisateur. Vous ne pouvez pas partager un projet ou ses threads avec un autre utilisateur, et les transcriptions de threads n'ont pas l'option de partage que les autres sessions cloud ont. Il n'y a pas de contrôles au niveau de l'organisation pour les projets pendant la bêta.

494* Un thread appartient au seul projet qui l'a démarré. Vous ne pouvez pas déplacer ou copier un thread vers un autre projet, ou le déplacer pour qu'il soit seul. [**Move to project**](#start-from-an-existing-cloud-session) va seulement dans l'autre sens : il apporte le travail d'une session cloud dans un projet.508* Un thread appartient au seul projet qui l'a démarré. Vous ne pouvez pas déplacer ou copier un thread vers un autre projet, ou le déplacer pour qu'il soit seul. [**Move to project**](#start-from-an-existing-cloud-session) va seulement dans l'autre sens : il apporte le travail d'une session cloud dans un projet. Vous ne pouvez pas fusionner deux projets en un.

495 509 

496<h2 id="troubleshooting">510<h2 id="troubleshooting">

497 Dépannage511 Dépannage

Details

8 8 

9Le plugin Claude Security exécute une analyse multi-agents des vulnérabilités de votre base de code dans une session Claude Code. Une équipe d'agents Claude cartographie votre architecture, construit un modèle de menace, recherche les vulnérabilités et examine indépendamment chaque résultat avant de rédiger le rapport. Utilisez le plugin pour analyser un référentiel entier ou [uniquement un ensemble de modifications](#scan-only-your-changes), comme le diff d'une branche, le diff d'une demande de tirage ou un seul commit, puis transformez les résultats que vous choisissez en correctifs que vous examinez et appliquez vous-même.9Le plugin Claude Security exécute une analyse multi-agents des vulnérabilités de votre base de code dans une session Claude Code. Une équipe d'agents Claude cartographie votre architecture, construit un modèle de menace, recherche les vulnérabilités et examine indépendamment chaque résultat avant de rédiger le rapport. Utilisez le plugin pour analyser un référentiel entier ou [uniquement un ensemble de modifications](#scan-only-your-changes), comme le diff d'une branche, le diff d'une demande de tirage ou un seul commit, puis transformez les résultats que vous choisissez en correctifs que vous examinez et appliquez vous-même.

10 10 

11Le plugin s'exécute localement dans votre session, utilise les modèles auxquels vous avez accès dans Claude Code, et chaque analyse compte par rapport aux limites d'utilisation de votre plan. Si vous souhaitez un service géré qui surveille vos référentiels, ou si vous souhaitez exécuter des analyses sur [Claude Mythos 5](https://platform.claude.com/docs/en/about-claude/models/introducing-claude-fable-5-and-claude-mythos-5), consultez le produit [Claude Security](https://claude.com/product/claude-security), disponible sur le plan Enterprise. Le plugin accède au code que le produit géré ne peut pas atteindre, comme les référentiels hébergés sur GitLab ou Bitbucket, ou sur des réseaux qui n'autorisent pas les connexions entrantes.11Le plugin s'exécute localement dans votre session, utilise [les modèles auxquels vous avez accès dans Claude Code](#models-and-providers), et chaque analyse compte dans votre [utilisation](/docs/fr/costs). Si vous souhaitez un service géré qui surveille vos référentiels, ou si vous souhaitez exécuter des analyses sur [Claude Mythos](https://platform.claude.com/docs/en/about-claude/models/introducing-claude-fable-5-and-claude-mythos-5), consultez le produit [Claude Security](https://claude.com/product/claude-security), disponible sur le plan Enterprise. Le plugin accède au code que le produit géré ne peut pas atteindre, comme les référentiels hébergés sur GitLab ou Bitbucket, ou sur des réseaux qui n'autorisent pas les connexions entrantes.

12 12 

13Le plugin est également distinct des outils d'examen déjà présents dans Claude Code : le [plugin de conseils en sécurité](/docs/fr/security-guidance) examine le code au fur et à mesure que Claude l'écrit, [`/security-review`](/docs/fr/commands#all-commands) exécute une seule passe sur votre branche, et [Code Review](/docs/fr/code-review) examine les demandes de tirage. Pour comprendre comment les couches s'empilent, consultez [Comment le plugin s'intègre avec les autres outils de sécurité](#how-the-plugin-fits-with-other-security-tools).13Le plugin est également distinct des outils d'examen déjà présents dans Claude Code : le [plugin de conseils en sécurité](/docs/fr/security-guidance) examine le code au fur et à mesure que Claude l'écrit, [`/security-review`](/docs/fr/commands#all-commands) exécute une seule analyse de votre branche, et [Code Review](/docs/fr/code-review) examine les demandes de tirage. Pour comprendre comment les couches s'empilent, consultez [Comment le plugin s'intègre avec les autres outils de sécurité](#how-the-plugin-fits-with-other-security-tools).

14 14 

15<h2 id="prerequisites">15<h2 id="prerequisites">

16 Conditions préalables16 Prérequis

17</h2>17</h2>

18 18 

19Pour exécuter le plugin, vous avez besoin de :19Pour exécuter le plugin, vous avez besoin de :

20 20 

21* Un plan payant, pour les [flux de travail dynamiques](/docs/fr/workflows) que l'analyse utilise pour orchestrer ses agents. Sur Pro, activez-les à partir de la ligne Dynamic workflows dans `/config`.21* Un plan payant, un accès à l'API Anthropic, ou un [fournisseur tiers](#models-and-providers), pour les [flux de travail dynamiques](/docs/fr/workflows) que l'analyse utilise pour orchestrer ses agents. Sur Pro, activez-les à partir de la ligne Dynamic workflows dans `/config`.

22* Python 3.9 ou version ultérieure disponible sur votre `PATH` en tant que `python3`. Vérifiez avec `python3 --version`. L'outillage du plugin utilise uniquement la bibliothèque standard Python, donc rien n'est installé.22* Python 3.9 ou version ultérieure disponible sur votre `PATH` en tant que `python3`. Vérifiez avec `python3 --version`. L'outillage du plugin utilise uniquement la bibliothèque standard Python, donc rien n'est installé.

23* Linux, macOS ou Windows.23* Linux, macOS ou Windows.

24* Git, pour les analyses de modifications et pour transformer les résultats en correctifs ; ces tâches ne supportent pas les autres systèmes de contrôle de version. Une analyse complète fonctionne dans n'importe quel répertoire, avec ou sans contrôle de version.24* Git, pour les analyses de modifications et pour transformer les résultats en correctifs ; ces tâches ne supportent pas les autres systèmes de contrôle de version. Une analyse complète fonctionne dans n'importe quel répertoire, avec ou sans contrôle de version.

25 25 

26<h2 id="models-and-providers">

27 Modèles et fournisseurs

28</h2>

29 

30Une analyse s'exécute dans votre session Claude Code. Le plugin n'effectue aucun appel de modèle en lui-même, il n'y a donc pas de clé API distincte ou de paramètre de fournisseur à configurer.

31 

32* **Modèle** : les agents qui recherchent les vulnérabilités, vérifient les résultats et écrivent et examinent les correctifs s'exécutent sur [le modèle de votre session](/docs/fr/sub-agents#choose-a-model). Pour le modifier, exécutez [`/model`](/docs/fr/model-config#setting-your-model) dans votre session avant de démarrer une analyse. Quelques étapes de support, comme le mappage du référentiel, utilisent plutôt l'[alias `sonnet`](/docs/fr/model-config#model-aliases).

33* **Fournisseur** : les analyses s'exécutent sur un plan payant, avec accès à l'API Anthropic, ou sur un [fournisseur tiers](/docs/fr/third-party-integrations) tel que [Amazon Bedrock](/docs/fr/amazon-bedrock), [Google Cloud's Agent Platform](/docs/fr/google-vertex-ai) ou [Microsoft Foundry](/docs/fr/microsoft-foundry).

34 

35Sur un fournisseur tiers, l'alias `sonnet` peut se résoudre en une version différente de celle sur l'API Anthropic. Si votre compte ne peut pas utiliser cette version, [épinglez vos versions de modèle](/docs/fr/model-config#pin-models-for-third-party-deployments), y compris `ANTHROPIC_DEFAULT_SONNET_MODEL`.

36 

37[Le basculement automatique du modèle](/docs/fr/model-config#automatic-model-fallback) réexécute une demande que les protections d'un modèle signalent. Sur Amazon Bedrock, Google Cloud's Agent Platform et Microsoft Foundry, la demande peut se terminer par un message de refus à la place, selon [la façon dont votre déploiement est configuré](/docs/fr/model-config#enable-fallback-on-bedrock-agent-platform-and-foundry).

38 

26<h2 id="install-the-plugin">39<h2 id="install-the-plugin">

27 Installez le plugin40 Installez le plugin

28</h2>41</h2>


156 169 

157**Le menu `/claude-security` s'ouvre avec un avertissement Python.** Le plugin a besoin de `python3` 3.9 ou version ultérieure sur votre `PATH`. Lorsqu'il ne peut pas trouver `python3` du tout, le menu avertit que Claude Security ne fonctionnera pas jusqu'à ce qu'un soit installé ; lorsque le premier `python3` sur votre `PATH` est plus ancien, l'avertissement nomme la version qu'il a trouvée. Installez Python 3, ou mettez un `python3` plus récent en premier sur votre `PATH`, puis démarrez une nouvelle session.170**Le menu `/claude-security` s'ouvre avec un avertissement Python.** Le plugin a besoin de `python3` 3.9 ou version ultérieure sur votre `PATH`. Lorsqu'il ne peut pas trouver `python3` du tout, le menu avertit que Claude Security ne fonctionnera pas jusqu'à ce qu'un soit installé ; lorsque le premier `python3` sur votre `PATH` est plus ancien, l'avertissement nomme la version qu'il a trouvée. Installez Python 3, ou mettez un `python3` plus récent en premier sur votre `PATH`, puis démarrez une nouvelle session.

158 171 

159**Vous pouvez voir un avis « safeguards flagged this message » lors de l'analyse sur un modèle Fable.** Le message nomme le modèle, par exemple « Fable 5.1's safeguards flagged this message ». Les classificateurs de sécurité de cybersécurité de Fable signalent certaines demandes, et Claude Code réexécute une demande signalée sur un modèle Opus via [automatic model fallback](/docs/fr/model-config#automatic-model-fallback). C'est attendu, et l'analyse devrait toujours se terminer avec succès.172**Vous pouvez voir un avis « safeguards flagged this message » lors de l'analyse sur un modèle Fable.** Le message nomme le modèle que vous exécutez. Les classificateurs de sécurité de cybersécurité de Fable signalent certaines demandes, et Claude Code réexécute une demande signalée sur un modèle Opus via [automatic model fallback](/docs/fr/model-config#automatic-model-fallback). C'est attendu. Lorsque la demande est réexécutée, l'analyse devrait toujours se terminer avec succès.

160 173 

161<h2 id="related-resources">174<h2 id="related-resources">

162 Ressources connexes175 Ressources connexes

Details

22| `claude -c -p "query"` | Continuer via SDK | `claude -c -p "Check for type errors"` |22| `claude -c -p "query"` | Continuer via SDK | `claude -c -p "Check for type errors"` |

23| `claude -r "<session>" "query"` | Reprendre une session par ID ou nom | `claude -r "auth-refactor" "Finish this PR"` |23| `claude -r "<session>" "query"` | Reprendre une session par ID ou nom | `claude -r "auth-refactor" "Finish this PR"` |

24| `claude update` | Mettre à jour vers la dernière version | `claude update` |24| `claude update` | Mettre à jour vers la dernière version | `claude update` |

25| `claude gateway` | Démarrer le serveur [passerelle d'applications Claude](/docs/fr/claude-apps-gateway) auto-hébergé, pour les administrateurs déployant SSO et la politique devant Claude Code sur Amazon Bedrock, Google Cloud's Agent Platform, ou Microsoft Foundry. Nécessite `--config` pointant vers un [`gateway.yaml`](/docs/fr/claude-apps-gateway-config). Disponible dans Claude Code v2.1.195 et ultérieur. | `claude gateway --config gateway.yaml` |25| `claude gateway` | Démarrer le serveur [passerelle d'applications Claude](/docs/fr/claude-apps-gateway) auto-hébergé, pour les administrateurs déployant SSO et la politique devant Claude Code sur Amazon Bedrock, Google Cloud's Agent Platform, ou Microsoft Foundry. Nécessite `--config` pointant vers un [`gateway.yaml`](/docs/fr/claude-apps-gateway-config). | `claude gateway --config gateway.yaml` |

26| `claude install [version]` | Installer ou réinstaller le binaire natif. Accepte une version comme `2.1.118`, ou `stable` ou `latest`. Voir [Installer une version spécifique](/docs/fr/setup#install-a-specific-version) | `claude install stable` |26| `claude install [version]` | Installer ou réinstaller le binaire natif. Accepte une version comme `2.1.118`, ou `stable` ou `latest`. Voir [Installer une version spécifique](/docs/fr/setup#install-a-specific-version) | `claude install stable` |

27| `claude auth login` | Se connecter à votre compte Anthropic. Utilisez `--email` pour pré-remplir votre adresse e-mail, `--sso` pour forcer l'authentification SSO, et `--console` pour vous connecter avec Anthropic Console pour la facturation de l'utilisation de l'API au lieu d'un abonnement Claude | `claude auth login --console` |27| `claude auth login` | Se connecter à votre compte Anthropic. Utilisez `--email` pour pré-remplir votre adresse e-mail, `--sso` pour forcer l'authentification SSO, et `--console` pour vous connecter avec Anthropic Console pour la facturation de l'utilisation de l'API au lieu d'un abonnement Claude | `claude auth login --console` |

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

Details

78DATABASE_URL=postgres://localhost:5432/myapp78DATABASE_URL=postgres://localhost:5432/myapp

79```79```

80 80 

81Chaque session copie les valeurs de l'environnement une fois, au démarrage, dans des variables d'environnement ordinaires que toute commande exécutée par Claude peut lire, sauf les variables `OTEL_*`. Claude Code les utilise pour son propre [export de télémétrie](/docs/fr/monitoring-usage#telemetry-from-cloud-sessions-and-claude-tag) et ne les transmet pas aux commandes qu'il exécute. Comme les sessions en cours d'exécution ne relisent pas la configuration, la modification ou l'ajout de variables affecte les sessions que vous démarrez par la suite ; les sessions déjà en cours d'exécution conservent les valeurs avec lesquelles elles ont démarré.81Une session lit les valeurs de l'environnement dans des variables d'environnement ordinaires que toute commande exécutée par Claude peut lire, sauf les variables `OTEL_*`. Claude Code les utilise pour son propre [export de télémétrie](/docs/fr/monitoring-usage#telemetry-from-cloud-sessions-and-claude-tag) et ne les transmet pas aux commandes qu'il exécute.

82 

83Dans un environnement hébergé par Anthropic, une session lit les valeurs de l'environnement lorsque vous la créez et à nouveau chaque fois que Claude Code démarre dans la VM de la session par la suite, ce qui se produit dans deux cas :

84 

85* **La VM est restaurée après être restée inactive** : après quelques minutes sans activité, la VM d'une session se met en pause avec ses fichiers enregistrés. Votre message suivant restaure la même VM et démarre Claude Code à nouveau.

86* **La VM a été récupérée et est reconstruite** : si la VM en pause a depuis été [récupérée](/docs/fr/claude-code-on-the-web#environment-expired), la réouverture de la session provisionne une nouvelle VM.

87 

88Après avoir modifié, ajouté ou supprimé une variable, une session existante dans un environnement hébergé par Anthropic conserve les valeurs qu'elle a lues en dernier jusqu'à ce que sa VM soit ensuite restaurée ou reconstruite, et utilise votre modification à partir de ce moment. Sa VM se met en pause d'elle-même une fois que la session est inactive, et vous ne pouvez pas la mettre en pause vous-même. Pour utiliser une nouvelle valeur immédiatement, demandez à Claude de la définir sur la commande qu'il exécute, par exemple `LOG_LEVEL=trace npm test`, ou démarrez une nouvelle session.

82 89 

83Une 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.90Une 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.

84 91 


208 215 

209Pour modifier l'accès réseau d'un environnement, [ouvrez-le pour l'édition](#configure-your-environment) et utilisez le sélecteur **Network access** dans la boîte de dialogue. Un [environnement partagé](#organization-shared-environments) s'ouvre en lecture seule là, donc un propriétaire modifie son accès réseau à partir de la page **Cloud environments** dans les [paramètres d'administration](https://claude.ai/admin-settings) à la place. L'icône cloud qui ouvre le sélecteur apparaît sur les surfaces de l'application listées sous [The Default environment](#the-default-environment) et dans l'[éditeur de routines](/docs/fr/routines#environments-and-network-access) ; les environnements personnels n'ont pas de page séparée dans les paramètres de votre compte claude.ai.216Pour modifier l'accès réseau d'un environnement, [ouvrez-le pour l'édition](#configure-your-environment) et utilisez le sélecteur **Network access** dans la boîte de dialogue. Un [environnement partagé](#organization-shared-environments) s'ouvre en lecture seule là, donc un propriétaire modifie son accès réseau à partir de la page **Cloud environments** dans les [paramètres d'administration](https://claude.ai/admin-settings) à la place. L'icône cloud qui ouvre le sélecteur apparaît sur les surfaces de l'application listées sous [The Default environment](#the-default-environment) et dans l'[éditeur de routines](/docs/fr/routines#environments-and-network-access) ; les environnements personnels n'ont pas de page séparée dans les paramètres de votre compte claude.ai.

210 217 

218Lorsque vous modifiez l'accès réseau d'un environnement hébergé par Anthropic, ses sessions existantes suivent le nouveau paramètre dans environ une minute, pour les requêtes qui passent par la [liste d'autorisation réseau](#access-levels) de la session. Vous n'avez pas besoin de démarrer une nouvelle session.

219 

211<Note>220<Note>

212 Les connecteurs MCP que vous activez sur une session ou une routine fonctionnent sans ajouter leurs hôtes à **Allowed domains**, car le trafic des connecteurs transite par les serveurs d'Anthropic plutôt que par le réseau de la session. Cela s'appuie sur le même canal lié à Anthropic noté sous [Security and isolation](/docs/fr/claude-code-on-the-web#security-and-isolation). Désactivez tout connecteur dont vous n'avez pas besoin pour limiter les outils que Claude peut atteindre.221 Les connecteurs MCP que vous activez sur une session ou une routine fonctionnent sans ajouter leurs hôtes à **Allowed domains**, car le trafic des connecteurs transite par les serveurs d'Anthropic plutôt que par le réseau de la session. Cela s'appuie sur le même canal lié à Anthropic noté sous [Security and isolation](/docs/fr/claude-code-on-the-web#security-and-isolation). Désactivez tout connecteur dont vous n'avez pas besoin pour limiter les outils que Claude peut atteindre.

213</Note>222</Note>


428 437 

429Dans les environnements hébergés par Anthropic, ces limites de temps s'appliquent aux travaux de longue durée dans une session cloud, comme une construction, une installation ou une exécution de test. Chaque entrée renvoie à la section qui définit la limite.438Dans les environnements hébergés par Anthropic, ces limites de temps s'appliquent aux travaux de longue durée dans une session cloud, comme une construction, une installation ou une exécution de test. Chaque entrée renvoie à la section qui définit la limite.

430 439 

431* **Commandes que Claude exécute** : un environnement cloud ne définit pas son propre délai d'expiration de commande, donc les défauts de l'outil Bash s'appliquent. Claude attend 2 minutes pour une commande par défaut et peut demander jusqu'à 10 minutes. Quand une commande atteint son [délai d'expiration](/docs/fr/tools-reference#timeout-and-output-limits), Claude Code [la déplace en arrière-plan](/docs/fr/tools-reference#background-commands) au lieu de l'arrêter, sauf si la commande commence par `sleep`.440* **Commandes que Claude exécute** : un environnement cloud ne définit pas son propre délai d'expiration de commande, donc les défauts de l'outil Bash s'appliquent. Claude attend 2 minutes pour une commande par défaut et peut demander jusqu'à 10 minutes.

441 

442 Quand une commande atteint son [délai d'expiration](/docs/fr/tools-reference#timeout-and-output-limits), Claude Code [la déplace en arrière-plan](/docs/fr/tools-reference#background-commands) au lieu de l'arrêter, sauf si la commande commence par `sleep`. Une commande déplacée de cette façon peut continuer à s'exécuter pendant jusqu'à 30 minutes supplémentaires avant que Claude Code l'arrête à son [délai d'expiration en arrière-plan](/docs/fr/tools-reference#background-commands). Définir `BASH_DEFAULT_TIMEOUT_MS` au-dessus de `1800000` millisecondes allonge cette limite ainsi que le défaut de premier plan.

432* **Crochets SessionStart** : Claude Code annule un crochet `command` après 600 secondes sauf si vous définissez [`timeout`](/docs/fr/hooks#common-fields), en secondes, sur l'entrée du crochet. Claude Code n'applique pas le délai d'expiration sur un crochet que vous exécutez avec [`async: true`](/docs/fr/hooks#run-hooks-in-the-background).443* **Crochets SessionStart** : Claude Code annule un crochet `command` après 600 secondes sauf si vous définissez [`timeout`](/docs/fr/hooks#common-fields), en secondes, sur l'entrée du crochet. Claude Code n'applique pas le délai d'expiration sur un crochet que vous exécutez avec [`async: true`](/docs/fr/hooks#run-hooks-in-the-background).

433* **Script de configuration** : un script qui prend plus que environ cinq minutes n'est pas mis en cache. [Exigences du script](#script-requirements) couvre comment rester en dessous de cela.444* **Script de configuration** : un script qui prend plus que environ cinq minutes n'est pas mis en cache. [Exigences du script](#script-requirements) couvre comment rester en dessous de cela.

434* **Sessions inactives** : une session s'arrête après une période d'inactivité et sa VM est réclamée. [Environnement expiré](/docs/fr/claude-code-on-the-web#environment-expired) couvre ce qui compte comme inactif et comment rouvrir la session.445* **Sessions inactives** : après quelques minutes sans activité, la VM d'une session s'arrête avec ses fichiers sauvegardés, et une VM arrêtée peut être réclamée ultérieurement. [Définir les variables d'environnement](#set-environment-variables) décrit ce qu'une session récupère dans chaque cas, et [Environnement expiré](/docs/fr/claude-code-on-the-web#environment-expired) couvre comment rouvrir une session dont la VM a été réclamée.

435 446 

436Pour augmenter les délais d'expiration de commande pour les sessions d'un environnement, ajoutez [`BASH_DEFAULT_TIMEOUT_MS` et `BASH_MAX_TIMEOUT_MS`](/docs/fr/env-vars#variables) à ses [variables d'environnement](#set-environment-variables). Les deux prennent des millisecondes. Par exemple, `BASH_DEFAULT_TIMEOUT_MS=600000` rend 10 minutes le défaut.447Pour augmenter les délais d'expiration de commande pour les sessions d'un environnement, ajoutez [`BASH_DEFAULT_TIMEOUT_MS` et `BASH_MAX_TIMEOUT_MS`](/docs/fr/env-vars#variables) à ses [variables d'environnement](#set-environment-variables). Les deux prennent des millisecondes. Par exemple, `BASH_DEFAULT_TIMEOUT_MS=600000` rend 10 minutes le défaut.

437 448 


470 481 

471Le cache est un instantané du système de fichiers, donc il conserve ce que le script de configuration écrit sur le disque et perd tout ce qui était seulement en cours d'exécution. Les paquets que vous installez, les images Docker que vous extrayez et les fichiers que vous écrivez se reportent tous. Une base de données que le script a démarrée, une pile `docker compose up`, ou tout autre processus en arrière-plan ne le fait pas ; démarrez-les par session en demandant à Claude ou avec un crochet [SessionStart](#setup-scripts-vs-sessionstart-hooks).482Le cache est un instantané du système de fichiers, donc il conserve ce que le script de configuration écrit sur le disque et perd tout ce qui était seulement en cours d'exécution. Les paquets que vous installez, les images Docker que vous extrayez et les fichiers que vous écrivez se reportent tous. Une base de données que le script a démarrée, une pile `docker compose up`, ou tout autre processus en arrière-plan ne le fait pas ; démarrez-les par session en demandant à Claude ou avec un crochet [SessionStart](#setup-scripts-vs-sessionstart-hooks).

472 483 

473Le script de configuration s'exécute à nouveau pour reconstruire le cache quand vous modifiez le script de configuration de l'environnement ou les hôtes réseau autorisés, et quand le cache atteint son expiration après environ sept jours. Reprendre une session existante ne réexécute jamais le script de configuration.484Le script de configuration s'exécute à nouveau pour reconstruire le cache quand vous modifiez le script de configuration de l'environnement ou les hôtes réseau autorisés, et quand le cache atteint son expiration après environ sept jours. Dans un environnement hébergé par Anthropic, le script de configuration ne s'exécute pas quand la VM d'une session est [restaurée après inactivité](#set-environment-variables), donc une modification du script n'atteint une session existante que quand sa VM a été [réclamée](/docs/fr/claude-code-on-the-web#environment-expired) et est reconstruite. Pour appliquer une modification immédiatement, exécutez les commandes dans la session ou démarrez une nouvelle session.

474 485 

475Vous n'avez pas besoin d'activer la mise en cache ou de gérer les instantanés vous-même.486Vous n'avez pas besoin d'activer la mise en cache ou de gérer les instantanés vous-même.

476 487 


566 * platform.claude.com577 * platform.claude.com

567 * code.claude.com578 * code.claude.com

568 * claude.ai579 * claude.ai

580 * claude.com

581 * support.claude.com

582 * anthropic.com

583 * [www.anthropic.com](http://www.anthropic.com)

569 </Accordion>584 </Accordion>

570 585 

571 <Accordion title="Contrôle de version">586 <Accordion title="Contrôle de version">


596 * hub.docker.com611 * hub.docker.com

597 * [www.docker.com](http://www.docker.com)612 * [www.docker.com](http://www.docker.com)

598 * production.cloudflare.docker.com613 * production.cloudflare.docker.com

614 * production.cloudfront.docker.com

599 * download.docker.com615 * download.docker.com

600 * gcr.io616 * gcr.io

601 * \*.gcr.io617 * \*.gcr.io

commands.md +7 −4

Details

56| `/add-dir <path>` | Ajouter un répertoire de travail pour l'accès aux fichiers pendant la session actuelle. Tapez un chemin partiel pour voir les suggestions de répertoires correspondants ; appuyez sur `Tab` pour en accepter un. La plupart de la configuration `.claude/` [n'est pas découverte](/docs/fr/permissions#additional-directories-grant-file-access-not-configuration) à partir du répertoire ajouté. Vous ne pouvez pas ajouter la plupart des [chemins réseau](/docs/fr/errors#working-directory-is-a-network-path), tels que `\\server\share`. Après un ajout réussi, vos [hooks `DirectoryAdded`](/docs/fr/hooks#directoryadded) s'exécutent. Lorsque vous l'exécutez pendant que Claude répond, Claude Code vous demande de confirmer le répertoire immédiatement, et une fois que vous confirmez, l'appel d'outil suivant de Claude dans le même tour peut y accéder. Avant la v2.1.234, Claude Code mettait la commande en file d'attente jusqu'à la fin du tour |56| `/add-dir <path>` | Ajouter un répertoire de travail pour l'accès aux fichiers pendant la session actuelle. Tapez un chemin partiel pour voir les suggestions de répertoires correspondants ; appuyez sur `Tab` pour en accepter un. La plupart de la configuration `.claude/` [n'est pas découverte](/docs/fr/permissions#additional-directories-grant-file-access-not-configuration) à partir du répertoire ajouté. Vous ne pouvez pas ajouter la plupart des [chemins réseau](/docs/fr/errors#working-directory-is-a-network-path), tels que `\\server\share`. Après un ajout réussi, vos [hooks `DirectoryAdded`](/docs/fr/hooks#directoryadded) s'exécutent. Lorsque vous l'exécutez pendant que Claude répond, Claude Code vous demande de confirmer le répertoire immédiatement, et une fois que vous confirmez, l'appel d'outil suivant de Claude dans le même tour peut y accéder. Avant la v2.1.234, Claude Code mettait la commande en file d'attente jusqu'à la fin du tour |

57| `/advisor [model\|off]` | Activer ou désactiver l'[outil conseiller](/docs/fr/advisor), qui consulte un deuxième modèle pour obtenir des conseils à des moments clés lors d'une tâche. Accepte `fable`, `opus`, `sonnet`, ou un ID de modèle complet. `fable` nécessite un [accès à Fable](/docs/fr/advisor#choose-an-advisor-model). Sans argument, ouvre un sélecteur. Dans une session sans terminal interactif, ou via [Remote Control](/docs/fr/remote-control#limitations), passez le modèle ou `off` en tant qu'argument ; sans argument là-bas, la commande affiche le conseiller actuel sous forme de texte. Ces formes nécessitent Claude Code v2.1.260 ou ultérieur |57| `/advisor [model\|off]` | Activer ou désactiver l'[outil conseiller](/docs/fr/advisor), qui consulte un deuxième modèle pour obtenir des conseils à des moments clés lors d'une tâche. Accepte `fable`, `opus`, `sonnet`, ou un ID de modèle complet. `fable` nécessite un [accès à Fable](/docs/fr/advisor#choose-an-advisor-model). Sans argument, ouvre un sélecteur. Dans une session sans terminal interactif, ou via [Remote Control](/docs/fr/remote-control#limitations), passez le modèle ou `off` en tant qu'argument ; sans argument là-bas, la commande affiche le conseiller actuel sous forme de texte. Ces formes nécessitent Claude Code v2.1.260 ou ultérieur |

58| `/agents` | À partir de la v2.1.198, l'exécution de `/agents` affiche un rappel pour demander à Claude de créer ou de gérer des [sous-agents](/docs/fr/sub-agents), ou pour modifier `.claude/agents/` ou `~/.claude/agents/` directement. Sur la v2.1.197 et antérieures, ouvre une interface interactive pour créer et gérer les configurations de sous-agents |58| `/agents` | À partir de la v2.1.198, l'exécution de `/agents` affiche un rappel pour demander à Claude de créer ou de gérer des [sous-agents](/docs/fr/sub-agents), ou pour modifier `.claude/agents/` ou `~/.claude/agents/` directement. Sur la v2.1.197 et antérieures, ouvre une interface interactive pour créer et gérer les configurations de sous-agents |

59| `/artifact-capabilities` | **[Skill](/docs/fr/skills#bundled-skills).** Charger la référence pour les capacités d'exécution qu'un [artefact](/docs/fr/artifacts) publié peut utiliser, telles que [l'appel de vos connecteurs](/docs/fr/artifacts#pull-live-data-with-mcp-connectors) ou [l'offre d'un téléchargement de fichier](/docs/fr/artifacts#offer-a-file-download), y compris celles que votre compte possède. Claude le charge normalement de lui-même avant de construire une page qui en utilise une. Disponible où les [artefacts](/docs/fr/artifacts#availability) le sont |

60| `/artifact-diagramming` | **[Skill](/docs/fr/skills#bundled-skills).** Charger les conseils de diagramme pour que Claude suive dans les [artefacts](/docs/fr/artifacts) : quand un diagramme aide, quoi dessiner, et comment écrire du SVG en ligne qui reste lisible dans les thèmes clairs et foncés. Nécessite Claude Code v2.1.221 ou ultérieur |

59| `/artifacts` | Répertorier les [artefacts](/docs/fr/artifacts#find-an-artifact-again) que vous possédez ou qui sont partagés avec vous, puis en joindre un à la session, l'ouvrir dans votre navigateur, ou copier son lien. Disponible où les [artefacts](/docs/fr/artifacts#availability) le sont. Nécessite Claude Code v2.1.208 ou ultérieur ; l'attachement avec `Enter` nécessite la v2.1.216 |61| `/artifacts` | Répertorier les [artefacts](/docs/fr/artifacts#find-an-artifact-again) que vous possédez ou qui sont partagés avec vous, puis en joindre un à la session, l'ouvrir dans votre navigateur, ou copier son lien. Disponible où les [artefacts](/docs/fr/artifacts#availability) le sont. Nécessite Claude Code v2.1.208 ou ultérieur ; l'attachement avec `Enter` nécessite la v2.1.216 |

60| `/auto-mode-setup` | [Rédiger les entrées `autoMode.environment`](/docs/fr/auto-mode-config#generate-environment-entries) à partir de votre projet et des sessions récentes, puis examiner le brouillon et l'enregistrer dans vos paramètres utilisateur. Nécessite un plan Pro, Max ou Team et Claude Code v2.1.228 ou ultérieur. Sur Windows natif, nécessite la v2.1.233 ou ultérieur |62| `/auto-mode-setup` | [Rédiger les entrées `autoMode.environment`](/docs/fr/auto-mode-config#generate-environment-entries) à partir de votre projet et des sessions récentes, puis examiner le brouillon et l'enregistrer dans vos paramètres utilisateur. Nécessite un plan Pro, Max ou Team et Claude Code v2.1.228 ou ultérieur. Sur Windows natif, nécessite la v2.1.233 ou ultérieur |

61| `/autocompact [auto\|<tokens>]` | Définir la fenêtre de compaction automatique : le degré de remplissage de la fenêtre de contexte avant que Claude Code ne compacte automatiquement. Passez une taille telle que `500k`, ou `auto` pour revenir à la fenêtre ajustée pour votre modèle. Claude Code enregistre la valeur dans les paramètres utilisateur et l'applique à la session actuelle. Consultez [Définir la fenêtre de compaction automatique](/docs/fr/model-config#set-the-auto-compact-window) pour les valeurs acceptées et ce qui la remplace. Sans argument, ouvre une boîte de dialogue qui affiche la fenêtre actuelle. Nécessite Claude Code v2.1.221 ou ultérieur |63| `/autocompact [auto\|<tokens>]` | Définir la fenêtre de compaction automatique : le degré de remplissage de la fenêtre de contexte avant que Claude Code ne compacte automatiquement. Passez une taille telle que `500k`, ou `auto` pour revenir à la fenêtre ajustée pour votre modèle. Claude Code enregistre la valeur dans les paramètres utilisateur et l'applique à la session actuelle. Consultez [Définir la fenêtre de compaction automatique](/docs/fr/model-config#set-the-auto-compact-window) pour les valeurs acceptées et ce qui la remplace. Sans argument, ouvre une boîte de dialogue qui affiche la fenêtre actuelle. Nécessite Claude Code v2.1.221 ou ultérieur |


67| `/bug [report]` | Signaler un bogue ou partager votre conversation. Vous choisissez la quantité d'historique de session à inclure et confirmez sur un écran de consentement avant que quoi que ce soit ne soit envoyé. Lorsque vous êtes connecté à Anthropic sur une connexion propriétaire, le rapport est envoyé à Anthropic ; sur un fournisseur tiers, ou sans identifiants Anthropic, Claude Code écrit le rapport dans une [archive locale sous `~/.claude/feedback-bundles/`](/docs/fr/data-usage#telemetry-services) que vous transmettez vous-même. Dans l'[extension VS Code](/docs/fr/vs-code#use-the-prompt-box), `/bug` ouvre plutôt la boîte de dialogue de retour de l'extension ; nécessite Claude Code v2.1.229 ou ultérieur. Lorsque vous l'exécutez pendant que Claude répond, Claude Code ouvre la boîte de dialogue immédiatement. Avant la v2.1.232, Claude Code mettait la commande en file d'attente jusqu'à la fin du tour. Alias : `/share`. Avant la v2.1.212, `/bug` et `/share` étaient des alias de `/feedback` |69| `/bug [report]` | Signaler un bogue ou partager votre conversation. Vous choisissez la quantité d'historique de session à inclure et confirmez sur un écran de consentement avant que quoi que ce soit ne soit envoyé. Lorsque vous êtes connecté à Anthropic sur une connexion propriétaire, le rapport est envoyé à Anthropic ; sur un fournisseur tiers, ou sans identifiants Anthropic, Claude Code écrit le rapport dans une [archive locale sous `~/.claude/feedback-bundles/`](/docs/fr/data-usage#telemetry-services) que vous transmettez vous-même. Dans l'[extension VS Code](/docs/fr/vs-code#use-the-prompt-box), `/bug` ouvre plutôt la boîte de dialogue de retour de l'extension ; nécessite Claude Code v2.1.229 ou ultérieur. Lorsque vous l'exécutez pendant que Claude répond, Claude Code ouvre la boîte de dialogue immédiatement. Avant la v2.1.232, Claude Code mettait la commande en file d'attente jusqu'à la fin du tour. Alias : `/share`. Avant la v2.1.212, `/bug` et `/share` étaient des alias de `/feedback` |

68| `/cd <path>` | Déplacer cette session vers un nouveau répertoire de travail, en conservant la conversation. Tapez un chemin partiel pour voir les suggestions de répertoires correspondants ; appuyez sur `Tab` pour en accepter un. Les suggestions nécessitent Claude Code v2.1.206 ou ultérieur. Pour ce que Claude Code applique à partir du nouveau répertoire dès que vous vous déplacez, et comment `/cd` diffère de `/add-dir`, consultez [Déplacer la session vers un autre répertoire](/docs/fr/permissions#move-the-session-to-another-directory) |70| `/cd <path>` | Déplacer cette session vers un nouveau répertoire de travail, en conservant la conversation. Tapez un chemin partiel pour voir les suggestions de répertoires correspondants ; appuyez sur `Tab` pour en accepter un. Les suggestions nécessitent Claude Code v2.1.206 ou ultérieur. Pour ce que Claude Code applique à partir du nouveau répertoire dès que vous vous déplacez, et comment `/cd` diffère de `/add-dir`, consultez [Déplacer la session vers un autre répertoire](/docs/fr/permissions#move-the-session-to-another-directory) |

69| `/chrome` | Configurer les paramètres de [Claude dans Chrome](/docs/fr/chrome) |71| `/chrome` | Configurer les paramètres de [Claude dans Chrome](/docs/fr/chrome) |

70| `/claude-api [migrate\|upgrade\|managed-agents-onboard\|prompt-audit\|cost-optimize\|build-eval\|hillclimb]` | **[Skill](/docs/fr/skills#bundled-skills).** Charger la documentation de référence de [Claude API](https://platform.claude.com/docs/en/api/overview) et [Managed Agents](https://platform.claude.com/docs/en/managed-agents/overview) pour le langage de votre projet. S'active également automatiquement lorsque votre code importe `anthropic` ou `@anthropic-ai/sdk`. Exécutez `migrate` pour mettre à jour le code Claude API existant vers un modèle plus récent. Exécutez `upgrade` pour déplacer la dépendance du SDK Anthropic de votre projet sur une version majeure, actuellement le package Python `anthropic` de 0.x à 1.x. Exécutez `managed-agents-onboard` pour une procédure pas à pas qui crée un nouvel agent géré. Exécutez `prompt-audit` pour signaler les instructions écrites pour les anciens modèles dans vos invites, compétences et descriptions d'outils et proposer des corrections sous forme de diff. Exécutez `cost-optimize` pour profiler où va la dépense Claude API de votre projet et proposer des économies à partir d'options telles que la mise en cache des invites, la réduction des jetons d'entrée et de sortie inutiles, le traitement par lots, l'effort et le choix du modèle, un changement à la fois. Exécutez `build-eval` pour créer un ensemble d'évaluation pour votre application alimentée par Claude, et `hillclimb` pour améliorer itérativement l'application par rapport à une évaluation existante. La sous-commande `prompt-audit` nécessite Claude Code v2.1.221 ou ultérieur, `upgrade` nécessite la v2.1.236 ou ultérieur, `cost-optimize` nécessite la v2.1.247 ou ultérieur, et `build-eval` et `hillclimb` nécessitent la v2.1.259 ou ultérieur |72| `/claude-api [migrate\|upgrade\|managed-agents-onboard\|prompt-audit\|cost-optimize\|build-eval\|hillclimb\|preserved-thinking-migration]` | **[Skill](/docs/fr/skills#bundled-skills).** Charger la documentation de référence de [Claude API](https://platform.claude.com/docs/en/api/overview) et [Managed Agents](https://platform.claude.com/docs/en/managed-agents/overview) pour le langage de votre projet. S'active également automatiquement lorsque votre code importe `anthropic` ou `@anthropic-ai/sdk`. Pour ce que chaque sous-commande fait et la version qu'elle nécessite, consultez [Travailler sur les projets Claude API](/docs/fr/skills#work-on-claude-api-projects) |

73| `/claude-in-chrome [task]` | **[Skill](/docs/fr/skills#bundled-skills).** Faire en sorte que Claude accomplisse une tâche dans votre navigateur, telle que tester une page, remplir un formulaire ou lire les journaux de la console, via [Claude dans Chrome](/docs/fr/chrome). Disponible lorsque l'intégration Chrome est activée pour la session, par exemple avec `claude --chrome`, ou lorsque Claude Code peut proposer d'[installer l'extension](/docs/fr/chrome#install-the-extension-when-claude-asks) |

71| `/clear [name]` | Démarrer une nouvelle conversation avec un contexte vide. Passez un nom pour étiqueter la conversation précédente dans le sélecteur `/resume`. Pour libérer du contexte tout en continuant la même conversation, utilisez `/compact` à la place. Reprendre la conversation précédente avec `/resume`, ou, dans le même processus Claude Code, la restaurer à partir de [l'entrée de session précédente du menu de rembobinage](/docs/fr/checkpointing#rewind-past-a-cleared-conversation). Alias : `/reset`, `/new` |74| `/clear [name]` | Démarrer une nouvelle conversation avec un contexte vide. Passez un nom pour étiqueter la conversation précédente dans le sélecteur `/resume`. Pour libérer du contexte tout en continuant la même conversation, utilisez `/compact` à la place. Reprendre la conversation précédente avec `/resume`, ou, dans le même processus Claude Code, la restaurer à partir de [l'entrée de session précédente du menu de rembobinage](/docs/fr/checkpointing#rewind-past-a-cleared-conversation). Alias : `/reset`, `/new` |

72| `/code-review [low\|medium\|high\|xhigh\|max\|ultra] [--fix] [--comment] [pr#\|branch\|path]` | **[Skill](/docs/fr/skills#bundled-skills).** Examiner le diff actuel, ou un numéro de demande de fusion, une branche ou un chemin que vous passez, pour les bogues de correction. Selon votre modèle et votre niveau d'effort, l'examen couvre également les opportunités de nettoyage. Passez `--fix` pour appliquer les résultats, `--comment` pour les publier en tant que commentaires GitHub PR ou GitLab merge request, ou `ultra` pour exécuter un [examen cloud](/docs/fr/ultrareview) approfondi. La publication sur une GitLab merge request nécessite Claude Code v2.1.257 ou ultérieur. Avec `ultra` sur une cible de demande de fusion `github.com`, passez `--post` pour présélectionner [la publication des résultats terminés à la demande de fusion](/docs/fr/ultrareview#post-findings-to-the-pull-request) dans la boîte de dialogue de lancement ; `--post` nécessite Claude Code v2.1.227 ou ultérieur. Consultez [Examiner un diff localement](/docs/fr/code-review#review-a-diff-locally) pour les niveaux d'effort, le ciblage et la relation avec `/simplify`. Alias : `/review` |75| `/code-review [low\|medium\|high\|xhigh\|max\|ultra] [--fix] [--comment] [pr#\|branch\|path]` | **[Skill](/docs/fr/skills#bundled-skills).** Examiner le diff actuel, ou un numéro de demande de fusion, une branche ou un chemin que vous passez, pour les bogues de correction. Selon votre modèle et votre niveau d'effort, l'examen couvre également les opportunités de nettoyage. Passez `--fix` pour appliquer les résultats, `--comment` pour les publier en tant que commentaires GitHub PR ou GitLab merge request, ou `ultra` pour exécuter un [examen cloud](/docs/fr/ultrareview) approfondi. La publication sur une GitLab merge request nécessite Claude Code v2.1.257 ou ultérieur. Avec `ultra` sur une cible de demande de fusion `github.com`, passez `--post` pour présélectionner [la publication des résultats terminés à la demande de fusion](/docs/fr/ultrareview#post-findings-to-the-pull-request) dans la boîte de dialogue de lancement ; `--post` nécessite Claude Code v2.1.227 ou ultérieur. Consultez [Examiner un diff localement](/docs/fr/code-review#review-a-diff-locally) pour les niveaux d'effort, le ciblage et la relation avec `/simplify`. Alias : `/review` |

73| `/color [color\|default]` | Définir la couleur de la barre d'invite pour la session actuelle. Couleurs disponibles : `red`, `blue`, `green`, `yellow`, `purple`, `orange`, `pink`, `cyan`. Utilisez `default` pour réinitialiser, ou exécutez sans argument pour choisir une couleur aléatoire. Lorsque [Remote Control](/docs/fr/remote-control) est connecté, la couleur se synchronise avec claude.ai/code. Également disponible en mode non interactif (`-p`) ; nécessite Claude Code v2.1.205 ou ultérieur |76| `/color [color\|default]` | Définir la couleur de la barre d'invite pour la session actuelle. Couleurs disponibles : `red`, `blue`, `green`, `yellow`, `purple`, `orange`, `pink`, `cyan`. Utilisez `default` pour réinitialiser, ou exécutez sans argument pour choisir une couleur aléatoire. Lorsque [Remote Control](/docs/fr/remote-control) est connecté, la couleur se synchronise avec claude.ai/code. Également disponible en mode non interactif (`-p`) ; nécessite Claude Code v2.1.205 ou ultérieur |


84| `/design-sync [hint]` | **[Skill](/docs/fr/skills#bundled-skills).** Convertir le système de conception React de votre référentiel et le télécharger vers [Claude Design](https://claude.ai/design), afin que les conceptions qu'il produit utilisent vos vrais composants. Nommez é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 référentiel. Disponible sur l'API Anthropic. Il a besoin de claude.ai, que l'interface de ligne de commande 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 référentiel et le télécharger vers [Claude Design](https://claude.ai/design), afin que les conceptions qu'il produit utilisent vos vrais composants. Nommez é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 référentiel. Disponible sur l'API Anthropic. Il a besoin de claude.ai, que l'interface de ligne de commande 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 |

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

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

87| `/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 compétences, 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 [compétences](/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`, compétences et autres configurations](/docs/fr/memory#write-effective-instructions) 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 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 compétences, 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 [compétences](/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`, compétences 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 |

88| `/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 demande suivante dans ce tour. Avant la v2.1.242, Claude Code a décidé à partir d'un drapeau de fonctionnalité qu'il a récupéré 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 l'a toujours mise en file d'attente dans une session qui ne [récupère pas les drapeaux de fonctionnalité](/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 demande suivante dans ce tour. Avant la v2.1.242, Claude Code a décidé à partir d'un drapeau de fonctionnalité qu'il a récupéré 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 l'a toujours mise en file d'attente dans une session qui ne [récupère pas les drapeaux de fonctionnalité](/docs/fr/env-vars#features-that-need-feature-flag-fetching), comme sur un [fournisseur tiers](/docs/fr/third-party-integrations). Fonctionne en `-p` |

89| `/exit` | Quitter l'interface de ligne de commande. 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 l'interface de ligne de commande. 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` |

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

91| `/fast [on\|off]` | Basculer le [mode rapide](/docs/fr/fast-mode) activé ou désactivé. L'exécuter pendant que Claude répond et Claude Code bascule le mode rapide sans attendre la fin du tour, bien que le tour en cours se termine à sa vitesse d'origine. Avant la v2.1.242, Claude Code a décidé à partir d'un drapeau de fonctionnalité qu'il a récupéré 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 l'a toujours mise en file d'attente dans une session qui ne [récupère pas les drapeaux de fonctionnalité](/docs/fr/env-vars#features-that-need-feature-flag-fetching). La disponibilité en mode non interactif avec `-p` est limitée ; consultez [Basculer le mode rapide](/docs/fr/fast-mode#toggle-fast-mode). Nécessite Claude Code v2.1.205 ou ultérieur |94| `/fast [on\|off]` | Basculer le [mode rapide](/docs/fr/fast-mode) activé ou désactivé. L'exécuter pendant que Claude répond et Claude Code bascule le mode rapide sans attendre la fin du tour, bien que le tour en cours se termine à sa vitesse d'origine. Avant la v2.1.242, Claude Code a décidé à partir d'un drapeau de fonctionnalité qu'il a récupéré 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 l'a toujours mise en file d'attente dans une session qui ne [récupère pas les drapeaux de fonctionnalité](/docs/fr/env-vars#features-that-need-feature-flag-fetching). La disponibilité en mode non interactif avec `-p` est limitée ; consultez [Basculer le mode rapide](/docs/fr/fast-mode#toggle-fast-mode). Nécessite Claude Code v2.1.205 ou ultérieur |

92| `/feedback [report]` | Envoyer des commentaires sur les produits concernant Claude Code. Ouvre la même boîte de dialogue que [`/bug`](#all-commands), avec la même étape de consentement, les mêmes règles d'envoi et le même comportement en milieu de tour. Dans les sessions avec [commentaires rédigés par Claude](/docs/fr/tools-reference#sendfeedback-tool-behavior), `/feedback` sans argument ouvre plutôt la file d'attente des brouillons, où vous examinez, modifiez, envoyez ou rejetez les brouillons que Claude a mis en file d'attente ; la file d'attente inclut une option pour rédiger un nouveau rapport dans la boîte de dialogue. Avec un argument, et pour `/bug` toujours, la boîte de dialogue s'ouvre directement |95| `/feedback [report]` | Envoyer des commentaires sur les produits concernant Claude Code. Ouvre la même boîte de dialogue que [`/bug`](#all-commands), avec la même étape de consentement, les mêmes règles d'envoi et le même comportement en milieu de tour. Dans les sessions avec [commentaires rédigés par Claude](/docs/fr/tools-reference#sendfeedback-tool-behavior), `/feedback` sans argument ouvre plutôt la file d'attente des brouillons, où vous examinez, modifiez, envoyez ou rejetez les brouillons que Claude a mis en file d'attente ; la file d'attente inclut une option pour rédiger un nouveau rapport dans la boîte de dialogue. Avec un argument, et pour `/bug` toujours, la boîte de dialogue s'ouvre directement |

93| `/fewer-permission-prompts` | **[Skill](/docs/fr/skills#bundled-skills).** Analyser vos transcriptions pour les appels d'outils Bash et MCP en lecture seule courants, puis ajouter une liste d'autorisation priorisée au `.claude/settings.json` du projet pour réduire les invites de permission |96| `/fewer-permission-prompts` | **[Skill](/docs/fr/skills#bundled-skills).** Analyser vos transcriptions pour les appels d'outils Bash et MCP en lecture seule courants, puis ajouter une liste d'autorisation priorisée au `.claude/settings.json` du projet pour réduire les invites de permission |

94| `/focus` | Basculer la vue de focus, qui affiche uniquement votre dernière invite, un résumé d'appel d'outil d'une ligne avec les statistiques de diff de modification, et la réponse finale. Le résumé d'appel d'outil compte également les sous-agents lancés dans le tour et réduit les notifications de tâche en arrière-plan terminées en un seul décompte. La sélection persiste entre les sessions ; définissez [`viewMode`](/docs/fr/settings-reference#viewmode) dans les paramètres pour la remplacer. Disponible uniquement dans le [rendu plein écran](/docs/fr/fullscreen). L'[extension VS Code](/docs/fr/vs-code#use-the-prompt-box) offre sa propre vue Focus en tant que basculement du menu de commande, stockée en tant que paramètre d'extension, indépendant de `viewMode` |97| `/focus` | Basculer la vue de focus, qui affiche uniquement votre dernière invite, un résumé d'appel d'outil d'une ligne avec les statistiques de diff de modification, et la réponse finale. Le résumé d'appel d'outil compte également les sous-agents lancés dans le tour et réduit les notifications de tâche en arrière-plan terminées en un seul décompte. La sélection persiste entre les sessions ; définissez [`viewMode`](/docs/fr/settings-reference#viewmode) dans les paramètres pour la remplacer. Disponible uniquement dans le [rendu plein écran](/docs/fr/fullscreen). À partir d'un client [Remote Control](/docs/fr/remote-control), exécutez `/focus [on\|off]` pour activer ou désactiver la vue de focus pour la session actuelle uniquement, sans modifier votre sélection enregistrée ; cela nécessite Claude Code v2.1.281 ou ultérieur. L'[extension VS Code](/docs/fr/vs-code#use-the-prompt-box) offre sa propre vue Focus en tant que basculement du menu de commande, stockée en tant que paramètre d'extension, indépendant de `viewMode` |

95| `/fork [prompt]` | [Copier la conversation actuelle](/docs/fr/agent-view#copy-the-session-with-%2Ffork) dans une nouvelle session en arrière-plan et continuer à travailler ici. Passez une invite et la copie commence immédiatement à travailler dessus ; sans une, elle attend dans la vue agent pour sa première invite. Sauf lorsque la copie [modifie sur place](/docs/fr/agent-view#how-file-edits-are-isolated), Claude Code l'instruit de créer son propre worktree avant d'apporter des modifications de code ; l'instruction d'isolation nécessite Claude Code v2.1.221 ou ultérieur. Pour confier une tâche secondaire à un sous-agent dont le résultat revient dans cette conversation, utilisez `/subtask` ; pour basculer dans une copie vous-même, utilisez `/branch`. Nécessite Claude Code v2.1.212 ou ultérieur ; sur la v2.1.161 à la v2.1.211, et chaque fois que la [vue agent est désactivée](/docs/fr/agent-view#turn-off-agent-view), `/fork` démarre un [sous-agent forké](/docs/fr/sub-agents#fork-the-current-conversation) à la place |98| `/fork [prompt]` | [Copier la conversation actuelle](/docs/fr/agent-view#copy-the-session-with-%2Ffork) dans une nouvelle session en arrière-plan et continuer à travailler ici. Passez une invite et la copie commence immédiatement à travailler dessus ; sans une, elle attend dans la vue agent pour sa première invite. Sauf lorsque la copie [modifie sur place](/docs/fr/agent-view#how-file-edits-are-isolated), Claude Code l'instruit de créer son propre worktree avant d'apporter des modifications de code ; l'instruction d'isolation nécessite Claude Code v2.1.221 ou ultérieur. Pour confier une tâche secondaire à un sous-agent dont le résultat revient dans cette conversation, utilisez `/subtask` ; pour basculer dans une copie vous-même, utilisez `/branch`. Nécessite Claude Code v2.1.212 ou ultérieur ; sur la v2.1.161 à la v2.1.211, et chaque fois que la [vue agent est désactivée](/docs/fr/agent-view#turn-off-agent-view), `/fork` démarre un [sous-agent forké](/docs/fr/sub-agents#fork-the-current-conversation) à la place |

96| `/goal [condition\|clear]` | Définir un [objectif](/docs/fr/goal) : Claude continue de travailler entre les tours jusqu'à ce que la condition soit remplie ou l'objectif [s'efface pour une autre raison](/docs/fr/goal#how-evaluation-works). Sans argument, affiche l'objectif actuel ou le plus récemment atteint. `clear`, `stop`, `off`, `reset`, `none`, ou `cancel` supprime un objectif actif tôt |99| `/goal [condition\|clear]` | Définir un [objectif](/docs/fr/goal) : Claude continue de travailler entre les tours jusqu'à ce que la condition soit remplie ou l'objectif [s'efface pour une autre raison](/docs/fr/goal#how-evaluation-works). Sans argument, affiche l'objectif actuel ou le plus récemment atteint. `clear`, `stop`, `off`, `reset`, `none`, ou `cancel` supprime un objectif actif tôt |

97| `/heapdump` | Écrire un instantané de tas JavaScript et une ventilation de la mémoire vers `~/Desktop`, ou votre répertoire personnel sur Linux sans dossier Desktop, pour diagnostiquer une utilisation élevée de la mémoire. Joignez uniquement le fichier `-diagnostics.json` lors de la signalisation d'un problème de mémoire ; le `.heapsnapshot` contient votre conversation complète et vos identifiants, donc ne le partagez pas. [Masqué du menu de commande](#how-the-command-menu-matches-what-you-type) ; tapez-le en entier. Consultez [ce qu'il faut faire avec la sortie](/docs/fr/troubleshooting#high-cpu-or-memory-usage) |100| `/heapdump` | Écrire un instantané de tas JavaScript et une ventilation de la mémoire vers `~/Desktop`, ou votre répertoire personnel sur Linux sans dossier Desktop, pour diagnostiquer une utilisation élevée de la mémoire. Joignez uniquement le fichier `-diagnostics.json` lors de la signalisation d'un problème de mémoire ; le `.heapsnapshot` contient votre conversation complète et vos identifiants, donc ne le partagez pas. [Masqué du menu de commande](#how-the-command-menu-matches-what-you-type) ; tapez-le en entier. Consultez [ce qu'il faut faire avec la sortie](/docs/fr/troubleshooting#high-cpu-or-memory-usage) |


121| `/pr-comments [PR]` | Supprimé dans la v2.1.91. Demandez à Claude directement d'afficher les commentaires de la demande de fusion à la place. Sur les versions antérieures, récupère et affiche les commentaires d'une demande de fusion GitHub ; détecte automatiquement la demande de fusion pour la branche actuelle, ou passez une URL ou un numéro de demande de fusion. Nécessite l'interface de ligne de commande `gh` |124| `/pr-comments [PR]` | Supprimé dans la v2.1.91. Demandez à Claude directement d'afficher les commentaires de la demande de fusion à la place. Sur les versions antérieures, récupère et affiche les commentaires d'une demande de fusion GitHub ; détecte automatiquement la demande de fusion pour la branche actuelle, ou passez une URL ou un numéro de demande de fusion. Nécessite l'interface de ligne de commande `gh` |

122| `/privacy-settings` | Afficher et mettre à jour vos paramètres de confidentialité. Disponible uniquement pour les abonnés aux plans Pro et Max |125| `/privacy-settings` | Afficher et mettre à jour vos paramètres de confidentialité. Disponible uniquement pour les abonnés aux plans Pro et Max |

123| `/radio` | Ouvrir Claude FM lo-fi radio dans votre navigateur. Affiche l'URL du flux lorsqu'aucun navigateur n'est disponible |126| `/radio` | Ouvrir Claude FM lo-fi radio dans votre navigateur. Affiche l'URL du flux lorsqu'aucun navigateur n'est disponible |

124| `/rate-limit-options` | Afficher les façons de continuer à travailler lorsqu'une limite d'utilisation claude.ai bloque une demande : attendre et [continuer automatiquement lorsque la limite se réinitialise](/docs/fr/interactive-mode#wait-for-a-usage-limit-to-reset), ajouter des [crédits d'utilisation](/docs/fr/costs#add-usage-credits-to-your-subscription), ou mettre à niveau votre plan. Claude Code peut également ouvrir ce menu de lui-même lorsque vous atteignez une limite à votre propre terminal. Consultez [Désactiver la continuation automatique](/docs/fr/interactive-mode#turn-automatic-continue-off). Nécessite un abonnement claude.ai. N'apparaît pas dans le menu de commande ; tapez-le en entier. Les lignes d'attente et de continuation nécessitent Claude Code v2.1.234 ou ultérieur |127| `/rate-limit-options` | Afficher les façons de continuer à travailler lorsqu'une limite d'utilisation claude.ai bloque une demande : attendre et [continuer automatiquement lorsque la limite se réinitialise](/docs/fr/interactive-mode#wait-for-a-usage-limit-to-reset), ajouter des [crédits d'utilisation](/docs/fr/costs#add-usage-credits-to-your-subscription), ou mettre à niveau votre plan. Claude Code peut également ouvrir ce menu de lui-même lorsque vous atteignez une limite à votre propre terminal. Consultez [Désactiver la continuation automatique](/docs/fr/interactive-mode#turn-automatic-continue-off). Nécessite un abonnement claude.ai. Les lignes d'attente et de continuation nécessitent Claude Code v2.1.234 ou ultérieur |

125| `/recap` | Générer un résumé d'une ligne de la session actuelle à la demande. Consultez [Récapitulatif de session](/docs/fr/interactive-mode#session-recap) pour le récapitulatif automatique qui apparaît après votre absence |128| `/recap` | Générer un résumé d'une ligne de la session actuelle à la demande. Consultez [Récapitulatif de session](/docs/fr/interactive-mode#session-recap) pour le récapitulatif automatique qui apparaît après votre absence |

126| `/release-notes` | Afficher le journal des modifications dans un sélecteur de version interactif. Sélectionnez une version spécifique pour voir ses notes de version, ou choisissez d'afficher toutes les versions. Les notes apparaissent dans votre transcription sans entrer dans la conversation que Claude voit |129| `/release-notes` | Afficher le journal des modifications dans un sélecteur de version interactif. Sélectionnez une version spécifique pour voir ses notes de version, ou choisissez d'afficher toutes les versions. Les notes apparaissent dans votre transcription sans entrer dans la conversation que Claude voit |

127| `/reload-plugins [--force]` | Recharger tous les [plugins](/docs/fr/plugins/overview) actifs pour appliquer les modifications en attente sans redémarrer. Signale les décomptes pour chaque composant rechargé et signale les erreurs de chargement. Lorsque le rechargement changerait les outils MCP chargés et invaliderait le cache d'invite, la commande avertit et ignore sauf si vous passez `--force`. Également disponible en mode non interactif (`-p`), le SDK Agent et l'application de bureau, où il s'exécute uniquement sur l'entrée tapée directement dans la session et n'applique pas les modifications du serveur MCP du plugin ; nécessite Claude Code v2.1.260 ou ultérieur. Consultez [Appliquer les modifications du plugin sans redémarrer](/docs/fr/plugins/cli-reference#reload-plugins) |130| `/reload-plugins [--force]` | Recharger tous les [plugins](/docs/fr/plugins/overview) actifs pour appliquer les modifications en attente sans redémarrer. Signale les décomptes pour chaque composant rechargé et signale les erreurs de chargement. Lorsque le rechargement changerait les outils MCP chargés et invaliderait le cache d'invite, la commande avertit et ignore sauf si vous passez `--force`. Également disponible en mode non interactif (`-p`), le SDK Agent et l'application de bureau, où il s'exécute uniquement sur l'entrée tapée directement dans la session et n'applique pas les modifications du serveur MCP du plugin ; nécessite Claude Code v2.1.260 ou ultérieur. Consultez [Appliquer les modifications du plugin sans redémarrer](/docs/fr/plugins/cli-reference#reload-plugins) |

costs.md +2 −0

Details

96 96 

97Exécutez [`/insights`](/docs/fr/commands#all-commands) pour un rapport sur votre façon de travailler plutôt que sur le nombre de tokens que vous avez utilisés. Il analyse vos sessions récentes sur cette machine et écrit un rapport HTML couvrant ce sur quoi vous travaillez, les points de friction tels que les demandes mal comprises ou le code bogué, et les suggestions pour utiliser Claude Code plus efficacement. Une seule exécution analyse jusqu'à 200 sessions qu'il n'a pas vues auparavant et ignore les très courtes. Quand des sessions sont omises, l'en-tête du rapport affiche le nombre analysé avec le total entre parenthèses, par exemple `200 sessions (412 total)`.97Exécutez [`/insights`](/docs/fr/commands#all-commands) pour un rapport sur votre façon de travailler plutôt que sur le nombre de tokens que vous avez utilisés. Il analyse vos sessions récentes sur cette machine et écrit un rapport HTML couvrant ce sur quoi vous travaillez, les points de friction tels que les demandes mal comprises ou le code bogué, et les suggestions pour utiliser Claude Code plus efficacement. Une seule exécution analyse jusqu'à 200 sessions qu'il n'a pas vues auparavant et ignore les très courtes. Quand des sessions sont omises, l'en-tête du rapport affiche le nombre analysé avec le total entre parenthèses, par exemple `200 sessions (412 total)`.

98 98 

99Quand le [mode auto](/docs/fr/permission-modes#eliminate-prompts-with-auto-mode) est disponible pour la session et que vos sessions récentes se sont exécutées principalement sans lui, le rapport peut également inclure une estimation du nombre de demandes de permission que le mode auto aurait pu gérer dans ces sessions.

100 

99Claude Code écrit le dernier rapport dans `~/.claude/usage-data/report.html` et enregistre une copie horodatée de chaque exécution dans le même répertoire, donc les rapports antérieurs ne sont pas écrasés. Claude Code supprime les rapports selon le même calendrier que le reste de vos données de session : au démarrage, il supprime les fichiers plus anciens que [`cleanupPeriodDays`](/docs/fr/claude-directory#cleaned-up-automatically), 30 jours par défaut.101Claude Code écrit le dernier rapport dans `~/.claude/usage-data/report.html` et enregistre une copie horodatée de chaque exécution dans le même répertoire, donc les rapports antérieurs ne sont pas écrasés. Claude Code supprime les rapports selon le même calendrier que le reste de vos données de session : au démarrage, il supprime les fichiers plus anciens que [`cleanupPeriodDays`](/docs/fr/claude-directory#cleaned-up-automatically), 30 jours par défaut.

100 102 

101Vous pouvez exécuter `/insights` sur n'importe quel plan et avec n'importe quel fournisseur. L'analyse s'exécute via le même fournisseur et le même compte que vos sessions régulières, et les tokens comptent par rapport à votre utilisation de plan ou d'API. Les sessions d'autres appareils et de claude.ai ne sont pas incluses.103Vous pouvez exécuter `/insights` sur n'importe quel plan et avec n'importe quel fournisseur. L'analyse s'exécute via le même fournisseur et le même compte que vos sessions régulières, et les tokens comptent par rapport à votre utilisation de plan ou d'API. Les sessions d'autres appareils et de claude.ai ne sont pas incluses.

desktop.md +9 −3

Details

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

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

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

92| **Auto** | `auto` | Claude exécute toutes les actions avec des vérifications de sécurité en arrière-plan qui vérifient l'alignement avec votre demande. Réduit les invites de permission tout en maintenant la surveillance. Apparaît quand [auto mode est disponible](#auto-mode-availability) ; il n'y a pas de bascule Paramètres séparée pour cela. |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. |

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

94 94 

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


496 496 

497Les sessions locales chargent vos skills personnels à partir de `~/.claude/skills/`. Une session [SSH](#ssh-sessions) lit `~/.claude/skills/` à partir du répertoire personnel de l'hôte distant, et non à partir de votre machine.497Les sessions locales chargent vos skills personnels à partir de `~/.claude/skills/`. Une session [SSH](#ssh-sessions) lit `~/.claude/skills/` à partir du répertoire personnel de l'hôte distant, et non à partir de votre machine.

498 498 

499Les sessions locales et cloud chargent également les skills activés pour votre compte claude.ai. Les sessions cloud les chargent à la place de `~/.claude/skills/`, comme [Skills dans les sessions Cowork et cloud](/docs/fr/skills#skills-in-cowork-and-cloud-sessions) le décrit.499Les sessions locales et cloud chargent également les skills activés pour votre compte claude.ai, sauf les sessions locales quand votre organisation définit [`disableSideloadFlags`](/docs/fr/settings-reference#disablesideloadflags). Les sessions cloud les chargent à la place de `~/.claude/skills/`, comme [Skills dans les sessions Cowork et cloud](/docs/fr/skills#skills-in-cowork-and-cloud-sessions) le décrit.

500 500 

501<h3 id="install-plugins">501<h3 id="install-plugins">

502 Installer les plugins502 Installer les plugins


506 506 

507Pour les sessions locales et [SSH](#ssh-sessions), cliquez sur le bouton **+** à côté de la zone de prompt et sélectionnez **Plugins** pour voir vos plugins installés et leurs skills. Pour ajouter un plugin, sélectionnez **Ajouter un plugin** à partir du sous-menu pour ouvrir le navigateur de plugins, qui affiche les plugins disponibles à partir de vos [marketplaces](/docs/fr/plugins/overview) configurés, y compris le marketplace officiel d'Anthropic. Sélectionnez **Gérer les plugins** pour activer, désactiver ou désinstaller les plugins.507Pour les sessions locales et [SSH](#ssh-sessions), cliquez sur le bouton **+** à côté de la zone de prompt et sélectionnez **Plugins** pour voir vos plugins installés et leurs skills. Pour ajouter un plugin, sélectionnez **Ajouter un plugin** à partir du sous-menu pour ouvrir le navigateur de plugins, qui affiche les plugins disponibles à partir de vos [marketplaces](/docs/fr/plugins/overview) configurés, y compris le marketplace officiel d'Anthropic. Sélectionnez **Gérer les plugins** pour activer, désactiver ou désinstaller les plugins.

508 508 

509Vous pouvez limiter les plugins à votre compte utilisateur, un projet spécifique ou local uniquement. Si votre organisation gère les plugins de manière centralisée, ces plugins sont disponibles dans les sessions de bureau de la même manière qu'ils le sont dans la CLI.509Vous pouvez limiter les plugins à votre compte utilisateur, un projet spécifique ou local uniquement. Si votre organisation gère les plugins de manière centralisée, ces plugins sont disponibles dans les sessions de bureau de la même manière qu'ils le sont dans la CLI, sauf ceux que l'application de bureau [retient sous `disableSideloadFlags`](/docs/fr/settings-reference#disablesideloadflags).

510 510 

511Le navigateur de plugins n'est pas disponible dans les sessions cloud, et les plugins que vous installez à partir de l'application de bureau ne sont pas disponibles pour les sessions cloud. Une session cloud n'installe pas non plus les plugins que le fichier `.claude/settings.json` du référentiel déclare, comme [Ce qui est reporté de votre configuration](/docs/fr/cloud-environments#what-carries-over-from-your-setup) l'explique. Les plugins ne sont pas disponibles dans les sessions WSL. Pour la référence complète des plugins, y compris la création de vos propres plugins, voir [plugins](/docs/fr/plugins/overview).511Le navigateur de plugins n'est pas disponible dans les sessions cloud, et les plugins que vous installez à partir de l'application de bureau ne sont pas disponibles pour les sessions cloud. Une session cloud n'installe pas non plus les plugins que le fichier `.claude/settings.json` du référentiel déclare, comme [Ce qui est reporté de votre configuration](/docs/fr/cloud-environments#what-carries-over-from-your-setup) l'explique. Les plugins ne sont pas disponibles dans les sessions WSL. Pour la référence complète des plugins, y compris la création de vos propres plugins, voir [plugins](/docs/fr/plugins/overview).

512 512 


834* **Remote Control** : activez ou désactivez [Remote Control](/docs/fr/remote-control) pour votre organisation834* **Remote Control** : activez ou désactivez [Remote Control](/docs/fr/remote-control) pour votre organisation

835* **Désactiver le mode Contourner les permissions** : empêchez les utilisateurs de votre organisation d'activer le mode de contournement des permissions835* **Désactiver le mode Contourner les permissions** : empêchez les utilisateurs de votre organisation d'activer le mode de contournement des permissions

836 836 

837<Note>

838 Le formulaire OpenTelemetry pour Cowork sous **Monitoring** dans les [paramètres de données et de confidentialité](https://claude.ai/admin-settings/data-privacy-controls) de la console d'administration s'applique uniquement aux sessions Cowork. Dans une session Cowork sur cette machine, l'application de bureau transmet ce collecteur à Claude Code en tant que variables d'environnement `OTEL_*`, de sorte que le formulaire prend effet même si Claude Code dans cette session [ne récupère jamais les paramètres de la console d'administration](#managed-settings).

839 

840 Pour exporter la télémétrie à partir des sessions de l'onglet Code, définissez `CLAUDE_CODE_ENABLE_TELEMETRY` et les variables `OTEL_*` dans le bloc `env` de vos paramètres gérés Claude Code, comme indiqué dans [configuration de l'administrateur pour la surveillance](/docs/fr/monitoring-usage#administrator-configuration). Les sessions locales, cloud et SSH lisent chacune les [paramètres gérés à partir de sources différentes](#managed-settings). Pour les hôtes qu'une session cloud peut atteindre, voir [accès réseau](/docs/fr/cloud-environments#network-access). Pour le `service.name` que les sessions de l'onglet Code signalent, voir [informations de service](/docs/fr/monitoring-usage#service-information).

841</Note>

842 

837<h3 id="managed-settings">843<h3 id="managed-settings">

838 Paramètres gérés844 Paramètres gérés

839</h3>845</h3>

env-vars.md +6 −6

Details

110 110 

111Certains comportements ont à la fois une variable d'environnement et une clé de paramètres dédiée, et celle que Claude Code lit en premier diffère selon la clé. Pour `ANTHROPIC_MODEL` et `CLAUDE_CODE_AUTO_CONNECT_IDE`, Claude Code lit d'abord la variable et utilise le paramètre `model` ou `autoConnectIde` uniquement lorsque la variable n'est pas définie. Pour la paire que vous définissez, vérifiez la ligne de la variable ci-dessous et l'entrée de la clé sur la [référence des paramètres](/docs/fr/settings-reference).111Certains comportements ont à la fois une variable d'environnement et une clé de paramètres dédiée, et celle que Claude Code lit en premier diffère selon la clé. Pour `ANTHROPIC_MODEL` et `CLAUDE_CODE_AUTO_CONNECT_IDE`, Claude Code lit d'abord la variable et utilise le paramètre `model` ou `autoConnectIde` uniquement lorsque la variable n'est pas définie. Pour la paire que vous définissez, vérifiez la ligne de la variable ci-dessous et l'entrée de la clé sur la [référence des paramètres](/docs/fr/settings-reference).

112 112 

113Lorsque la même variable est définie à la fois dans votre shell et dans un bloc `env` du fichier de paramètres, la valeur du fichier de paramètres s'applique. Claude Code écrit chaque entrée `env` dans l'environnement du processus, en remplaçant la valeur héritée du shell. Le [paramètre `env`](/docs/fr/settings-reference#when-claude-code-applies-env-values) indique quand il les applique. Quelques variables sont traitées de manière spéciale ; le [paramètre `env`](/docs/fr/settings-reference#env) énumère les exceptions.113Lorsque la même variable est définie à la fois dans votre shell et dans un bloc `env` du fichier de paramètres, la valeur du fichier de paramètres s'applique dans la plupart des sessions. Claude Code écrit chaque entrée `env` dans l'environnement du processus, en remplaçant la valeur héritée du shell. [Comment les valeurs `env` interagissent avec votre shell](/docs/fr/settings-reference#how-env-values-interact-with-your-shell) couvre les sessions qui conservent la valeur héritée à la place, et le [paramètre `env`](/docs/fr/settings-reference#when-claude-code-applies-env-values) indique quand il les applique. Quelques variables sont traitées de manière spéciale ; le [paramètre `env`](/docs/fr/settings-reference#env) énumère les exceptions.

114 114 

115Dans un fichier de paramètres, vous pouvez définir une variable mais vous ne pouvez pas en retirer une. Pour remplacer une variable que vous ne pouvez pas supprimer, comme une `CLAUDE_CODE_USE_VERTEX` obsolète exportée par un profil de shell que vous ne contrôlez pas, définissez-la sur une chaîne vide dans le bloc `env` : `"CLAUDE_CODE_USE_VERTEX": ""`. Claude Code traite la valeur vide comme non définie pour la sélection du fournisseur. Les sous-processus héritent toujours de la valeur vide.115Dans un fichier de paramètres, vous pouvez définir une variable mais vous ne pouvez pas en retirer une. Pour remplacer une variable que vous ne pouvez pas supprimer, comme une `CLAUDE_CODE_USE_VERTEX` obsolète exportée par un profil de shell que vous ne contrôlez pas, définissez-la sur une chaîne vide dans le bloc `env` : `"CLAUDE_CODE_USE_VERTEX": ""`. Claude Code traite la valeur vide comme non définie pour la sélection du fournisseur. Les sous-processus héritent toujours de la valeur vide.

116 116 


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

190| `ANTHROPIC_VERTEX_PROJECT_ID` | ID de projet GCP 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) |190| `ANTHROPIC_VERTEX_PROJECT_ID` | ID de 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) |

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

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

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

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

195| `BASH_DEFAULT_TIMEOUT_MS` | Délai d'expiration par défaut pour les commandes bash longues (par défaut : 120000, ou 2 minutes) |195| `BASH_DEFAULT_TIMEOUT_MS` | Délai d'expiration par défaut pour une commande Bash ou PowerShell au premier plan, en millisecondes (par défaut : 120000, ou 2 minutes). Un délai par défaut plus long que 30 minutes devient également la [limite de temps par défaut pour les commandes d'arrière-plan](/docs/fr/tools-reference#background-commands). La limite de temps d'arrière-plan nécessite Claude Code v2.1.285 ou ultérieur |

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

197| `BASH_MAX_TIMEOUT_MS` | Délai d'expiration maximum que le modèle peut définir pour les commandes bash longues (par défaut : 600000, ou 10 minutes). Le plafond effectif est le plus grand de ceci et de `BASH_DEFAULT_TIMEOUT_MS` |197| `BASH_MAX_TIMEOUT_MS` | Délai d'expiration maximum que le modèle peut définir pour une commande Bash ou PowerShell au premier plan, en millisecondes (par défaut : 600000, ou 10 minutes). Le plafond effectif est le plus grand de ceci et de `BASH_DEFAULT_TIMEOUT_MS`. Un plafond effectif plus long que 2 heures devient également le maximum [limite de temps pour les commandes d'arrière-plan](/docs/fr/tools-reference#background-commands). La limite de temps d'arrière-plan nécessite Claude Code v2.1.285 ou ultérieur |

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

199| `CCR_FORCE_BUNDLE` | Définissez sur `1` pour forcer [`claude --cloud`](/docs/fr/claude-code-on-the-web#send-local-repositories-without-github) à regrouper et télécharger votre référentiel local au lieu de le cloner à partir de son distant |199| `CCR_FORCE_BUNDLE` | Définissez sur `1` pour forcer [`claude --cloud`](/docs/fr/claude-code-on-the-web#send-local-repositories-without-github) à regrouper et télécharger votre référentiel local au lieu de le cloner à partir de son distant |

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


444| `DISABLE_PROMPT_CACHING` | Définissez sur `1` pour désactiver la [mise en cache des invites](/docs/fr/prompt-caching#disable-prompt-caching) pour tous les modèles (a la priorité sur les paramètres par modèle) |444| `DISABLE_PROMPT_CACHING` | Définissez sur `1` pour désactiver la [mise en cache des invites](/docs/fr/prompt-caching#disable-prompt-caching) pour tous les modèles (a la priorité sur les paramètres par modèle) |

445| `DISABLE_PROMPT_CACHING_FABLE` | Définissez sur `1` pour désactiver la mise en cache des invites pour les modèles Fable |445| `DISABLE_PROMPT_CACHING_FABLE` | Définissez sur `1` pour désactiver la mise en cache des invites pour les modèles Fable |

446| `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), où qu'il s'exécute |446| `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), où qu'il s'exécute |

447| `DISABLE_PROMPT_CACHING_OPUS` | Définissez sur `1` pour désactiver la mise en cache des invites pour les modèles Opus |447| `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) |

448| `DISABLE_PROMPT_CACHING_SONNET` | Définissez sur `1` pour désactiver la mise en cache des invites pour les modèles Sonnet |448| `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) |

449| `DISABLE_TELEMETRY` | Définissez sur n'importe quelle valeur non vide, comme `1`, pour refuser la télémétrie. **Définir sur `0` ou `false` refuse toujours**, contrairement à la plupart des variables activées/désactivées ; supprimez la variable pour réactiver la télémétrie. Les événements de télémétrie n'incluent pas les données utilisateur comme le code, les chemins de fichiers ou les commandes Bash. Désactive également la [récupération des drapeaux de fonctionnalité](#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) |449| `DISABLE_TELEMETRY` | Définissez sur n'importe quelle valeur non vide, comme `1`, pour refuser la télémétrie. **Définir sur `0` ou `false` refuse toujours**, contrairement à la plupart des variables activées/désactivées ; supprimez la variable pour réactiver la télémétrie. Les événements de télémétrie n'incluent pas les données utilisateur comme le code, les chemins de fichiers ou les commandes Bash. Désactive également la [récupération des drapeaux de fonctionnalité](#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) |

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

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

errors.md +165 −15

Details

96| `rejected the credential from its headersHelper` / `rejected the Authorization header in its config` | [Authentification](#mcp-server-needs-you-to-sign-in-again) |96| `rejected the credential from its headersHelper` / `rejected the Authorization header in its config` | [Authentification](#mcp-server-needs-you-to-sign-in-again) |

97| `MCP server "<name>" needs additional permissions (scope: "<scope>") — run /mcp to re-authenticate` | [Authentification](#mcp-server-needs-you-to-sign-in-again) |97| `MCP server "<name>" needs additional permissions (scope: "<scope>") — run /mcp to re-authenticate` | [Authentification](#mcp-server-needs-you-to-sign-in-again) |

98| `MCP server "<name>" requires re-authorization (token expired)` | [Authentification](#mcp-server-needs-you-to-sign-in-again) |98| `MCP server "<name>" requires re-authorization (token expired)` | [Authentification](#mcp-server-needs-you-to-sign-in-again) |

99| `This server's URL is missing or not a valid URL, so sign-in can't start` | [Authentification](#mcp-server-url-is-missing-or-not-a-valid-url) |

99| `Issuer mismatch in authorization response (RFC 9207)` | [Authentification](#issuer-mismatch-in-authorization-response) |100| `Issuer mismatch in authorization response (RFC 9207)` | [Authentification](#issuer-mismatch-in-authorization-response) |

101| `Refusing to send credentials to non-https token endpoint` / `<short-name> from the MCP SDK for <server-url>` | [Authentification](#refusing-to-send-credentials-to-non-https-token-endpoint) |

100| `Cloud gateway session expired — run /login to reconnect.` | [Authentification](#cloud-gateway-session-expired) |102| `Cloud gateway session expired — run /login to reconnect.` | [Authentification](#cloud-gateway-session-expired) |

101| `Cloud gateway <url> no longer accepts this session` | [Authentification](#cloud-gateway-session-expired) |103| `Cloud gateway <url> no longer accepts this session` | [Authentification](#cloud-gateway-session-expired) |

102| `Sign-in timed out while waiting for you to continue. Try again.` | [Authentification](#sign-in-timed-out-while-waiting-for-you-to-continue) |104| `Sign-in timed out while waiting for you to continue. Try again.` | [Authentification](#sign-in-timed-out-while-waiting-for-you-to-continue) |


152| `There's an issue with the selected model` | [Erreurs de requête](#theres-an-issue-with-the-selected-model) |154| `There's an issue with the selected model` | [Erreurs de requête](#theres-an-issue-with-the-selected-model) |

153| `Model ... is not a recognized model id` | [Erreurs de requête](#model-is-not-a-recognized-model-id) |155| `Model ... is not a recognized model id` | [Erreurs de requête](#model-is-not-a-recognized-model-id) |

154| `Model ... not found` | [Erreurs de requête](#model-not-found) |156| `Model ... not found` | [Erreurs de requête](#model-not-found) |

157| `Couldn't confirm model ... with the API` | [Erreurs de requête](#couldnt-confirm-model-with-the-api) |

155| `API error: ... · model not changed` | [Erreurs de requête](#api-error-model-not-changed) |158| `API error: ... · model not changed` | [Erreurs de requête](#api-error-model-not-changed) |

156| `Claude Opus is not available with the Claude Pro plan` | [Erreurs de requête](#claude-opus-is-not-available-with-the-claude-pro-plan) |159| `Claude Opus is not available with the Claude Pro plan` | [Erreurs de requête](#claude-opus-is-not-available-with-the-claude-pro-plan) |

157| `Claude Code ... does not support this model; version ... or newer is required` | [Erreurs de requête](#claude-code-does-not-support-this-model) |160| `Claude Code ... does not support this model; version ... or newer is required` | [Erreurs de requête](#claude-code-does-not-support-this-model) |

158| `Claude Code ... is older than the minimum version required by your organization's policy` | [Erreurs de requête](#claude-code-does-not-support-this-model) |161| `Claude Code ... is older than the minimum version required by your organization's policy` | [Erreurs de requête](#claude-code-does-not-support-this-model) |

159| `Model ... is restricted by your organization's settings` | [Erreurs de requête](#model-is-restricted-by-your-organizations-settings) |162| `Model ... is restricted by your organization's settings` | [Erreurs de requête](#model-is-restricted-by-your-organizations-settings) |

160| `Model ... is not available. Your organization restricts model selection.` | [Erreurs de requête](#model-is-restricted-by-your-organizations-settings) |163| `Model ... is not available. Your organization restricts model selection.` | [Erreurs de requête](#model-is-restricted-by-your-organizations-settings) |

164| `Can't switch to the default model` | [Erreurs de requête](#cant-switch-to-the-default-model) |

161| `Model switch ... blocked by a PreModelSwitch hook` | [Erreurs de requête](#model-switch-was-blocked-by-a-premodelswitch-hook) |165| `Model switch ... blocked by a PreModelSwitch hook` | [Erreurs de requête](#model-switch-was-blocked-by-a-premodelswitch-hook) |

162| `couldn't save it as your default` / `couldn't confirm it was saved as your default` | [Erreurs de requête](#couldnt-save-it-as-your-default) |166| `couldn't save it as your default` / `couldn't confirm it was saved as your default` | [Erreurs de requête](#couldnt-save-it-as-your-default) |

163| `thinking.type.enabled is not supported for this model` | [Erreurs de requête](#thinking-type-enabled-is-not-supported-for-this-model) |167| `thinking.type.enabled is not supported for this model` | [Erreurs de requête](#thinking-type-enabled-is-not-supported-for-this-model) |


201| `Cannot add MCP server to scope: managed` | [Erreurs de ligne de commande](#cannot-add-mcp-server-to-the-managed-scope) |205| `Cannot add MCP server to scope: managed` | [Erreurs de ligne de commande](#cannot-add-mcp-server-to-the-managed-scope) |

202| `is Anthropic-hosted and doesn't support local OAuth` | [Erreurs de ligne de commande](#anthropic-hosted-and-doesnt-support-local-oauth) |206| `is Anthropic-hosted and doesn't support local OAuth` | [Erreurs de ligne de commande](#anthropic-hosted-and-doesnt-support-local-oauth) |

203| `Can't read .mcp.json: it isn't a regular file or is larger than 2097152 bytes` | [Erreurs de ligne de commande](#cant-read-mcp-json) |207| `Can't read .mcp.json: it isn't a regular file or is larger than 2097152 bytes` | [Erreurs de ligne de commande](#cant-read-mcp-json) |

208| `MCP server "<name>" was not saved to` / `was not removed from` | [Erreurs de ligne de commande](#mcp-server-was-not-saved-or-removed) |

209| `MCP server "<name>" may not have been saved` / `may not have been removed` | [Erreurs de ligne de commande](#mcp-server-may-not-have-been-saved-or-removed) |

204| `Server rejected the Authorization header minted by the configured headersHelper` | [Erreurs de ligne de commande](#server-rejected-the-authorization-header-minted-by-the-configured-headershelper) |210| `Server rejected the Authorization header minted by the configured headersHelper` | [Erreurs de ligne de commande](#server-rejected-the-authorization-header-minted-by-the-configured-headershelper) |

205| `Error: MCP tool <name> (passed via --permission-prompt-tool) not found` | [Erreurs de ligne de commande](#mcp-permission-prompt-tool-not-found) |211| `Error: MCP tool <name> (passed via --permission-prompt-tool) not found` | [Erreurs de ligne de commande](#mcp-permission-prompt-tool-not-found) |

206| `OAuth callback port <port> is already in use — another process may be holding it` | [Erreurs de ligne de commande](#oauth-callback-port-is-already-in-use) |212| `OAuth callback port <port> is already in use — another process may be holding it` | [Erreurs de ligne de commande](#oauth-callback-port-is-already-in-use) |


219| `Ultrareview clones <owner>/<repo> in the cloud with the GitHub account connected to your Claude account, and none is connected` | [Erreurs de ligne de commande](#no-github-account-is-connected-to-your-claude-account) |225| `Ultrareview clones <owner>/<repo> in the cloud with the GitHub account connected to your Claude account, and none is connected` | [Erreurs de ligne de commande](#no-github-account-is-connected-to-your-claude-account) |

220| `Your connected GitHub account can't see <owner>/<repo>` | [Erreurs de ligne de commande](#your-connected-github-account-cant-see-the-repository) |226| `Your connected GitHub account can't see <owner>/<repo>` | [Erreurs de ligne de commande](#your-connected-github-account-cant-see-the-repository) |

221| `The GitHub App preflight failed transiently (network or service hiccup) — retry in a moment to start from GitHub instead` | [Erreurs de ligne de commande](#the-github-app-preflight-failed-transiently) |227| `The GitHub App preflight failed transiently (network or service hiccup) — retry in a moment to start from GitHub instead` | [Erreurs de ligne de commande](#the-github-app-preflight-failed-transiently) |

228| `Not uploading this working tree` with `the upload cannot follow that setting` | [Erreurs de ligne de commande](#the-repository-upload-cant-follow-a-git-setting) |

222| `GitHub isn't connected to your Claude account, so this repository can't be cloned in the cloud` | [Erreurs de ligne de commande](#github-isnt-connected-to-your-claude-account) |229| `GitHub isn't connected to your Claude account, so this repository can't be cloned in the cloud` | [Erreurs de ligne de commande](#github-isnt-connected-to-your-claude-account) |

223| `Single sign-on authorization needed` | [Erreurs de ligne de commande](#single-sign-on-authorization-needed) |230| `Single sign-on authorization needed` | [Erreurs de ligne de commande](#single-sign-on-authorization-needed) |

224| `Failed to resume the conversation` | [Erreurs de ligne de commande](#failed-to-resume-the-conversation) |231| `Failed to resume the conversation` | [Erreurs de ligne de commande](#failed-to-resume-the-conversation) |


252| `Plugin "<name>@synced" is required by your organization and can't be disabled here` | [Erreurs de plugin](#plugin-is-required-by-your-organization) |259| `Plugin "<name>@synced" is required by your organization and can't be disabled here` | [Erreurs de plugin](#plugin-is-required-by-your-organization) |

253| `"<plugin>" was not uninstalled: it is still switched on in <file>` | [Erreurs de plugin](#plugin-was-not-uninstalled) |260| `"<plugin>" was not uninstalled: it is still switched on in <file>` | [Erreurs de plugin](#plugin-was-not-uninstalled) |

254| `"<plugin>" was not uninstalled: <file> is there and could not be read` | [Erreurs de plugin](#plugin-was-not-uninstalled) |261| `"<plugin>" was not uninstalled: <file> is there and could not be read` | [Erreurs de plugin](#plugin-was-not-uninstalled) |

262| `Plugin "<plugin>" was not uninstalled: installed_plugins.json` | [Dépannage des plugins](/docs/fr/plugins/troubleshooting#installed-plugins-json-holds-a-record-this-version-cannot-read) |

255| `would be spawned with zero tools — refusing` | [Erreurs d'outil](#agent-would-be-spawned-with-zero-tools) |263| `would be spawned with zero tools — refusing` | [Erreurs d'outil](#agent-would-be-spawned-with-zero-tools) |

256| `File is covered by a Read deny rule in your permission settings` | [Erreurs d'outil](#file-is-covered-by-a-read-deny-rule) |264| `File is covered by a Read deny rule in your permission settings` | [Erreurs d'outil](#file-is-covered-by-a-read-deny-rule) |

257| `cannot contain null bytes (\0)` | [Erreurs d'outil](#path-cannot-contain-null-bytes) |265| `cannot contain null bytes (\0)` | [Erreurs d'outil](#path-cannot-contain-null-bytes) |


727 The prompt to confirm went unanswered735 The prompt to confirm went unanswered

728</h3>736</h3>

729 737 

730Si 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 personne ne répond à cette invite de consentement dans une session qui peut ne pas avoir quelqu'un à son terminal, Claude Code ferme l'invite et termine le tour avec l'un de ces messages :738Si 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 :

731 739 

732```text theme={null}740```text theme={null}

733Fable 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 change741Fable 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


736 744 

737Les 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`.745Les 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`.

738 746 

739Cela se produit dans les sessions [Remote Control](/docs/fr/remote-control), les [sessions en arrière-plan](/docs/fr/agent-view), et les sessions de coéquipiers [agent team](/docs/fr/agent-teams). Claude Code affiche l'invite de consentement uniquement dans la vue interactive de la session : le terminal où elle s'exécute, ou, pour une session en arrière-plan, la [vue des agents](/docs/fr/agent-view) une fois que vous vous attachez. Un client Remote Control ne peut pas l'afficher. Claude Code ferme l'invite à la date limite [`dialogExpiry`](/docs/fr/settings-reference#dialogexpiry), cinq minutes par défaut, ou dès qu'une nouvelle invite arrive alors que personne n'a tapé à ce terminal, comme une invite envoyée par un client Remote Control. Taper au terminal où la session s'exécute annule la date limite, et Claude Code attend votre réponse. Dans la vue attachée d'une session en arrière-plan, taper n'annule pas la date limite, et une nouvelle invite ferme toujours l'invite de consentement, donc répondez avant que l'un ou l'autre ne se produise. Claude Code n'envoie rien et conserve votre modèle, donc quand vous envoyez votre prochaine invite, Claude Code affiche à nouveau l'invite de consentement.747Cela 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).

740 748 

741**Ce qu'il faut faire :**749**Ce qu'il faut faire :**

742 750 

743* Au terminal où la session s'exécute, 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.751* 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.

744* Exécutez `/model` pour basculer vers un modèle qui ne facture pas les crédits d'utilisation752* Exécutez `/model` pour basculer vers un modèle qui ne facture pas les crédits d'utilisation

745* Pour vous donner plus de temps pour atteindre ce terminal, définissez [`dialogExpiry`](/docs/fr/settings-reference#dialogexpiry) sur une valeur plus longue ou `"never"`753* Pour vous donner plus de temps, définissez [`dialogExpiry`](/docs/fr/settings-reference#dialogexpiry) sur une valeur plus longue ou `"never"`

746 754 

747Avant v2.1.236, ce message n'apparaissait pas : pendant qu'un client Remote Control était connecté, Claude Code attendait 60 secondes une réponse, puis continuait le tour sur votre modèle par défaut.755Avant v2.1.236, ce message n'apparaissait pas : pendant qu'un client Remote Control était connecté, Claude Code attendait 60 secondes une réponse, puis continuait le tour sur votre modèle par défaut.

748 756 


1495 1503 

1496Avant v2.1.274, ce cas affichait le message `needs you to sign in again`, et avant v2.1.273 il affichait `requires re-authorization (token expired)` comme les autres cas.1504Avant v2.1.274, ce cas affichait le message `needs you to sign in again`, et avant v2.1.273 il affichait `requires re-authorization (token expired)` comme les autres cas.

1497 1505 

1506<h3 id="mcp-server-url-is-missing-or-not-a-valid-url">

1507 URL du serveur MCP manquante ou non valide

1508</h3>

1509 

1510Claude Code a refusé de démarrer une connexion OAuth pour un serveur MCP distant car l'`url` configurée du serveur ne s'analyse pas comme une URL. À moins que Claude Code ait un problème de configuration plus spécifique à signaler pour le serveur, l'exécution de [`claude mcp login <name>`](/docs/fr/mcp#authenticate-from-the-command-line) dans votre shell imprime le refus comme :

1511 

1512```text theme={null}

1513Couldn't complete authentication for "<name>": This server's URL is missing or not a valid URL, so sign-in can't start. Fix the URL in its MCP config (or set the environment variable it uses) and try again.

1514```

1515 

1516**À faire :**

1517 

1518* Définissez l'entrée `url` au point de terminaison réel du serveur où le serveur est configuré, ou définissez la variable d'environnement que sa référence [`${VAR}`](/docs/fr/mcp#environment-variable-expansion-in-mcp-json) nomme, puis exécutez la connexion à nouveau.

1519 

1498<h3 id="issuer-mismatch-in-authorization-response">1520<h3 id="issuer-mismatch-in-authorization-response">

1499 Incompatibilité d'émetteur dans la réponse d'autorisation1521 Incompatibilité d'émetteur dans la réponse d'autorisation

1500</h3>1522</h3>


1515 1537 

1516Avant v2.1.232, Claude Code utilisait le runtime v2 uniquement dans un déploiement progressif ou quand vous définissiez `MCP_SDK_GENERATION=v2`.1538Avant v2.1.232, Claude Code utilisait le runtime v2 uniquement dans un déploiement progressif ou quand vous définissiez `MCP_SDK_GENERATION=v2`.

1517 1539 

1540<h3 id="refusing-to-send-credentials-to-non-https-token-endpoint">

1541 Refus d'envoyer des credentials à un point de terminaison de jeton non-https

1542</h3>

1543 

1544Sur le [runtime v2](/docs/fr/mcp#mcp-client-runtimes), Claude Code envoie une requête de jeton [OAuth MCP](/docs/fr/mcp#authenticate-with-remote-mcp-servers) uniquement à un point de terminaison de jeton servi via HTTPS ou à `localhost`, `127.0.0.1` ou `::1`. Ce message signifie que le point de terminaison de jeton du serveur n'est ni l'un ni l'autre, donc Claude Code s'est arrêté avant d'envoyer la requête. Cela se produit après la connexion du navigateur, donc l'étape du navigateur réussit d'abord, et à nouveau chaque fois que Claude Code rafraîchit le jeton du serveur.

1545 

1546Sous sa forme complète, le message provient du SDK MCP et cite le point de terminaison de jeton qu'il a refusé. Dans le journal de débogage, il suit `Error during auth completion:` pour une connexion ou `Token refresh failed:` pour un rafraîchissement. Dans votre shell, `claude mcp login <name>` l'imprime après `Couldn't complete authentication for "<name>":`, et dans une session, `/mcp` l'affiche sous le menu du serveur :

1547 

1548```text theme={null}

1549Refusing to send credentials to non-https token endpoint 'http://192.168.1.50:8123/oauth/token'. OAuth token requests MUST use TLS (localhost / 127.0.0.1 / ::1 are exempt).

1550```

1551 

1552Claude Code traite une URL de serveur qui a une chaîne de requête ou un segment de chemin long et aléatoire comme possiblement secret. Pour un tel serveur, il rédige les erreurs de connexion que le SDK MCP lève avant de les afficher ou de les enregistrer. Cette erreur se lit alors comme un nom court qui peut changer entre les versions, comme `io`, suivi de `from the MCP SDK for` et l'URL du serveur réduite. Les autres erreurs du SDK MCP prennent la même forme là. Le message réduit ne peut être cette erreur que quand le point de terminaison de jeton du serveur est `http://` simple à une adresse autre que `localhost`, `127.0.0.1` ou `::1`.

1553 

1554**À faire :**

1555 

1556* Servez ce point de terminaison de jeton via HTTPS, par exemple en mettant le serveur derrière un proxy inverse ou un tunnel qui termine TLS et en configurant le serveur pour annoncer l'adresse `https://`

1557* Pour vous connecter sans modifier le serveur, démarrez Claude Code avec [`MCP_SDK_GENERATION=v1`](/docs/fr/env-vars), dont le [runtime](/docs/fr/mcp#mcp-client-runtimes) n'applique pas cette règle et envoie la requête de jeton via `http://` simple. Ce choix dure jusqu'à ce que vous quittiez et s'applique à chaque serveur. Le runtime v1 ignore également la [vérification d'émetteur](#issuer-mismatch-in-authorization-response), donc préférez servir le point de terminaison via HTTPS

1558 

1518<h3 id="aws-credentials-expired-or-invalid">1559<h3 id="aws-credentials-expired-or-invalid">

1519 Les credentials AWS ont expiré ou sont invalides1560 Les credentials AWS ont expiré ou sont invalides

1520</h3>1561</h3>


1937 1978 

1938* Ouvrez la routine pour l'édition, ou démarrez une session cloud. Sélectionnez l'icône cloud affichant le nom de votre environnement, comme **Default**, pour ouvrir le sélecteur. Survolez votre environnement et cliquez sur l'icône des paramètres.1979* Ouvrez la routine pour l'édition, ou démarrez une session cloud. Sélectionnez l'icône cloud affichant le nom de votre environnement, comme **Default**, pour ouvrir le sélecteur. Survolez votre environnement et cliquez sur l'icône des paramètres.

1939* Dans la boîte de dialogue **Update cloud environment**, changez **Network access** de **Trusted** à **Custom**, puis ajoutez le domaine bloqué à **Allowed domains**. Entrez un domaine par ligne. Cochez **Also include default list of common package managers** pour conserver la [liste d'autorisation par défaut](/docs/fr/cloud-environments#default-allowed-domains) aux côtés de vos domaines personnalisés. Sélectionnez **Full** à la place si vous voulez un accès sans restriction.1980* Dans la boîte de dialogue **Update cloud environment**, changez **Network access** de **Trusted** à **Custom**, puis ajoutez le domaine bloqué à **Allowed domains**. Entrez un domaine par ligne. Cochez **Also include default list of common package managers** pour conserver la [liste d'autorisation par défaut](/docs/fr/cloud-environments#default-allowed-domains) aux côtés de vos domaines personnalisés. Sélectionnez **Full** à la place si vous voulez un accès sans restriction.

1940* Cliquez sur **Save changes**. La prochaine exécution utilise la liste d'autorisation mise à jour.1981* Cliquez sur **Save changes**. La prochaine exécution utilise la liste d'autorisation mise à jour. Pour une session cloud qui est déjà ouverte, consultez [quand une modification d'accès réseau atteint les sessions existantes](/docs/fr/cloud-environments#network-access).

1941 1982 

1942Consultez [Network access](/docs/fr/cloud-environments#network-access) pour les niveaux d'accès et la liste d'autorisation par défaut. Les sessions CLI locales ne sont pas affectées par cette politique.1983Consultez [Network access](/docs/fr/cloud-environments#network-access) pour les niveaux d'accès et la liste d'autorisation par défaut. Les sessions CLI locales ne sont pas affectées par cette politique.

1943 1984 


2346 Le modèle n'est pas un ID de modèle reconnu2387 Le modèle n'est pas un ID de modèle reconnu

2347</h3>2388</h3>

2348 2389 

2349La chaîne de modèle que vous avez passée à un changement de modèle n'est pas un alias de modèle, un ID de modèle que cette version de Claude Code connaît, ou un ID qui commence par `claude-`. Les causes habituelles sont une faute de frappe dans l'ID, un nom d'affichage comme `Sonnet 5` où l'ID `claude-sonnet-5` est attendu, ou un alias que seules les versions plus récentes de Claude Code reconnaissent. Claude Code rejette le changement immédiatement. Avant v2.1.200, Claude Code enregistrait la chaîne et échouait à la requête suivante avec [Il y a un problème avec le modèle sélectionné](#theres-an-issue-with-the-selected-model).2390La chaîne que vous avez passée à un changement de modèle n'est pas un alias de modèle, un ID de modèle que Claude Code peut utiliser, donc il a refusé le changement sans envoyer de requête et la session garde son modèle actuel. Vous pouvez obtenir cette erreur quand un modèle est défini via la méthode [Agent SDK](/docs/fr/agent-sdk/typescript) `setModel()`, par une application qui exécute le CLI Claude Code pour vous, comme l'[application de bureau](/docs/fr/desktop), ou quand vous choisissez un modèle à partir d'un appareil connecté via [Contrôle à distance](/docs/fr/remote-control). Avant v2.1.200, Claude Code enregistrait la chaîne et échouait à la requête suivante avec [Il y a un problème avec le modèle sélectionné](#theres-an-issue-with-the-selected-model).

2350 2391 

2351```text theme={null}2392```text theme={null}

2352Model "claud-sonnet-5" is not a recognized model id. Did you mean 'claude-sonnet-5'?2393Model "Sonnet5" is not a recognized model id. Did you mean 'claude-sonnet-5'?

2353```2394```

2354 2395 

2355L'indice de fin nomme l'alias ou l'ID de modèle le plus proche. Quand rien n'est assez proche, il se lit `Run /model to see available models.` à la place. Dans une session que l'[application de bureau](/docs/fr/desktop) démarre pour vous, l'indice sans correspondance se lit `Switch to a different model.`2396Dans cet exemple, une application a envoyé le nom d'affichage `Sonnet 5`, que le message répète sans son espace. L'indice de fin nomme l'alias ou l'ID de modèle le plus proche. Quand rien n'est assez proche, il se lit `Run /model to see available models.` à la place. Dans une session que l'[application de bureau](/docs/fr/desktop) démarre pour vous, l'indice sans correspondance se lit `Switch to a different model.`

2356 2397 

2357Claude Code produit cette erreur localement au moment où le changement est demandé, avant toute requête API. Elle s'applique quand un modèle est défini via la méthode [Agent SDK](/docs/fr/agent-sdk/typescript) `setModel()`, par une application comme l'[application de bureau](/docs/fr/desktop) qui exécute le CLI Claude Code pour vous, ou quand vous choisissez un modèle à partir d'un appareil connecté via [Contrôle à distance](/docs/fr/remote-control). Avant v2.1.260, la vérification ne couvrait pas les choix de contrôle à distance, donc Claude Code appliquait le choix et la requête suivante échouait avec [Il y a un problème avec le modèle sélectionné](#theres-an-issue-with-the-selected-model).2398Quand vous basculez via l'Agent SDK ou une application sur l'API Anthropic, seule une chaîne qui ne peut pas être un ID de modèle obtient cette erreur, comme un nom d'affichage ou une chaîne vide.

2399 

2400Quand vous choisissez un modèle à partir d'un appareil de contrôle à distance, Claude Code vérifie la chaîne localement. Toute chaîne qui n'est pas un alias de modèle, un modèle que Claude Code liste ou que vous avez configuré, ou un ID qui commence par `claude-` obtient cette erreur, un ID mal tapé comme `claud-sonnet-5` inclus. Avant v2.1.260, cette vérification ne couvrait pas les choix de contrôle à distance, donc une chaîne non reconnue était appliquée et échouait à la requête suivante.

2358 2401 

2359**Que faire :**2402**Que faire :**

2360 2403 

2361* Exécutez `/model` sans argument pour ouvrir le sélecteur et choisir parmi les modèles disponibles pour votre compte, puis passez l'alias ou l'ID affiché là2404* Exécutez `/model` sans argument pour ouvrir le sélecteur et choisir parmi les modèles disponibles pour votre compte, puis passez l'alias ou l'ID affiché là

2362* Si vous avez utilisé un alias qu'une version plus récente de Claude Code supporte, exécutez `claude update`. Un ID complet qui commence par `claude-` passe cette vérification locale même quand le modèle est plus récent que votre version de Claude Code. Le serveur peut toujours exiger une version minimale pour ce modèle ; voir [Claude Code ne supporte pas ce modèle](#claude-code-does-not-support-this-model).2405* Si vous avez utilisé un alias qu'une version plus récente de Claude Code supporte, exécutez `claude update`, ou passez l'ID complet du modèle à la place. Le serveur peut toujours exiger une version minimale de Claude Code pour ce modèle ; voir [Claude Code ne supporte pas ce modèle](#claude-code-does-not-support-this-model).

2363* Un modèle enregistré avant v2.1.200 n'est pas réparé par cette vérification. Si une valeur obsolète continue de revenir, supprimez-la des emplacements listés sous [Définir votre modèle](/docs/fr/model-config#setting-your-model).2406* Un modèle enregistré avant v2.1.200 n'est pas réparé par cette vérification. Si une valeur obsolète continue de revenir, supprimez-la des emplacements listés sous [Définir votre modèle](/docs/fr/model-config#setting-your-model).

2364* La vérification s'exécute uniquement sur l'API Anthropic. Sur tout autre fournisseur ou passerelle, y compris un `ANTHROPIC_BASE_URL` personnalisé, le fournisseur définit les noms de modèles, donc Claude Code accepte n'importe quelle chaîne et la transmet. Claude Code peut toujours écrire la [ligne de diagnostic de modèle non reconnu](#unrecognized-model-id-on-a-request) au moment de la requête, sur chaque fournisseur.2407* Sur tout fournisseur autre que l'API Anthropic, ou derrière une passerelle ou un `ANTHROPIC_BASE_URL` personnalisé, seule une chaîne vide obtient cette erreur. Claude Code peut toujours écrire la [ligne de diagnostic de modèle non reconnu](#unrecognized-model-id-on-a-request) au moment de la requête, sur chaque fournisseur.

2365 2408 

2366<h3 id="model-not-found">2409<h3 id="model-not-found">

2367 Modèle non trouvé2410 Modèle non trouvé

2368</h3>2411</h3>

2369 2412 

2370Vous avez choisi un modèle avec `/model <name>` et Claude Code n'a pas pu confirmer qu'un modèle avec ce nom existe. Quand le nom n'est pas un [alias de modèle](/docs/fr/model-config#model-aliases) ou une autre orthographe que Claude Code accepte localement, `/model` le vérifie avec une requête API minimale, et cette erreur est généralement la réponse de votre point de terminaison API. Un nom qui ne peut pas du tout être un ID de modèle, comme un contenant des espaces, obtient le même message.2413Vous avez choisi un modèle par nom et Claude Code n'a pas pu confirmer qu'un modèle avec ce nom existe. Quand le nom n'est pas un [alias de modèle](/docs/fr/model-config#model-aliases) ou une autre orthographe que Claude Code accepte localement, Claude Code le vérifie avec une requête API minimale, et cette erreur est généralement la réponse de votre point de terminaison API. Avec `/model <name>`, un nom qui ne peut pas du tout être un ID de modèle, comme un contenant des espaces, obtient le même message.

2371 2414 

2372```text theme={null}2415```text theme={null}

2373Model 'claude-opus-9' not found2416Model 'claude-opus-9' not found


2379 2422 

2380* Exécutez `/model` sans argument et choisissez parmi les modèles disponibles pour votre compte, ou utilisez un [alias de modèle](/docs/fr/model-config#model-aliases) comme `sonnet`, qui se résout à une valeur par défaut maintenue2423* Exécutez `/model` sans argument et choisissez parmi les modèles disponibles pour votre compte, ou utilisez un [alias de modèle](/docs/fr/model-config#model-aliases) comme `sonnet`, qui se résout à une valeur par défaut maintenue

2381* Si vous avez tapé un ID complet, vérifiez-le par rapport au catalogue de modèles de votre fournisseur. Un modèle nouvellement lancé peut être disponible sur l'API Anthropic avant que votre fournisseur ou région ne l'offre.2424* Si vous avez tapé un ID complet, vérifiez-le par rapport au catalogue de modèles de votre fournisseur. Un modèle nouvellement lancé peut être disponible sur l'API Anthropic avant que votre fournisseur ou région ne l'offre.

2425* Dans l'Agent SDK, `setModel()` échoue avec ce message et la session continue de s'exécuter sur son modèle précédent. Dans le SDK TypeScript, appelez [`supportedModels()`](/docs/fr/agent-sdk/typescript#query-object) pour lister les modèles vers lesquels vous pouvez basculer.

2382* Avant v2.1.265, `/model` rejetait aussi l'orthographe d'alias `opusplan[1m]` avec cette erreur. Sur ces versions, mettez à jour Claude Code, ou définissez le modèle dans [paramètres](/docs/fr/model-config#setting-your-model) ou avec `--model` à la place.2426* Avant v2.1.265, `/model` rejetait aussi l'orthographe d'alias `opusplan[1m]` avec cette erreur. Sur ces versions, mettez à jour Claude Code, ou définissez le modèle dans [paramètres](/docs/fr/model-config#setting-your-model) ou avec `--model` à la place.

2383 2427 

2428<h3 id="couldnt-confirm-model-with-the-api">

2429 Impossible de confirmer le modèle avec l'API

2430</h3>

2431 

2432Vous avez basculé les modèles via la méthode [Agent SDK](/docs/fr/agent-sdk/typescript) `setModel()` ou une application qui exécute le CLI Claude Code pour vous, comme l'[application de bureau](/docs/fr/desktop), et la requête qui confirme l'ID du modèle avec votre point de terminaison API n'a pas reçu de réponse dans les cinq secondes. La session garde son modèle actuel.

2433 

2434```text theme={null}

2435Couldn't confirm model "claude-sonnet-5" with the API. Try again, or run /model to see available models.

2436```

2437 

2438Dans une session que l'[application de bureau](/docs/fr/desktop) démarre pour vous, le message se termine à `Try again.`

2439 

2440**Que faire :**

2441 

2442* Basculez vers le modèle à nouveau

2443* Si le basculement continue d'échouer, vérifiez que Claude Code peut atteindre votre point de terminaison API ; voir [Erreurs de réseau et de connexion](#network-and-connection-errors)

2444 

2384<h3 id="api-error-model-not-changed">2445<h3 id="api-error-model-not-changed">

2385 Erreur API lors de la vérification du modèle choisi2446 Erreur API lors de la vérification du modèle choisi

2386</h3>2447</h3>


2432API Error: 400 Claude Code 2.1.240 is older than the minimum version required by your organization's policy. Run 'claude update', or update the Claude desktop app, to continue.2493API Error: 400 Claude Code 2.1.240 is older than the minimum version required by your organization's policy. Run 'claude update', or update the Claude desktop app, to continue.

2433```2494```

2434 2495 

2496La version que l'API vérifie est celle signalée par le binaire Claude Code qui a fait la requête.

2497 

2435**Que faire :**2498**Que faire :**

2436 2499 

2437* Exécutez `claude update`, ou mettez à jour l'application de bureau Claude, puis démarrez une nouvelle session2500Mettez à jour ce binaire, puis démarrez une nouvelle session. D'où le binaire provient décide comment, sauf dans un [environnement auto-hébergé](/docs/fr/self-hosted-environments-deploy#pin-the-version) :

2438* Pour le libellé par modèle, vous pouvez continuer à travailler dans la session actuelle en basculant vers un autre modèle avec `/model`2501 

2502| Le binaire qui a fait la requête | Comment le mettre à jour |

2503| :- | :- |

2504| Un Claude Code que vous avez installé | Exécutez `claude update` |

2505| L'application de bureau Claude | Mettez à jour l'application |

2506| Le binaire que l'[extension VS Code](/docs/fr/vs-code) regroupe | Mettez à jour l'extension |

2507| Le binaire qu'un package Agent SDK regroupe | [Mettez à niveau le package SDK](/docs/fr/agent-sdk/hosting#runtime-dependencies), puis redémarrez votre application. Dans un [exécutable monofichier compilé](/docs/fr/agent-sdk/typescript#compile-to-a-single-executable), reconstruisez-le |

2508 

2509* Pour le libellé par modèle, vous pouvez continuer à travailler dans la session actuelle en basculant vers un autre modèle : exécutez `/model` dans le CLI, appelez [`setModel()`](/docs/fr/agent-sdk/typescript#query-object) sur l'objet `Query` du SDK TypeScript en mode d'entrée en continu, ou appelez [`set_model()`](/docs/fr/agent-sdk/python#claudesdkclient) sur le `ClaudeSDKClient` du SDK Python

2439* Pour le libellé de la politique organisationnelle, mettez à jour avant de continuer2510* Pour le libellé de la politique organisationnelle, mettez à jour avant de continuer

2440 2511 

2441<h3 id="model-is-restricted-by-your-organizations-settings">2512<h3 id="model-is-restricted-by-your-organizations-settings">


2460* Si le modèle restreint a été défini dans `--model`, `ANTHROPIC_MODEL`, le champ `model` d'un fichier de paramètres, ou le frontmatter `model` d'un [sous-agent](/docs/fr/sub-agents#choose-a-model), d'une compétence ou d'une commande, supprimez ou mettez à jour cette valeur afin que l'avis ne se reproduise pas2531* Si le modèle restreint a été défini dans `--model`, `ANTHROPIC_MODEL`, le champ `model` d'un fichier de paramètres, ou le frontmatter `model` d'un [sous-agent](/docs/fr/sub-agents#choose-a-model), d'une compétence ou d'une commande, supprimez ou mettez à jour cette valeur afin que l'avis ne se reproduise pas

2461* Si vous avez besoin d'accès au modèle restreint, demandez à votre administrateur d'organisation de l'activer. Voir [Restrictions de modèle organisationnel](/docs/fr/model-config#organization-model-restrictions).2532* Si vous avez besoin d'accès au modèle restreint, demandez à votre administrateur d'organisation de l'activer. Voir [Restrictions de modèle organisationnel](/docs/fr/model-config#organization-model-restrictions).

2462 2533 

2534<h3 id="cant-switch-to-the-default-model">

2535 Impossible de basculer vers le modèle par défaut

2536</h3>

2537 

2538Vous avez choisi le modèle par défaut, par exemple en sélectionnant la ligne Par défaut dans le sélecteur `/model` ou en tapant `/model default`. Claude Code a refusé le changement, donc la session garde son modèle actuel.

2539 

2540```text theme={null}

2541Can't switch to the default model: your organization's managed settings block it (claude-opus-4-6) in "deniedModels", and none of the models they allow can be used as the default instead. Ask your administrator to update "deniedModels" or "availableModels".

2542```

2543 

2544Le libellé après le deux-points nomme ce qui a bloqué le changement :

2545 

2546* **`your organization's managed settings block it ... in "deniedModels"`** : une liste de refus gérée bloque le modèle auquel l'option Par défaut se résout

2547* **`your organization allows only the models listed in "availableModels"`** : une liste d'autorisation [`availableModels`](/docs/fr/model-config#restrict-model-selection) gérée avec [`availableModelsMatch`](/docs/fr/settings-reference#availablemodelsmatch) défini à `"exact"` laisse de côté le modèle auquel l'option Par défaut se résout

2548* **`Claude Code couldn't read your organization's managed settings to check which models they allow`** : les [paramètres gérés](/docs/fr/managed-settings) n'ont pas pu être lus, et Claude Code refuse le changement plutôt que de l'appliquer non vérifié

2549 

2550**Que faire :**

2551 

2552* Pour les libellés [`deniedModels`](/docs/fr/settings-reference#deniedmodels) et `availableModels`, exécutez `/model` et choisissez un modèle que votre organisation autorise par nom

2553* Demandez à votre administrateur de mettre à jour le paramètre géré que le message nomme

2554* Pour le libellé `couldn't read`, redémarrez Claude Code ; si cela continue de se produire, demandez à votre administrateur de vérifier les paramètres gérés

2555 

2556Si une session échoue plutôt à démarrer avec un message `Claude Code can't start` sous ces paramètres gérés, voir [Les paramètres gérés bloquent le modèle par défaut](#managed-settings-block-the-default-model).

2557 

2463<h3 id="model-switch-was-blocked-by-a-premodelswitch-hook">2558<h3 id="model-switch-was-blocked-by-a-premodelswitch-hook">

2464 Le changement de modèle a été bloqué par un hook PreModelSwitch2559 Le changement de modèle a été bloqué par un hook PreModelSwitch

2465</h3>2560</h3>


3066 3161 

3067* Vérifiez ce qui se trouve à `.mcp.json` dans votre répertoire courant. Remplacez-le par un fichier JSON ordinaire au [format de portée de projet](/docs/fr/mcp#project-scope), ou supprimez-le, puis exécutez la commande à nouveau.3162* Vérifiez ce qui se trouve à `.mcp.json` dans votre répertoire courant. Remplacez-le par un fichier JSON ordinaire au [format de portée de projet](/docs/fr/mcp#project-scope), ou supprimez-le, puis exécutez la commande à nouveau.

3068 3163 

3164<h3 id="mcp-server-was-not-saved-or-removed">

3165 Le serveur MCP n'a pas été enregistré ou supprimé

3166</h3>

3167 

3168Vous avez exécuté `claude mcp add`, `claude mcp add-json`, ou `claude mcp remove` pour un serveur dans la portée `user` ou `local` [scope](/docs/fr/mcp#mcp-installation-scopes). Les deux portées sont stockées dans `~/.claude.json`, et la modification n'est pas dans ce fichier lorsque Claude Code le relit après l'écriture. La commande se termine avec cette erreur au lieu de sa ligne de succès.

3169 

3170```text theme={null}

3171MCP server "example" was not saved to /home/user/.claude.json. If that file is read-only or protected by a sandbox, make it writable or run the command outside the sandbox, then add the server again.

3172```

3173 

3174Après une suppression, le message lit `was not removed from` et se termine par `then remove the server again`. Pour un serveur de portée `local`, le chemin est suivi du répertoire du projet auquel l'entrée appartient, comme `(local scope for /path/to/project)`.

3175 

3176Avant la v2.1.283, `claude mcp add`, `claude mcp add-json`, et `claude mcp remove` signalaient le succès même lorsque la modification n'atteignait pas le fichier.

3177 

3178**Que faire :**

3179 

3180* Rendez le fichier que le message nomme inscriptible, ou exécutez la commande en dehors du sandbox, puis exécutez la même commande d'ajout ou de suppression à nouveau.

3181 

3182<h3 id="mcp-server-may-not-have-been-saved-or-removed">

3183 Le serveur MCP peut ne pas avoir été enregistré ou supprimé

3184</h3>

3185 

3186Vous avez exécuté `claude mcp add`, `claude mcp add-json`, ou `claude mcp remove` pour un serveur dans la portée `user` ou `local` [scope](/docs/fr/mcp#mcp-installation-scopes), et Claude Code n'a pas pu relire `~/.claude.json` pour confirmer la modification. La modification peut ou peut ne pas être sur le disque. Le texte entre parenthèses est l'erreur de cette lecture.

3187 

3188```text theme={null}

3189MCP server "example" may not have been saved: /home/user/.claude.json could not be read to confirm the change (EACCES: permission denied, open '/home/user/.claude.json'). Run `claude mcp get example` to check, then add the server again if it is missing.

3190```

3191 

3192Après une suppression, le message lit `may not have been removed` et se termine par `then remove the server again if it is still listed`.

3193 

3194Avant la v2.1.283, les commandes signalaient le succès même lorsque la modification ne pouvait pas être confirmée.

3195 

3196**Que faire :**

3197 

3198* Exécutez `claude mcp get <name>` pour vérifier si la modification est sur le disque. Pour un serveur de portée `local`, exécutez-le à partir du répertoire du projet auquel le serveur appartient, car la portée locale est par projet.

3199* Si le serveur manque après un ajout, ou est toujours listé après une suppression, exécutez la même commande d'ajout ou de suppression à nouveau.

3200 

3069<h3 id="anthropic-hosted-and-doesnt-support-local-oauth">3201<h3 id="anthropic-hosted-and-doesnt-support-local-oauth">

3070 Le serveur est hébergé par Anthropic et ne supporte pas OAuth local3202 Le serveur est hébergé par Anthropic et ne supporte pas OAuth local

3071</h3>3203</h3>


3376 3508 

3377Avant la v2.1.251, Claude Code terminait le message avec `Please set up GitHub on https://claude.ai/code` même lorsque la vérification GitHub a échoué uniquement de manière transitoire, et les conseils de configuration ne peuvent pas clarifier un échec transitoire.3509Avant la v2.1.251, Claude Code terminait le message avec `Please set up GitHub on https://claude.ai/code` même lorsque la vérification GitHub a échoué uniquement de manière transitoire, et les conseils de configuration ne peuvent pas clarifier un échec transitoire.

3378 3510 

3511<h3 id="the-repository-upload-cant-follow-a-git-setting">

3512 Le téléchargement du référentiel ne peut pas suivre un paramètre git

3513</h3>

3514 

3515Vous avez démarré une [session cloud qui télécharge votre référentiel local](/docs/fr/claude-code-on-the-web#send-local-repositories-without-github), ou un [ultrareview](/docs/fr/ultrareview) d'une branche, et le téléchargement ne peut pas suivre l'un des paramètres git qui décident quelles règles d'attribut s'appliquent à vos fichiers. Si le téléchargement s'était poursuivi et avait manqué une règle, un fichier que git transforme avant de le stocker, tel qu'un fichier qu'un filtre clean chiffre, pourrait atteindre le cloud tel qu'il est sur le disque. Claude Code refuse le téléchargement à la place, et rien n'est téléchargé :

3516 

3517```text theme={null}

3518Not uploading this working tree: core.ignoreCase (which decides whether .gitattributes patterns match file names regardless of letter case) is set in <file>, and the upload cannot follow that setting, so a file git would change before storing it (to encrypt it, for example) could be uploaded as it is on disk. Move the core.ignoreCase line into this repository's .git/config or directly into your ~/.gitconfig, then retry.

3519```

3520 

3521Le message nomme le paramètre et où il est défini, et se termine par la correction pour le cas que vous avez rencontré. Le même refus apparaît pour `core.attributesFile` et `attr.tree`, chacun avec sa propre correction.

3522 

3523Le message peut nommer un fichier de configuration que votre configuration git tire via une directive `include` ou `includeIf`, même lorsque la condition de cette directive ne s'applique pas à ce référentiel.

3524 

3525**Que faire :**

3526 

3527* Appliquez la correction dans la phrase finale du message

3528 

3379<h3 id="github-isnt-connected-to-your-claude-account">3529<h3 id="github-isnt-connected-to-your-claude-account">

3380 GitHub n'est pas connecté à votre compte Claude3530 GitHub n'est pas connecté à votre compte Claude

3381</h3>3531</h3>


3888 Plugin was not uninstalled4038 Plugin was not uninstalled

3889</h3>4039</h3>

3890 4040 

3891Vous avez exécuté [`claude plugin uninstall`](/docs/fr/plugins/cli-reference#plugin-uninstall), ou choisi **Uninstall** dans l'onglet **Installed** de `/plugin`, et la désinstallation s'est arrêtée avec un message commençant par `"<plugin>" was not uninstalled:`.4041Vous avez exécuté [`claude plugin uninstall`](/docs/fr/plugins/cli-reference#plugin-uninstall), ou choisi **Uninstall** dans l'onglet **Installed** de `/plugin`, et la désinstallation s'est arrêtée avec un message commençant par `"<plugin>" was not uninstalled:`. Si le texte après ce deux-points commence par `installed_plugins.json` au lieu de nommer un fichier de paramètres, la cause est du contenu dans `installed_plugins.json` que cette version de Claude Code ne peut pas lire. Pour cette forme, consultez [`installed_plugins.json` holds a record this version can't read](/docs/fr/plugins/troubleshooting#installed-plugins-json-holds-a-record-this-version-cannot-read).

3892 4042 

3893Quand Claude Code a supprimé l'entrée du plugin de `enabledPlugins` et a relancé les fichiers de paramètres de cette portée, soit le plugin était toujours activé là, soit un fichier qui pourrait l'activer ne pouvait pas être lu ou vérifié. Supprimer les options sauvegardées du plugin, les secrets et les données tandis qu'une entrée de paramètres pourrait le réactiver les perdrait, donc la désinstallation s'arrête à la place : le plugin reste installé et rien qu'il a sauvegardé n'est supprimé.4043Quand Claude Code a supprimé l'entrée du plugin de `enabledPlugins` et a relancé les fichiers de paramètres de cette portée, soit le plugin était toujours activé là, soit un fichier qui pourrait l'activer ne pouvait pas être lu ou vérifié. Supprimer les options sauvegardées du plugin, les secrets et les données tandis qu'une entrée de paramètres pourrait le réactiver les perdrait, donc la désinstallation s'arrête à la place : le plugin reste installé et rien qu'il a sauvegardé n'est supprimé.

3894 4044 

fast-mode.md +2 −0

Details

72 72 

73Tapez `/fast on` dans la session pour activer le mode rapide. Il reste activé pour cette session uniquement et n'est pas enregistré comme votre paramètre par défaut. Les [exigences](#requirements) s'appliquent également dans les sessions cloud.73Tapez `/fast on` dans la session pour activer le mode rapide. Il reste activé pour cette session uniquement et n'est pas enregistré comme votre paramètre par défaut. Les [exigences](#requirements) s'appliquent également dans les sessions cloud.

74 74 

75Dans le navigateur sur [claude.ai/code](https://claude.ai/code), vous pouvez également activer et désactiver le mode rapide à partir du menu des modèles sur la boîte de message. Le menu affiche le commutateur quand votre plan inclut le mode rapide et que le modèle sélectionné le supporte.

76 

75<h2 id="understand-the-cost-tradeoff">77<h2 id="understand-the-cost-tradeoff">

76 Comprendre le compromis de coût78 Comprendre le compromis de coût

77</h2>79</h2>

Details

312| [Computer use](/docs/fr/computer-use) | ✓ | ✓ | ✗ | ✗ |312| [Computer use](/docs/fr/computer-use) | ✓ | ✓ | ✗ | ✗ |

313| Dispatch ([Desktop](/docs/fr/desktop#sessions-from-dispatch)) | ✓ | ✓ | ✗ | ✗ |313| Dispatch ([Desktop](/docs/fr/desktop#sessions-from-dispatch)) | ✓ | ✓ | ✗ | ✗ |

314| [Code Review](/docs/fr/code-review) | ✗ | ✗ | ✓ | ✓ |314| [Code Review](/docs/fr/code-review) | ✗ | ✗ | ✓ | ✓ |

315| [Artifacts](/docs/fr/artifacts) | ✓ | ✓ | ✓ | Admin-enabled |315| [Artifacts](/docs/fr/artifacts) | ✓ | ✓ | ✓ | ✓ |

316| [Tableau de bord Analytics et métriques de contribution](/docs/fr/analytics) | ✗ | ✗ | ✓ | ✓ |316| [Tableau de bord Analytics et métriques de contribution](/docs/fr/analytics) | ✗ | ✗ | ✓ | ✓ |

317| [API Enterprise Analytics](/docs/fr/analytics#access-data-programmatically) | ✗ | ✗ | ✗ | ✓ |317| [API Enterprise Analytics](/docs/fr/analytics#access-data-programmatically) | ✗ | ✗ | ✗ | ✓ |

318| [Server-managed settings](/docs/fr/server-managed-settings) | ✗ | ✗ | ✓ | ✓ |318| [Server-managed settings](/docs/fr/server-managed-settings) | ✗ | ✗ | ✓ | ✓ |

fullscreen.md +1 −1

Details

294 294 

295Avec la capture de souris désactivée, le défilement au clavier avec `PgUp`, `PgDn`, `Ctrl+Home` et `Ctrl+End` fonctionne toujours, et votre terminal gère la sélection nativement. Vous perdez le clic pour positionner le curseur, le clic pour développer, le clic sur URL et le défilement à la roulette à l'intérieur de Claude Code.295Avec la capture de souris désactivée, le défilement au clavier avec `PgUp`, `PgDn`, `Ctrl+Home` et `Ctrl+End` fonctionne toujours, et votre terminal gère la sélection nativement. Vous perdez le clic pour positionner le curseur, le clic pour développer, le clic sur URL et le défilement à la roulette à l'intérieur de Claude Code.

296 296 

297Pour conserver le défilement à la roulette mais désactiver le clic, le glisser et la gestion du survol, définissez plutôt `CLAUDE_CODE_DISABLE_MOUSE_CLICKS=1`. Nécessite Claude Code v2.1.195 ou ultérieur. `CLAUDE_CODE_DISABLE_MOUSE` a la priorité quand les deux variables sont définies.297Pour conserver le défilement à la roulette mais désactiver le clic, le glisser et la gestion du survol, définissez plutôt `CLAUDE_CODE_DISABLE_MOUSE_CLICKS=1`. `CLAUDE_CODE_DISABLE_MOUSE` a la priorité quand les deux variables sont définies.

298 298 

299Avec les clics désactivés, Claude Code capture toujours la souris, donc la roulette et le pavé tactile font défiler la conversation mais les clics gauches ne font rien à l'intérieur de Claude Code. Vous devez toujours maintenir la touche de votre terminal pour la sélection native au clic-glisser. Le clic droit et le collage au clic du milieu continuent de fonctionner sur les terminaux qui les supportent.299Avec les clics désactivés, Claude Code capture toujours la souris, donc la roulette et le pavé tactile font défiler la conversation mais les clics gauches ne font rien à l'intérieur de Claude Code. Vous devez toujours maintenir la touche de votre terminal pour la sélection native au clic-glisser. Le clic droit et le collage au clic du milieu continuent de fonctionner sur les terminaux qui les supportent.

300 300 

Details

43 43 

44Claude Code pousse ensuite une branche avec les fichiers de workflow que vous sélectionnez, déjà configurés pour utiliser ce secret, et ouvre GitHub dans votre navigateur avec une pull request prête à créer. Créez et fusionnez cette pull request, et `@claude` fonctionne dans le repository.44Claude Code pousse ensuite une branche avec les fichiers de workflow que vous sélectionnez, déjà configurés pour utiliser ce secret, et ouvre GitHub dans votre navigateur avec une pull request prête à créer. Créez et fusionnez cette pull request, et `@claude` fonctionne dans le repository.

45 45 

46Pour arrêter la configuration à mi-chemin, appuyez sur Échap. Une étape déjà en cours se termine et aucune étape ultérieure ne démarre. Le message de fermeture énumère ce qui s'est déjà passé dans le repository, comme une branche poussée ou un secret enregistré.

47 

46Si vous sélectionnez le workflow de révision, Claude publie chaque révision sur la pull request elle-même, en tant que commentaire en ligne sur chaque problème qu'il trouve ou en tant qu'un commentaire de résumé lorsqu'il n'en trouve aucun. Claude ignore certaines pull requests, comme les brouillons. L'[exemple de workflow de révision](#run-a-skill) utilise la même skill et les énumère. Avant v2.1.229, Claude écrivait sa révision uniquement dans le journal d'exécution du workflow.48Si vous sélectionnez le workflow de révision, Claude publie chaque révision sur la pull request elle-même, en tant que commentaire en ligne sur chaque problème qu'il trouve ou en tant qu'un commentaire de résumé lorsqu'il n'en trouve aucun. Claude ignore certaines pull requests, comme les brouillons. L'[exemple de workflow de révision](#run-a-skill) utilise la même skill et les énumère. Avant v2.1.229, Claude écrivait sa révision uniquement dans le journal d'exécution du workflow.

47 49 

48Pour mettre à jour un workflow de révision qu'une version antérieure a généré, faites l'une des choses suivantes :50Pour mettre à jour un workflow de révision qu'une version antérieure a généré, faites l'une des choses suivantes :

Details

95 Exigences réseau95 Exigences réseau

96</h3>96</h3>

97 97 

98Pour les sessions hébergées par Anthropic, votre instance GHES doit être accessible à partir de l'infrastructure Anthropic pour que Claude puisse cloner les dépôts et publier des commentaires de révision. Si votre instance GHES est derrière un pare-feu, mettez en liste blanche les [adresses IP sortantes](https://platform.claude.com/docs/en/api/ip-addresses#outbound-ip-addresses) d'Anthropic. Les sessions dans un [environnement auto-hébergé](/docs/fr/self-hosted-environments-deploy#configure-git) clonent depuis l'intérieur de votre réseau à la place, sauf si le runner opte pour le [proxy git Anthropic](/docs/fr/self-hosted-environments-deploy#use-the-anthropic-git-proxy), qui récupère du côté d'Anthropic et nécessite la même accessibilité ; le [connecteur SCM](/docs/fr/self-hosted-environments-reference#scm-connector-flags) couvre les flux de pré-session hébergés, tels que le sélecteur de dépôt, pour un hôte GHES qui n'est routable qu'en interne.98Pour les sessions hébergées par Anthropic, votre instance GHES doit être accessible à partir de l'infrastructure Anthropic pour que Claude puisse cloner les dépôts et publier des commentaires de révision. Si votre instance GHES est derrière un pare-feu, mettez en liste blanche les [adresses IP sortantes](https://platform.claude.com/docs/en/api/ip-addresses#outbound-ip-addresses) d'Anthropic. Les sessions dans un [environnement auto-hébergé](/docs/fr/self-hosted-environments-deploy#configure-git) clonent depuis l'intérieur de votre réseau à la place, sauf si le runner opte pour le [proxy git Anthropic](/docs/fr/self-hosted-environments-deploy#use-the-anthropic-git-proxy), qui récupère du côté d'Anthropic et nécessite la même accessibilité. Les flux de pré-session hébergés, tels que le sélecteur de dépôt, s'exécutent du côté d'Anthropic avant le démarrage d'une session. Ils nécessitent que votre instance GHES soit accessible à partir de l'infrastructure Anthropic même lorsque la session s'exécute dans un environnement auto-hébergé. Le [connecteur SCM](/docs/fr/self-hosted-environments-reference#scm-connector-flags) n'est pas disponible, donc ces flux ne peuvent pas atteindre un hôte GHES qui n'est routable qu'en interne.

99 99 

100<h2 id="developer-workflow">100<h2 id="developer-workflow">

101 Flux de travail des développeurs101 Flux de travail des développeurs


246 Instance GHES non accessible246 Instance GHES non accessible

247</h3>247</h3>

248 248 

249Si les révisions ou les sessions web expirent, votre instance GHES peut ne pas être accessible à partir de l'infrastructure Anthropic. Confirmez que votre pare-feu autorise les connexions entrantes à partir des [adresses IP sortantes](https://platform.claude.com/docs/fr/api/ip-addresses#outbound-ip-addresses) d'Anthropic. Les sessions dans un [environnement auto-hébergé](/docs/fr/self-hosted-environments) accèdent à GHES depuis l'intérieur de votre réseau, donc pour celles-ci, vérifiez le chemin réseau propre du runner et le [connecteur SCM](/docs/fr/self-hosted-environments-reference#scm-connector-flags) à la place.249Si les révisions ou les sessions web expirent, votre instance GHES peut ne pas être accessible à partir de l'infrastructure Anthropic. Confirmez que votre pare-feu autorise les connexions entrantes à partir des [adresses IP sortantes](https://platform.claude.com/docs/fr/api/ip-addresses#outbound-ip-addresses) d'Anthropic. Les sessions dans un [environnement auto-hébergé](/docs/fr/self-hosted-environments) accèdent à GHES depuis l'intérieur de votre réseau, donc lorsque l'une d'elles ne peut pas cloner, vérifiez le chemin réseau propre du runner à la place. Pour le sélecteur de dépôt et les autres flux pré-session hébergés, consultez [Exigences réseau](#network-requirements).

250 250 

251<h3 id="session-start-fails-with-unable-to-get-organization-uuid">251<h3 id="session-start-fails-with-unable-to-get-organization-uuid">

252 Le démarrage de la session échoue avec `Unable to get organization UUID`252 Le démarrage de la session échoue avec `Unable to get organization UUID`

glossary.md +9 −1

Details

56 Artifact56 Artifact

57</h3>57</h3>

58 58 

59Une page web en direct et interactive que Claude Code publie à partir de votre session vers une URL privée sur claude.ai, afin que vous puissiez voir la sortie visuellement ou la partager au lieu de lire du texte de terminal. La page se met à jour sur place lorsque la session est republié. Les artifacts que vous créez à partir de Claude Code apparaissent dans la même galerie que les artifacts créés dans les conversations claude.ai. Le partage dépend de votre plan : sur Pro et Max, un lien public que n'importe qui peut ouvrir ; sur Team et Enterprise, le partage au sein de votre organisation, plus les liens publics une fois qu'un propriétaire les active.59Une page web en direct et interactive que Claude Code publie à partir de votre session vers une URL privée sur claude.ai, afin que vous puissiez voir la sortie visuellement ou la partager au lieu de lire du texte de terminal. La page se met à jour sur place lorsque la session est republié. Les artifacts que vous créez à partir de Claude Code apparaissent dans la même galerie que les artifacts créés dans les conversations claude.ai. Les options de partage dépendent de votre plan : voir [Share an artifact](/docs/fr/artifacts#share-an-artifact).

60 60 

61En savoir plus : [Share session output as artifacts](/docs/fr/artifacts)61En savoir plus : [Share session output as artifacts](/docs/fr/artifacts)

62 62 


475 475 

476En savoir plus : [Tools available to Claude](/docs/fr/tools-reference)476En savoir plus : [Tools available to Claude](/docs/fr/tools-reference)

477 477 

478<h3 id="transcript">

479 Transcript

480</h3>

481 

482L'enregistrement stocké d'une [session](#session). La conversation est ce que vous et Claude échangez ; la transcription est cette conversation conservée sous forme de fichier, par défaut à `~/.claude/projects/<project>/<session-id>.jsonl`. Claude Code relit le fichier quand vous reprenez, ce qui est la façon dont une conversation continue après la fin de la session. Pour la vue à l'écran de la même conversation, voir la [transcript viewer](/docs/fr/interactive-mode#transcript-viewer).

483 

484En savoir plus : [Where transcripts are stored](/docs/fr/sessions#where-transcripts-are-stored)

485 

478<h3 id="turn">486<h3 id="turn">

479 Turn487 Turn

480</h3>488</h3>

Details

315 315 

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

317 317 

318L'[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.318L'[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.

319 319 

320<h2 id="troubleshooting">320<h2 id="troubleshooting">

321 Résolution des problèmes321 Résolution des problèmes

hooks.md +123 −114

Details

274 274 

275Les hooks des fichiers de paramètres, des paramètres de politique gérée et des plugins s'exécutent également à l'intérieur des [subagents](/docs/fr/sub-agents). Lorsqu'un subagent appelle un outil, les événements d'outil tels que `PreToolUse` et `PostToolUse` déclenchent les mêmes hooks configurés que dans la conversation principale, et l'entrée porte les champs d'entrée communs `agent_id` et `agent_type` [](#common-input-fields) qui identifient le subagent.275Les hooks des fichiers de paramètres, des paramètres de politique gérée et des plugins s'exécutent également à l'intérieur des [subagents](/docs/fr/sub-agents). Lorsqu'un subagent appelle un outil, les événements d'outil tels que `PreToolUse` et `PostToolUse` déclenchent les mêmes hooks configurés que dans la conversation principale, et l'entrée porte les champs d'entrée communs `agent_id` et `agent_type` [](#common-input-fields) qui identifient le subagent.

276 276 

277Les administrateurs d'entreprise peuvent utiliser `allowManagedHooksOnly` pour restreindre les hooks qui s'exécutent :277Les administrateurs peuvent utiliser [`allowManagedHooksOnly`](/docs/fr/settings-reference#allowmanagedhooksonly) dans les [paramètres gérés](/docs/fr/managed-settings) pour restreindre les hooks qui s'exécutent :

278 278 

279* Vos hooks utilisateur, projet, local et plugin sont bloqués. Les hooks des plugins forcément activés dans les paramètres gérés `enabledPlugins` sont exempts279* Vos hooks utilisateur, projet, local et plugin sont bloqués. Les hooks des plugins forcément activés dans les paramètres gérés `enabledPlugins` sont exempts

280* Claude Code restreint également votre [`statusLine`](/docs/fr/statusline), [`fileSuggestion`](/docs/fr/settings-reference#filesuggestion) et [`subagentStatusLine`](/docs/fr/statusline#subagent-status-lines) aux paramètres gérés280* Claude Code restreint également votre [`statusLine`](/docs/fr/statusline), [`fileSuggestion`](/docs/fr/settings-reference#filesuggestion) et [`subagentStatusLine`](/docs/fr/statusline#subagent-status-lines) aux paramètres gérés


304 304 

305Un matcher sur le chemin de l'expression régulière est testé avec `RegExp.prototype.test` de JavaScript, qui réussit sur une correspondance n'importe où dans la valeur. `Edit.*` correspond à la fois à `Edit` et à `NotebookEdit` ; enveloppez le modèle dans `^` et `$`, comme dans `^Edit$`, lorsque vous avez besoin d'une correspondance de chaîne entière.305Un matcher sur le chemin de l'expression régulière est testé avec `RegExp.prototype.test` de JavaScript, qui réussit sur une correspondance n'importe où dans la valeur. `Edit.*` correspond à la fois à `Edit` et à `NotebookEdit` ; enveloppez le modèle dans `^` et `$`, comme dans `^Edit$`, lorsque vous avez besoin d'une correspondance de chaîne entière.

306 306 

307Les traits d'union dans l'ensemble de correspondance exacte nécessitent Claude Code v2.1.195 ou ultérieur. Sur les versions antérieures, un nom avec trait d'union comme `code-reviewer` est évalué comme une expression régulière non ancrée, donc il se déclenche également pour `senior-code-reviewer` ; ancrez-le comme `^code-reviewer$` sur ces versions pour correspondre uniquement à ce nom.

308 

309`FileChanged` et `StopFailure` utilisent un ensemble de correspondance exacte plus étroit contenant uniquement des lettres, des chiffres, `_` et `|`. Un trait d'union, un espace ou une virgule dans un matcher pour ces deux événements le maintient sur le chemin de l'expression régulière, et seul `|` sépare les alternatives. Tous les autres événements avec support de matcher dans le tableau qui suit acceptent `|` ou `,`.307`FileChanged` et `StopFailure` utilisent un ensemble de correspondance exacte plus étroit contenant uniquement des lettres, des chiffres, `_` et `|`. Un trait d'union, un espace ou une virgule dans un matcher pour ces deux événements le maintient sur le chemin de l'expression régulière, et seul `|` sépare les alternatives. Tous les autres événements avec support de matcher dans le tableau qui suit acceptent `|` ou `,`.

310 308 

311L'événement `FileChanged` ne suit pas ces règles lors de la construction de sa liste de surveillance. Consultez [FileChanged](#filechanged).309L'événement `FileChanged` ne suit pas ces règles lors de la construction de sa liste de surveillance. Consultez [FileChanged](#filechanged).


380* `mcp__brave-search__.*` correspond à tous les outils d'un serveur dont le nom contient un trait d'union378* `mcp__brave-search__.*` correspond à tous les outils d'un serveur dont le nom contient un trait d'union

381* `mcp__.*__write.*` correspond à tout outil dont le nom commence par `write` de n'importe quel serveur379* `mcp__.*__write.*` correspond à tout outil dont le nom commence par `write` de n'importe quel serveur

382 380 

383Les traits d'union dans l'ensemble de correspondance exacte nécessitent Claude Code v2.1.195 ou ultérieur. Sur les versions antérieures, un préfixe nu avec trait d'union comme `mcp__brave-search` est évalué comme une expression régulière non ancrée et correspond à chaque outil de ce serveur. La forme `mcp__brave-search__.*` fonctionne sur chaque version.

384 

385Les outils d'un [serveur MCP fourni par un plugin](/docs/fr/mcp#plugin-provided-mcp-servers) utilisent un segment de serveur limité qui inclut le nom du plugin : `mcp__plugin_<plugin-name>_<server-name>__<tool>`. Un matcher écrit contre la clé de serveur nue ne se déclenche jamais pour ces outils. Pour un plugin nommé `my-plugin` qui regroupe un serveur sous la clé `db`, un outil `query` apparaît comme `mcp__plugin_my-plugin_db__query`, donc le matcher pour chaque outil de ce serveur est `mcp__plugin_my-plugin_db__.*`. Utilisez le même nom d'outil limité dans le champ [`if`](#common-fields) d'un gestionnaire. Consultez [Serveurs MCP fournis par un plugin](/docs/fr/mcp#plugin-provided-mcp-servers) pour savoir comment le nom limité est construit.381Les outils d'un [serveur MCP fourni par un plugin](/docs/fr/mcp#plugin-provided-mcp-servers) utilisent un segment de serveur limité qui inclut le nom du plugin : `mcp__plugin_<plugin-name>_<server-name>__<tool>`. Un matcher écrit contre la clé de serveur nue ne se déclenche jamais pour ces outils. Pour un plugin nommé `my-plugin` qui regroupe un serveur sous la clé `db`, un outil `query` apparaît comme `mcp__plugin_my-plugin_db__query`, donc le matcher pour chaque outil de ce serveur est `mcp__plugin_my-plugin_db__.*`. Utilisez le même nom d'outil limité dans le champ [`if`](#common-fields) d'un gestionnaire. Consultez [Serveurs MCP fournis par un plugin](/docs/fr/mcp#plugin-provided-mcp-servers) pour savoir comment le nom limité est construit.

386 382 

387Cet exemple enregistre toutes les opérations du serveur memory et valide les opérations d'écriture de n'importe quel serveur MCP :383Cet exemple enregistre toutes les opérations du serveur memory et valide les opérations d'écriture de n'importe quel serveur MCP :


919| :- | :- | :- |915| :- | :- | :- |

920| `PreToolUse` | Oui | Bloque l'appel d'outil |916| `PreToolUse` | Oui | Bloque l'appel d'outil |

921| `PermissionRequest` | Non | Exit code 2 n'est pas honoré pour cet événement et le flux de permission procède inchangé. Refusez via l'objet [`decision`](#permissionrequest-decision-control) à la place |917| `PermissionRequest` | Non | Exit code 2 n'est pas honoré pour cet événement et le flux de permission procède inchangé. Refusez via l'objet [`decision`](#permissionrequest-decision-control) à la place |

922| `UserPromptSubmit` | Oui | Bloque le traitement du prompt et efface le prompt |918| `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) |

923| `UserPromptExpansion` | Oui | Bloque l'expansion |919| `UserPromptExpansion` | Oui | Bloque l'expansion |

924| `Stop` | Oui | Empêche Claude de s'arrêter, continue la conversation |920| `Stop` | Oui | Empêche Claude de s'arrêter, continue la conversation |

925| `SubagentStop` | Oui | Empêche le subagent de s'arrêter |921| `SubagentStop` | Oui | Empêche le subagent de s'arrêter |


1187| `resume` | `--resume`, `--continue`, ou `/resume` |1183| `resume` | `--resume`, `--continue`, ou `/resume` |

1188| `clear` | `/clear` |1184| `clear` | `/clear` |

1189| `compact` | Compaction automatique ou manuelle |1185| `compact` | Compaction automatique ou manuelle |

1190| `fork` | Une nouvelle session créée à partir d'une session existante : `--fork-session` avec `--resume` ou `--continue`, la copie de fond `/fork`, ou `/branch` |1186| `fork` | Une nouvelle session créée à partir d'une session existante : `--fork-session` avec `--resume` ou `--continue`, la copie de fond `/fork`, `/branch`, ou une conversation que vous [déplacez en arrière-plan](/docs/fr/agent-view#from-inside-a-session) |

1191 1187 

1192Avant v2.1.214, les sessions créées rapportaient la source `"resume"`.1188Avant v2.1.214, les sessions créées rapportaient la source `"resume"`.

1193 1189 

1194Quand 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 taper immédiatement, et une conversation que vous avez reprise apparaît sans attendre les hooks. La première réponse de Claude attend toujours que les hooks se terminent, donc leur contexte atteint Claude.1190Quand 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 taper immédiatement, et une conversation que vous avez reprise apparaît sans attendre les hooks. La première réponse de Claude attend toujours que les hooks se terminent, donc leur contexte atteint Claude.

1195 1191 

1196Quand vous changez de conversation avec `/resume` dans une session, le changement attend que les hooks se terminent. Si vous exécutez `/clear` ou basculez vers une autre conversation pendant que les hooks en arrière-plan s'exécutent toujours, rien de ce qu'ils retournent ne s'applique à la session.1192Quand vous changez de conversation avec `/resume` dans une session, le changement attend que les hooks se terminent. Si vous exécutez `/clear` ou changez vers une autre conversation pendant que les hooks en arrière-plan s'exécutent toujours, rien de ce qu'ils retournent ne s'applique à la session.

1197 1193 

1198La même attente s'applique au lancement, y compris une session reprise : une invite que vous envoyez pendant que les hooks SessionStart s'exécutent toujours n'atteint Claude que lorsqu'ils se terminent.1194La même attente s'applique au lancement, y compris une session reprise : une invite que vous envoyez pendant que les hooks SessionStart s'exécutent toujours n'atteint Claude que lorsqu'ils se terminent.

1199 1195 


1210| `source` | Comment la session a démarré : `"startup"` pour les nouvelles sessions, `"resume"` pour les sessions reprises, `"clear"` après `/clear`, `"compact"` après compaction, ou `"fork"` pour une nouvelle session créée à partir d'une session existante |1206| `source` | Comment la session a démarré : `"startup"` pour les nouvelles sessions, `"resume"` pour les sessions reprises, `"clear"` après `/clear`, `"compact"` après compaction, ou `"fork"` pour une nouvelle session créée à partir d'une session existante |

1211| `model` | L'identifiant du modèle actif. Il peut être omis, par exemple après `/clear` ou quand une session est restaurée via la récupération de conversation, donc vérifiez le champ avant de le lire |1207| `model` | L'identifiant du modèle actif. Il peut être omis, par exemple après `/clear` ou quand une session est restaurée via la récupération de conversation, donc vérifiez le champ avant de le lire |

1212| `agent_type` | Le nom de l'agent, présent quand vous démarrez Claude Code avec `claude --agent <name>` |1208| `agent_type` | Le nom de l'agent, présent quand vous démarrez Claude Code avec `claude --agent <name>` |

1213| `session_title` | Le titre de la session actuelle s'il est déjà défini, par exemple via `--name` ou `/rename`. Un hook qui émet `sessionTitle` peut vérifier `session_title` d'abord pour éviter de remplacer un titre que l'utilisateur a défini explicitement |1209| `session_title` | Le titre personnalisé de la session, présent quand un est défini, par exemple avec `--name`, `/rename`, la sortie `sessionTitle` d'un hook, ou la méthode `renameSession()` du SDK Agent. Un hook qui émet `sessionTitle` peut vérifier ce champ d'abord pour éviter de remplacer un titre personnalisé existant |

1214 1210 

1215Quand `source` est `"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 signaler le coût de reprendre une conversation obsolète avant la première demande, par exemple dans un [`systemMessage`](#json-output). Ces champs nécessitent Claude Code v2.1.251 ou ultérieur.1211Une session que vous n'avez pas nommée peut toujours 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`.

1212 

1213Quand `source` est `"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 signaler le coût de reprendre une conversation obsolète avant la première requête, par exemple dans un [`systemMessage`](#json-output). Ces champs nécessitent Claude Code v2.1.251 ou ultérieur.

1216 1214 

1217| Champ | Description |1215| Champ | Description |

1218| :- | :- |1216| :- | :- |

1219| `seconds_since_last_response` | Secondes d'horloge murale depuis la dernière réponse dans la transcription reprise |1217| `seconds_since_last_response` | Secondes d'horloge murale depuis la dernière réponse dans la transcription reprise |

1220| `context_tokens` | Tokens que la première demande de la session reprise renvoie comme son invite |1218| `context_tokens` | Tokens que la première requête de la session reprise renvoie comme son invite |

1221| `prompt_cache_likely_expired` | `true` quand la dernière réponse est plus ancienne que la [durée de vie du cache d'invite](/docs/fr/prompt-caching#cache-lifetime) de la session ou qu'une compaction ultérieure a remplacé la conversation en cache |1219| `prompt_cache_likely_expired` | `true` quand la dernière réponse est plus ancienne que la [durée de vie du cache d'invite](/docs/fr/prompt-caching#cache-lifetime) de la session ou qu'une compaction ultérieure a remplacé la conversation en cache |

1222| `estimated_cache_write_usd` | Coût estimé en dollars US de l'écriture de `context_tokens` dans le cache d'invite sur le modèle de la session, excluant la réponse |1220| `estimated_cache_write_usd` | Coût estimé en dollars US de l'écriture de `context_tokens` dans le cache d'invite sur le modèle de la session, excluant la réponse |

1223 1221 


1242 Contrôle de décision SessionStart1240 Contrôle de décision SessionStart

1243</h4>1241</h4>

1244 1242 

1245Claude Code ajoute stdout qu'il [traite comme du texte brut](#exit-code-0) au contexte de Claude. En plus des [champs de sortie JSON](#json-output) disponibles pour tous les hooks, vous pouvez retourner ces champs spécifiques à l'événement :1243Claude Code ajoute la sortie standard qu'il [traite comme du texte brut](#exit-code-0) au contexte de Claude. En plus des [champs de sortie JSON](#json-output) disponibles pour tous les hooks, vous pouvez retourner ces champs spécifiques à l'événement :

1246 1244 

1247| Champ | Description |1245| Champ | Description |

1248| :- | :- |1246| :- | :- |


1262}1260}

1263```1261```

1264 1262 

1265Puisque stdout brut atteint déjà Claude pour cet événement, un hook qui charge uniquement du contexte peut imprimer sur stdout directement sans construire JSON. Utilisez la forme JSON quand vous devez combiner du contexte avec d'autres champs comme `sessionTitle`.1263Puisque la sortie standard brute atteint déjà Claude pour cet événement, un hook qui charge uniquement du contexte peut imprimer sur la sortie standard directement sans construire JSON. Utilisez la forme JSON quand vous devez combiner le contexte avec d'autres champs comme `sessionTitle`.

1266 1264 

1267Utilisez `reloadSkills` quand un hook SessionStart installe ou met à jour des skills. La découverte de skills s'exécute normalement avant que les hooks SessionStart se terminent, donc les fichiers que le hook écrit dans `~/.claude/skills/` ou `.claude/skills/` n'apparaîtraient autrement que dans la session suivante. Cet exemple synchronise un référentiel de skills partagé et demande la réanalyse :1265Utilisez `reloadSkills` quand un hook SessionStart installe ou met à jour des skills. La découverte de skills s'exécute normalement avant que les hooks SessionStart se terminent, donc les fichiers que le hook écrit dans `~/.claude/skills/` ou `.claude/skills/` n'apparaîtraient autrement que dans la session suivante. Cet exemple synchronise un référentiel de skills partagé et demande la réanalyse :

1268 1266 


1361 Contrôle de décision Setup1359 Contrôle de décision Setup

1362</h4>1360</h4>

1363 1361 

1364Les hooks Setup ne peuvent pas bloquer ; l'exécution continue sur n'importe quel code de sortie. Sur chaque code de sortie, Claude Code rejette les [champs de sortie JSON](#json-output) d'un hook Setup, comme `systemMessage`, `continue`, et `hookSpecificOutput.additionalContext`. Avec `-p`, stdout, stderr, et le code de sortie d'un hook Setup n'apparaissent dans la sortie de la session que comme des événements [`hook_response`](/docs/fr/headless#read-session-metadata) quand vous lancez avec `--output-format stream-json --verbose`.1362Les hooks Setup ne peuvent pas bloquer ; l'exécution continue sur n'importe quel code de sortie. Sur chaque code de sortie, Claude Code rejette les [champs de sortie JSON](#json-output) d'un hook Setup, comme `systemMessage`, `continue`, et `hookSpecificOutput.additionalContext`. Avec `-p`, la sortie standard, stderr, et le code de sortie d'un hook Setup n'apparaissent dans la sortie de la session que comme des événements [`hook_response`](/docs/fr/headless#read-session-metadata) quand vous lancez avec `--output-format stream-json --verbose`.

1365 1363 

1366Les hooks Setup ont accès à `CLAUDE_ENV_FILE`. Les variables écrites dans ce fichier persistent dans les commandes Bash suivantes pour la session, tout comme dans 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 sous [Champs de hook MCP tool](#mcp-tool-hook-fields).1364Les hooks Setup ont accès à `CLAUDE_ENV_FILE`. Les variables écrites dans ce fichier persistent dans les commandes Bash suivantes pour la session, tout comme dans 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 sous [Champs de hook MCP tool](#mcp-tool-hook-fields).

1367 1365 


1426 1424 

1427En plus des [champs d'entrée communs](#common-input-fields), les hooks UserPromptSubmit reçoivent le champ `prompt` contenant le texte que l'utilisateur a soumis. Le contenu collé qui s'est effondré en un espace réservé `[Pasted text #N]` arrive développé en place. Dans les sessions où Claude Code [marque le texte collé pour Claude](/docs/fr/terminal-config#how-claude-treats-pasted-text), ce contenu développé se situe entre une ligne `<pasted_content id="…">` et une ligne `</pasted_content id="…">`, donc tenez compte de ces lignes si votre hook analyse l'invite.1425En plus des [champs d'entrée communs](#common-input-fields), les hooks UserPromptSubmit reçoivent le champ `prompt` contenant le texte que l'utilisateur a soumis. Le contenu collé qui s'est effondré en un espace réservé `[Pasted text #N]` arrive développé en place. Dans les sessions où Claude Code [marque le texte collé pour Claude](/docs/fr/terminal-config#how-claude-treats-pasted-text), ce contenu développé se situe entre une ligne `<pasted_content id="…">` et une ligne `</pasted_content id="…">`, donc tenez compte de ces lignes si votre hook analyse l'invite.

1428 1426 

1427Les hooks UserPromptSubmit reçoivent également `session_title` quand la session a un titre personnalisé, avec la même signification que le [champ SessionStart `session_title`](#sessionstart-input).

1428 

1429```json theme={null}1429```json theme={null}

1430{1430{

1431 "session_id": "abc123",1431 "session_id": "abc123",


1445 1445 

1446Il y a deux façons d'ajouter du contexte à la conversation en cas de code de sortie 0 :1446Il y a deux façons d'ajouter du contexte à la conversation en cas de code de sortie 0 :

1447 1447 

1448* **Stdout en texte brut** : Claude Code ajoute stdout qu'il [traite comme du texte brut](#exit-code-0) au contexte de Claude1448* **Sortie standard en texte brut** : Claude Code ajoute la sortie standard qu'il [traite comme du texte brut](#exit-code-0) au contexte de Claude

1449* **JSON avec `additionalContext`** : utilisez le format JSON ci-dessous pour plus de contrôle. Le champ `additionalContext` est ajouté comme contexte1449* **JSON avec `additionalContext`** : utilisez le format JSON ci-dessous pour plus de contrôle. Le champ `additionalContext` est ajouté comme contexte

1450 1450 

1451Aucun canal ne produit une entrée de transcription visible. Le stdout brut et la valeur `additionalContext` sont chacun injectés comme un rappel système qui commence par le nom du hook ; Claude lit les deux. Pour confirmer la livraison, vérifiez le [journal de débogage](#debug-hooks).1451Aucun canal ne produit une entrée de transcription visible. La sortie standard brute et la valeur `additionalContext` sont chacune injectées comme un rappel système qui commence par le nom du hook ; Claude lit les deux. Pour confirmer la livraison, vérifiez le [journal de débogage](#debug-hooks).

1452 1452 

1453Pour bloquer une invite, retournez un objet JSON avec `decision` défini à `"block"` :1453Pour bloquer une invite, retournez un objet JSON avec `decision` défini à `"block"` :

1454 1454 

1455| Champ | Description |1455| Champ | Description |

1456| :- | :- |1456| :- | :- |

1457| `decision` | `"block"` empêche l'invite d'être traitée et l'efface du contexte. Omettez pour permettre à l'invite de procéder |1457| `decision` | `"block"` empêche l'invite d'être traitée. Omettez pour permettre à l'invite de procéder |

1458| `reason` | Montré à l'utilisateur quand `decision` est `"block"`. Non ajouté au contexte |1458| `reason` | Montré à l'utilisateur quand `decision` est `"block"`. Non ajouté au contexte |

1459| `additionalContext` | Chaîne ajoutée au contexte de Claude aux côtés de l'invite soumise. Voir [Ajouter du contexte pour Claude](#add-context-for-claude) |1459| `additionalContext` | Chaîne ajoutée au contexte de Claude aux côtés de l'invite soumise. Voir [Ajouter du contexte pour Claude](#add-context-for-claude) |

1460| `sessionTitle` | Définit le titre de la session. Utilisez pour nommer les sessions automatiquement en fonction du contenu de l'invite |1460| `sessionTitle` | Définit le titre de la session. Utilisez pour nommer les sessions automatiquement en fonction du contenu de l'invite |

1461| `suppressOriginalPrompt` | Si `true` quand `decision` est `"block"`, omet le texte d'invite original du message de blocage montré à l'utilisateur |1461| `suppressOriginalPrompt` | Si `true` quand `decision` est `"block"`, omet le texte d'invite original du message de blocage montré à l'utilisateur. Voir [Ce qu'une invite bloquée laisse derrière](#what-a-blocked-prompt-leaves-behind) |

1462 1462 

1463Un hook qui bloque en quittant 2 s'achemine de la même façon que `reason` : le message de blocage montre le texte stderr à l'utilisateur, et il n'est pas ajouté au contexte.1463Un hook qui bloque en quittant 2 s'achemine de la même façon que `reason` : le message de blocage montre le texte stderr à l'utilisateur, et il n'est pas ajouté au contexte.

1464 1464 


1469 "hookSpecificOutput": {1469 "hookSpecificOutput": {

1470 "hookEventName": "UserPromptSubmit",1470 "hookEventName": "UserPromptSubmit",

1471 "additionalContext": "My additional context here",1471 "additionalContext": "My additional context here",

1472 "sessionTitle": "My session title"1472 "sessionTitle": "My session title",

1473 "suppressOriginalPrompt": true

1473 }1474 }

1474}1475}

1475```1476```

1476 1477 

1478<h4 id="what-a-blocked-prompt-leaves-behind">

1479 Ce qu'une invite bloquée laisse derrière

1480</h4>

1481 

1482Une invite bloquée n'atteint jamais Claude, mais son texte n'est pas supprimé partout. Par défaut, le message de blocage montré à 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 laisser le texte hors du message, imprimez JSON avec `"suppressOriginalPrompt": true` à l'intérieur de `hookSpecificOutput`. Cela fonctionne que le hook bloque avec `decision: "block"` ou en quittant 2. Un hook de sortie 2 qui n'imprime pas JSON obtient toujours le texte d'invite dans son message de blocage.

1483 

1484`suppressOriginalPrompt` change uniquement le message de blocage. Le texte soumis peut toujours apparaître dans les fichiers locaux comme la transcription de session et votre historique d'invite, donc un hook de blocage n'est pas un moyen de garder un secret hors du disque. Pour limiter ou supprimer ces fichiers, voir [Stockage en texte brut](/docs/fr/claude-directory#plaintext-storage) et [Effacer les données locales](/docs/fr/claude-directory#clear-local-data).

1485 

1477<h3 id="userpromptexpansion">1486<h3 id="userpromptexpansion">

1478 UserPromptExpansion1487 UserPromptExpansion

1479</h3>1488</h3>


1488 Entrée UserPromptExpansion1497 Entrée UserPromptExpansion

1489</h4>1498</h4>

1490 1499 

1491En plus des [champs d'entrée communs](#common-input-fields), les hooks UserPromptExpansion reçoivent `expansion_type`, `command_name`, `command_args`, `command_source`, et la chaîne `prompt` originale. Le champ `expansion_type` est `slash_command` pour les skills et commandes personnalisées, ou `mcp_prompt` pour les invites du serveur MCP.1500En plus des [champs d'entrée communs](#common-input-fields), les hooks UserPromptExpansion reçoivent `expansion_type`, `command_name`, `command_args`, `command_source`, et la chaîne `prompt` originale. Le champ `expansion_type` est `slash_command` pour les skills et commandes personnalisées, ou `mcp_prompt` pour les prompts du serveur MCP.

1492 1501 

1493```json theme={null}1502```json theme={null}

1494{1503{


1544 1553 

1545Claude Code retient chaque lot jusqu'à ce que votre hook retourne, donc gardez le hook rapide. Si le hook échoue ou expire, Claude Code affiche le texte original. Le délai d'expiration par défaut pour cet événement est 10 secondes ; si votre hook a besoin de plus de temps, définissez le champ `timeout` dans l'entrée du hook.1554Claude Code retient chaque lot jusqu'à ce que votre hook retourne, donc gardez le hook rapide. Si le hook échoue ou expire, Claude Code affiche le texte original. Le délai d'expiration par défaut pour cet événement est 10 secondes ; si votre hook a besoin de plus de temps, définissez le champ `timeout` dans l'entrée du hook.

1546 1555 

1547MessageDisplay est affichage uniquement : le texte de remplacement change uniquement ce qui est rendu à l'écran. La transcription et ce que Claude voit conservent le texte original, donc Claude ne voit jamais le remplacement, et le mode verbeux montre l'original. Le hook reçoit uniquement le texte du message d'assistant, donc les résultats d'outils et le texte que vous tapez s'affichent inchangés.1556MessageDisplay est affichage uniquement : le texte de remplacement change uniquement ce qui est rendu à l'écran. La transcription et ce que Claude voit conservent le texte original, donc Claude ne voit jamais le remplacement, et le mode verbeux affiche l'original. Le hook reçoit uniquement le texte du message d'assistant, donc les résultats d'outils et le texte que vous tapez s'affichent inchangés.

1548 1557 

1549MessageDisplay ne supporte pas les matchers et se déclenche pour chaque message d'assistant qui affiche du texte ; les messages sans texte, comme les réponses contenant uniquement des appels d'outils, ne le déclenchent pas.1558MessageDisplay ne supporte pas les matchers et se déclenche pour chaque message d'assistant qui affiche du texte ; les messages sans texte, comme les réponses contenant uniquement des appels d'outils, ne le déclenchent pas.

1550 1559 


1554 Entrée MessageDisplay1563 Entrée MessageDisplay

1555</h4>1564</h4>

1556 1565 

1557En 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 de lot dépendent de la façon dont le texte s'affiche, donc utilisez `index` et `final` pour suivre la progression dans un message plutôt que de vous attendre à ce que les lignes soient groupées d'une manière particulière.1566En 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 de lot dépendent de la façon dont le texte s'affiche, donc utilisez `index` et `final` pour suivre la progression à travers un message plutôt que de vous attendre à ce que les lignes soient groupées d'une manière particulière.

1558 1567 

1559| Champ | Description |1568| Champ | Description |

1560| :- | :- |1569| :- | :- |


1674 1683 

1675S'exécute après que Claude crée les paramètres d'outil et avant de traiter 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`, et n'importe quels [noms d'outils MCP](#match-mcp-tools).1684S'exécute après que Claude crée les paramètres d'outil et avant de traiter 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`, et n'importe quels [noms d'outils MCP](#match-mcp-tools).

1676 1685 

1677Pour exécuter un hook quand un fichier spécifique change sur le disque, peu importe ce qui l'a écrit, utilisez [FileChanged](#filechanged) au lieu de correspondre aux outils d'édition de fichiers par nom. Contrairement à PreToolUse, Claude Code exécute les hooks FileChanged après le changement, et ils n'ont pas de contrôle de décision, donc ils ne peuvent pas bloquer l'écriture.1686Pour exécuter un hook quand un fichier spécifique change sur le disque, peu importe ce qui l'a écrit, utilisez [FileChanged](#filechanged) au lieu de faire correspondre les outils d'édition de fichiers par nom. Contrairement à PreToolUse, Claude Code exécute les hooks FileChanged après le changement, et ils n'ont pas de contrôle de décision, donc ils ne peuvent pas bloquer l'écriture.

1678 1687 

1679<Warning>1688<Warning>

1680 PreToolUse s'exécute uniquement quand Claude appelle un outil. Les fichiers que vous [référencez avec `@` dans votre invite](/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 de l'invite, donc aucun hook PreToolUse ne se déclenche pour eux, y compris les hooks correspondant à `Read`. Pour bloquer des chemins spécifiques des références `@`, utilisez plutôt une [règle de refus `Read`](/docs/fr/permissions#read-and-edit).1689 PreToolUse s'exécute uniquement quand Claude appelle un outil. Les fichiers que vous [référencez avec `@` dans votre invite](/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 de l'invite, donc aucun hook PreToolUse ne se déclenche pour eux, y compris les hooks correspondant à `Read`. Pour bloquer des chemins spécifiques des références `@`, utilisez plutôt une [règle de refus `Read`](/docs/fr/permissions#read-and-edit).


1692 1701 

1693En plus des [champs d'entrée communs](#common-input-fields), les hooks PreToolUse reçoivent `tool_name`, `tool_input`, et `tool_use_id`.1702En plus des [champs d'entrée communs](#common-input-fields), les hooks PreToolUse reçoivent `tool_name`, `tool_input`, et `tool_use_id`.

1694 1703 

1695Pour un [outil MCP](#match-mcp-tools), l'entrée porte également `mcp_server`, un objet avec le `name` du serveur et une `source` qui dit d'où vient la définition du serveur. Les valeurs `source` incluent `plugin`, `sdk`, et les portées de configuration comme `user` et `project`. [`McpServerProvenance`](/docs/fr/agent-sdk/typescript#mcpserverprovenance) dans la référence Agent SDK les énumère toutes et dit comment traiter une que vous ne reconnaissez pas. Basez les décisions de confiance sur `source` plutôt que sur `name` ou le préfixe de nom d'outil `mcp__<server>__`. Le champ `mcp_server` nécessite Claude Code v2.1.274 ou ultérieur.1704Pour un [outil MCP](#match-mcp-tools), l'entrée porte également `mcp_server`, un objet avec le `name` du serveur et une `source` qui dit d'où vient la définition du serveur. Les valeurs `source` incluent `plugin`, `sdk`, et les portées de configuration comme `user` et `project`. [`McpServerProvenance`](/docs/fr/agent-sdk/typescript#mcpserverprovenance) dans la référence Agent SDK les énumère toutes et dit comment traiter une que vous ne reconnaissez pas. Basez les décisions de confiance sur `source` plutôt que sur `name` ou le préfixe du nom d'outil `mcp__<server>__`. Le champ `mcp_server` nécessite Claude Code v2.1.274 ou ultérieur.

1696 1705 

1697Pour les outils de fichier `Write`, `Edit`, et `Read`, `tool_input.file_path` est toujours absolu :1706Pour les outils de fichier `Write`, `Edit`, et `Read`, `tool_input.file_path` est toujours absolu :

1698 1707 


1732| `timeout` | number | `120000` | Délai d'expiration optionnel en millisecondes. Les valeurs au-dessus du [maximum](/docs/fr/tools-reference#bash-tool-behavior) sont réduites au maximum plutôt que rejetées |1741| `timeout` | number | `120000` | Délai d'expiration optionnel en millisecondes. Les valeurs au-dessus du [maximum](/docs/fr/tools-reference#bash-tool-behavior) sont réduites au maximum plutôt que rejetées |

1733| `run_in_background` | boolean | `false` | Si la commande doit s'exécuter en arrière-plan |1742| `run_in_background` | boolean | `false` | Si la commande doit s'exécuter en arrière-plan |

1734 1743 

1735Quand une commande Bash change des fichiers dans un référentiel Git, Claude Code peut enregistrer ce qui a changé. Il enregistre les changements dans chaque mode de permission quand le paramètre [`bashEditDiffEnabled`](/docs/fr/settings-reference#basheditdiffenabled) active l'enregistrement ; l'entrée de ce paramètre dit quels fichiers peuvent le définir. Sinon, il les enregistre uniquement en mode auto et en mode `bypassPermissions`, et uniquement quand Claude Code dirige Claude à éditer des fichiers via Bash. Définissez `bashEditDiffEnabled` à `false` pour désactiver l'enregistrement. Les commandes en arrière-plan et les commandes en lecture seule ne portent pas de diff.1744Quand une commande Bash change des fichiers dans un référentiel Git, Claude Code peut enregistrer ce qui a changé. Il enregistre les changements dans chaque mode de permission quand le paramètre [`bashEditDiffEnabled`](/docs/fr/settings-reference#basheditdiffenabled) active l'enregistrement ; l'entrée de ce paramètre dit quels fichiers peuvent le définir. Sinon, il les enregistre uniquement en mode auto et mode `bypassPermissions`, et uniquement quand Claude Code dirige Claude à éditer des fichiers via Bash. Définissez `bashEditDiffEnabled` à `false` pour désactiver l'enregistrement. Les commandes en arrière-plan et les commandes en lecture seule ne portent pas de diff.

1736 1745 

1737Votre hook [PostToolUse](#posttooluse) reçoit alors les fichiers modifiés dans `tool_response.bashEditDiff`. La liste couvre ce qui a changé sous le référentiel pendant que la commande s'exécutait. Les fichiers que Git ignore et les fichiers dans les sous-modules ne sont pas listés. Nécessite Claude Code v2.1.269 ou ultérieur.1746Votre hook [PostToolUse](#posttooluse) reçoit alors les fichiers modifiés dans `tool_response.bashEditDiff`. La liste couvre ce qui a changé sous le référentiel pendant que la commande s'exécutait. Les fichiers que Git ignore et les fichiers dans les sous-modules ne sont pas listés. Nécessite Claude Code v2.1.269 ou ultérieur.

1738 1747 


1749| `moreFiles` | number | `2` | Nombre de fichiers modifiés sans diff dans `files` |1758| `moreFiles` | number | `2` | Nombre de fichiers modifiés sans diff dans `files` |

1750| `unavailable` | boolean | `true` | Défini quand le diff est incomplet ou n'a pas pu être pris |1759| `unavailable` | boolean | `true` | Défini quand le diff est incomplet ou n'a pas pu être pris |

1751| `skipped` | boolean | `true` | Défini pour une commande Git qui déplace l'arborescence de travail, comme `git checkout` ou `git stash`, donc Claude Code ne prend pas de diff |1760| `skipped` | boolean | `true` | Défini pour une commande Git qui déplace l'arborescence de travail, comme `git checkout` ou `git stash`, donc Claude Code ne prend pas de diff |

1752| `shared` | boolean | `true` | Défini quand un autre appel d'outil Bash, comme celui d'un sous-agent, s'est exécuté dans le même référentiel au même moment, donc certains changements listés peuvent être celui de cette commande |1761| `shared` | boolean | `true` | Défini quand un autre appel d'outil Bash, comme celui d'un sous-agent, s'exécutait dans le même référentiel au même moment, donc certains changements listés peuvent être celui de cette commande |

1753 1762 

1754<a id="powershell" />1763<a id="powershell" />

1755 1764 


1872| `subagent_type` | string | `"Explore"` | Type d'agent spécialisé à utiliser |1881| `subagent_type` | string | `"Explore"` | Type d'agent spécialisé à utiliser |

1873| `model` | string | `"sonnet"` | Alias de modèle optionnel pour remplacer le défaut |1882| `model` | string | `"sonnet"` | Alias de modèle optionnel pour remplacer le défaut |

1874 1883 

1875Quand 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 d'exécution dans `tool_response`. Lisez ces champs pour inspecter l'exécution ; pour les cumuls de tokens et de coûts entre les sous-agents, utilisez les [compteurs de tokens et de coûts](/docs/fr/monitoring-usage#token-counter) filtrés à `query_source` `"subagent"`, puisque `totalTokens` et `usage` couvrent uniquement la demande finale :1884Quand 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 d'exécution dans `tool_response`. Lisez ces champs pour inspecter l'exécution ; pour les cumuls de tokens et de coûts entre les sous-agents, utilisez les [compteurs de tokens et de coûts](/docs/fr/monitoring-usage#token-counter) filtrés à `query_source` `"subagent"`, puisque `totalTokens` et `usage` couvrent uniquement la requête finale :

1876 1885 

1877| Champ | Type | Exemple | Description |1886| Champ | Type | Exemple | Description |

1878| :- | :- | :- | :- |1887| :- | :- | :- | :- |


1881| `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 à ce sujet à leur place |1890| `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 à ce sujet à leur place |

1882| `resolvedModel` | string | `"claude-sonnet-4-5"` | Modèle sur lequel le sous-agent a démarré, qui peut différer du modèle demandé |1891| `resolvedModel` | string | `"claude-sonnet-4-5"` | Modèle sur lequel le sous-agent a démarré, qui peut différer du modèle demandé |

1883| `modelsUsed` | array | `["claude-sonnet-4-5", "claude-haiku-4-5"]` | Modèles utilisés dans l'ordre, avec les répétitions consécutives effondrées ; défini uniquement quand le modèle a été échangé en cours d'exécution. Nécessite Claude Code v2.1.212 ou ultérieur |1892| `modelsUsed` | array | `["claude-sonnet-4-5", "claude-haiku-4-5"]` | Modèles utilisés dans l'ordre, avec les répétitions consécutives effondrées ; défini uniquement quand le modèle a été échangé en cours d'exécution. Nécessite Claude Code v2.1.212 ou ultérieur |

1884| `totalTokens` | number | `12450` | Nombre de tokens de la demande API finale du sous-agent : tokens d'entrée, de sortie, et de cache combinés. Ce n'est pas un total sur toute l'exécution |1893| `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. Ce n'est pas un total sur toute l'exécution |

1885| `totalDurationMs` | number | `48211` | Durée d'horloge murale de l'exécution du sous-agent |1894| `totalDurationMs` | number | `48211` | Durée d'horloge murale de l'exécution du sous-agent |

1886| `totalToolUseCount` | number | `7` | Nombre d'appels d'outils que le sous-agent a effectués |1895| `totalToolUseCount` | number | `7` | Nombre d'appels d'outils que le sous-agent a effectués |

1887| `usage` | object | `{"input_tokens": 8320, ...}` | Ventilation des tokens par type de la demande API finale : `input_tokens`, `output_tokens`, `cache_creation_input_tokens`, `cache_read_input_tokens` |1896| `usage` | object | `{"input_tokens": 8320, ...}` | Ventilation des tokens par type de la requête API finale : `input_tokens`, `output_tokens`, `cache_creation_input_tokens`, `cache_read_input_tokens` |

1888 1897 

1889Sur Claude Code v2.1.271 ou ultérieur, 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), livre son rapport via cet outil plutôt que de le retourner comme texte. Le champ `content` de son résultat `completed` porte alors une brève note à ce sujet plutôt que le rapport lui-même. Pour lire le rapport, correspondez à un hook `PreToolUse` ou `PostToolUse` sur `SubagentHandback` et lisez `tool_input.message`.1898Sur Claude Code v2.1.271 ou ultérieur, 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), livre son rapport via cet outil plutôt que de le retourner comme texte. Le champ `content` de son résultat `completed` porte alors une brève note à ce sujet plutôt que le rapport lui-même. Pour lire le rapport, correspondez à un hook `PreToolUse` ou `PostToolUse` sur `SubagentHandback` et lisez `tool_input.message`.

1890 1899 


1927 1936 

1928| Champ | Description |1937| Champ | Description |

1929| :- | :- |1938| :- | :- |

1930| `permissionDecision` | `"allow"` ignore l'invite de permission, sauf pour les [actions que aucun mode n'auto-approuve](/docs/fr/permission-modes#actions-no-mode-auto-approves) et pour `AskUserQuestion` et `ExitPlanMode`, qui ont besoin de [`updatedInput` associé à lui](#allow-with-updatedinput). `"deny"` empêche l'appel d'outil. `"ask"` invite l'utilisateur à confirmer. `"defer"` quitte proprement pour 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 indépendamment de ce que le hook retourne |1939| `permissionDecision` | `"allow"` ignore l'invite 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 ont besoin de [`updatedInput` associé](#allow-with-updatedinput). `"deny"` empêche l'appel d'outil. `"ask"` demande à l'utilisateur de confirmer. `"defer"` quitte proprement pour 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 indépendamment de ce que le hook retourne |

1931| `permissionDecisionReason` | Pour `"ask"`, montré à l'utilisateur mais pas Claude. Pour `"deny"`, montré à Claude. Pour `"allow"` et `"defer"`, écrit au [journal de débogage](#debug-hooks) uniquement |1940| `permissionDecisionReason` | Pour `"ask"`, montré à l'utilisateur mais pas Claude. Pour `"deny"`, montré à Claude. Pour `"allow"` et `"defer"`, écrit au [journal de débogage](#debug-hooks) uniquement |

1932| `updatedInput` | Modifie les paramètres d'entrée de l'outil avant l'exécution. Remplace l'objet d'entrée entier, donc incluez les champs inchangés aux côtés des champs modifiés. Claude Code évalue les règles de permission et l'[éligibilité de mise en arrière-plan automatique](/docs/fr/tools-reference#background-commands) d'une commande Bash contre l'entrée que votre hook retourne, pas l'entrée que Claude a envoyée. Combinez avec `"allow"` pour auto-approuver, ou `"ask"` pour montrer l'entrée modifiée à l'utilisateur. Pour `"defer"`, ignoré |1941| `updatedInput` | Modifie les paramètres d'entrée de l'outil avant l'exécution. Remplace l'objet d'entrée entier, donc incluez les champs inchangés aux côtés des champs modifiés. Claude Code évalue les règles de permission et l'[éligibilité de mise en arrière-plan automatique](/docs/fr/tools-reference#background-commands) d'une commande Bash contre l'entrée que votre hook retourne, pas l'entrée que Claude a envoyée. Combinez avec `"allow"` pour approuver automatiquement, ou `"ask"` pour montrer l'entrée modifiée à l'utilisateur. Pour `"defer"`, ignoré |

1933| `additionalContext` | Chaîne ajoutée au contexte de Claude aux côtés du résultat d'outil. Ignoré quand `permissionDecision` est `"defer"`. Voir [Ajouter du contexte pour Claude](#add-context-for-claude) |1942| `additionalContext` | Chaîne ajoutée au contexte de Claude aux côtés du résultat d'outil. Ignoré quand `permissionDecision` est `"defer"`. Voir [Ajouter du contexte pour Claude](#add-context-for-claude) |

1934 1943 

1935Quand plusieurs hooks PreToolUse retournent des décisions différentes, la priorité est `deny` > `defer` > `ask` > `allow`.1944Quand plusieurs hooks PreToolUse retournent des décisions différentes, la priorité est `deny` > `defer` > `ask` > `allow`.

1936 1945 

1937Un hook qui bloque en quittant 2 s'achemine de la même façon que `"deny"` : Claude voit le message stderr comme la raison du refus.1946Un hook qui bloque en quittant 2 s'achemine de la même façon que `"deny"` : Claude voit le message stderr comme la raison du refus.

1938 1947 

1939Quand un hook retourne `"ask"`, l'invite de permission affichée à l'utilisateur inclut une étiquette identifiant d'où vient le hook : `[settings]` pour un hook de n'importe quel fichier de paramètres ou du frontmatter d'agent, `[plugin:<name>]` pour le hook d'un plugin, ou `[skill]` pour un hook du frontmatter de skill. Cela aide les utilisateurs à comprendre quelle source de configuration demande une confirmation.1948Quand un hook retourne `"ask"`, l'invite de permission affichée à l'utilisateur inclut une étiquette identifiant d'où vient le hook : `[settings]` pour un hook de n'importe quel fichier de paramètres ou du frontmatter d'agent, `[plugin:<name>]` pour le hook d'un plugin, ou `[skill]` pour un hook du frontmatter de skill. Cela aide les utilisateurs à comprendre quelle source de configuration demande la confirmation.

1940 1949 

1941Un `"ask"` d'un hook force également une invite de permission en [mode auto](/docs/fr/permission-modes#eliminate-prompts-with-auto-mode) : le classificateur peut toujours refuser l'appel d'outil, mais il ne peut pas approuver l'appel silencieusement. Avant v2.1.211, le classificateur pouvait approuver une commande Bash s'exécutant en dehors du [sandbox](/docs/fr/sandboxing) sans montrer l'invite que le hook a demandée ; le classificateur appliquait toujours ses propres règles de sécurité à cette commande, et un refus de hook `"deny"` était toujours honoré.1950Un `"ask"` d'un hook force également une invite de permission en [mode auto](/docs/fr/permission-modes#eliminate-prompts-with-auto-mode) : le classificateur peut toujours refuser l'appel d'outil, mais il ne peut pas approuver l'appel silencieusement. Avant v2.1.211, le classificateur pouvait approuver une commande Bash s'exécutant en dehors du [sandbox](/docs/fr/sandboxing) sans montrer l'invite que le hook a demandée ; le classificateur appliquait toujours ses propres règles de sécurité à cette commande, et un refus de hook `"deny"` était toujours honoré.

1942 1951 


1956 1965 

1957<span id="allow-with-updatedinput" />1966<span id="allow-with-updatedinput" />

1958 1967 

1959En [mode non-interactif](/docs/fr/headless) avec le drapeau `-p`, Claude Code offre `AskUserQuestion` et `ExitPlanMode` uniquement quand l'exécution a un [hôte de permission](/docs/fr/headless#turn-off-permission-prompts-in-unattended-runs) pour recevoir l'invite, comme un rappel `canUseTool` d'Agent SDK. Ces outils nécessitent l'interaction de l'utilisateur. Retourner `permissionDecision: "allow"` avec `updatedInput` satisfait cette exigence : le hook lit l'entrée de l'outil depuis stdin, collecte la réponse via votre propre UI, et la retourne dans `updatedInput` pour que l'outil s'exécute sans inviter. Retourner `"allow"` seul n'est pas suffisant pour ces outils. Pour `AskUserQuestion`, renvoyez le tableau `questions` original et ajoutez un objet [`answers`](#askuserquestion) mappant le texte de chaque question à la réponse choisie.1968En [mode non-interactif](/docs/fr/headless) avec le drapeau `-p`, Claude Code offre `AskUserQuestion` et `ExitPlanMode` uniquement quand l'exécution a un [hôte de permission](/docs/fr/headless#turn-off-permission-prompts-in-unattended-runs) pour recevoir l'invite, comme un rappel `canUseTool` d'Agent SDK. Ces outils nécessitent l'interaction de l'utilisateur. Retourner `permissionDecision: "allow"` avec `updatedInput` satisfait cette exigence : le hook lit l'entrée de l'outil depuis stdin, collecte la réponse via votre propre interface utilisateur, et la retourne dans `updatedInput` pour que l'outil s'exécute sans demander. Retourner `"allow"` seul n'est pas suffisant pour ces outils. Pour `AskUserQuestion`, renvoyez le tableau `questions` original et ajoutez un objet [`answers`](#askuserquestion) mappant le texte de chaque question à la réponse choisie.

1960 1969 

1961À partir de v2.1.199, un outil MCP dont le serveur le marque avec [`_meta["anthropic/requiresUserInteraction"]`](/docs/fr/mcp#require-approval-for-a-specific-tool) est plus strict : un hook ne peut pas ignorer son invite d'approbation avec `"allow"`, avec ou sans `updatedInput`, parce que Claude Code ne peut pas confirmer que le hook a collecté l'interaction que l'outil nécessite.1970À partir de v2.1.199, un outil MCP dont le serveur le marque avec [`_meta["anthropic/requiresUserInteraction"]`](/docs/fr/mcp#require-approval-for-a-specific-tool) est plus strict : un hook ne peut pas ignorer son invite d'approbation avec `"allow"`, avec ou sans `updatedInput`, parce que Claude Code ne peut pas confirmer que le hook a collecté l'interaction que l'outil nécessite.

1962 1971 


1968 Différer un appel d'outil pour plus tard1977 Différer un appel d'outil pour plus tard

1969</h4>1978</h4>

1970 1979 

1971`"defer"` est pour les intégrations qui exécutent `claude -p` comme un sous-processus et lisent sa sortie JSON, comme une application Agent SDK ou une UI personnalisée construite au-dessus de Claude Code. Cela permet à ce processus appelant de mettre en pause Claude à un appel d'outil, de collecter l'entrée via sa propre interface, et de reprendre où il s'était arrêté. Claude Code honore cette valeur uniquement en [mode non-interactif](/docs/fr/headless) avec le drapeau `-p`. Dans les sessions interactives, il enregistre un avertissement et ignore le résultat du hook.1980`"defer"` est pour les intégrations qui exécutent `claude -p` comme un sous-processus et lisent sa sortie JSON, comme une application Agent SDK ou une interface utilisateur personnalisée construite au-dessus de Claude Code. Cela permet à ce processus appelant de mettre en pause Claude à un appel d'outil, de collecter l'entrée via sa propre interface, et de reprendre où il s'était arrêté. Claude Code honore cette valeur uniquement en [mode non-interactif](/docs/fr/headless) avec le drapeau `-p`. Dans les sessions interactives, il enregistre un avertissement et ignore le résultat du hook.

1972 1981 

1973L'outil `AskUserQuestion` est le cas typique : Claude veut poser quelque chose à l'utilisateur, mais il n'y a pas de terminal pour répondre. Une exécution `-p` offre `AskUserQuestion` uniquement quand elle a un [hôte de permission](/docs/fr/headless#turn-off-permission-prompts-in-unattended-runs), comme un outil MCP que vous passez avec `--permission-prompt-tool`, donc commencez l'exécution avec un. Le aller-retour fonctionne comme ceci :1982L'outil `AskUserQuestion` est le cas typique : Claude veut poser quelque chose à l'utilisateur, mais il n'y a pas de terminal pour répondre. Une exécution `-p` offre `AskUserQuestion` uniquement quand elle a un [hôte de permission](/docs/fr/headless#turn-off-permission-prompts-in-unattended-runs), comme un outil MCP que vous passez avec `--permission-prompt-tool`, donc commencez l'exécution avec un. Le aller-retour fonctionne comme ceci :

1974 1983 

19751. Claude appelle `AskUserQuestion`. Le hook `PreToolUse` se déclenche.19841. Claude appelle `AskUserQuestion`. Le hook `PreToolUse` se déclenche.

19762. Le hook retourne `permissionDecision: "defer"`. L'outil ne s'exécute pas. Le processus quitte avec `stop_reason: "tool_deferred"` et l'appel d'outil en attente préservé dans la transcription.19852. Le hook retourne `permissionDecision: "defer"`. L'outil ne s'exécute pas. Le processus quitte avec `stop_reason: "tool_deferred"` et l'appel d'outil en attente préservé dans la transcription.

19773. Le processus appelant lit `deferred_tool_use` du résultat SDK, affiche la question dans sa propre UI, et attend une réponse.19863. Le processus appelant lit `deferred_tool_use` du résultat SDK, affiche la question dans sa propre interface utilisateur, et attend une réponse.

19784. Le processus appelant exécute `claude -p --resume <session-id>` avec le même hôte de permission. Le même appel d'outil déclenche `PreToolUse` à nouveau.19874. Le processus appelant exécute `claude -p --resume <session-id>` avec le même hôte de permission. Le même appel d'outil déclenche `PreToolUse` à nouveau.

19795. Le hook retourne `permissionDecision: "allow"` avec la réponse dans `updatedInput`. L'outil s'exécute et Claude continue.19885. Le hook retourne `permissionDecision: "allow"` avec la réponse dans `updatedInput`. L'outil s'exécute et Claude continue.

1980 1989 

1981Le champ `deferred_tool_use` porte l'`id` de l'outil, le `name`, et l'`input`. L'`input` est les paramètres que Claude a générés pour l'appel d'outil, capturés avant l'exécution :1990Le champ `deferred_tool_use` porte l'`id`, le `name`, et l'`input` de l'outil. L'`input` est les paramètres que Claude a générés pour l'appel d'outil, capturés avant l'exécution :

1982 1991 

1983```json theme={null}1992```json theme={null}

1984{1993{


1994}2003}

1995```2004```

1996 2005 

1997Il n'y a pas de délai d'expiration ou de limite de tentatives. La session reste sur le disque jusqu'à ce que vous la repreniez, soumise aux [règles de balayage de rétention](/docs/fr/claude-directory#cleaned-up-automatically) de [`cleanupPeriodDays`](/docs/fr/settings-reference#cleanupperioddays), qui supprime les fichiers de session après 30 jours par défaut. Si la réponse n'est pas prête quand vous reprenez, le hook peut retourner `"defer"` à nouveau et le processus quitte de la même façon. Le processus appelant contrôle quand casser la boucle en retournant finalement `"allow"` ou `"deny"` du hook.2006Il n'y a pas de délai d'expiration ou de limite de tentatives. La session reste sur le disque jusqu'à ce que vous la repreniez, soumise aux règles de balayage de rétention [`cleanupPeriodDays`](/docs/fr/settings-reference#cleanupperioddays), qui supprime les fichiers de session après 30 jours par défaut, en suivant les [règles de balayage de rétention](/docs/fr/claude-directory#cleaned-up-automatically). Si la réponse n'est pas prête quand vous reprenez, le hook peut retourner `"defer"` à nouveau et le processus quitte de la même façon. Le processus appelant contrôle quand casser la boucle en retournant finalement `"allow"` ou `"deny"` du hook.

1998 2007 

1999`"defer"` fonctionne uniquement quand 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 procède via le flux de permission normal. La 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.2008`"defer"` fonctionne uniquement quand 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 procède par le flux de permission normal. La contrainte existe parce que la reprise ne peut relancer 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.

2000 2009 

2001Si l'outil différé n'est plus disponible quand vous reprenez, le processus quitte avec `stop_reason: "tool_deferred_unavailable"` et `is_error: true` avant que le hook se déclenche. Cela se produit quand un serveur MCP qui a fourni l'outil n'est pas connecté pour la session reprise. La charge utile `deferred_tool_use` est toujours incluse pour que vous puissiez identifier quel outil a disparu.2010Si l'outil différé n'est plus disponible quand vous reprenez, le processus quitte avec `stop_reason: "tool_deferred_unavailable"` et `is_error: true` avant que le hook se déclenche. Cela se produit quand un serveur MCP qui a fourni l'outil n'est pas connecté pour la session reprise. La charge utile `deferred_tool_use` est toujours incluse pour que vous puissiez identifier quel outil a disparu.

2002 2011 


2015 2024 

2016Utilisez cet événement quand vous avez besoin d'un signal au moment où Claude demande la permission d'utiliser un outil. Claude Code exécute un hook [Notification](#notification) avec le type `permission_prompt` uniquement après que l'invite ait attendu environ six secondes.2025Utilisez cet événement quand vous avez besoin d'un signal au moment où Claude demande la permission d'utiliser un outil. Claude Code exécute un hook [Notification](#notification) avec le type `permission_prompt` uniquement après que l'invite ait attendu environ six secondes.

2017 2026 

2018Claude Code n'exécute pas les hooks PermissionRequest pour la [demande réseau](/docs/fr/sandboxing#network-isolation) d'une commande en sandbox. Pour obtenir un signal pour cette invite, utilisez le type de notification `permission_prompt`.2027Claude Code n'exécute pas les hooks PermissionRequest pour la [requête réseau](/docs/fr/sandboxing#network-isolation) d'une commande en sandbox. Pour obtenir un signal pour cette invite, utilisez le type de notification `permission_prompt`.

2019 2028 

2020Correspond au nom de l'outil, mêmes valeurs que PreToolUse.2029Correspond au nom de l'outil, mêmes valeurs que PreToolUse.

2021 2030 


2023 Entrée PermissionRequest2032 Entrée PermissionRequest

2024</h4>2033</h4>

2025 2034 

2026Les 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 optionnel `permission_suggestions` contient les [mises à jour de permission](#permission-update-entries) que Claude Code suggère pour cette demande, comme ajouter une règle d'autorisation ou changer le mode de permission.2035Les 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 optionnel `permission_suggestions` contient les [mises à jour de permission](#permission-update-entries) que Claude Code suggère pour cette requête, comme ajouter une règle d'autorisation ou changer le mode de permission.

2027 2036 

2028Le tableau `permission_suggestions` n'est pas une liste exacte des options que vous voyez, parce que chaque dialogue de permission construit ses propres options. Certains dialogues, comme celui pour les éditions de fichiers, ne lisent pas du tout le tableau et dérivent leurs options de la demande elle-même. Un dialogue qui le lit peut toujours retenir une option dont la suggestion reste dans le tableau, par exemple quand [`allowManagedPermissionRulesOnly`](/docs/fr/settings-reference#allowmanagedpermissionrulesonly) cache les options de sauvegarde de règles. Il peut également offrir des options qui n'ont pas d'entrée de suggestion, comme [**Oui, et basculer en mode auto**](/docs/fr/permission-modes#switch-permission-modes), qui change le mode de permission directement plutôt que via une mise à jour de permission.2037Le tableau `permission_suggestions` n'est pas une liste exacte des options que vous voyez, parce que chaque dialogue de permission construit ses propres options. Certains dialogues, comme celui pour les éditions de fichiers, ne lisent pas du tout le tableau et dérivent leurs options de la requête elle-même. Un dialogue qui le lit peut toujours retenir une option dont la suggestion reste dans le tableau, par exemple quand [`allowManagedPermissionRulesOnly`](/docs/fr/settings-reference#allowmanagedpermissionrulesonly) cache les options de sauvegarde de règles. Il peut également offrir des options qui n'ont pas d'entrée de suggestion, comme [**Oui, et passer en mode auto**](/docs/fr/permission-modes#switch-permission-modes), qui change le mode de permission directement plutôt que via une mise à jour de permission.

2029 2038 

2030Les hooks PreToolUse s'exécutent avant chaque appel d'outil, qu'il ait besoin de permission ou non. Les hooks PermissionRequest s'exécutent uniquement quand Claude Code est sur le point de vous demander la permission, ou quand il refuserait autrement un appel qui ne peut pas inviter. Aucun événement ne se déclenche pour [`EndConversation`](/docs/fr/tools-reference#endconversation-tool-behavior).2039Les hooks PreToolUse s'exécutent avant chaque appel d'outil, qu'il ait besoin de permission ou non. Les hooks PermissionRequest s'exécutent uniquement quand Claude Code est sur le point de vous demander la permission, ou quand il refuserait autrement un appel qui ne peut pas demander. Aucun événement ne se déclenche pour [`EndConversation`](/docs/fr/tools-reference#endconversation-tool-behavior).

2031 2040 

2032```json theme={null}2041```json theme={null}

2033{2042{


2066| `message` | Pour `"deny"` uniquement : dit à Claude pourquoi la permission a été refusée |2075| `message` | Pour `"deny"` uniquement : dit à Claude pourquoi la permission a été refusée |

2067| `interrupt` | Pour `"deny"` uniquement : si `true`, arrête Claude |2076| `interrupt` | Pour `"deny"` uniquement : si `true`, arrête Claude |

2068 2077 

2069Un hook qui quitte 2 sans un objet `decision` laisse le flux de permission inchangé, et son stderr est rejeté. Seul l'objet `decision` peut accorder ou refuser la demande.2078Un hook qui quitte 2 sans un objet `decision` laisse le flux de permission inchangé, et son stderr est rejeté. Seul l'objet `decision` peut accorder ou refuser la requête.

2070 2079 

2071```json theme={null}2080```json theme={null}

2072{2081{


2191```2200```

2192 2201 

2193<Warning>2202<Warning>

2194 `updatedToolOutput` change uniquement ce que Claude voit. 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 demandes 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 capturent également la sortie originale avant que le hook s'exécute. Pour empêcher ou modifier un appel d'outil avant qu'il s'exécute, utilisez plutôt un hook [PreToolUse](#pretooluse).2203 `updatedToolOutput` change uniquement ce que Claude voit. 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'analyse capturent également la sortie originale avant que le hook s'exécute. Pour empêcher ou modifier un appel d'outil avant qu'il s'exécute, utilisez plutôt un hook [PreToolUse](#pretooluse).

2195 2204 

2196 La valeur de remplacement doit correspondre à la forme de sortie de l'outil. Les outils intégrés retournent des objets structurés plutôt que des chaînes brutes. Par exemple, `Bash` retourne 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 originale est utilisée. La sortie d'outil MCP est transmise sans validation de schéma. Supprimer les détails d'erreur que Claude a besoin peut le faire procéder sur une fausse hypothèse.2205 La valeur de remplacement doit correspondre à la forme de sortie de l'outil. Les outils intégrés retournent des objets structurés plutôt que des chaînes brutes. Par exemple, `Bash` retourne 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 originale est utilisée. La sortie d'outil MCP est transmise sans validation de schéma. Supprimer les détails d'erreur dont Claude a besoin peut le faire procéder sur une fausse hypothèse.

2197</Warning>2206</Warning>

2198 2207 

2199<h4 id="annotate-a-result-for-the-auto-mode-classifier">2208<h4 id="annotate-a-result-for-the-auto-mode-classifier">


2238Correspond au nom de l'outil, mêmes valeurs que PreToolUse.2247Correspond au nom de l'outil, mêmes valeurs que PreToolUse.

2239 2248 

2240<Note>2249<Note>

2241 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 spécifique à l'outil, ou un refus de permission. Les rejets de validation sont retournés comme des résultats `tool_use_error` et se produisent avant que les hooks s'exécutent, donc ils ne déclenchent ni `PreToolUse` ni `PostToolUseFailure`. Les refus de permission déclenchent `PreToolUse` mais pas cet événement ; voir [PermissionDenied](#permissiondenied).2250 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 spécifique à l'outil, ou un refus de permission. Les rejets de validation sont retournés comme résultats `tool_use_error` et se produisent avant que les hooks s'exécutent, donc ils ne déclenchent ni `PreToolUse` ni `PostToolUseFailure`. Les refus de permission déclenchent `PreToolUse` mais pas cet événement ; voir [PermissionDenied](#permissiondenied).

2242</Note>2251</Note>

2243 2252 

2244<h4 id="posttoolusefailure-input">2253<h4 id="posttoolusefailure-input">


2276 2285 

2277* Pour Bash et PowerShell, une commande qui s'est exécutée et a quitté produit une première ligne `Exit code N`, puis toute sortie que la commande a produite comme un bloc avec stdout et stderr entrelacés2286* Pour Bash et PowerShell, une commande qui s'est exécutée et a quitté produit une première ligne `Exit code N`, puis toute sortie que la commande a produite comme un bloc avec stdout et stderr entrelacés

2278* Une charge utile peut également porter un message d'échec nu sans ligne de code de sortie, quand Claude Code n'a pas pu démarrer le processus shell lui-même2287* Une charge utile peut également porter un message d'échec nu sans ligne de code de sortie, quand Claude Code n'a pas pu démarrer le processus shell lui-même

2279* Claude Code tronque au milieu les longues chaînes autour d'un marqueur `... [N characters truncated] ...`, et peut insérer des lignes de son propre, comme `Command timed out after 2m 0s`2288* Claude Code tronque au milieu les longues chaînes autour d'un marqueur `... [N characters truncated] ...`, et peut insérer ses propres lignes, comme `Command timed out after 2m 0s`

2280 2289 

2281<h4 id="posttoolusefailure-decision-control">2290<h4 id="posttoolusefailure-decision-control">

2282 Contrôle de décision PostToolUseFailure2291 Contrôle de décision PostToolUseFailure


2301 PostToolBatch2310 PostToolBatch

2302</h3>2311</h3>

2303 2312 

2304S'exécute une fois après que chaque appel d'outil dans un lot se soit résolu, avant que Claude Code envoie la demande suivante au modèle. `PostToolUse` se déclenche une fois par outil, ce qui signifie qu'il se déclenche simultanément quand Claude effectue des appels d'outils parallèles. `PostToolBatch` se déclenche exactement une fois avec le lot complet, donc c'est le bon endroit pour injecter du contexte qui dépend de l'ensemble des outils qui se sont exécutés plutôt que de n'importe quel outil unique. Il n'y a pas de matcher pour cet événement.2313S'exécute une fois après que chaque appel d'outil dans un lot se soit résolu, avant que Claude Code envoie la requête suivante au modèle. `PostToolUse` se déclenche une fois par outil, ce qui signifie qu'il se déclenche simultanément quand Claude effectue des appels d'outils parallèles. `PostToolBatch` se déclenche exactement une fois avec le lot complet, donc c'est le bon endroit pour injecter du contexte qui dépend de l'ensemble des outils qui se sont exécutés plutôt que de n'importe quel outil unique. Il n'y a pas de matcher pour cet événement.

2305 2314 

2306<h4 id="posttoolbatch-input">2315<h4 id="posttoolbatch-input">

2307 Entrée PostToolBatch2316 Entrée PostToolBatch


2364 PermissionDenied2373 PermissionDenied

2365</h3>2374</h3>

2366 2375 

2367S'exécute quand le [mode auto](/docs/fr/permission-modes#eliminate-prompts-with-auto-mode) refuse un appel d'outil, y compris quand il refuse sans un verdict du classificateur parce qu'une [vérification de sécurité séparée du mode auto a refusé la demande du classificateur lui-même](/docs/fr/errors#auto-mode-cannot-determine-the-safety-of-an-action) ou sa réponse n'a pas analysé. Ce hook ne se déclenche que en mode auto : il ne s'exécute pas quand vous refusez manuellement un dialogue de permission, quand un hook `PreToolUse` bloque un appel, ou quand une règle `deny` correspond. Utilisez-le pour enregistrer les refus, ajuster la configuration, ou dire au modèle qu'il peut réessayer l'appel d'outil.2376S'exécute quand le [mode auto](/docs/fr/permission-modes#eliminate-prompts-with-auto-mode) refuse un appel d'outil, y compris quand il refuse sans verdict du classificateur parce qu'une [vérification de sécurité séparée du mode auto a refusé la propre requête du classificateur](/docs/fr/errors#auto-mode-cannot-determine-the-safety-of-an-action) ou sa réponse n'a pas analysé. Ce hook ne se déclenche que en mode auto : il ne s'exécute pas quand vous refusez manuellement un dialogue de permission, quand un hook `PreToolUse` bloque un appel, ou quand une règle `deny` correspond. Utilisez-le pour enregistrer les refus, ajuster la configuration, ou dire au modèle qu'il peut réessayer l'appel d'outil.

2368 2377 

2369Correspond au nom de l'outil, mêmes valeurs que PreToolUse.2378Correspond au nom de l'outil, mêmes valeurs que PreToolUse.

2370 2379 


2412 2421 

2413Quand `retry` est `true`, Claude Code ajoute un message à la conversation disant au modèle qu'il peut réessayer l'appel d'outil. Claude Code ne renverse pas le refus lui-même. Si votre hook ne retourne pas JSON, ou retourne `retry: false`, le refus tient et le modèle reçoit le message de rejet original.2422Quand `retry` est `true`, Claude Code ajoute un message à la conversation disant au modèle qu'il peut réessayer l'appel d'outil. Claude Code ne renverse pas le refus lui-même. Si votre hook ne retourne pas JSON, ou retourne `retry: false`, le refus tient et le modèle reçoit le message de rejet original.

2414 2423 

2415Claude Code ignore `retry: true` quand le classificateur 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 analysé, ou une vérification de sécurité séparée du mode auto a refusé la demande du classificateur. Pour ces refus, Claude Code dit déjà au modèle dans le message de rejet s'il faut réessayer plus tard ou continuer.2424Claude Code ignore `retry: true` quand le classificateur 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 analysé, ou une vérification de sécurité séparée du mode auto a refusé la requête du classificateur. Pour ces refus, Claude Code dit déjà au modèle dans le message de rejet s'il faut réessayer plus tard ou continuer.

2416 2425 

2417<h3 id="notification">2426<h3 id="notification">

2418 Notification2427 Notification


2424 2433 

2425| Matcher | Quand il se déclenche |2434| Matcher | Quand il se déclenche |

2426| :- | :- |2435| :- | :- |

2427| `permission_prompt` | Claude a besoin de votre permission pour utiliser un outil ou la [demande réseau](/docs/fr/sandboxing#network-isolation) d'une commande en sandbox, et l'invite a attendu environ six secondes |2436| `permission_prompt` | Claude a besoin de votre permission pour utiliser un outil ou la [requête réseau](/docs/fr/sandboxing#network-isolation) d'une commande en sandbox, et l'invite a attendu environ six secondes |

2428| `idle_prompt` | Claude a fini de répondre il y a environ 60 secondes et vous n'avez pas tapé depuis |2437| `idle_prompt` | Claude a fini de répondre il y a environ 60 secondes et vous n'avez pas tapé depuis |

2429| `auth_success` | L'authentification se termine |2438| `auth_success` | L'authentification se termine |

2430| `elicitation_dialog` | Un serveur MCP ouvre un formulaire d'élicitation et vous n'avez pas tapé depuis environ six secondes |2439| `elicitation_dialog` | Un serveur MCP ouvre un formulaire d'élicitation et vous n'avez pas tapé pendant environ six secondes |

2431| `elicitation_url_dialog` | Un serveur MCP vous demande d'ouvrir une URL de navigateur et vous n'avez pas tapé depuis environ six secondes |2440| `elicitation_url_dialog` | Un serveur MCP vous demande d'ouvrir une URL de navigateur et vous n'avez pas tapé pendant environ six secondes |

2432| `elicitation_complete` | Un serveur MCP signale qu'une [élicitation en mode URL](#elicitation-input) est complète |2441| `elicitation_complete` | Un serveur MCP signale qu'une [élicitation en mode URL](#elicitation-input) est complète |

2433| `elicitation_response` | Une réponse d'élicitation MCP est renvoyée au serveur |2442| `elicitation_response` | Une réponse d'élicitation MCP est renvoyée au serveur |

2434| `agent_needs_input` | Une session en arrière-plan commence à attendre votre entrée pendant que la [vue agent](/docs/fr/agent-view) est ouverte dans un terminal, ou la session actuelle vous pose une [question de configuration de terminal d'un coéquipier d'équipe agent](/docs/fr/agent-teams#choose-a-display-mode) et vous n'avez pas tapé depuis environ six secondes |2443| `agent_needs_input` | Une session en arrière-plan commence à attendre votre entrée pendant que la [vue agent](/docs/fr/agent-view) est ouverte dans un terminal. Se déclenche également quand une session de terminal vous montre une [question de configuration de terminal du coéquipier d'une équipe d'agents](/docs/fr/agent-teams#choose-a-display-mode) ou l'avis du mode auto sur les [frais de requête du classificateur](/docs/fr/auto-mode-classifier-billing) et vous n'avez pas tapé pendant environ six secondes |

2435| `agent_completed` | Une session en arrière-plan se termine ou échoue. Se déclenche uniquement pendant que la [vue agent](/docs/fr/agent-view) est ouverte dans un terminal |2444| `agent_completed` | Une session en arrière-plan se termine ou échoue. Se déclenche uniquement pendant que la [vue agent](/docs/fr/agent-view) est ouverte dans un terminal |

2436| `quota_auto_resume_fired` | Claude Code continue votre tâche après qu'une limite d'utilisation claude.ai l'ait mise en pause : à la réinitialisation, ou plus tôt quand quelque chose que vous faites dans Claude Code pendant l'attente, comme ajouter des crédits d'utilisation, mettre à niveau votre plan, ou changer de modèles, rend l'utilisation disponible à nouveau, avec l'[exception de paramètre de modèle](/docs/fr/interactive-mode#wait-for-a-usage-limit-to-reset) |2445| `quota_auto_resume_fired` | Claude Code continue votre tâche après qu'une limite d'utilisation claude.ai l'ait mise en pause : à la réinitialisation, ou plus tôt quand quelque chose que vous faites dans Claude Code pendant l'attente, comme ajouter des crédits d'utilisation, mettre à niveau votre plan, ou changer de modèles, rend l'utilisation disponible à nouveau, avec l'[exception de paramètre de modèle](/docs/fr/interactive-mode#wait-for-a-usage-limit-to-reset) |

2437| `quota_auto_resume_stale` | Une limite d'utilisation claude.ai s'est réinitialisée pendant que votre ordinateur dormait pendant plus d'environ 30 minutes. Claude Code attend que vous appuyiez sur `Enter` au lieu de continuer. Après un sommeil plus court, il continue et se déclenche `quota_auto_resume_fired` à la place |2446| `quota_auto_resume_stale` | Une limite d'utilisation claude.ai s'est réinitialisée pendant que votre ordinateur dormait pendant plus d'environ 30 minutes. Claude Code attend que vous appuyiez sur `Enter` au lieu de continuer. Après un sommeil plus court, il continue et se déclenche `quota_auto_resume_fired` à la place |


2441 2450 

2442Les types `quota_auto_resume_fired`, `quota_auto_resume_stale`, et `quota_auto_resume_disabled` nécessitent Claude Code v2.1.234 ou ultérieur.2451Les types `quota_auto_resume_fired`, `quota_auto_resume_stale`, et `quota_auto_resume_disabled` nécessitent Claude Code v2.1.234 ou ultérieur.

2443 2452 

2444En sessions de terminal, `permission_prompt` pour la demande réseau d'une commande en sandbox nécessite Claude Code v2.1.246 ou ultérieur.2453En sessions de terminal, `permission_prompt` pour la requête réseau d'une commande en sandbox nécessite Claude Code v2.1.246 ou ultérieur.

2445 2454 

2446`agent_needs_input` pour une question de configuration de terminal d'un coéquipier nécessite Claude Code v2.1.248 ou ultérieur.2455`agent_needs_input` pour la question de configuration de terminal d'un coéquipier nécessite Claude Code v2.1.248 ou ultérieur.

2447 2456 

2448<Note>2457<Note>

2449 Les types `permission_prompt`, `idle_prompt`, `elicitation_dialog`, et `elicitation_url_dialog` partagent leur timing avec les notifications de bureau, donc en sessions de terminal vous ne les voyez que quand vous semblez être loin du terminal :2458 Les types `permission_prompt`, `idle_prompt`, `elicitation_dialog`, et `elicitation_url_dialog` partagent leur timing avec les notifications de bureau, donc en sessions de terminal vous ne les voyez que quand vous semblez être loin du terminal :

2450 2459 

2451 * Attendez `permission_prompt` une fois que vous n'avez pas tapé pendant environ six secondes. Le minuteur démarre quand l'invite de permission apparaît, et chaque frappe le reporte. Pour exécuter un hook immédiatement quand Claude demande la permission d'utiliser un outil, utilisez plutôt [PermissionRequest](#permissionrequest).2460 * Attendez `permission_prompt` une fois que vous n'avez pas tapé pendant environ six secondes. Le minuteur démarre quand l'invite de permission apparaît, et chaque frappe le reporte. Pour exécuter un hook immédiatement quand Claude demande la permission d'utiliser un outil, utilisez plutôt [PermissionRequest](#permissionrequest).

2452 * Attendez `idle_prompt` environ 60 secondes après que Claude finisse de répondre, et uniquement si vous n'avez pas tapé depuis. Claude Code n'envoie pas `idle_prompt` pendant qu'il attend qu'une limite d'utilisation claude.ai se réinitialise. Quand l'attente se termine seule, l'un des types `quota_auto_resume_*` se déclenche à la place.2461 * Attendez `idle_prompt` environ 60 secondes après que Claude finisse de répondre, et uniquement si vous n'avez pas tapé depuis. Claude Code n'envoie pas `idle_prompt` pendant qu'il attend qu'une limite d'utilisation claude.ai se réinitialise. Quand l'attente se termine d'elle-même, l'un des types `quota_auto_resume_*` se déclenche à la place.

2453 * Attendez `elicitation_dialog` pour un formulaire d'élicitation, ou `elicitation_url_dialog` pour une demande d'URL de navigateur, une fois que vous n'avez pas tapé pendant environ six secondes. Les deux partagent la même porte de six secondes que `permission_prompt` : le minuteur démarre quand le dialogue apparaît, et chaque frappe le reporte.2462 * Attendez `elicitation_dialog` pour un formulaire d'élicitation, ou `elicitation_url_dialog` pour une requête d'URL de navigateur, une fois que vous n'avez pas tapé pendant environ six secondes. Les deux partagent la même porte de six secondes que `permission_prompt` : le minuteur démarre quand le dialogue apparaît, et chaque frappe le reporte.

2454 2463 

2455 Une demande de permission ou d'élicitation qui arrive pendant qu'un autre dialogue est à l'écran garde la même porte de six secondes, chronométrée à partir de quand la demande arrive. Sa notification peut vous atteindre pendant que la demande attend toujours derrière le dialogue ouvert.2464 Une requête de permission ou d'élicitation qui arrive pendant qu'un autre dialogue est à l'écran garde la même porte de six secondes, chronométrée à partir de quand la requête arrive. Sa notification peut vous atteindre pendant que la requête attend toujours derrière le dialogue ouvert.

2456</Note>2465</Note>

2457 2466 

2458Claude Code chronométre `permission_prompt` différemment dans les sessions où il envoie les demandes de permission au rappel [`canUseTool`](/docs/fr/agent-sdk/user-input) d'Agent SDK, ce qui est comment Claude Desktop et l'extension VS Code hébergent Claude Code :2467Claude Code chronomètre `permission_prompt` différemment dans les sessions où il envoie les requêtes de permission au rappel [`canUseTool`](/docs/fr/agent-sdk/user-input) d'Agent SDK, ce qui est comment Claude Desktop et l'extension VS Code hébergent Claude Code :

2459 2468 

2460* Attendez `permission_prompt` environ six secondes après que Claude demande la permission. Claude Code ne le reporte pas pendant que vous tapez.2469* Attendez `permission_prompt` environ six secondes après que Claude demande la permission. Claude Code ne le reporte pas pendant que vous tapez.

2461* Si vous ou un hook [PermissionRequest](#permissionrequest) répondez plus tôt, Claude Code n'exécute pas `permission_prompt`.2470* Si vous ou un hook [PermissionRequest](#permissionrequest) répondez plus tôt, Claude Code n'exécute pas `permission_prompt`.


2516 SubagentStart2525 SubagentStart

2517</h3>2526</h3>

2518 2527 

2519S'exécute quand Claude crée un sous-agent avec l'outil Agent, quand Claude [reprend un sous-agent](/docs/fr/sub-agents#resume-subagents), et chaque fois qu'un coéquipier d'[équipe agent](/docs/fr/agent-teams) en processus gère un nouveau message. Supporte les matchers pour filtrer par nom de type d'agent. Pour les agents intégrés, c'est le nom de l'agent comme `general-purpose`, `Explore`, ou `Plan`. Pour les [sous-agents personnalisés](/docs/fr/sub-agents), c'est le champ `name` du frontmatter de l'agent, pas le nom du fichier.2528S'exécute quand Claude crée un sous-agent avec l'outil Agent, quand Claude [reprend un sous-agent](/docs/fr/sub-agents#resume-subagents), et chaque fois qu'un coéquipier d'[équipe d'agents](/docs/fr/agent-teams) en processus gère un nouveau message. Supporte les matchers pour filtrer par nom de type d'agent. Pour les agents intégrés, c'est le nom de l'agent comme `general-purpose`, `Explore`, ou `Plan`. Pour les [sous-agents personnalisés](/docs/fr/sub-agents), c'est le champ `name` du frontmatter de l'agent, pas le nom du fichier.

2520 2529 

2521Pour les sous-agents fournis par un [plugin](/docs/fr/plugins/overview), le type d'agent est l'identifiant scoped du plugin comme `my-plugin:reviewer`, pas le nom du frontmatter nu. Le deux-points place un nom scoped du plugin sur le chemin d'expression régulière, donc ancrez le matcher avec `^` et `$` pour une correspondance exacte : `^my-plugin:reviewer$`.2530Pour les sous-agents expédiés par un [plugin](/docs/fr/plugins/overview), le type d'agent est l'identifiant délimité par plugin comme `my-plugin:reviewer`, pas le nom du frontmatter nu. Le deux-points place un nom délimité par plugin sur le chemin d'expression régulière, donc ancrez le matcher avec `^` et `$` pour une correspondance exacte : `^my-plugin:reviewer$`.

2522 2531 

2523<h4 id="subagentstart-input">2532<h4 id="subagentstart-input">

2524 Entrée SubagentStart2533 Entrée SubagentStart

2525</h4>2534</h4>

2526 2535 

2527En plus des [champs d'entrée communs](#common-input-fields), les hooks SubagentStart reçoivent `agent_id` avec l'identifiant unique du sous-agent et `agent_type` avec le nom de l'agent que le matcher filtre.2536En plus des [champs d'entrée communs](#common-input-fields), les hooks SubagentStart reçoivent `agent_id` avec l'identifiant unique du sous-agent et `agent_type` avec le nom de l'agent sur lequel le matcher filtre.

2528 2537 

2529```json theme={null}2538```json theme={null}

2530{2539{


2566 2575 

2567En 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 du 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, donc les hooks peuvent y accéder sans analyser le fichier de transcription.2576En 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 du 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, donc les hooks peuvent y accéder sans analyser le fichier de transcription.

2568 2577 

2569Pas chaque événement SubagentStop provient d'un sous-agent que Claude a créé. Claude Code exécute également des agents internes pour certaines de ses propres fonctionnalités, comme les [suggestions d'invite](/docs/fr/interactive-mode#prompt-suggestions) et les [questions latérales `/btw`](/docs/fr/interactive-mode#side-questions-with-%2Fbtw), et SubagentStop se déclenche quand l'un de ceux-ci se termine aussi. Pour ces événements, `agent_type` est le nom de l'agent que la session elle-même exécute, comme celui 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 quand la session s'exécute sans un.2578Pas chaque événement SubagentStop provient d'un sous-agent que Claude a créé. Claude Code exécute également des agents internes pour certaines de ses propres fonctionnalités, comme les [suggestions d'invite](/docs/fr/interactive-mode#prompt-suggestions) et les [questions latérales `/btw`](/docs/fr/interactive-mode#side-questions-with-%2Fbtw), et SubagentStop se déclenche quand l'un d'eux se termine aussi. Pour ces événements, `agent_type` est le nom de l'agent que la session elle-même exécute, comme celui 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 quand la session s'exécute sans un.

2570 2579 

2571Un `matcher` qui nomme les types d'agent ne correspond pas à un `agent_type` vide. Un hook dont le matcher est omis, `""`, ou `"*"`, ou est une expression régulière qui correspond à une chaîne vide, s'exécute pour les événements avec un `agent_type` vide aussi.2580Un `matcher` qui nomme les types d'agent ne correspond pas à un `agent_type` vide. Un hook dont le matcher est omis, `""`, ou `"*"`, ou est une expression régulière qui correspond à une chaîne vide, s'exécute pour les événements avec un `agent_type` vide aussi.

2572 2581 

2573Sur Claude Code v2.1.271 ou ultérieur, un sous-agent qui s'exécute avec l'outil [`SubagentHandback`](/docs/fr/tools-reference) livre son rapport via cet outil avant qu'il ne s'arrête. Le champ `last_assistant_message` contient alors le texte de fermeture du sous-agent, le cas échéant, qui n'est pas le rapport livré. Le rapport est l'entrée `message` de cet appel, qu'un hook `PreToolUse` ou `PostToolUse` correspondant à `SubagentHandback` reçoit comme `tool_input.message`.2582Sur Claude Code v2.1.271 ou ultérieur, un sous-agent qui s'exécute avec l'outil [`SubagentHandback`](/docs/fr/tools-reference) livre son rapport via cet outil avant qu'il ne s'arrête. Le champ `last_assistant_message` contient alors le texte de fermeture du sous-agent, le cas échéant, qui n'est pas le rapport livré. Le rapport est l'entrée `message` de cet appel, qu'un hook `PreToolUse` ou `PostToolUse` correspondant à `SubagentHandback` reçoit comme `tool_input.message`.

2574 2583 

2575Les hooks SubagentStop reçoivent également les tableaux `background_tasks` et `session_crons` décrits sous [Entrée Stop](#stop-input). Les deux tableaux sont scoped à la session parent, pas au sous-agent.2584Les hooks SubagentStop reçoivent également les tableaux `background_tasks` et `session_crons` décrits sous [Entrée Stop](#stop-input). Les deux tableaux sont délimités à la session parent, pas au sous-agent.

2576 2585 

2577```json theme={null}2586```json theme={null}

2578{2587{


2657 TaskCompleted2666 TaskCompleted

2658</h3>2667</h3>

2659 2668 

2660S'exécute quand une tâche est en cours de marquage comme complétée. Cela se déclenche dans deux situations : quand n'importe quel agent mar explicitement une tâche comme complétée via l'outil TaskUpdate, ou quand un coéquipier d'[équipe agent](/docs/fr/agent-teams) termine son tour avec des tâches en cours. Utilisez ceci pour appliquer les critères de complétion comme passer les tests ou les vérifications lint avant qu'une tâche puisse se fermer.2669S'exécute quand une tâche est en cours de marquage comme complétée. Cela se déclenche dans deux situations : quand n'importe quel agent marque explicitement une tâche comme complétée via l'outil TaskUpdate, ou quand un coéquipier d'[équipe d'agents](/docs/fr/agent-teams) termine son tour avec des tâches en cours. Utilisez ceci pour appliquer les critères de complétion comme passer les tests ou les vérifications de lint avant qu'une tâche puisse se fermer.

2661 2670 

2662Les hooks TaskCompleted ne supportent pas les matchers et se déclenchent à chaque occurrence.2671Les hooks TaskCompleted ne supportent pas les matchers et se déclenchent à chaque occurrence.

2663 2672 


2722S'exécute quand l'agent Claude Code principal a fini de répondre. Ne s'exécute pas si l'arrêt s'est produit en raison d'une interruption utilisateur. Les erreurs API déclenchent plutôt [StopFailure](#stopfailure).2731S'exécute quand l'agent Claude Code principal a fini de répondre. Ne s'exécute pas si l'arrêt s'est produit en raison d'une interruption utilisateur. Les erreurs API déclenchent plutôt [StopFailure](#stopfailure).

2723 2732 

2724<Tip>2733<Tip>

2725 La commande [`/goal`](/docs/fr/goal) est un raccourci intégré pour un hook Stop basé sur les invites scoped à la session. Utilisez-le quand vous voulez que Claude continue à travailler vers une condition sans écrire la configuration du hook.2734 La commande [`/goal`](/docs/fr/goal) est un raccourci intégré pour un hook Stop basé sur les invites délimité à la session. Utilisez-le quand vous voulez que Claude continue à travailler vers une condition sans écrire la configuration du hook.

2726</Tip>2735</Tip>

2727 2736 

2728<h4 id="stop-input">2737<h4 id="stop-input">


2731 2740 

2732En 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` est `true` quand Claude Code continue 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. Claude Code applique un plafond de 8 continuations consécutives : après que les hooks stop aient continué le tour huit fois de suite, Claude Code remplace le bloc suivant et termine le tour. Pour augmenter le plafond, définissez [`CLAUDE_CODE_STOP_HOOK_BLOCK_CAP`](/docs/fr/env-vars).2741En 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` est `true` quand Claude Code continue 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. Claude Code applique un plafond de 8 continuations consécutives : après que les hooks stop aient continué le tour huit fois de suite, Claude Code remplace le bloc suivant et termine le tour. Pour augmenter le plafond, définissez [`CLAUDE_CODE_STOP_HOOK_BLOCK_CAP`](/docs/fr/env-vars).

2733 2742 

2734Le champ `last_assistant_message` contient le contenu textuel de la réponse finale de Claude, donc les hooks peuvent 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 à haute voix ou de notification, utilisez ce champ plutôt que de lire `transcript_path` : le fichier de transcription n'est pas garanti d'inclure le message final au moment de Stop sur toutes les versions.2743Le champ `last_assistant_message` contient le contenu textuel de la réponse finale de Claude, donc les hooks peuvent 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 à haute voix ou de notification, utilisez ce champ plutôt que de lire `transcript_path` : le fichier de transcription n'est pas garanti d'inclure le message final au moment du Stop sur toutes les versions.

2735 2744 

2736Les tableaux `background_tasks` et `session_crons` permettent aux hooks de distinguer « la session est terminée » de « la session est mise en pause en attente que le travail en arrière-plan la réveille ». Les deux tableaux sont présents quand le registre de tâches est accessible et sont vides quand rien n'est en vol ou programmé.2745Les tableaux `background_tasks` et `session_crons` permettent aux hooks de distinguer « la session est terminée » de « la session est en pause en attente que le travail en arrière-plan la réveille ». Les deux tableaux sont présents quand le registre de tâches est accessible et sont vides quand rien n'est en vol ou programmé.

2737 2746 

2738Chaque entrée dans `background_tasks` décrit une tâche en vol et utilise ces champs :2747Chaque entrée dans `background_tasks` décrit une tâche en vol et utilise ces champs :

2739 2748 


2742| `id` | Identifiant de tâche |2751| `id` | Identifiant de tâche |

2743| `type` | Étiquette de type de tâche conviviale comme `shell`, `subagent`, `monitor`, `workflow`, `teammate`, `cloud session`, ou `MCP task`. Chaque étiquette identifie quelle fonctionnalité Claude Code a créé la tâche. Revient au discriminant brut pour les types non reconnus |2752| `type` | Étiquette de type de tâche conviviale comme `shell`, `subagent`, `monitor`, `workflow`, `teammate`, `cloud session`, ou `MCP task`. Chaque étiquette identifie quelle fonctionnalité Claude Code a créé la tâche. Revient au discriminant brut pour les types non reconnus |

2744| `status` | Statut de tâche actuel |2753| `status` | Statut de tâche actuel |

2745| `description` | Description en texte libre, plafonnée à 1 000 caractères avec un marqueur `… [+N chars]` en chaîne quand clippée |2754| `description` | Description en texte libre, plafonnée à 1000 caractères avec un marqueur `… [+N chars]` en chaîne quand coupée |

2746| `command` | Ligne de commande shell, plafonnée à 1 000 caractères. Présent uniquement pour les tâches `shell` |2755| `command` | Ligne de commande shell, plafonnée à 1000 caractères. Présente uniquement pour les tâches `shell` |

2747| `agent_type` | Nom de type de sous-agent. Présent uniquement pour les tâches `subagent` |2756| `agent_type` | Nom de type de sous-agent. Présent uniquement pour les tâches `subagent` |

2748| `server` | Nom du serveur MCP. Présent uniquement pour les tâches `monitor` et `MCP task` |2757| `server` | Nom du serveur MCP. Présent uniquement pour les tâches `monitor` et `MCP task` |

2749| `tool` | Nom de l'outil MCP. Présent uniquement pour les tâches `monitor` et `MCP task` |2758| `tool` | Nom de l'outil MCP. Présent uniquement pour les tâches `monitor` et `MCP task` |

2750| `name` | Nom du workflow. Présent uniquement pour les tâches `workflow` |2759| `name` | Nom du workflow. Présent uniquement pour les tâches `workflow` |

2751 2760 

2752Chaque entrée dans `session_crons` décrit un réveil programmé scoped à la session, provenant de `CronCreate`, `ScheduleWakeup`, et `/loop` :2761Chaque entrée dans `session_crons` décrit un réveil programmé délimité à la session, provenant de `CronCreate`, `ScheduleWakeup`, et `/loop` :

2753 2762 

2754| Champ | Description |2763| Champ | Description |

2755| :- | :- |2764| :- | :- |

2756| `id` | Identifiant de tâche cron |2765| `id` | Identifiant de tâche cron |

2757| `schedule` | Expression cron, par exemple `0 9 * * 1-5` |2766| `schedule` | Expression cron, par exemple `0 9 * * 1-5` |

2758| `recurring` | `false` pour les réveils ponctuels dont le calendrier encode un seul temps de déclenchement, `true` pour les tâches qui se redéclenchent à chaque correspondance |2767| `recurring` | `false` pour les réveils ponctuels dont l'horaire encode un seul moment de déclenchement, `true` pour les tâches qui se redéclenchent à chaque correspondance |

2759| `prompt` | Invite soumise quand le cron se déclenche, plafonnée à 1 000 caractères avec le même marqueur `… [+N chars]` |2768| `prompt` | Invite soumise quand le cron se déclenche, plafonnée à 1000 caractères avec le même marqueur `… [+N chars]` |

2760 2769 

2761Cet exemple montre une entrée Stop avec une tâche shell en vol et un cron récurrent :2770Cet exemple montre une entrée Stop avec une tâche shell en vol et un cron récurrent :

2762 2771 


2810}2819}

2811```2820```

2812 2821 

2813Utilisez `additionalContext` quand le hook fonctionne comme prévu et donne des conseils à Claude, comme « exécutez la suite de tests avant de terminer ». Cela garde la conversation en cours via les mêmes protections de boucle que `decision: "block"`, à savoir l'entrée `stop_hook_active` et le plafond de 8 continuations consécutives, mais la transcription l'étiquette `Stop hook feedback` et aucune notification d'erreur de hook n'est montrée :2822Utilisez `additionalContext` quand le hook fonctionne comme prévu et donne des conseils à Claude, comme « exécutez la suite de tests avant de terminer ». Cela garde la conversation en cours à travers les mêmes protections de boucle que `decision: "block"`, à savoir l'entrée `stop_hook_active` et le plafond de 8 continuations consécutives, mais la transcription l'étiquette `Stop hook feedback` et aucune notification d'erreur de hook n'est montrée :

2814 2823 

2815```json theme={null}2824```json theme={null}

2816{2825{


2825 StopFailure2834 StopFailure

2826</h3>2835</h3>

2827 2836 

2828S'exécute à la place de [Stop](#stop) quand le tour se termine en raison d'une erreur API. Claude Code ignore la sortie et le code de sortie du hook, à part [`terminalSequence`](#emit-terminal-notifications). Utilisez ceci pour enregistrer les échecs, envoyer des alertes, ou prendre des actions de récupération quand Claude ne peut pas terminer une réponse en raison des limites de débit, des problèmes d'authentification, ou d'autres erreurs API.2837S'exécute à la place de [Stop](#stop) quand le tour se termine en raison d'une erreur API. Claude Code ignore la sortie du hook et le code de sortie, à part [`terminalSequence`](#emit-terminal-notifications). Utilisez ceci pour enregistrer les échecs, envoyer des alertes, ou prendre des actions de récupération quand Claude ne peut pas terminer une réponse en raison des limites de débit, des problèmes d'authentification, ou d'autres erreurs API.

2829 2838 

2830<h4 id="stopfailure-input">2839<h4 id="stopfailure-input">

2831 Entrée StopFailure2840 Entrée StopFailure


2857 TeammateIdle2866 TeammateIdle

2858</h3>2867</h3>

2859 2868 

2860S'exécute quand un coéquipier d'[équipe agent](/docs/fr/agent-teams) est sur le point de devenir inactif après avoir terminé son tour. Utilisez ceci pour appliquer les portes de qualité avant qu'un coéquipier arrête de travailler, comme exiger que les vérifications lint passent ou vérifier que les fichiers de sortie existent.2869S'exécute quand un coéquipier d'[équipe d'agents](/docs/fr/agent-teams) est sur le point de devenir inactif après avoir terminé son tour. Utilisez ceci pour appliquer les portes de qualité avant qu'un coéquipier arrête de travailler, comme exiger que les vérifications de lint passent ou vérifier que les fichiers de sortie existent.

2861 2870 

2862Les hooks TeammateIdle ne supportent pas les matchers et se déclenchent à chaque occurrence.2871Les hooks TeammateIdle ne supportent pas les matchers et se déclenchent à chaque occurrence.

2863 2872 


2979}2988}

2980```2989```

2981 2990 

2982Les changements `policy_settings` ne peuvent pas être bloqués. Les hooks se déclenchent toujours pour les sources `policy_settings` quand un fichier de paramètres gérés sur la machine change, pour que vous puissiez enregistrer ces édits, 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 quand les [paramètres gérés par le serveur](/docs/fr/server-managed-settings) arrivent ou se rafraîchissent.2991Les changements `policy_settings` ne peuvent pas être bloqués. Les hooks se déclenchent toujours pour les sources `policy_settings` quand un fichier de paramètres gérés sur la machine change, pour que vous puissiez enregistrer ces édits, 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` quand les [paramètres gérés par le serveur](/docs/fr/server-managed-settings) arrivent ou se rafraîchissent.

2983 2992 

2984Claude Code agit sur la décision de blocage de la sortie JSON d'un hook ConfigChange et rejette `systemMessage` et `continue`. Un changement bloqué ne surface aucun message pour vous ou Claude, que vous bloquez avec `reason` ou avec stderr en quittant 2. Claude Code écrit uniquement une ligne au journal de débogage.2993Claude Code agit sur la décision de blocage de la sortie JSON d'un hook ConfigChange et rejette `systemMessage` et `continue`. Un changement bloqué ne surface aucun message à vous ou à Claude, que vous bloquez avec `reason` ou avec stderr en quittant 2. Claude Code écrit uniquement une ligne au journal de débogage.

2985 2994 

2986<h3 id="cwdchanged">2995<h3 id="cwdchanged">

2987 CwdChanged2996 CwdChanged


2989 2998 

2990S'exécute quand une commande shell dans la conversation principale change le répertoire de travail, par exemple quand Claude exécute une commande `cd`. Utilisez ceci pour réagir aux changements de répertoire : recharger les variables d'environnement, activer les chaînes d'outils spécifiques au projet, ou exécuter les scripts de configuration automatiquement. S'apparie avec [FileChanged](#filechanged) pour les outils comme [direnv](https://direnv.net/) qui gèrent l'environnement par répertoire.2999S'exécute quand une commande shell dans la conversation principale change le répertoire de travail, par exemple quand Claude exécute une commande `cd`. Utilisez ceci pour réagir aux changements de répertoire : recharger les variables d'environnement, activer les chaînes d'outils spécifiques au projet, ou exécuter les scripts de configuration automatiquement. S'apparie avec [FileChanged](#filechanged) pour les outils comme [direnv](https://direnv.net/) qui gèrent l'environnement par répertoire.

2991 3000 

2992Les 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](#cwdchanged), quand Claude Code les efface.3001Les 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, quand Claude Code les efface.

2993 3002 

2994CwdChanged ne supporte pas les matchers et se déclenche à chaque occurrence.3003CwdChanged ne supporte pas les matchers et se déclenche à chaque occurrence.

2995 3004 


3018 3027 

3019| Champ | Description |3028| Champ | Description |

3020| :- | :- |3029| :- | :- |

3021| `watchPaths` | Tableau de chemins absolus. Remplace la liste de surveillance dynamique actuelle. Les chemins de votre configuration `matcher` sont toujours surveillés. Retourner un tableau vide efface la liste dynamique, ce qui est typique quand vous entrez un nouveau répertoire |3030| `watchPaths` | Tableau de chemins absolus. Remplace la liste de surveillance dynamique actuelle. Les chemins de votre configuration `matcher` sont toujours surveillés. Retourner un tableau vide efface la liste dynamique, ce qui est typique quand vous entrez dans un nouveau répertoire |

3022 3031 

3023Les hooks CwdChanged n'ont pas de contrôle de décision. Ils ne peuvent pas bloquer le changement de répertoire.3032Les hooks CwdChanged n'ont pas de contrôle de décision. Ils ne peuvent pas bloquer le changement de répertoire.

3024 3033 


3028 DirectoryAdded3037 DirectoryAdded

3029</h3>3038</h3>

3030 3039 

3031S'exécute après que vous ajoutiez un répertoire de travail en cours de session avec la commande `/add-dir`, ou après qu'un client SDK en ajoute un avec la demande de contrôle `register_repo_root`. Utilisez ceci pour préparer un référentiel nouvellement ajouté, par exemple en installant ses dépendances.3040S'exécute après que vous ajoutiez un répertoire de travail en cours de session avec la commande `/add-dir`, ou après qu'un client SDK en ajoute un avec la requête de contrôle `register_repo_root`. Utilisez ceci pour préparer un référentiel nouvellement ajouté, par exemple en installant ses dépendances.

3032 3041 

3033Claude Code ne déclenche pas cet événement quand :3042Claude Code ne déclenche pas cet événement quand :

3034 3043 


3036* Vous ajoutez un répertoire sur l'onglet Workspace `/permissions`3045* Vous ajoutez un répertoire sur l'onglet Workspace `/permissions`

3037* Vous ajoutez un répertoire qui est déjà un répertoire de travail ou à l'intérieur d'un3046* Vous ajoutez un répertoire qui est déjà un répertoire de travail ou à l'intérieur d'un

3038 3047 

3039Claude Code se déclenche après avoir rafraîchi l'état du sandbox et de la permission, donc les outils en sandbox voient déjà le nouveau répertoire quand votre hook s'exécute. Les commandes du hook elles-mêmes s'exécutent sans sandbox.3048Claude Code se déclenche DirectoryAdded après avoir rafraîchi l'état du sandbox et de la permission, donc les outils en sandbox voient déjà le nouveau répertoire quand votre hook s'exécute. Les commandes du hook elles-mêmes s'exécutent sans sandbox.

3040 3049 

3041Claude 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.3050Claude 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.

3042 3051 


3045| Matcher | Quand il se déclenche |3054| Matcher | Quand il se déclenche |

3046| :- | :- |3055| :- | :- |

3047| `slash_command` | Vous ajoutez un répertoire avec `/add-dir` |3056| `slash_command` | Vous ajoutez un répertoire avec `/add-dir` |

3048| `register_repo_root` | Un client SDK ajoute un répertoire avec la demande de contrôle `register_repo_root` |3057| `register_repo_root` | Un client SDK ajoute un répertoire avec la requête de contrôle `register_repo_root` |

3049 3058 

3050<h4 id="directoryadded-input">3059<h4 id="directoryadded-input">

3051 Entrée DirectoryAdded3060 Entrée DirectoryAdded


3056| Champ | Description |3065| Champ | Description |

3057| :- | :- |3066| :- | :- |

3058| `directory` | Chemin absolu du répertoire qui a été ajouté |3067| `directory` | Chemin absolu du répertoire qui a été ajouté |

3059| `source` | Comment le répertoire a été ajouté, `"slash_command"` pour `/add-dir` ou `"register_repo_root"` pour la demande de contrôle SDK |3068| `source` | Comment le répertoire a été ajouté, `"slash_command"` pour `/add-dir` ou `"register_repo_root"` pour la requête de contrôle SDK |

3060 3069 

3061```json theme={null}3070```json theme={null}

3062{3071{


3085* **Construire la liste de surveillance** : la valeur est divisée sur `|` et chaque segment est enregistré comme un nom de fichier littéral dans le répertoire de travail, donc `".envrc|.env"` surveille exactement ces deux fichiers. Les modèles regex ne sont pas utiles ici : une valeur comme `^\.env` surveillerait un fichier littéralement nommé `^\.env`.3094* **Construire la liste de surveillance** : la valeur est divisée sur `|` et chaque segment est enregistré comme un nom de fichier littéral dans le répertoire de travail, donc `".envrc|.env"` surveille exactement ces deux fichiers. Les modèles regex ne sont pas utiles ici : une valeur comme `^\.env` surveillerait un fichier littéralement nommé `^\.env`.

3086* **Filtrer quels hooks s'exécutent** : quand un fichier surveillé change, la même valeur filtre quels groupes de hook s'exécutent en utilisant les [règles de matcher](#matcher-patterns) standard contre le nom de base du fichier modifié.3095* **Filtrer quels hooks s'exécutent** : quand un fichier surveillé change, la même valeur filtre quels groupes de hook s'exécutent en utilisant les [règles de matcher](#matcher-patterns) standard contre le nom de base du fichier modifié.

3087 3096 

3088Cet exemple normalise les fins de ligne dans `data.csv` après n'importe quel changement, y compris une commande `Bash` ou un script externe réécrivant le fichier :3097Cet exemple normalise les fins de ligne dans `data.csv` après n'importe quel changement, y compris un appel d'outil `Bash` ou un script externe réécrivant le fichier :

3089 3098 

3090```json theme={null}3099```json theme={null}

3091{3100{


3105}3114}

3106```3115```

3107 3116 

3108Le hook lit le chemin absolu du fichier modifié depuis le champ `file_path` de l'[entrée JSON](#filechanged-input) sur stdin. Sa garde `grep` teste pour la même chose que `perl` supprime, un CR à la fin d'une ligne, donc l'exécution après une normalisation quitte sans toucher le fichier. Une garde plus lâche boucle pour toujours, parce que `perl -i` réécrit le fichier même quand il ne substitue rien et Claude Code exécute le hook à nouveau après chaque réécriture. Enregistrez ce script à `/path/to/normalize-line-endings.sh` et rendez-le exécutable :3117Le hook lit le chemin absolu du fichier modifié du champ `file_path` de l'[entrée JSON](#filechanged-input) sur stdin. Sa garde `grep` teste la même chose que `perl` supprime, un CR à la fin d'une ligne, donc l'exécution après une normalisation quitte sans toucher le fichier. Une garde plus lâche boucle pour toujours, parce que `perl -i` réécrit le fichier même quand il ne substitue rien et Claude Code exécute le hook à nouveau après chaque réécriture. Enregistrez ce script à `/path/to/normalize-line-endings.sh` et rendez-le exécutable :

3109 3118 

3110```bash theme={null}3119```bash theme={null}

3111#!/bin/bash3120#!/bin/bash


3117 3126 

3118Pour confirmer 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 termine avec les fins de ligne LF.3127Pour confirmer 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 termine avec les fins de ligne LF.

3119 3128 

3120Pour surveiller les fichiers que vous ne pouvez pas nommer à l'avance, retournez [`watchPaths`](#filechanged-output) d'un hook pour mettre à jour la liste de surveillance dynamiquement. Claude Code démarre l'observateur uniquement quand quelque chose nomme un fichier à surveiller, donc semez 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 retourne `watchPaths`. Le matcher filtre toujours quels groupes de hook s'exécutent quand un fichier surveillé change, donc donnez au groupe qui gère les chemins dynamiques un matcher omis, qui correspond à chaque fichier surveillé et n'ajoute rien à la liste de surveillance. Un matcher `"*"` correspond également à chaque fichier, mais Claude Code l'enregistre dans la liste de surveillance comme n'importe quelle autre valeur, comme un fichier littéralement nommé `*`.3129Pour surveiller les fichiers que vous ne pouvez pas nommer à l'avance, retournez [`watchPaths`](#filechanged-output) d'un hook pour mettre à jour la liste de surveillance dynamiquement. Claude Code démarre l'observateur uniquement quand quelque chose nomme un fichier à surveiller, donc semez 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 retourne `watchPaths`. Le matcher filtre toujours quels groupes de hook s'exécutent quand un fichier surveillé change, donc donnez au groupe qui gère les chemins dynamiques un matcher omis, qui correspond à chaque fichier surveillé et n'ajoute rien à la liste de surveillance. Un matcher `"*"` correspond également à chaque fichier, mais Claude Code l'enregistre dans la liste de surveillance comme un fichier littéral nommé `*`.

3121 3130 

3122Les 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), quand Claude Code les efface.3131Les 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), quand Claude Code les efface.

3123 3132 


3229 3238 

3230* vous quittez une session `--worktree` et choisissez de la supprimer3239* vous quittez une session `--worktree` et choisissez de la supprimer

3231* un sous-agent avec `isolation: "worktree"` se termine3240* un sous-agent avec `isolation: "worktree"` se termine

3232* vous supprimez une [session en arrière-plan](/docs/fr/agent-view#what-deleting-a-session-removes) dont le worktree a été créé par le hook3241* vous supprimez une [session en arrière-plan](/docs/fr/agent-view#what-deleting-a-session-removes) dont le worktree le hook a créé

3233 3242 

3234Pour les worktrees basés sur git, Claude Code gère le nettoyage automatiquement 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 :3243Pour les worktrees basés sur git, Claude Code gère le nettoyage automatiquement 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 :

3235 3244 


3298 3307 

3299Quittez avec le code 2 pour bloquer la compaction. Pour un `/compact` manuel, le message stderr est montré à l'utilisateur. Vous pouvez également bloquer en retournant JSON avec `"decision": "block"`.3308Quittez avec le code 2 pour bloquer la compaction. Pour un `/compact` manuel, le message stderr est montré à l'utilisateur. Vous pouvez également bloquer en retournant JSON avec `"decision": "block"`.

3300 3309 

3301Bloquer la compaction automatique a des effets différents selon quand elle se déclenche. Si la compaction a été déclenchée de manière proactive avant la limite de contexte, Claude Code la saute et la conversation continue sans compaction. Si la compaction a été déclenchée pour récupérer d'une erreur de limite de contexte déjà retourné par l'API, l'erreur sous-jacente surface et la demande actuelle échoue.3310Bloquer la compaction automatique a des effets différents selon quand elle se déclenche. Si la compaction a été déclenchée de manière proactive avant la limite de contexte, Claude Code la saute et la conversation continue sans compaction. Si la compaction a été déclenchée pour récupérer d'une erreur de limite de contexte déjà retourné par l'API, l'erreur sous-jacente surface et la requête actuelle échoue.

3302 3311 

3303Claude Code rejette les champs `systemMessage` et `continue` d'un hook PreCompact.3312Claude Code rejette les champs `systemMessage` et `continue` d'un hook PreCompact.

3304 3313 


3349}3358}

3350```3359```

3351 3360 

3352Les hooks PostCompact n'ont pas de contrôle de décision. Ils ne peuvent pas affecter le résultat de compaction mais peuvent effectuer les tâches de suivi.3361Les hooks PostCompact n'ont pas de contrôle de décision. Ils ne peuvent pas affecter le résultat de la compaction mais peuvent effectuer les tâches de suivi.

3353 3362 

3354<h3 id="premodelswitch">3363<h3 id="premodelswitch">

3355 PreModelSwitch3364 PreModelSwitch

3356</h3>3365</h3>

3357 3366 

3358S'exécute avant que Claude Code applique un changement de modèle que vous ou un client avez demandé. Utilisez-le pour bloquer un changement, exiger une confirmation, ou montrer quel coût le changement aura avant qu'il se produise.3367S'exécute avant que Claude Code applique un changement de modèle que vous ou un client avez demandé. Utilisez-le pour bloquer un changement, exiger une confirmation, ou montrer quel changement coûtera avant qu'il se produise.

3359 3368 

3360PreModelSwitch nécessite Claude Code v2.1.251 ou ultérieur. Claude Code l'exécute pour ces demandes :3369PreModelSwitch nécessite Claude Code v2.1.251 ou ultérieur. Claude Code l'exécute pour ces requêtes :

3361 3370 

3362* `/model <name>` et le sélecteur `/model`3371* `/model <name>` et le sélecteur `/model`

3363* Le sélecteur de modèle `Option+P` ou `Alt+P`3372* Le sélecteur de modèle `Option+P` ou `Alt+P`

3364* Le paramètre Model dans `/config`3373* Le paramètre Model dans `/config`

3365* Activer le [mode rapide](/docs/fr/fast-mode) quand cela change le modèle de la session3374* Activer le [mode rapide](/docs/fr/fast-mode) quand cela change le modèle de la session

3366* Une demande `set_model`, ou un changement de modèle dans une demande `apply_flag_settings`, d'un hôte [Agent SDK](/docs/fr/agent-sdk/typescript#query-object) ou [Remote Control](/docs/fr/remote-control)3375* Une requête `set_model`, ou un changement de modèle dans une requête `apply_flag_settings`, d'un hôte [Agent SDK](/docs/fr/agent-sdk/typescript#query-object) ou [Remote Control](/docs/fr/remote-control)

3367 3376 

3368Claude Code n'exécute pas les hooks PreModelSwitch pour les changements qu'il fait seul, comme un [fallback de modèle automatique](/docs/fr/model-config#automatic-model-fallback) ou la restauration du modèle quand vous reprenez une session. Ces changements atteignent [PostModelSwitch](#postmodelswitch) uniquement.3377Claude Code n'exécute pas les hooks PreModelSwitch pour les changements qu'il fait seul, comme un [fallback de modèle automatique](/docs/fr/model-config#automatic-model-fallback) ou la restauration du modèle quand vous reprenez une session. Ces changements atteignent [PostModelSwitch](#postmodelswitch) uniquement.

3369 3378 

3370Claude Code compare le matcher contre le nom canonique du modèle vers lequel la session bascule, en ignorant tout suffixe `[1m]`. Un alias comme `opus`, un ID de modèle daté, et un ID spécifique au fournisseur comme un ID de modèle Amazon Bedrock correspondent tous au nom canonique unique auquel ils se résolvent, donc `claude-opus-5` couvre chaque orthographe d'Opus 5.3379Claude Code compare le matcher contre le nom canonique du modèle vers lequel la session change, en ignorant tout suffixe `[1m]`. Un alias comme `opus`, un ID de modèle daté, et un ID spécifique au fournisseur comme un ID de modèle Amazon Bedrock correspondent tous au nom canonique unique auquel ils se résolvent, donc `claude-opus-5` couvre chaque orthographe d'Opus 5.

3371 3380 

3372Quand 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 indépendamment du matcher. Un hook qui bloque devrait donc vérifier `to_model` de son entrée plutôt que de compter uniquement sur le matcher.3381Quand 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 indépendamment du matcher. Un hook qui bloque devrait donc vérifier `to_model` de son entrée plutôt que de compter uniquement sur le matcher.

3373 3382 


3443 Entrée PreModelSwitch3452 Entrée PreModelSwitch

3444</h4>3453</h4>

3445 3454 

3446En 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 quel coût a la renvoi de la conversation au nouveau modèle, donc un hook peut montrer ce chiffre avant que le changement se produise.3455En plus des [champs d'entrée communs](#common-input-fields), les hooks PreModelSwitch reçoivent les champs du tableau ci-dessous. Les cinq derniers décrivent quel changement de modèle coûte de renvoyer la conversation au nouveau modèle, donc un hook peut montrer ce chiffre avant que le changement se produise.

3447 3456 

3448| Champ | Type | Description |3457| Champ | Type | Description |

3449| :- | :- | :- |3458| :- | :- | :- |

3450| `from_model` | string | ID de modèle que le changement change de |3459| `from_model` | string | ID de modèle du changement |

3451| `to_model` | string | ID de modèle que le changement change vers. Le matcher compare contre le nom canonique de ce modèle |3460| `to_model` | string | ID de modèle du changement vers. Le matcher compare contre le nom canonique de ce modèle |

3452| `requested_model` | string ou `null` | Le modèle que la demande a nommé : un alias comme `opus`, un ID de modèle complet, ou `null` quand la demande était pour le modèle par défaut |3461| `requested_model` | string ou `null` | Le modèle que la requête a nommé : un alias comme `opus`, un ID de modèle complet, ou `null` quand la requête était pour le modèle par défaut |

3453| `source` | string | D'où provient 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 demande `set_model`, ou un changement de modèle dans une demande `apply_flag_settings`, d'un hôte Agent SDK ou Remote Control |3462| `source` | string | D'où provient la requête : `"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`, d'un hôte Agent SDK ou Remote Control |

3454| `context_tokens` | number | Tokens que la demande suivante renvoie comme son invite : les tokens d'entrée, de lecture de cache, de création de cache, et de sortie de la dernière réponse dans la conversation principale, combinés. `0` avant la première réponse |3463| `context_tokens` | number | Tokens que la requête suivante renvoie comme son invite : les tokens d'entrée, de lecture de cache, de création de cache, et de sortie de la dernière réponse dans la conversation principale, combinés. `0` avant la première réponse |

3455| `prompt_cache_warm` | boolean | Si le cache d'invite du modèle actuel est probablement toujours chaud, ce qui signifie que le changement le perd |3464| `prompt_cache_warm` | boolean | Si le cache d'invite du modèle actuel est probablement toujours chaud, ce qui signifie que le changement le perd |

3456| `cache_ttl` | string | [Durée de vie du cache d'invite](/docs/fr/prompt-caching#cache-lifetime) que Claude Code demande pour cette session : `"5m"` ou `"1h"` |3465| `cache_ttl` | string | [Durée de vie du cache d'invite](/docs/fr/prompt-caching#cache-lifetime) que Claude Code demande pour cette session : `"5m"` ou `"1h"` |

3457| `estimated_cache_write_usd` | number | Coût estimé en dollars US de l'écriture de `context_tokens` dans le cache d'invite sur `to_model` au taux `cache_ttl`, excluant la réponse suivante. Le serveur n'a peut-être pas besoin de re-cacher le contexte entier, donc traitez-le comme une estimation |3466| `estimated_cache_write_usd` | number | Coût estimé en dollars US de l'écriture de `context_tokens` dans le cache d'invite sur `to_model` au taux `cache_ttl`, excluant la réponse suivante. Le serveur n'a peut-être pas besoin de re-cacher le contexte entier, donc traitez-le comme une estimation |


3487 3496 

3488| Champ | Description |3497| Champ | Description |

3489| :- | :- |3498| :- | :- |

3490| `permissionDecision` | `"allow"` procède et ignore la [confirmation que Claude Code montre pendant que le cache d'invite est chaud](/docs/fr/prompt-caching#switching-models). `"deny"` annule le changement. `"ask"` invite l'utilisateur à le confirmer |3499| `permissionDecision` | `"allow"` procède et ignore la [confirmation que Claude Code montre pendant que le cache d'invite est chaud](/docs/fr/prompt-caching#switching-models). `"deny"` annule le changement. `"ask"` demande à l'utilisateur de le confirmer |

3491| `permissionDecisionReason` | Pour `"deny"`, montré à l'utilisateur comme la raison du blocage du changement, ou retourné comme l'erreur pour une demande `set_model`. Pour `"ask"`, montré dans l'invite de confirmation. Ignoré pour `"allow"` |3500| `permissionDecisionReason` | Pour `"deny"`, montré à l'utilisateur comme la raison du blocage du changement, ou retourné comme l'erreur pour une requête `set_model`. Pour `"ask"`, montré dans l'invite de confirmation. Ignoré pour `"allow"` |

3492 3501 

3493Seul `/model` dans une session interactive peut montrer l'invite `"ask"`. Sur chaque autre surface, y compris le mode non-interactif avec le drapeau `-p`, `/config`, et les demandes `set_model`, Claude Code traite `"ask"` comme un refus.3502Seul `/model` dans une session interactive peut montrer l'invite `"ask"`. Sur chaque autre surface, y compris le mode non-interactif avec le drapeau `-p`, `/config`, et les requêtes `set_model`, Claude Code traite `"ask"` comme un refus.

3494 3503 

3495Cet exemple demande à l'utilisateur de confirmer et cite le nombre de tokens de `context_tokens` :3504Cet exemple demande à l'utilisateur de confirmer et cite le nombre de tokens de `context_tokens` :

3496 3505 


3506 3515 

3507Quand plusieurs hooks PreModelSwitch retournent des décisions différentes, la priorité est `deny` > `ask` > `allow`.3516Quand plusieurs hooks PreModelSwitch retournent des décisions différentes, la priorité est `deny` > `ask` > `allow`.

3508 3517 

3509Claude Code montre à l'utilisateur n'importe quel `systemMessage` que votre hook retourne indépendamment de la décision, donc un hook de rapport de coût peut retourner `{"systemMessage": "..."}` et quitter 0.3518Claude Code montre à l'utilisateur n'importe quel `systemMessage` que votre hook retourne indépendamment de la décision, donc un hook de rapport de coûts peut retourner `{"systemMessage": "..."}` et quitter 0.

3510 3519 

3511Un hook PreModelSwitch qui ne répond pas avant son délai d'expiration bloque le changement. Sur [PreToolUse](#timeouts), par contraste, un hook de commande qui expire laisse l'appel d'outil continuer. Le délai d'expiration par défaut pour cet événement est 30 secondes. `PreModelSwitch` exécute uniquement les hooks `command`, `http`, et `mcp_tool`, donc les défauts `prompt` et `agent` ne s'appliquent pas.3520Un hook PreModelSwitch qui ne répond pas avant son délai d'expiration bloque le changement. Sur [PreToolUse](#timeouts), par contraste, un hook de commande qui expire laisse l'appel d'outil continuer. Le délai d'expiration par défaut pour cet événement est 30 secondes. `PreModelSwitch` exécute uniquement les hooks `command`, `http`, et `mcp_tool`, donc les défauts `prompt` et `agent` ne s'appliquent pas.

3512 3521 


3527 3536 

3528Claude Code n'exécute pas les hooks PostModelSwitch quand un modèle d'une [chaîne de modèles de fallback](/docs/fr/model-config#fallback-model-chains) sert un tour, parce que cette substitution dure un tour et laisse le modèle de la session inchangé.3537Claude Code n'exécute pas les hooks PostModelSwitch quand un modèle d'une [chaîne de modèles de fallback](/docs/fr/model-config#fallback-model-chains) sert un tour, parce que cette substitution dure un tour et laisse le modèle de la session inchangé.

3529 3538 

3530Le matcher suit les mêmes règles que [PreModelSwitch](#premodelswitch) : Claude Code le compare contre le nom canonique du modèle vers lequel la session a basculé.3539Le matcher suit les mêmes règles que [PreModelSwitch](#premodelswitch) : Claude Code le compare contre le nom canonique du modèle vers lequel la session a changé.

3531 3540 

3532Cet exemple ajoute des conseils chaque fois que le modèle de la session change vers n'importe quel modèle Opus :3541Cet exemple ajoute des conseils chaque fois que le modèle de la session change vers n'importe quel modèle Opus :

3533 3542 


3549}3558}

3550```3559```

3551 3560 

3552Pour confirmer que le hook fonctionne, basculez vers un modèle Opus à partir d'une session exécutant un modèle différent, par exemple exécutez `/model opus` à partir d'une session Sonnet, puis demandez à Claude quels conseils il a sur le modèle actuel.3561Pour confirmer que le hook fonctionne, changez vers un modèle Opus à partir d'une session exécutant un modèle différent, par exemple exécutez `/model opus` à partir d'une session Sonnet, puis demandez à Claude quels conseils il a sur le modèle actuel.

3553 3562 

3554<h4 id="postmodelswitch-input">3563<h4 id="postmodelswitch-input">

3555 Entrée PostModelSwitch3564 Entrée PostModelSwitch


3563 Contrôle de décision PostModelSwitch3572 Contrôle de décision PostModelSwitch

3564</h4>3573</h4>

3565 3574 

3566Claude Code prend votre stdout brut du hook sur la sortie 0, ou `additionalContext` de la sortie JSON, et le livre à Claude avec la demande suivante après le changement. En plus des [champs de sortie JSON](#json-output) disponibles pour tous les hooks, vous pouvez retourner :3575Claude Code prend votre [sortie standard brute](#exit-code-0) du hook sur la sortie 0, ou `additionalContext` de la sortie JSON, et la livre à Claude avec la requête suivante après le changement. En plus des [champs de sortie JSON](#json-output) disponibles pour tous les hooks, vous pouvez retourner :

3567 3576 

3568| Champ | Description |3577| Champ | Description |

3569| :- | :- |3578| :- | :- |

3570| `additionalContext` | Chaîne ajoutée au contexte de Claude avec la demande suivante. Voir [Ajouter du contexte pour Claude](#add-context-for-claude) |3579| `additionalContext` | Chaîne ajoutée au contexte de Claude avec la requête suivante. Voir [Ajouter du contexte pour Claude](#add-context-for-claude) |

3571 3580 

3572Si le hook n'a pas terminé dans les cinq secondes après que vous envoyiez la demande suivante, Claude Code envoie cette demande sans la sortie et l'attache à la demande suivante à la place. Si le modèle change plusieurs fois avant la demande suivante, Claude Code livre uniquement la sortie pour le changement vers le modèle cible final.3581Si le hook n'a pas terminé dans les cinq secondes après que vous envoyiez la requête suivante, Claude Code envoie cette requête sans la sortie et l'attache à la requête suivante à la place. Si le modèle change plusieurs fois avant la requête suivante, Claude Code livre uniquement la sortie pour le modèle cible du dernier changement.

3573 3582 

3574<h3 id="sessionend">3583<h3 id="sessionend">

3575 SessionEnd3584 SessionEnd


3582| Raison | Description |3591| Raison | Description |

3583| :- | :- |3592| :- | :- |

3584| `clear` | Session effacée avec la commande `/clear` |3593| `clear` | Session effacée avec la commande `/clear` |

3585| `resume` | Session basculée via `/resume` interactif |3594| `resume` | Session changée via `/resume` interactif |

3586| `logout` | L'utilisateur s'est déconnecté |3595| `logout` | L'utilisateur s'est déconnecté |

3587| `prompt_input_exit` | L'utilisateur a quitté pendant que l'entrée d'invite était visible |3596| `prompt_input_exit` | L'utilisateur a quitté pendant que l'entrée d'invite était visible |

3588| `other` | Autres raisons de sortie |3597| `other` | Autres raisons de sortie |


3606 3615 

3607Les hooks SessionEnd n'ont pas de contrôle de décision. Ils ne peuvent pas bloquer la terminaison de la session mais peuvent effectuer les tâches de nettoyage. Claude Code rejette leurs [champs de sortie JSON](#json-output), comme `systemMessage`.3616Les hooks SessionEnd n'ont pas de contrôle de décision. Ils ne peuvent pas bloquer la terminaison de la session mais peuvent effectuer les tâches de nettoyage. Claude Code rejette leurs [champs de sortie JSON](#json-output), comme `systemMessage`.

3608 3617 

3609Les hooks SessionEnd ont un délai d'expiration par défaut de 1,5 secondes. Il s'applique quand vous quittez, exécutez `/clear`, ou basculez les sessions avec `/resume` interactif. Vous pouvez donner à un hook plus de temps de deux façons :3618Les hooks SessionEnd ont un délai d'expiration par défaut de 1,5 secondes. Il s'applique quand vous quittez, exécutez `/clear`, ou changez de sessions avec `/resume` interactif. Vous pouvez donner à un hook plus de temps de deux façons :

3610 3619 

3611* **`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é dans vos fichiers de paramètres, jusqu'à 60 secondes. Si vous augmentez le budget de cette façon, un hook sans son propre `timeout` garde toujours le défaut. Les délais d'expiration définis sur les hooks fournis par plugin ne lèvent pas le budget.3620* **`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é dans vos fichiers de paramètres, jusqu'à 60 secondes. Si vous augmentez le budget de cette façon, un hook sans son propre `timeout` garde toujours le défaut. Les délais d'expiration définis sur les hooks fournis par plugin ne lèvent pas le budget.

3612* **`CLAUDE_CODE_SESSIONEND_HOOKS_TIMEOUT_MS`** : définissez cette variable d'environnement en millisecondes pour remplacer le budget explicitement. La valeur que vous définissez devient également le délai d'expiration pour chaque hook sans son propre `timeout`.3621* **`CLAUDE_CODE_SESSIONEND_HOOKS_TIMEOUT_MS`** : définissez cette variable d'environnement en millisecondes pour remplacer le budget explicitement. La valeur que vous définissez devient également le délai d'expiration pour chaque hook sans son propre `timeout`.


3623 Elicitation3632 Elicitation

3624</h3>3633</h3>

3625 3634 

3626S'exécute quand un serveur MCP demande l'entrée utilisateur en cours de tâche. Par défaut, Claude Code montre un dialogue interactif pour que l'utilisateur réponde. Les hooks peuvent intercepter cette demande et répondre par programmation, ignorant entièrement le dialogue.3635S'exécute quand un serveur MCP demande l'entrée de l'utilisateur en cours de tâche. Par défaut, Claude Code montre un dialogue interactif pour que l'utilisateur réponde. Les hooks peuvent intercepter cette requête et répondre par programmation, ignorant entièrement le dialogue.

3627 3636 

3628Le champ matcher correspond au nom du serveur MCP.3637Le champ matcher correspond au nom du serveur MCP.

3629 3638 


3688 3697 

3689| Champ | Valeurs | Description |3698| Champ | Valeurs | Description |

3690| :- | :- | :- |3699| :- | :- | :- |

3691| `action` | `accept`, `decline`, `cancel` | Si vous acceptez, refusez, ou annulez la demande |3700| `action` | `accept`, `decline`, `cancel` | Si vous acceptez, refusez, ou annulez la requête |

3692| `content` | object | Valeurs des champs de formulaire à soumettre. Utilisé uniquement quand `action` est `accept` |3701| `content` | object | Valeurs des champs de formulaire à soumettre. Utilisé uniquement quand `action` est `accept` |

3693 3702 

3694Le code de sortie 2 refuse l'élicitation. Claude Code ne montre votre message stderr nulle part.3703Le code de sortie 2 refuse l'élicitation. Claude Code ne montre votre message stderr nulle part.

hooks-guide.md +1 −1

Details

196| `elicitation_url_dialog` | Un serveur MCP vous demande d'ouvrir une URL de navigateur et vous n'avez pas tapé pendant environ six secondes |196| `elicitation_url_dialog` | Un serveur MCP vous demande d'ouvrir une URL de navigateur et vous n'avez pas tapé pendant environ six secondes |

197| `elicitation_complete` | Un serveur MCP signale qu'une [élicitation en mode URL](/docs/fr/hooks#elicitation-input) est complète |197| `elicitation_complete` | Un serveur MCP signale qu'une [élicitation en mode URL](/docs/fr/hooks#elicitation-input) est complète |

198| `elicitation_response` | Une réponse d'élicitation MCP est renvoyée au serveur |198| `elicitation_response` | Une réponse d'élicitation MCP est renvoyée au serveur |

199| `agent_needs_input` | Une session en arrière-plan commence à attendre votre entrée tandis que la [vue agent](/docs/fr/agent-view) est ouverte, ou la session actuelle vous pose une [question de configuration de terminal d'un coéquipier d'équipe agent](/docs/fr/agent-teams#choose-a-display-mode) et vous n'avez pas tapé pendant environ six secondes |199| `agent_needs_input` | Une session en arrière-plan commence à attendre votre entrée tandis que la [vue agent](/docs/fr/agent-view) est ouverte. Se déclenche également lorsqu'une session de terminal vous pose une [question de configuration de terminal d'un coéquipier d'équipe agent](/docs/fr/agent-teams#choose-a-display-mode) ou l'avis du mode auto concernant les [frais de demande de classificateur](/docs/fr/auto-mode-classifier-billing) et vous n'avez pas tapé pendant environ six secondes |

200| `agent_completed` | Une session en arrière-plan se termine ou échoue. Se déclenche uniquement lorsque la [vue agent](/docs/fr/agent-view) est ouverte |200| `agent_completed` | Une session en arrière-plan se termine ou échoue. Se déclenche uniquement lorsque la [vue agent](/docs/fr/agent-view) est ouverte |

201| `quota_auto_resume_fired` | Claude Code continue votre tâche après qu'une limite d'utilisation claude.ai l'ait mise en pause : au réinitialisation, ou plus tôt lorsque quelque chose que vous faites dans Claude Code pendant l'attente, comme l'ajout de crédits d'utilisation, la mise à niveau de votre plan, ou le changement de modèles, rend l'utilisation disponible à nouveau, avec l'[exception de paramètre de modèle](/docs/fr/interactive-mode#wait-for-a-usage-limit-to-reset) |201| `quota_auto_resume_fired` | Claude Code continue votre tâche après qu'une limite d'utilisation claude.ai l'ait mise en pause : au réinitialisation, ou plus tôt lorsque quelque chose que vous faites dans Claude Code pendant l'attente, comme l'ajout de crédits d'utilisation, la mise à niveau de votre plan, ou le changement de modèles, rend l'utilisation disponible à nouveau, avec l'[exception de paramètre de modèle](/docs/fr/interactive-mode#wait-for-a-usage-limit-to-reset) |

202| `quota_auto_resume_stale` | Une limite d'utilisation claude.ai s'est réinitialisée tandis que votre ordinateur dormait pendant plus d'environ 30 minutes. Claude Code attend que vous appuyiez sur `Entrée` au lieu de continuer. Après un sommeil plus court, il continue et déclenche `quota_auto_resume_fired` à la place |202| `quota_auto_resume_stale` | Une limite d'utilisation claude.ai s'est réinitialisée tandis que votre ordinateur dormait pendant plus d'environ 30 minutes. Claude Code attend que vous appuyiez sur `Entrée` au lieu de continuer. Après un sommeil plus court, il continue et déclenche `quota_auto_resume_fired` à la place |

Details

358* Sur macOS et Linux, Claude Code termine les tâches en arrière-plan en cours d'exécution lorsque le système d'exploitation signale une pression mémoire critique, à condition que la session soit inactive depuis au moins 30 minutes et qu'aucun tour ou sous-agent ne soit en cours d'exécution. Nécessite Claude Code v2.1.193 ou version ultérieure358* Sur macOS et Linux, Claude Code termine les tâches en arrière-plan en cours d'exécution lorsque le système d'exploitation signale une pression mémoire critique, à condition que la session soit inactive depuis au moins 30 minutes et qu'aucun tour ou sous-agent ne soit en cours d'exécution. Nécessite Claude Code v2.1.193 ou version ultérieure

359 * Le [journal de débogage](/docs/fr/debug-your-config) indique pourquoi les tâches ont été arrêtées, ou pourquoi un événement de pression les a laissées en cours d'exécution359 * Le [journal de débogage](/docs/fr/debug-your-config) indique pourquoi les tâches ont été arrêtées, ou pourquoi un événement de pression les a laissées en cours d'exécution

360 * Définissez [`CLAUDE_CODE_DISABLE_BG_SHELL_PRESSURE_REAP`](/docs/fr/env-vars) sur `1` pour désactiver les arrêts dus à la pression mémoire360 * Définissez [`CLAUDE_CODE_DISABLE_BG_SHELL_PRESSURE_REAP`](/docs/fr/env-vars) sur `1` pour désactiver les arrêts dus à la pression mémoire

361* Les commandes en arrière-plan appartenant à un [sous-agent](/docs/fr/sub-agents) n'ont pas de limite de temps, sauf qu'une commande appartenant à un sous-agent s'exécutant au premier plan se termine lorsque ce sous-agent donne sa réponse finale ; voir [Commandes en arrière-plan](/docs/fr/tools-reference#background-commands) dans la référence des outils. Avant v2.1.218, ni la récolte de pression mémoire ni la limite de 60 minutes ne couvraient les commandes déplacées vers l'arrière-plan avec `Ctrl+B`361* Les commandes Bash et PowerShell en arrière-plan ont une limite de temps, comptée à partir du moment où la commande entre en arrière-plan : 30 minutes, ou le `timeout` que Claude demande lorsqu'il démarre une commande en arrière-plan, jusqu'à un maximum de 2 heures. Une commande qui se déplace vers l'arrière-plan pendant son exécution, par exemple avec `Ctrl+B`, obtient 30 minutes à partir du déplacement. Lorsqu'une commande atteint sa limite, Claude Code l'arrête et indique à Claude pourquoi, et Claude peut la redémarrer avec un `timeout` plus long si le travail en a encore besoin. Deux variables d'environnement augmentent les limites, en millisecondes, et aucune ne peut les raccourcir :

362 * Définissez [`BASH_DEFAULT_TIMEOUT_MS`](/docs/fr/env-vars) au-dessus de `1800000` pour remplacer la valeur par défaut de 30 minutes par cette valeur, pour les commandes déplacées également

363 * Définissez [`BASH_MAX_TIMEOUT_MS`](/docs/fr/env-vars) au-dessus de `7200000` pour augmenter le maximum de 2 heures. Définir `BASH_DEFAULT_TIMEOUT_MS` au-dessus de `7200000` l'augmente de la même manière

364* Une commande en arrière-plan qu'un [sous-agent](/docs/fr/sub-agents#run-subagents-in-foreground-or-background) au premier plan a démarrée se termine lorsque l'exécution de ce sous-agent se termine, qu'elle ait réussi, échoué ou ait été interrompue ; voir [Commandes en arrière-plan](/docs/fr/tools-reference#background-commands) dans la référence des outils

362 365 

363Pour désactiver toutes les fonctionnalités de tâche en arrière-plan, définissez la variable d'environnement `CLAUDE_CODE_DISABLE_BACKGROUND_TASKS` sur `1`. Voir [Variables d'environnement](/docs/fr/env-vars) pour plus de détails.366Pour désactiver toutes les fonctionnalités de tâche en arrière-plan, définissez la variable d'environnement `CLAUDE_CODE_DISABLE_BACKGROUND_TASKS` sur `1`. Voir [Variables d'environnement](/docs/fr/env-vars) pour plus de détails.

364 367 

keybindings.md +92 −89

Details

77 Actions disponibles77 Actions disponibles

78</h2>78</h2>

79 79 

80Les actions suivent un format `namespace:action`, tel que `chat:submit` pour envoyer un message ou `app:toggleTodos` pour afficher la liste des tâches. Chaque contexte a des actions spécifiques disponibles.80Les actions suivent un format `namespace:action`, comme `chat:submit` pour envoyer un message ou `app:toggleTodos` pour afficher la liste des tâches. Chaque contexte dispose d'actions spécifiques.

81 81 

82<h3 id="app-actions">82<h3 id="app-actions">

83 Actions d'application83 Actions de l'application

84</h3>84</h3>

85 85 

86Actions disponibles dans le contexte `Global` :86Actions disponibles dans le contexte `Global` :


88| Action | Par défaut | Description |88| Action | Par défaut | Description |

89| :- | :- | :- |89| :- | :- | :- |

90| `app:interrupt` | Ctrl+C | Annuler l'opération en cours |90| `app:interrupt` | Ctrl+C | Annuler l'opération en cours |

91| `app:exit` | Ctrl+D | Quitter Claude Code. Appuyez deux fois en 800 ms pour confirmer |91| `app:exit` | Ctrl+D | Quitter Claude Code. Appuyez deux fois dans les 800 ms pour confirmer |

92| `app:redraw` | (non lié) | Forcer le redessinage du terminal |92| `app:redraw` | (non lié) | Forcer le redessin du terminal |

93| `app:toggleTodos` | Ctrl+T | Basculer la visibilité de la liste des tâches de Claude. Ce n'est pas la vue des tâches en arrière-plan [`/tasks`](/docs/fr/commands) |93| `app:toggleTodos` | Ctrl+T | Basculer la visibilité de la liste de contrôle des tâches de Claude. Ce n'est pas la vue des tâches de fond [`/tasks`](/docs/fr/commands) |

94| `app:toggleTranscript` | Ctrl+O | Basculer la transcription détaillée |94| `app:toggleTranscript` | Ctrl+O | Basculer la transcription détaillée |

95 95 

96<h3 id="history-actions">96<h3 id="history-actions">


113 113 

114| Action | Par défaut | Description |114| Action | Par défaut | Description |

115| :- | :- | :- |115| :- | :- | :- |

116| `chat:cancel` | Échappement | Annuler l'entrée actuelle |116| `chat:cancel` | Échap | Annuler l'entrée actuelle |

117| `chat:clearInput` | Ctrl+L | Forcer un redessinage complet de l'écran, en préservant l'entrée et la conversation |117| `chat:clearInput` | Ctrl+L | Forcer un redessin complet de l'écran, en préservant l'entrée et la conversation |

118| `chat:clearScreen` | Cmd+K | Identique à `chat:clearInput`. Voir [Effacer la conversation](/docs/fr/fullscreen#clear-the-conversation) pour savoir comment Cmd+K se comporte sur iTerm2 et Terminal.app |118| `chat:clearScreen` | Cmd+K | Identique à `chat:clearInput`. Voir [Effacer la conversation](/docs/fr/fullscreen#clear-the-conversation) pour savoir comment Cmd+K se comporte sur iTerm2 et Terminal.app |

119| `chat:killAgents` | Ctrl+X Ctrl+K | Arrêter tous les [sous-agents en arrière-plan](/docs/fr/sub-agents#run-subagents-in-foreground-or-background) en cours d'exécution dans cette session et désactiver les [réponses automatiques aux artefacts](/docs/fr/artifacts#let-claude-reply-to-comments-on-its-own) pour le reste de celle-ci |119| `chat:killAgents` | Ctrl+X Ctrl+K | Arrêter tous les [sous-agents d'arrière-plan](/docs/fr/sub-agents#run-subagents-in-foreground-or-background) dans cette session et désactiver les [réponses automatiques d'artefacts](/docs/fr/artifacts#let-claude-reply-to-comments-on-its-own) pour le reste de celle-ci |

120| `chat:cycleMode` | Maj+Tab\* | Cycler les modes de permission |120| `chat:cycleMode` | Maj+Tab\* | Parcourir les modes de permission |

121| `chat:modelPicker` | Meta+P | Ouvrir le sélecteur de modèle |121| `chat:modelPicker` | Meta+P | Ouvrir le sélecteur de modèle |

122| `chat:fastMode` | Meta+O | Basculer le mode rapide |122| `chat:fastMode` | Meta+O | Basculer le mode rapide |

123| `chat:thinkingToggle` | Meta+T | Basculer la réflexion étendue |123| `chat:thinkingToggle` | Meta+T | Basculer la réflexion étendue |

124| `chat:submit` | Entrée | Soumettre le message |124| `chat:submit` | Entrée | Soumettre le message |

125| `chat:queueSubmit` | Ctrl+X Entrée | Soumettre le message, marqué pour attendre son tour : pendant que Claude travaille, Claude Code [le met en file d'attente](/docs/fr/interactive-mode#queue-messages-while-claude-works) et n'interrompt jamais le tour. Contrairement à `chat:submit`, il soumet le brouillon même si une suggestion d'autocomplétion est en surbrillance. Nécessite v2.1.247 ou ultérieure |125| `chat:queueSubmit` | Ctrl+X Entrée | Soumettre le message, marqué pour attendre son tour : pendant que Claude travaille, Claude Code [le met en file d'attente](/docs/fr/interactive-mode#queue-messages-while-claude-works) et n'interrompt jamais le tour. Contrairement à `chat:submit`, il soumet le brouillon même si une suggestion d'autocomplétion est mise en évidence. Nécessite v2.1.247 ou ultérieur |

126| `chat:sendNow` | Ctrl+Entrée, Ctrl+X Ctrl+S | Envoyer vos [messages en file d'attente](/docs/fr/interactive-mode#queue-messages-while-claude-works) et votre brouillon avec eux immédiatement. [Quand Claude Code envoie ce que vous avez mis en file d'attente](/docs/fr/interactive-mode#when-claude-code-sends-what-you-queued) couvre ce qui se passe au tour sur lequel Claude travaille. Quand rien ne s'exécute, la touche soumet le brouillon, et en [mode shell](/docs/fr/interactive-mode#shell-mode-with-prefix) elle met uniquement la commande en file d'attente. Les terminaux qui ne signalent pas les touches étendues livrent `Ctrl+Entrée` comme simple `Entrée`, donc `Ctrl+X Ctrl+S` est la liaison qui fonctionne dans n'importe quel terminal. Nécessite v2.1.275 ou ultérieure |126| `chat:sendNow` | Ctrl+Entrée, Ctrl+X Ctrl+S | Envoyer vos [messages en file d'attente](/docs/fr/interactive-mode#queue-messages-while-claude-works), et votre brouillon avec eux, immédiatement. [Quand Claude Code envoie ce que vous avez mis en file d'attente](/docs/fr/interactive-mode#when-claude-code-sends-what-you-queued) couvre ce qui se passe au tour sur lequel Claude travaille. Quand rien ne s'exécute, la touche soumet le brouillon, et en [mode shell](/docs/fr/interactive-mode#shell-mode-with-prefix) elle met uniquement la commande en file d'attente. Les terminaux qui ne signalent pas les touches étendues livrent `Ctrl+Entrée` comme simple `Entrée`, donc `Ctrl+X Ctrl+S` est la liaison qui fonctionne dans n'importe quel terminal. Nécessite v2.1.275 ou ultérieur |

127| `chat:newline` | Ctrl+J | Insérer une nouvelle ligne sans soumettre |127| `chat:newline` | Ctrl+J | Insérer une nouvelle ligne sans soumettre |

128| `chat:undo` | Ctrl+\_, Ctrl+Maj+- | Annuler la dernière action |128| `chat:undo` | Ctrl+\_, Ctrl+Maj+- | Annuler la dernière action |

129| `chat:externalEditor` | Ctrl+G, Ctrl+X Ctrl+E | Ouvrir dans un éditeur externe. La [saisie de dispatch de la vue agent](/docs/fr/agent-view#keyboard-shortcuts) suit également les liaisons à un seul trait de ce raccourci |129| `chat:externalEditor` | Ctrl+G, Ctrl+X Ctrl+E | Ouvrir dans un éditeur externe. La [saisie de la vue agent](/docs/fr/agent-view#keyboard-shortcuts) suit également les liaisons à une seule touche de cette action |

130| `chat:stash` | Ctrl+S | Mettre en cache l'invite actuelle |130| `chat:stash` | Ctrl+S | Mettre de côté l'invite actuelle |

131| `chat:imagePaste` | Ctrl+V (Alt+V sous Windows et WSL) | Coller une image depuis le presse-papiers. Sur WSL, les deux raccourcis sont liés par défaut |131| `chat:imagePaste` | Ctrl+V (Alt+V sur Windows et WSL) | Coller une image depuis le presse-papiers. Sur WSL, les deux raccourcis sont liés par défaut |

132 132 

133\*Sous Windows sans mode VT (Node \<24.2.0/\<22.17.0, Bun \<1.2.23), la valeur par défaut est Meta+M.133\*Sur Windows sans mode VT (Node \<24.2.0/\<22.17.0, Bun \<1.2.23), par défaut Meta+M.

134 134 

135<h3 id="autocomplete-actions">135<h3 id="autocomplete-actions">

136 Actions d'autocomplétion136 Actions d'autocomplétion


141| Action | Par défaut | Description |141| Action | Par défaut | Description |

142| :- | :- | :- |142| :- | :- | :- |

143| `autocomplete:accept` | Tab | Accepter la suggestion |143| `autocomplete:accept` | Tab | Accepter la suggestion |

144| `autocomplete:dismiss` | Échappement | Fermer le menu |144| `autocomplete:dismiss` | Échap | Rejeter le menu |

145| `autocomplete:previous` | Haut | Suggestion précédente |145| `autocomplete:previous` | Haut | Suggestion précédente |

146| `autocomplete:next` | Bas | Suggestion suivante |146| `autocomplete:next` | Bas | Suggestion suivante |

147 147 


154| Action | Par défaut | Description |154| Action | Par défaut | Description |

155| :- | :- | :- |155| :- | :- | :- |

156| `confirm:yes` | Entrée | Confirmer l'action |156| `confirm:yes` | Entrée | Confirmer l'action |

157| `confirm:no` | Échappement | Refuser l'action |157| `confirm:no` | Échap | Refuser l'action |

158| `confirm:previous` | Haut | Option précédente |158| `confirm:previous` | Haut | Option précédente |

159| `confirm:next` | Bas | Option suivante |159| `confirm:next` | Bas | Option suivante |

160| `confirm:nextField` | Tab | Champ suivant |160| `confirm:nextField` | Tab | Champ suivant |

161| `confirm:previousField` | (non lié) | Champ précédent |161| `confirm:previousField` | (non lié) | Champ précédent |

162| `confirm:toggle` | Espace | Basculer la sélection |162| `confirm:toggle` | Espace | Basculer la sélection |

163| `confirm:cycleMode` | Maj+Tab\* | Cycler les modes de permission. Sur une invite de permission de fichier, ferme un [champ de commentaire](/docs/fr/permissions#add-a-comment-when-you-answer-a-permission-prompt) ouvert ; sans champ ouvert, sélectionne l'option qui autorise l'action pour le reste de la session, lorsque l'invite propose cette option |163| `confirm:cycleMode` | Maj+Tab\* | Parcourir les modes de permission. Sur une invite de permission de fichier, ferme un [champ de commentaire](/docs/fr/permissions#add-a-comment-when-you-answer-a-permission-prompt) ouvert ; sans champ ouvert, sélectionne l'option qui autorise l'action pour le reste de la session, quand l'invite offre cette option |

164 164 

165\*Sous Windows sans mode VT (Node \<24.2.0/\<22.17.0, Bun \<1.2.23), la valeur par défaut est Meta+M.165\*Sur Windows sans mode VT (Node \<24.2.0/\<22.17.0, Bun \<1.2.23), par défaut Meta+M.

166 166 

167Avant v2.1.257, une action `confirm:toggleExplanation`, liée à `Ctrl+E` par défaut, affichait une explication générée par le modèle de la commande sur les invites de permission Bash et PowerShell.167Avant v2.1.257, une action `confirm:toggleExplanation`, liée à `Ctrl+E` par défaut, affichait une explication générée par le modèle de la commande sur les invites de permission Bash et PowerShell.

168 168 

169Les dialogues utilisent `confirm:yes` et `confirm:no` pour accepter et annuler même lorsqu'ils ne posent pas une question oui ou non. Si vous liez une simple lettre telle que `y` ou `n` dans ce contexte, la lettre agit également sur les dialogues qui ne la montrent jamais comme clé. Un dialogue qui affiche `y` et `n` comme ses clés les lit lui-même et n'a besoin d'aucune liaison.169Les dialogues utilisent `confirm:yes` et `confirm:no` pour accepter et annuler même quand ils ne posent pas une question oui ou non. Si vous liez une simple lettre comme `y` ou `n` dans ce contexte, la lettre agit également sur les dialogues qui ne l'affichent jamais comme touche. Un dialogue qui affiche `y` et `n` comme ses touches les lit lui-même et n'a besoin d'aucune liaison.

170 170 

171En général, appuyer sur `Ctrl+C` ou `Ctrl+D` deux fois ferme le dialogue au lieu de quitter Claude Code. L'indice après la première pression indique si la deuxième pression ferme le dialogue ou quitte. Les deux touches sont [réservées](#reserved-shortcuts) et ne peuvent pas être reliées.171Dans la plupart des dialogues, appuyer sur `Ctrl+C` ou `Ctrl+D` deux fois ferme le dialogue au lieu de quitter Claude Code. L'indice après la première pression indique si la deuxième pression ferme le dialogue ou quitte. Les deux touches sont [réservées](#reserved-shortcuts) et ne peuvent pas être reliées.

172 172 

173Cet exemple lie `y` à `confirm:yes` et `n` à `confirm:no` :173Cet exemple lie `y` à `confirm:yes` et `n` à `confirm:no` :

174 174 


186}186}

187```187```

188 188 

189Avec ces liaisons, `y` et `n` tapent toujours comme des lettres pendant qu'un [champ de texte](#text-fields) a le focus.189Avec ces liaisons, `y` et `n` tapent toujours comme des lettres quand un [champ de texte](#text-fields) a le focus.

190 190 

191Avant v2.1.280, `y` était également lié à `confirm:yes` et `n` à `confirm:no` par défaut. Si vous avez créé votre `keybindings.json` avec `/keybindings` avant v2.1.280, le fichier liste les deux liaisons et elles restent en vigueur jusqu'à ce que vous supprimiez ces deux lignes.191Avant v2.1.280, `y` était également lié à `confirm:yes` et `n` à `confirm:no` par défaut. Si vous avez créé votre `keybindings.json` avec `/keybindings` avant v2.1.280, le fichier liste les deux liaisons et elles restent en vigueur jusqu'à ce que vous supprimiez ces deux lignes.

192 192 


198 198 

199| Action | Par défaut | Description |199| Action | Par défaut | Description |

200| :- | :- | :- |200| :- | :- | :- |

201| `permission:toggleDebug` | (non lié) | Basculer les informations de débogage de permission. La valeur par défaut précédente de Ctrl+D a été supprimée dans la v2.1.146 car elle masquait `app:exit` |201| `permission:toggleDebug` | (non lié) | Basculer les informations de débogage de permission. La valeur par défaut précédente de Ctrl+D a été supprimée dans v2.1.146 car elle masquait `app:exit` |

202 202 

203<h3 id="transcript-actions">203<h3 id="transcript-actions">

204 Actions de transcription204 Actions de transcription


209| Action | Par défaut | Description |209| Action | Par défaut | Description |

210| :- | :- | :- |210| :- | :- | :- |

211| `transcript:toggleShowAll` | Ctrl+E | Basculer l'affichage de tout le contenu |211| `transcript:toggleShowAll` | Ctrl+E | Basculer l'affichage de tout le contenu |

212| `transcript:exit` | q, Ctrl+C, Échappement | Quitter la vue de transcription |212| `transcript:exit` | q, Ctrl+C, Échap | Quitter la vue de transcription |

213 213 

214`transcript:toggleShowAll` s'applique uniquement dans le rendu classique ; dans le [rendu plein écran](/docs/fr/fullscreen), la visionneuse de transcription n'offre pas de basculement d'affichage complet.214`transcript:toggleShowAll` s'applique uniquement dans le rendu classique ; dans le [rendu en plein écran](/docs/fr/fullscreen), la visionneuse de transcription n'offre pas de basculement d'affichage complet.

215 215 

216<h3 id="history-search-actions">216<h3 id="history-search-actions">

217 Actions de recherche d'historique217 Actions de recherche d'historique


222| Action | Par défaut | Description |222| Action | Par défaut | Description |

223| :- | :- | :- |223| :- | :- | :- |

224| `historySearch:next` | Ctrl+R | Correspondance suivante |224| `historySearch:next` | Ctrl+R | Correspondance suivante |

225| `historySearch:accept` | Échappement, Tab | Accepter la sélection |225| `historySearch:accept` | Échap, Tab | Accepter la sélection |

226| `historySearch:cancel` | Ctrl+C | Annuler la recherche |226| `historySearch:cancel` | Ctrl+C | Annuler la recherche |

227| `historySearch:execute` | Entrée | Exécuter la commande sélectionnée |227| `historySearch:execute` | Entrée | Exécuter la commande sélectionnée |

228| `historySearch:cycleScope` | Ctrl+S | Cycler la portée : session, projet, partout |228| `historySearch:cycleScope` | Ctrl+S | Parcourir la portée : session, projet, partout |

229 229 

230Les valeurs par défaut de `historySearch:next`, `historySearch:accept`, `historySearch:cancel` et `historySearch:execute` s'appliquent à la recherche d'historique en ligne dans le rendu classique, qui recherche toujours les invites de tous les projets. `historySearch:cycleScope` prend effet uniquement dans le [rendu plein écran](/docs/fr/fullscreen), où `Ctrl+R` ouvre un dialogue de recherche à la place et `Ctrl+S` bascule sa portée. Les autres touches du dialogue sont fixes et ne peuvent pas être reliées : `Entrée` ou `Tab` place la correspondance en surbrillance dans l'entrée d'invite et `Échap` annule.230Les valeurs par défaut de `historySearch:next`, `historySearch:accept`, `historySearch:cancel` et `historySearch:execute` s'appliquent à la recherche d'historique en ligne dans le rendu classique, qui recherche toujours les invites de tous les projets. `historySearch:cycleScope` prend effet uniquement dans le [rendu en plein écran](/docs/fr/fullscreen), où `Ctrl+R` ouvre un dialogue de recherche à la place et `Ctrl+S` parcourt sa portée. Les autres touches du dialogue sont fixes et ne peuvent pas être reliées : `Entrée` ou `Tab` place la correspondance mise en évidence dans l'entrée d'invite et `Échap` annule.

231 231 

232<h3 id="task-actions">232<h3 id="task-actions">

233 Actions de tâche233 Actions de tâche


257 257 

258| Action | Par défaut | Description |258| Action | Par défaut | Description |

259| :- | :- | :- |259| :- | :- | :- |

260| `help:dismiss` | Échappement | Fermer le menu d'aide |260| `help:dismiss` | Échap | Fermer le menu d'aide |

261 261 

262<h3 id="tabs-actions">262<h3 id="tabs-actions">

263 Actions d'onglets263 Actions d'onglets


270| `tabs:next` | Tab, Droite | Onglet suivant |270| `tabs:next` | Tab, Droite | Onglet suivant |

271| `tabs:previous` | Maj+Tab, Gauche | Onglet précédent |271| `tabs:previous` | Maj+Tab, Gauche | Onglet précédent |

272 272 

273Dans un dialogue avec onglets, `tabs:next` et `tabs:previous` basculent les onglets pendant que la ligne d'onglets a le focus. Dans certains dialogues, tels que `/help` et `/sandbox`, les touches de basculement d'onglets fonctionnent également à partir du contenu de l'onglet.273Dans un dialogue avec onglets, `tabs:next` et `tabs:previous` changent d'onglets quand la ligne d'onglets a le focus. Dans certains dialogues, comme `/help` et `/sandbox`, les touches de changement d'onglet fonctionnent également à partir du contenu de l'onglet.

274 274 

275`Haut` et `Bas` déplacent le focus entre la ligne d'onglets et le contenu de l'onglet, et une liste dans le contenu répond aux touches uniquement pendant qu'elle a le focus.275`Haut` et `Bas` déplacent le focus entre la ligne d'onglets et le contenu de l'onglet, et une liste dans le contenu répond aux touches uniquement quand elle a le focus.

276 276 

277<h3 id="attachments-actions">277<h3 id="attachments-actions">

278 Actions de pièces jointes278 Actions de pièces jointes


284| :- | :- | :- |284| :- | :- | :- |

285| `attachments:next` | Droite | Pièce jointe suivante |285| `attachments:next` | Droite | Pièce jointe suivante |

286| `attachments:previous` | Gauche | Pièce jointe précédente |286| `attachments:previous` | Gauche | Pièce jointe précédente |

287| `attachments:remove` | Retour arrière, Supprimer | Supprimer la pièce jointe sélectionnée |287| `attachments:remove` | Retour arrière, Suppr | Supprimer la pièce jointe sélectionnée |

288| `attachments:exit` | Bas, Échappement | Quitter la navigation des pièces jointes |288| `attachments:exit` | Bas, Échap | Quitter la navigation des pièces jointes |

289 289 

290<h3 id="footer-actions">290<h3 id="footer-actions">

291 Actions de pied de page291 Actions de pied de page


300| `footer:up` | Haut | Naviguer vers le haut dans le pied de page (désélectionne en haut) |300| `footer:up` | Haut | Naviguer vers le haut dans le pied de page (désélectionne en haut) |

301| `footer:down` | Bas | Naviguer vers le bas dans le pied de page |301| `footer:down` | Bas | Naviguer vers le bas dans le pied de page |

302| `footer:openSelected` | Entrée | Ouvrir l'élément de pied de page sélectionné |302| `footer:openSelected` | Entrée | Ouvrir l'élément de pied de page sélectionné |

303| `footer:clearSelection` | Échappement | Effacer la sélection du pied de page |303| `footer:clearSelection` | Échap | Effacer la sélection du pied de page |

304| `footer:dismiss` | (non lié) | Supprimé dans v2.1.281. Un `keybindings.json` qui nomme toujours l'action reste valide, et la liaison ne fait rien. Avant v2.1.281, Retour arrière et Supprimer rejetaient le lien d'artefact sélectionné du pied de page |304| `footer:dismiss` | (non lié) | Lier une touche à cette action n'a aucun effet, et un `keybindings.json` qui la nomme reste valide. Avant v2.1.281, Retour arrière et Suppr y étaient liés et rejetaient le lien d'artefact sélectionné du pied de page. |

305 305 

306Pendant qu'un élément de pied de page est sélectionné, tel qu'une ligne dans le panneau agent sous l'invite, `Entrée` l'ouvre même lorsque vous reliez `Entrée` dans le contexte `Chat` à `chat:queueSubmit` ou `chat:newline`.306Quand un élément de pied de page est sélectionné, comme une ligne dans le panneau agent sous l'invite, `Entrée` l'ouvre même quand vous reliez `Entrée` dans le contexte `Chat` à `chat:queueSubmit` ou `chat:newline`.

307 307 

308Les liaisons `Chat` sur les touches que le contexte `Footer` ne lie pas, telles que `Maj+Tab` pour `chat:cycleMode`, continuent de fonctionner pendant qu'un élément est sélectionné.308Les liaisons `Chat` sur les touches que le contexte `Footer` ne lie pas, comme `Maj+Tab` pour `chat:cycleMode`, continuent de fonctionner quand un élément est sélectionné.

309 309 

310<h3 id="message-selector-actions">310<h3 id="message-selector-actions">

311 Actions du sélecteur de message311 Actions du sélecteur de messages

312</h3>312</h3>

313 313 

314Dans la liste des messages du [menu de rembobinage](/docs/fr/checkpointing), vous vous déplacez dans les messages et en choisissez un avec les [actions de sélection](#select-actions) et leurs touches par défaut. Vos liaisons `Select` pour ces actions s'appliquent également là. Le contexte `MessageSelector` n'a pas d'actions ou de liaisons par défaut qui lui sont propres. Utilisez-le pour modifier une touche pour cette liste uniquement, en liant une action Select telle que `select:accept` dans un bloc `MessageSelector`.314Dans la liste des messages du [menu de rembobinage](/docs/fr/checkpointing), vous vous déplacez dans les messages et en choisissez un avec les [actions Select](#select-actions) et leurs touches par défaut. Vos liaisons `Select` pour ces actions s'appliquent également là. Le contexte `MessageSelector` n'a pas d'actions ou de liaisons par défaut qui lui sont propres. Utilisez-le pour changer une touche pour cette liste uniquement, en liant une action Select comme `select:accept` dans un bloc `MessageSelector`.

315 315 

316Cet exemple lie `o` pour choisir le message en surbrillance dans le menu de rembobinage, sans modifier aucune autre liste :316Cet exemple lie `o` pour choisir le message mis en évidence dans le menu de rembobinage, sans changer aucune autre liste :

317 317 

318```json theme={null}318```json theme={null}

319{319{


328}328}

329```329```

330 330 

331Avant v2.1.283, cette liste ignorait les liaisons `Select` et avait ses propres actions : `messageSelector:up`, `messageSelector:down`, `messageSelector:top`, `messageSelector:bottom` et `messageSelector:select`. Si votre `keybindings.json` lie l'un de ces noms, la liaison continue de fonctionner dans cette liste en tant que l'action Select qui fait la même chose. `Home` et `End` sautent à l'une ou l'autre extrémité de la liste ; avant v2.1.283, des touches telles que `Maj+K` et `Maj+J` le faisaient par défaut.331Avant v2.1.283, cette liste ignorait les liaisons `Select` et avait ses propres actions : `messageSelector:up`, `messageSelector:down`, `messageSelector:top`, `messageSelector:bottom` et `messageSelector:select`. Si votre `keybindings.json` lie l'un de ces noms, la liaison continue de fonctionner dans cette liste comme l'action Select qui fait la même chose. `Accueil` et `Fin` sautent à chaque extrémité de la liste ; avant v2.1.283, des touches comme `Maj+K` et `Maj+J` le faisaient par défaut.

332 332 

333<h3 id="diff-actions">333<h3 id="diff-actions">

334 Actions de diff334 Actions de diff


338 338 

339| Action | Par défaut | Description |339| Action | Par défaut | Description |

340| :- | :- | :- |340| :- | :- | :- |

341| `diff:dismiss` | Échappement | Fermer la visionneuse de diff ; à partir de la vue détaillée, revient à la liste des fichiers à la place |341| `diff:dismiss` | Échap | Fermer la visionneuse de diff ; à partir de la vue détaillée, revient à la liste des fichiers à la place |

342| `diff:previousSource` | Gauche | Source de diff précédente |342| `diff:previousSource` | Gauche | Source de diff précédente |

343| `diff:nextSource` | Droite | Source de diff suivante |343| `diff:nextSource` | Droite | Source de diff suivante |

344| `diff:previousFile` | Haut, K | Fichier précédent dans la liste des fichiers ; faire défiler vers le haut d'une ligne dans la vue détaillée |344| `diff:previousFile` | Haut, K | Fichier précédent dans la liste des fichiers ; faire défiler vers le haut d'une ligne dans la vue détaillée |

345| `diff:nextFile` | Bas, J | Fichier suivant dans la liste des fichiers ; faire défiler vers le bas d'une ligne dans la vue détaillée |345| `diff:nextFile` | Bas, J | Fichier suivant dans la liste des fichiers ; faire défiler vers le bas d'une ligne dans la vue détaillée |

346| `diff:back` | (non lié) | Revenir en arrière dans la visionneuse de diff. Échappement effectue l'action de retour via `diff:dismiss`. La valeur par défaut précédente de Gauche dans la vue détaillée a été supprimée dans la v2.1.203 |346| `diff:back` | (non lié) | Revenir en arrière dans la visionneuse de diff. Échap effectue l'action de retour via `diff:dismiss`. La valeur par défaut précédente de Gauche dans la vue détaillée a été supprimée dans v2.1.203 |

347 347 

348La liste des fichiers répond également aux [actions de sélection](#select-actions), via leurs touches par défaut et vos liaisons `Select`. `select:previous` et `select:next` se déplacent vers le fichier précédent et suivant, et `Entrée` ouvre le diff du fichier sélectionné via `select:accept`. Pour modifier l'une de ces touches pour la liste des fichiers uniquement, liez l'action Select dans un bloc `DiffDialog`.348La liste des fichiers répond également aux [actions Select](#select-actions), via leurs touches par défaut et vos liaisons `Select`. `select:previous` et `select:next` se déplacent vers le fichier précédent et suivant, et `Entrée` ouvre le diff du fichier sélectionné via `select:accept`. Pour changer l'une de ces touches pour la liste des fichiers uniquement, liez l'action Select dans un bloc `DiffDialog`.

349 349 

350Avant v2.1.283, la liste des fichiers ignorait les liaisons `Select`, et `Entrée` ouvrait le diff du fichier sélectionné via une action `diff:viewDetails` distincte. Si votre `keybindings.json` lie `diff:viewDetails`, la liaison continue de fonctionner dans la liste des fichiers en tant que `select:accept`.350Avant v2.1.283, la liste des fichiers ignorait les liaisons `Select`, et `Entrée` ouvrait le diff du fichier sélectionné via une action `diff:viewDetails` séparée. Si votre `keybindings.json` lie `diff:viewDetails`, la liaison continue de fonctionner dans la liste des fichiers comme `select:accept`.

351 351 

352La vue détaillée du diff lie également les touches de style paginateur aux [actions de défilement](#scroll-actions) standard. Ces liaisons font partie du contexte `DiffDialog` et s'appliquent uniquement dans la vue détaillée ; les valeurs par défaut du contexte `Scroll` listées sous [Actions de défilement](#scroll-actions) sont inchangées.352La vue détaillée du diff lie également les touches de style pager aux [actions de défilement](#scroll-actions) standard. Ces liaisons font partie du contexte `DiffDialog` et s'appliquent uniquement dans la vue détaillée ; les valeurs par défaut du contexte `Scroll` listées sous [Actions de défilement](#scroll-actions) sont inchangées.

353 353 

354| Action | Par défaut | Description |354| Action | Par défaut | Description |

355| :- | :- | :- |355| :- | :- | :- |

356| `scroll:pageUp` | PageUp | Faire défiler vers le haut de la moitié de la fenêtre d'affichage |356| `scroll:pageUp` | PageUp | Faire défiler vers le haut de la moitié d'une fenêtre d'affichage |

357| `scroll:pageDown` | PageDown | Faire défiler vers le bas de la moitié de la fenêtre d'affichage |357| `scroll:pageDown` | PageDown | Faire défiler vers le bas de la moitié d'une fenêtre d'affichage |

358| `scroll:fullPageUp` | Maj+Espace, B | Faire défiler vers le haut d'une fenêtre d'affichage complète |358| `scroll:fullPageUp` | Maj+Espace, B | Faire défiler vers le haut d'une fenêtre d'affichage complète |

359| `scroll:fullPageDown` | Espace | Faire défiler vers le bas d'une fenêtre d'affichage complète |359| `scroll:fullPageDown` | Espace | Faire défiler vers le bas d'une fenêtre d'affichage complète |

360| `scroll:top` | G, Home | Sauter au début |360| `scroll:top` | G, Accueil | Sauter au début |

361| `scroll:bottom` | Maj+G, End | Sauter à la fin |361| `scroll:bottom` | Maj+G, Fin | Sauter à la fin |

362 362 

363<h3 id="diff-panel-actions">363<h3 id="diff-panel-actions">

364 Actions du panneau de diff364 Actions du panneau de diff

365</h3>365</h3>

366 366 

367Actions pour le [panneau de diff](/docs/fr/interactive-mode#diff-panel) que `/diff` ouvre dans le rendu plein écran. `app:cycleDiffBase` est dans le contexte `DiffPanel`, qui est actif pendant que le panneau est ouvert ; les autres sont `Global`. Le panneau nécessite Claude Code v2.1.260 ou ultérieure.367Actions pour le [panneau de diff](/docs/fr/interactive-mode#diff-panel) que `/diff` ouvre dans le rendu en plein écran. `app:cycleDiffBase` est dans le contexte `DiffPanel`, qui est actif quand le panneau est ouvert ; les autres sont `Global`. Le panneau nécessite Claude Code v2.1.260 ou ultérieur.

368 368 

369| Action | Par défaut | Description |369| Action | Par défaut | Description |

370| :- | :- | :- |370| :- | :- | :- |

371| `app:toggleReplTab` | (non lié) | Ouvrir ou fermer le panneau de diff, identique à l'exécution de `/diff` |371| `app:toggleReplTab` | (non lié) | Ouvrir ou fermer le panneau de diff, identique à l'exécution de `/diff` |

372| `app:cycleDiffBase` | Ctrl+X B | Cycler la base de comparaison du panneau : cette session, non validée, puis branche |372| `app:cycleDiffBase` | Ctrl+X B | Parcourir la base de comparaison du panneau : cette session, non validée, puis branche |

373| `app:diffFileListUp` | Ctrl+Haut, Meta+Haut | Faire défiler la liste des fichiers du panneau vers le haut lorsqu'elle déborde |373| `app:diffFileListUp` | Ctrl+Haut, Meta+Haut | Faire défiler la liste des fichiers du panneau vers le haut quand elle déborde |

374| `app:diffFileListDown` | Ctrl+Bas, Meta+Bas | Faire défiler la liste des fichiers du panneau vers le bas lorsqu'elle déborde |374| `app:diffFileListDown` | Ctrl+Bas, Meta+Bas | Faire défiler la liste des fichiers du panneau vers le bas quand elle déborde |

375| `app:toggleDiffNoiseFilter` | (non lié) | Afficher ou masquer les fichiers de test et générés dans le panneau |375| `app:toggleDiffNoiseFilter` | (non lié) | Afficher ou masquer les fichiers de test et générés dans le panneau |

376| `app:toggleDiffPreSession` | (non lié) | Développer ou réduire les modifications antérieures à cette session |376| `app:toggleDiffPreSession` | (non lié) | Développer ou réduire les modifications d'avant cette session |

377 377 

378<h3 id="model-picker-actions">378<h3 id="model-picker-actions">

379 Actions du sélecteur de modèle379 Actions du sélecteur de modèle


385| :- | :- | :- |385| :- | :- | :- |

386| `modelPicker:decreaseEffort` | Gauche | Diminuer le niveau d'effort |386| `modelPicker:decreaseEffort` | Gauche | Diminuer le niveau d'effort |

387| `modelPicker:increaseEffort` | Droite | Augmenter le niveau d'effort |387| `modelPicker:increaseEffort` | Droite | Augmenter le niveau d'effort |

388| `modelPicker:thisSessionOnly` | s | Appliquer le modèle en surbrillance à cette session uniquement |388| `modelPicker:thisSessionOnly` | s | Appliquer le modèle mis en évidence à cette session uniquement |

389 389 

390<h3 id="effort-slider-actions">390<h3 id="effort-slider-actions">

391 Actions du curseur d'effort391 Actions du curseur d'effort

392</h3>392</h3>

393 393 

394Actions disponibles dans le contexte `EffortSlider`, le curseur qui s'ouvre lorsque vous exécutez `/effort` sans arguments. Les touches Entrée et Échappement du curseur ne peuvent pas être reliées.394Actions disponibles dans le contexte `EffortSlider`, le curseur qui s'ouvre quand vous exécutez `/effort` sans arguments. Les touches Entrée et Échap du curseur ne peuvent pas être reliées.

395 395 

396| Action | Par défaut | Description |396| Action | Par défaut | Description |

397| :- | :- | :- |397| :- | :- | :- |

398| `effortSlider:decreaseEffort` | Gauche | Déplacer le curseur vers le niveau d'effort inférieur suivant. Nécessite v2.1.284 ou ultérieure |398| `effortSlider:decreaseEffort` | Gauche | Déplacer le curseur au niveau d'effort inférieur suivant. Nécessite v2.1.284 ou ultérieur |

399| `effortSlider:increaseEffort` | Droite | Déplacer le curseur vers le niveau d'effort supérieur suivant. Nécessite v2.1.284 ou ultérieure |399| `effortSlider:increaseEffort` | Droite | Déplacer le curseur au niveau d'effort supérieur suivant. Nécessite v2.1.284 ou ultérieur |

400| `effortSlider:toggleUltracode` | Tab | Activer ou désactiver [ultracode](/docs/fr/workflows#let-claude-decide-with-ultracode) pour cette session, lorsque le curseur [l'offre](/docs/fr/model-config#when-ultracode-is-available). Nécessite v2.1.284 ou ultérieure |400| `effortSlider:toggleUltracode` | Tab | Activer ou désactiver [ultracode](/docs/fr/workflows#let-claude-decide-with-ultracode) pour cette session, quand le curseur [l'offre](/docs/fr/model-config#when-ultracode-is-available). Nécessite v2.1.284 ou ultérieur |

401| `effortSlider:thisSessionOnly` | s | Appliquer le [niveau d'effort](/docs/fr/model-config#adjust-effort-level) ciblé à cette session uniquement. Nécessite v2.1.257 ou ultérieure |401| `effortSlider:thisSessionOnly` | s | Appliquer le [niveau d'effort](/docs/fr/model-config#adjust-effort-level) ciblé à cette session uniquement. Nécessite v2.1.257 ou ultérieur |

402 402 

403<h3 id="select-actions">403<h3 id="select-actions">

404 Actions de sélection404 Actions Select

405</h3>405</h3>

406 406 

407Actions disponibles dans le contexte `Select` :407Actions disponibles dans le contexte `Select` :


412| `select:previous` | Haut, K, Ctrl+P | Option précédente |412| `select:previous` | Haut, K, Ctrl+P | Option précédente |

413| `select:pageUp` | PageUp | Déplacer vers le haut d'une page d'options |413| `select:pageUp` | PageUp | Déplacer vers le haut d'une page d'options |

414| `select:pageDown` | PageDown | Déplacer vers le bas d'une page d'options |414| `select:pageDown` | PageDown | Déplacer vers le bas d'une page d'options |

415| `select:first` | Home | Première option |415| `select:first` | Accueil | Première option |

416| `select:last` | End | Dernière option |416| `select:last` | Fin | Dernière option |

417| `select:accept` | Entrée | Accepter la sélection |417| `select:accept` | Entrée | Accepter la sélection |

418| `select:cancel` | Échappement | Annuler la sélection |418| `select:cancel` | Échap | Annuler la sélection |

419 419 

420Dans les panneaux de liste tels que `/skills` et `/mcp`, Claude Code applique vos liaisons `select:pageUp`, `select:pageDown`, `select:first` et `select:last`. Dans la plupart des autres listes, telles que le sélecteur `/model`, vos liaisons `select:first` et `select:last` s'appliquent. PageUp et PageDown parcourent les options dans ces listes indépendamment de vos liaisons.420Dans les panneaux de liste comme `/skills`, `/mcp` et `/tasks`, Claude Code applique vos liaisons `select:pageUp`, `select:pageDown`, `select:first` et `select:last`. Dans la plupart des autres listes, comme le sélecteur `/model`, vos liaisons `select:first` et `select:last` s'appliquent. PageUp et PageDown parcourent les options dans ces listes indépendamment de vos liaisons.

421 421 

422Avant v2.1.280, ces autres listes ignoraient Home, End, et vos liaisons `select:first` et `select:last`.422Avant v2.1.280, ces autres listes ignoraient Accueil, Fin et vos liaisons `select:first` et `select:last`.

423 

424Avant v2.1.283, la liste des outils `/mcp` parcourait avec les touches PageUp et PageDown fixes indépendamment de vos liaisons.

423 425 

424<h3 id="plugin-actions">426<h3 id="plugin-actions">

425 Actions de plugin427 Actions de plugin


434| `plugin:favorite` | F | Marquer le plugin sélectionné comme favori pour qu'il soit trié près du haut de l'onglet Installé |436| `plugin:favorite` | F | Marquer le plugin sélectionné comme favori pour qu'il soit trié près du haut de l'onglet Installé |

435 437 

436<h3 id="settings-actions">438<h3 id="settings-actions">

437 Actions des paramètres439 Actions de paramètres

438</h3>440</h3>

439 441 

440Actions disponibles dans le contexte `Settings`. Les actions `select:accept` et `confirm:no` sont réutilisées à partir des contextes [Sélection](#select-actions) et [Confirmation](#confirmation-actions) avec un comportement spécifique aux paramètres : les modifications s'appliquent à chaque paramètre dès que vous le modifiez, donc Échappement ferme le panneau avec vos modifications enregistrées plutôt que de refuser.442Actions disponibles dans le contexte `Settings`. Les actions `select:accept` et `confirm:no` sont réutilisées à partir des contextes [Select](#select-actions) et [Confirmation](#confirmation-actions) avec un comportement spécifique aux paramètres : les modifications s'appliquent à chaque paramètre dès que vous le modifiez, donc Échap ferme le panneau avec vos modifications enregistrées plutôt que de refuser.

441 443 

442| Action | Par défaut | Description |444| Action | Par défaut | Description |

443| :- | :- | :- |445| :- | :- | :- |

444| `settings:search` | / | Entrer en mode de recherche |446| `settings:search` | / | Entrer en mode recherche |

445| `settings:retry` | R | Réessayer de charger les données d'utilisation en cas d'erreur |447| `settings:retry` | R | Réessayer de charger les données d'utilisation en cas d'erreur |

446| `select:accept` | Entrée, Espace | Modifier le paramètre sélectionné ou ouvrir son sous-menu |448| `select:accept` | Entrée, Espace | Modifier le paramètre sélectionné ou ouvrir son sous-menu |

447| `confirm:no` | Échappement | Fermer le panneau. Les modifications sont déjà enregistrées |449| `confirm:no` | Échap | Fermer le panneau. Les modifications sont déjà enregistrées |

448 450 

449<h3 id="agents-actions">451<h3 id="agents-actions">

450 Actions des agents452 Actions d'agents

451</h3>453</h3>

452 454 

453Actions disponibles dans le contexte `Agents`, qui s'applique dans la [vue agent](/docs/fr/agent-view), ouverte avec `claude agents`. Nécessite v2.1.257 ou ultérieure.455Actions disponibles dans le contexte `Agents`, qui s'applique dans la [vue agent](/docs/fr/agent-view), ouverte avec `claude agents`. Nécessite v2.1.257 ou ultérieur.

454 456 

455| Action | Par défaut | Description |457| Action | Par défaut | Description |

456| :- | :- | :- |458| :- | :- | :- |

457| `agents:switchView` | Ctrl+S | Basculer le [regroupement de session](/docs/fr/agent-view#organize-the-list) entre l'état et le répertoire |459| `agents:switchView` | Ctrl+S | Basculer le [regroupement de session](/docs/fr/agent-view#organize-the-list) entre l'état et le répertoire |

458| `agents:togglePin` | Ctrl+T | [Épingler ou dépingler](/docs/fr/agent-view#organize-the-list) la session sélectionnée |460| `agents:togglePin` | Ctrl+T | [Épingler ou dépingler](/docs/fr/agent-view#organize-the-list) la session sélectionnée |

459 461 

460Pendant que la vue agent est ouverte, Claude Code utilise la liaison `Agents` pour toute touche que le contexte `Agents` lie, et il ignore une liaison `Chat` ou `Global` sur la même touche. Par exemple, appuyer sur Ctrl+S dans la vue agent bascule le regroupement de session plutôt que de déclencher la valeur par défaut `chat:stash`.462Quand la vue agent est ouverte, Claude Code utilise la liaison `Agents` pour toute touche que le contexte `Agents` lie, et il ignore une liaison `Chat` ou `Global` sur la même touche. Par exemple, appuyer sur Ctrl+S dans la vue agent bascule le regroupement de session plutôt que de déclencher le `chat:stash` par défaut.

461 463 

462Le raccourci d'éditeur externe de la saisie de dispatch n'est pas une action `Agents`. La vue agent suit la liaison `chat:externalEditor` du contexte `Chat`, Ctrl+G par défaut.464Le raccourci d'éditeur externe de l'entrée de dispatch n'est pas une action `Agents`. La vue agent suit la liaison `chat:externalEditor` du contexte `Chat`, Ctrl+G par défaut.

463 465 

464Les liaisons se déclenchent sur des traits simples dans la vue agent, donc l'accord Ctrl+X Ctrl+E lié à `chat:externalEditor` n'ouvre pas l'éditeur là.466Les liaisons se déclenchent sur des frappes simples dans la vue agent, donc l'accord Ctrl+X Ctrl+E lié à `chat:externalEditor` n'ouvre pas l'éditeur là.

465 467 

466<h3 id="voice-actions">468<h3 id="voice-actions">

467 Actions vocales469 Actions vocales

468</h3>470</h3>

469 471 

470Actions disponibles dans le contexte `Chat` lorsque la [dictée vocale](/docs/fr/voice-dictation) est activée :472Actions disponibles dans le contexte `Chat` quand la [dictée vocale](/docs/fr/voice-dictation) est activée :

471 473 

472| Action | Par défaut | Description |474| Action | Par défaut | Description |

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


477 Actions de défilement479 Actions de défilement

478</h3>480</h3>

479 481 

480Actions disponibles dans le contexte `Scroll` lorsque le [rendu plein écran](/docs/fr/fullscreen) est activé :482Actions disponibles dans le contexte `Scroll` quand le [rendu en plein écran](/docs/fr/fullscreen) est activé :

481 483 

482| Action | Par défaut | Description |484| Action | Par défaut | Description |

483| :- | :- | :- |485| :- | :- | :- |

484| `scroll:lineUp` | `wheelup` | Faire défiler vers le haut d'une ligne. Le défilement à la souris déclenche cette action |486| `scroll:lineUp` | `wheelup` | Faire défiler vers le haut d'une ligne. Le défilement à la roulette de souris déclenche cette action |

485| `scroll:lineDown` | `wheeldown` | Faire défiler vers le bas d'une ligne. Le défilement à la souris déclenche cette action |487| `scroll:lineDown` | `wheeldown` | Faire défiler vers le bas d'une ligne. Le défilement à la roulette de souris déclenche cette action |

486| `scroll:pageUp` | PageUp | Faire défiler vers le haut de la moitié de la hauteur de la fenêtre d'affichage |488| `scroll:pageUp` | PageUp | Faire défiler vers le haut de la moitié de la hauteur de la fenêtre d'affichage |

487| `scroll:pageDown` | PageDown | Faire défiler vers le bas de la moitié de la hauteur de la fenêtre d'affichage |489| `scroll:pageDown` | PageDown | Faire défiler vers le bas de la moitié de la hauteur de la fenêtre d'affichage |

488| `scroll:top` | Ctrl+Home | Sauter au début de la conversation |490| `scroll:top` | Ctrl+Accueil | Sauter au début de la conversation |

489| `scroll:bottom` | Ctrl+End | Sauter au dernier message et réactiver le suivi automatique |491| `scroll:bottom` | Ctrl+Fin | Sauter au dernier message et réactiver le suivi automatique |

490| `scroll:halfPageUp` | (non lié) | Faire défiler vers le haut de la moitié de la hauteur de la fenêtre d'affichage. Même comportement que `scroll:pageUp`, fourni pour les reliures de style vi |492| `scroll:halfPageUp` | (non lié) | Faire défiler vers le haut de la moitié de la hauteur de la fenêtre d'affichage. Même comportement que `scroll:pageUp`, fourni pour les rebinds de style vi |

491| `scroll:halfPageDown` | (non lié) | Faire défiler vers le bas de la moitié de la hauteur de la fenêtre d'affichage. Même comportement que `scroll:pageDown`, fourni pour les reliures de style vi |493| `scroll:halfPageDown` | (non lié) | Faire défiler vers le bas de la moitié de la hauteur de la fenêtre d'affichage. Même comportement que `scroll:pageDown`, fourni pour les rebinds de style vi |

492| `scroll:fullPageUp` | (non lié) | Faire défiler vers le haut de la hauteur complète de la fenêtre d'affichage |494| `scroll:fullPageUp` | (non lié) | Faire défiler vers le haut de la hauteur complète de la fenêtre d'affichage |

493| `scroll:fullPageDown` | (non lié) | Faire défiler vers le bas de la hauteur complète de la fenêtre d'affichage |495| `scroll:fullPageDown` | (non lié) | Faire défiler vers le bas de la hauteur complète de la fenêtre d'affichage |

494| `selection:copy` | Ctrl+Maj+C / Cmd+C | Copier le texte sélectionné dans le presse-papiers |496| `selection:copy` | Ctrl+Maj+C / Cmd+C | Copier le texte sélectionné dans le presse-papiers |

495| `selection:clear` | (non lié) | Effacer la sélection de texte active. Nécessite v2.1.234 ou ultérieure |497| `selection:clear` | (non lié) | Effacer la sélection de texte active. Nécessite v2.1.234 ou ultérieur |

496| `selection:extendLeft` | Maj+Gauche | Étendre la sélection active d'une colonne vers la gauche |498| `selection:extendLeft` | Maj+Gauche | Étendre la sélection active d'une colonne vers la gauche |

497| `selection:extendRight` | Maj+Droite | Étendre la sélection active d'une colonne vers la droite |499| `selection:extendRight` | Maj+Droite | Étendre la sélection active d'une colonne vers la droite |

498| `selection:extendUp` | Maj+Haut | Étendre la sélection active d'une ligne vers le haut. Fait défiler la fenêtre d'affichage lorsque la sélection atteint le bord supérieur |500| `selection:extendUp` | Maj+Haut | Étendre la sélection active d'une ligne vers le haut. Fait défiler la fenêtre d'affichage quand la sélection atteint le bord supérieur |

499| `selection:extendDown` | Maj+Bas | Étendre la sélection active d'une ligne vers le bas. Fait défiler la fenêtre d'affichage lorsque la sélection atteint le bord inférieur |501| `selection:extendDown` | Maj+Bas | Étendre la sélection active d'une ligne vers le bas. Fait défiler la fenêtre d'affichage quand la sélection atteint le bord inférieur |

500| `selection:extendLineStart` | Maj+Home | Étendre la sélection active au début de la ligne |502| `selection:extendLineStart` | Maj+Accueil | Étendre la sélection active au début de la ligne |

501| `selection:extendLineEnd` | Maj+End | Étendre la sélection active à la fin de la ligne |503| `selection:extendLineEnd` | Maj+Fin | Étendre la sélection active à la fin de la ligne |

502 504 

503<h2 id="keystroke-syntax">505<h2 id="keystroke-syntax">

504 Syntaxe des séquences de touches506 Syntaxe des séquences de touches


692Claude Code valide vos liaisons de touches et écrit un avertissement dans le journal de débogage pour :694Claude Code valide vos liaisons de touches et écrit un avertissement dans le journal de débogage pour :

693 695 

694* Erreurs d'analyse (JSON invalide ou structure)696* Erreurs d'analyse (JSON invalide ou structure)

697* Modificateurs mal orthographiés, tels que `ctl+k`. Claude Code supprime la partie qu'il ne reconnaît pas et applique la liaison à la frappe restante, `k` dans cet exemple.

695* Noms de contexte invalides698* Noms de contexte invalides

696* Valeurs d'action invalides, telles qu'une action qui n'est pas une chaîne ou `null`699* Valeurs d'action invalides, telles qu'une action qui n'est pas une chaîne ou `null`

697* Noms d'action inconnus, tels qu'une faute de frappe d'une action enregistrée. Claude Code ignore la liaison et conserve toute liaison par défaut pour cette touche en vigueur. Avant v2.1.246, une liaison avec un nom d'action inconnu désactivait silencieusement cette touche700* Noms d'action inconnus, tels qu'une faute de frappe d'une action enregistrée. Claude Code ignore la liaison et conserve toute liaison par défaut pour cette touche en vigueur. Avant v2.1.246, une liaison avec un nom d'action inconnu désactivait silencieusement cette touche

Details

79 79 

80Quand le client parle le format Amazon Bedrock, relayez le corps de réponse `InvokeModelWithResponseStream` et son en-tête `Content-Type: application/vnd.amazon.eventstream` sans modification, et ne convertissez pas le flux en événements envoyés par le serveur. Voir [Erreurs de streaming derrière une passerelle ou un proxy](/docs/fr/amazon-bedrock#streaming-errors-behind-a-gateway-or-proxy).80Quand le client parle le format Amazon Bedrock, relayez le corps de réponse `InvokeModelWithResponseStream` et son en-tête `Content-Type: application/vnd.amazon.eventstream` sans modification, et ne convertissez pas le flux en événements envoyés par le serveur. Voir [Erreurs de streaming derrière une passerelle ou un proxy](/docs/fr/amazon-bedrock#streaming-errors-behind-a-gateway-or-proxy).

81 81 

82Transférez également les pings de maintien de connexion. Sur les connexions via `ANTHROPIC_BASE_URL` ou `ANTHROPIC_AWS_BASE_URL`, Claude Code compte chaque octet que votre passerelle relaye, y compris les événements SSE `ping` et les lignes de commentaire, et abandonne un flux qui reste silencieux pendant 300 secondes par défaut. Les pings en amont sont le seul trafic pendant les pauses de réflexion prolongées, donc si votre passerelle les supprime ou les met en mémoire tampon, Claude Code abandonne le flux pendant ces pauses ; [Tentatives automatiques](/docs/fr/errors#automatic-retries) couvre ce qu'un flux abandonné signale en fonction de la progression de la réponse. Un amont qui n'envoie aucun ping du tout, comme le flux d'événements binaires d'Amazon Bedrock, laisse ces pauses sans rien à relayer. Lors de la traduction à partir d'un tel amont, émettez vos propres événements `ping` pendant les silences. Les passerelles atteintes via `ANTHROPIC_BEDROCK_BASE_URL`, `ANTHROPIC_VERTEX_BASE_URL`, ou `ANTHROPIC_FOUNDRY_BASE_URL` ne sont pas enveloppées par ce chien de garde au niveau des octets, même quand elles relaient le format Anthropic Messages ; là, un [délai d'inactivité de 5 minutes](/docs/fr/env-vars) abandonne un flux silencieux à la place, et sur les connexions `ANTHROPIC_BEDROCK_BASE_URL` vous pouvez ajouter le chien de garde au niveau des octets avec [`CLAUDE_ENABLE_BYTE_WATCHDOG_BEDROCK`](/docs/fr/env-vars).82Transférez également les pings de maintien de connexion, car Claude Code abandonne une réponse en streaming une fois qu'aucun octet ne l'atteint pendant [cinq minutes par défaut](/docs/fr/network-config#streaming-idle-watchdogs). Pendant une longue pause de réflexion, les événements SSE `ping` en amont peuvent être les seuls octets sur le flux. Si votre passerelle les supprime ou les met en mémoire tampon, Claude Code abandonne la réponse au milieu de la pause. Quand vous traduisez à partir d'un amont qui n'envoie aucun ping du tout, comme le flux d'événements binaires d'Amazon Bedrock, émettez vos propres événements `ping` pendant les silences.

83 83 

84<h3 id="format-mismatch-with-the-upstream">84<h3 id="format-mismatch-with-the-upstream">

85 Incompatibilité de format avec l'amont85 Incompatibilité de format avec l'amont

managed-mcp.md +27 −10

Details

31 31 

32| Modèle | Ce qu'il fait | Configurer |32| Modèle | Ce qu'il fait | Configurer |

33| :- | :- | :- |33| :- | :- | :- |

34| **Désactiver MCP** | Aucun serveur ne se charge, à part [les serveurs en processus que l'application qui a démarré la session enregistre](#exclusive-control-with-managed-mcp-json) et tous ceux que vous [fournissez via `managedMcpServers`](#provide-servers-through-managed-settings) | `managed-mcp.json` avec une carte de serveurs vide |34| **Désactiver MCP** | Aucun serveur ne se charge sauf les quelques serveurs qui [se chargent sous contrôle exclusif](#exclusive-control-with-managed-mcp-json) | `managed-mcp.json` avec une carte de serveurs vide |

35| **Déploiement fixe** | Chaque utilisateur obtient les mêmes serveurs et ne peut pas en ajouter d'autres | `managed-mcp.json` avec les serveurs que vous souhaitez |35| **Déploiement fixe** | Chaque utilisateur obtient les mêmes serveurs et ne peut pas en ajouter d'autres | `managed-mcp.json` avec les serveurs que vous souhaitez |

36| **Serveurs fournis** | Chaque utilisateur obtient les serveurs distants que vous listez et conserve les siens | `managedMcpServers` dans les paramètres gérés |36| **Serveurs fournis** | Chaque utilisateur obtient les serveurs distants que vous listez et conserve les siens | `managedMcpServers` dans les paramètres gérés |

37| **Catalogue approuvé** | Publiez une liste de serveurs approuvés ; les utilisateurs ajoutent ceux qu'ils souhaitent, tout le reste est bloqué | `allowedMcpServers` + `allowManagedMcpServersOnly: true` |37| **Catalogue approuvé** | Publiez une liste de serveurs approuvés ; les utilisateurs ajoutent ceux qu'ils souhaitent, tout le reste est bloqué | `allowedMcpServers` + `allowManagedMcpServersOnly: true` |


53* Les serveurs que le fichier définit53* Les serveurs que le fichier définit

54* Les serveurs que vous [fournissez via `managedMcpServers`](#provide-servers-through-managed-settings)54* Les serveurs que vous [fournissez via `managedMcpServers`](#provide-servers-through-managed-settings)

55* Les serveurs en processus que l'application qui a démarré la session enregistre, comme le serveur propre de l'extension VS Code ou les [connecteurs que l'application de bureau fournit](/docs/fr/mcp#how-connectors-reach-claude-code)55* Les serveurs en processus que l'application qui a démarré la session enregistre, comme le serveur propre de l'extension VS Code ou les [connecteurs que l'application de bureau fournit](/docs/fr/mcp#how-connectors-reach-claude-code)

56* Le serveur intégré [Claude in Chrome](/docs/fr/chrome), si vous [l'autorisez aux côtés de l'ensemble géré](#allow-claude-in-chrome-alongside-the-managed-set)

56 57 

57Les utilisateurs ne peuvent pas ajouter, modifier ou utiliser d'autres serveurs MCP, y compris les serveurs fournis par les plugins et les serveurs transmis avec le [drapeau CLI `--mcp-config`](/docs/fr/cli-reference#cli-flags). Le fichier supprime également les connecteurs claude.ai que Claude Code récupère lui-même, sauf si vous [les autorisez aux côtés de l'ensemble géré](#allow-claude-ai-connectors-alongside-the-managed-set).58Les utilisateurs ne peuvent pas ajouter, modifier ou utiliser d'autres serveurs MCP, y compris les serveurs fournis par les plugins et les serveurs transmis avec le [drapeau CLI `--mcp-config`](/docs/fr/cli-reference#cli-flags). Le fichier supprime également les connecteurs claude.ai que Claude Code récupère lui-même, sauf si vous [les autorisez aux côtés de l'ensemble géré](#allow-claude-ai-connectors-alongside-the-managed-set).

58 59 


144 Désactiver MCP entièrement145 Désactiver MCP entièrement

145</h3>146</h3>

146 147 

147Déployez un `managed-mcp.json` contenant une carte de serveur vide pour bloquer chaque serveur MCP à part les [serveurs en processus que l'application qui a démarré la session enregistre](#exclusive-control-with-managed-mcp-json) :148Déployez un `managed-mcp.json` contenant une carte de serveur vide pour bloquer chaque serveur MCP à part les [serveurs qui se chargent sous contrôle exclusif](#exclusive-control-with-managed-mcp-json) :

148 149 

149```json theme={null}150```json theme={null}

150{151{


152}153}

153```154```

154 155 

155`claude mcp add` échoue avec l'erreur de politique d'entreprise ci-dessus. Les serveurs que les utilisateurs avaient précédemment configurés cessent de se charger la prochaine fois qu'ils démarrent une session, sans avertissement que la politique en est la raison. Les serveurs que vous fournissez via `managedMcpServers` se chargent toujours sous une carte vide, donc laissez cette clé non définie également pour désactiver MCP complètement.156`claude mcp add` échoue avec l'erreur de politique d'entreprise ci-dessus. Les serveurs que les utilisateurs avaient précédemment configurés cessent de se charger la prochaine fois qu'ils démarrent une session, sans avertissement que la politique en est la raison. Les serveurs que vous fournissez via `managedMcpServers`, et tout ce que vous autorisez aux côtés de l'ensemble géré, se chargent toujours sous une carte vide, donc laissez ces clés non définies pour désactiver MCP complètement.

156 157 

157<h3 id="allow-claude-ai-connectors-alongside-the-managed-set">158<h3 id="allow-claude-ai-connectors-alongside-the-managed-set">

158 Autoriser les connecteurs claude.ai aux côtés de l'ensemble géré159 Autoriser les connecteurs claude.ai aux côtés de l'ensemble géré


166 167 

167Claude Code lit `allowAllClaudeAiMcps` uniquement à partir des niveaux de politique contrôlés par l'administrateur : paramètres gérés par le serveur, une clé plist déployée par MDM ou une clé de registre HKLM, ou un fichier `managed-settings.json` système. Le placer dans les paramètres utilisateur ou projet n'a aucun effet, donc les utilisateurs ne peuvent pas réactiver les connecteurs que le contrôle exclusif a supprimés.168Claude Code lit `allowAllClaudeAiMcps` uniquement à partir des niveaux de politique contrôlés par l'administrateur : paramètres gérés par le serveur, une clé plist déployée par MDM ou une clé de registre HKLM, ou un fichier `managed-settings.json` système. Le placer dans les paramètres utilisateur ou projet n'a aucun effet, donc les utilisateurs ne peuvent pas réactiver les connecteurs que le contrôle exclusif a supprimés.

168 169 

170<h3 id="allow-claude-in-chrome-alongside-the-managed-set">

171 Autoriser Claude in Chrome aux côtés de l'ensemble géré

172</h3>

173 

174Par défaut, lorsque vous déployez `managed-mcp.json`, Claude Code bloque le serveur intégré [Claude in Chrome](/docs/fr/chrome) dans les sessions de terminal. Les utilisateurs ne reçoivent pas l'[invite d'installation de l'extension](/docs/fr/chrome#install-the-extension-when-claude-asks), et une session où l'utilisateur a [activé Chrome par défaut](/docs/fr/chrome#enable-chrome-by-default) démarre sans Chrome et n'imprime aucun avertissement. Lorsqu'un utilisateur qui pourrait autrement exécuter Claude in Chrome le démarre avec `claude --chrome` ou `CLAUDE_CODE_ENABLE_CFC=1`, Claude Code se ferme au démarrage avec une erreur qui nomme le paramètre `allowClaudeInChromeWithManagedMcp`.

175 

176Pour permettre aux utilisateurs d'exécuter Claude in Chrome aux côtés des serveurs dans `managed-mcp.json`, définissez `"allowClaudeInChromeWithManagedMcp": true` dans les paramètres gérés de l'appareil lui-même. Placez-le dans une clé plist déployée par MDM ou une clé de registre HKLM, ou un fichier `managed-settings.json` système, selon celui que Claude Code [sélectionne](/docs/fr/managed-settings#precedence-within-the-managed-tier) sur cet appareil. Nécessite Claude Code v2.1.282 ou ultérieur. Avant la v2.1.282, Claude Code ignore le paramètre, et l'erreur de démarrage se lit `You cannot dynamically configure MCP servers when an enterprise MCP config is present` à la place.

177 

178Claude Code lit le paramètre à partir de ces sources d'appareil même lorsque les [paramètres gérés par le serveur](/docs/fr/server-managed-settings) fournissent le reste de votre politique. Il ignore le paramètre dans les paramètres gérés par le serveur eux-mêmes, dans le registre HKCU inscriptible par l'utilisateur, et dans les paramètres utilisateur ou projet. Une entrée [`deniedMcpServers`](#policy-based-control-with-allowlists-and-denylists) pour `claude-in-chrome` bloque toujours le serveur avec le paramètre activé.

179 

169<h2 id="provide-servers-through-managed-settings">180<h2 id="provide-servers-through-managed-settings">

170 Fournir des serveurs via les paramètres gérés181 Fournir des serveurs via les paramètres gérés

171</h2>182</h2>


303 314 

304| Paramètre | Non défini (par défaut) | Tableau vide `[]` | Rempli |315| Paramètre | Non défini (par défaut) | Tableau vide `[]` | Rempli |

305| :- | :- | :- | :- |316| :- | :- | :- | :- |

306| `allowedMcpServers` | Tous les serveurs autorisés | Aucun serveur autorisé, à part [les serveurs de l'organisation](#how-a-server-is-evaluated) | Seuls les serveurs correspondants autorisés, à part [les serveurs de l'organisation](#how-a-server-is-evaluated) |317| `allowedMcpServers` | Tous les serveurs autorisés | Aucun serveur autorisé, à part [ceux qui ignorent la vérification de la liste blanche](#how-a-server-is-evaluated) | Seuls les serveurs correspondants autorisés, à part [ceux qui ignorent la vérification de la liste blanche](#how-a-server-is-evaluated) |

307| `deniedMcpServers` | Aucun serveur bloqué | Aucun serveur bloqué | Serveurs correspondants bloqués |318| `deniedMcpServers` | Aucun serveur bloqué | Aucun serveur bloqué | Serveurs correspondants bloqués |

308 319 

309Voir [Entrées invalides dans les paramètres gérés](/docs/fr/managed-settings#invalid-entries-in-managed-settings) pour savoir ce qui se passe quand une entrée échoue la validation du schéma.320Voir [Entrées invalides dans les paramètres gérés](/docs/fr/managed-settings#invalid-entries-in-managed-settings) pour savoir ce qui se passe quand une entrée échoue la validation du schéma.


3292. **Vérifier la liste noire.** Un serveur qui correspond à n'importe quelle entrée de liste noire, par URL, commande ou nom, est bloqué. Rien ne remplace une correspondance de liste noire.3402. **Vérifier la liste noire.** Un serveur qui correspond à n'importe quelle entrée de liste noire, par URL, commande ou nom, est bloqué. Rien ne remplace une correspondance de liste noire.

3303. **Vérifier la liste blanche.** Si `allowedMcpServers` n'est défini nulle part, tous les serveurs qui ont réussi la liste noire se chargent. S'il est défini, ce que le serveur doit correspondre dépend de son type, montré dans le tableau ci-dessous.3413. **Vérifier la liste blanche.** Si `allowedMcpServers` n'est défini nulle part, tous les serveurs qui ont réussi la liste noire se chargent. S'il est défini, ce que le serveur doit correspondre dépend de son type, montré dans le tableau ci-dessous.

331 342 

332 Les serveurs de l'organisation ignorent cette vérification : chaque entrée `managedMcpServers`, et toute entrée `managed-mcp.json` dont les valeurs n'utilisent pas d'expansion `${VAR}`. Les serveurs intégrés l'ignorent aussi, comme Claude dans Chrome, le serveur `ide` auquel Claude Code se connecte dans un IDE VS Code ou JetBrains en cours d'exécution, et les serveurs que l'interface CLI elle-même configure.343 Trois groupes de serveurs ignorent cette vérification :

344 

345 * Les serveurs de l'organisation : chaque entrée `managedMcpServers`, et toute entrée `managed-mcp.json` dont les valeurs n'utilisent pas d'expansion `${VAR}`.

346 * Les serveurs intégrés, comme Claude dans Chrome, le serveur `ide` auquel Claude Code se connecte dans un IDE VS Code ou JetBrains en cours d'exécution, et les serveurs que l'interface CLI elle-même configure.

347 * Les outils Slack d'une session [Claude Tag](/docs/fr/claude-tag) : les serveurs qu'elle utilise pour lire le fil et publier ses réponses se chargent sans entrée de liste blanche.

333 348 

334 Un serveur `managed-mcp.json` qui utilise l'expansion `${VAR}` dans sa commande, ses arguments, `env`, son URL ou ses en-têtes est toujours vérifié, tout comme tous les serveurs qu'un utilisateur, un plugin, `--mcp-config` ou claude.ai ajoute.349 Un serveur `managed-mcp.json` qui utilise l'expansion `${VAR}` dans sa commande, ses arguments, `env`, son URL ou ses en-têtes est toujours vérifié. Il en va de même pour tous les serveurs qu'un utilisateur, un plugin, ou claude.ai ajoute, et tous les serveurs qu'un utilisateur transmet avec `--mcp-config`.

335 350 

336| Type de serveur | Autorisé quand il correspond |351| Type de serveur | Autorisé quand il correspond |

337| :- | :- |352| :- | :- |


514| Restriction | Ce que l'utilisateur voit |529| Restriction | Ce que l'utilisateur voit |

515| :- | :- |530| :- | :- |

516| `managed-mcp.json` est présent et l'utilisateur exécute `claude mcp add` | `Cannot add MCP server: enterprise MCP configuration is active and has exclusive control over MCP servers` |531| `managed-mcp.json` est présent et l'utilisateur exécute `claude mcp add` | `Cannot add MCP server: enterprise MCP configuration is active and has exclusive control over MCP servers` |

532| `managed-mcp.json` est présent et un utilisateur qui pourrait autrement exécuter Claude dans Chrome exécute `claude --chrome` | Claude Code se ferme au démarrage avec `Claude in Chrome is blocked by your organization's managed MCP configuration (managed-mcp.json). An administrator can allow it with allowClaudeInChromeWithManagedMcp in device policy.` |

517| Le serveur est sur une liste de blocage et l'utilisateur exécute `claude mcp add` | `Cannot add MCP server "<name>": server is explicitly blocked by enterprise policy` |533| Le serveur est sur une liste de blocage et l'utilisateur exécute `claude mcp add` | `Cannot add MCP server "<name>": server is explicitly blocked by enterprise policy` |

518| Le serveur n'est pas sur la liste d'autorisation et l'utilisateur exécute `claude mcp add` | `Cannot add MCP server "<name>": not allowed by enterprise policy` |534| Le serveur n'est pas sur la liste d'autorisation et l'utilisateur exécute `claude mcp add` | `Cannot add MCP server "<name>": not allowed by enterprise policy` |

519| L'utilisateur exécute `claude mcp remove` sur un serveur de `managedMcpServers` | `MCP server "<name>" is provided by your organization (managed settings) and cannot be removed locally.` |535| L'utilisateur exécute `claude mcp remove` sur un serveur de `managedMcpServers` | `MCP server "<name>" is provided by your organization (managed settings) and cannot be removed locally.` |


532 Résumé de la configuration548 Résumé de la configuration

533</h2>549</h2>

534 550 

535Chaque fichier et paramètre couvert par cette page, ce qu'il contrôle et comment le livrer :551Chaque fichier et paramètre que cette page couvre, ce qu'il contrôle et comment le livrer :

536 552 

537| Surface | Ce qu'il contrôle | Où il se trouve | Comment le livrer |553| Surface | Ce qu'il contrôle | Où il se trouve | Comment le livrer |

538| :- | :- | :- | :- |554| :- | :- | :- | :- |

539| `managed-mcp.json` | Ensemble de serveurs fixe, contrôle exclusif | Chemin système : `/Library/Application Support/ClaudeCode/`, `/etc/claude-code/`, ou `C:\Program Files\ClaudeCode\` | MDM, GPO, gestion de flotte, ou tout processus disposant de privilèges administrateur. Ne peut pas être défini via les paramètres gérés par le serveur |555| `managed-mcp.json` | Ensemble de serveurs fixe, contrôle exclusif | Chemin système : `/Library/Application Support/ClaudeCode/`, `/etc/claude-code/`, ou `C:\Program Files\ClaudeCode\` | MDM, GPO, gestion de flotte, ou tout processus disposant de privilèges administrateur. Ne peut pas être défini via les paramètres gérés par le serveur |

540| `managedMcpServers` | Serveurs distants fournis à chaque utilisateur aux côtés des leurs | Sources de paramètres gérés uniquement ; le paramètre n'a aucun effet ailleurs | Une [source de paramètres gérés](/docs/fr/admin-setup#decide-how-settings-reach-devices) : paramètres gérés par le serveur, une politique de passerelle, `managed-settings.json`, profil MDM, ou registre HKLM |556| `managedMcpServers` | Serveurs distants fournis à chaque utilisateur aux côtés des leurs | Sources de paramètres gérés uniquement ; le paramètre n'a aucun effet ailleurs | Une [source de paramètres gérés](/docs/fr/admin-setup#decide-how-settings-reach-devices) : paramètres gérés par le serveur, une politique de passerelle, `managed-settings.json`, profil MDM, ou registre HKLM |

541| `allowedMcpServers` | Liste d'autorisation des serveurs autorisés | N'importe quel [scope de paramètres](/docs/fr/settings#where-settings-live) ; [Comment un serveur est évalué](#how-a-server-is-evaluated) indique comment les listes de plusieurs scopes et sources gérées se combinent | Pour l'application, une [source de paramètres gérés](/docs/fr/admin-setup#decide-how-settings-reach-devices) : paramètres gérés par le serveur, `managed-settings.json`, profil MDM, ou registre |557| `allowedMcpServers` | Liste blanche des serveurs autorisés | N'importe quel [scope de paramètres](/docs/fr/settings#where-settings-live) ; [Comment un serveur est évalué](#how-a-server-is-evaluated) explique comment les listes de plusieurs scopes et sources gérées se combinent | Pour l'application, une [source de paramètres gérés](/docs/fr/admin-setup#decide-how-settings-reach-devices) : paramètres gérés par le serveur, `managed-settings.json`, profil MDM, ou registre |

542| `deniedMcpServers` | Liste de refus des serveurs bloqués | N'importe quel scope de paramètres ; [Comment un serveur est évalué](#how-a-server-is-evaluated) indique comment les listes de plusieurs scopes et sources gérées se combinent | Identique à `allowedMcpServers` |558| `deniedMcpServers` | Liste noire des serveurs bloqués | N'importe quel scope de paramètres ; [Comment un serveur est évalué](#how-a-server-is-evaluated) explique comment les listes de plusieurs scopes et sources gérées se combinent | Identique à `allowedMcpServers` |

543| `allowManagedMcpServersOnly` | Verrouille la liste d'autorisation aux sources gérées uniquement | Sources de paramètres gérés uniquement ; [Clés lues à partir de chaque source admin](/docs/fr/managed-settings#keys-read-from-every-admin-source) indique quelles sources gérées peuvent l'activer. Le paramètre n'a aucun effet dans les autres scopes | Identique à `allowedMcpServers` |559| `allowManagedMcpServersOnly` | Verrouille la liste blanche aux sources gérées uniquement | Sources de paramètres gérés uniquement ; [Clés lues à partir de chaque source admin](/docs/fr/managed-settings#keys-read-from-every-admin-source) explique quelles sources gérées peuvent l'activer. Le paramètre n'a aucun effet dans les autres scopes | Identique à `allowedMcpServers` |

560| `allowClaudeInChromeWithManagedMcp` | Permet au serveur Claude intégré dans Chrome de s'exécuter aux côtés de `managed-mcp.json` | Paramètres gérés sur l'appareil uniquement : un profil MDM, le registre HKLM, ou `managed-settings.json`. Les paramètres gérés par le serveur et les sources accessibles en écriture par l'utilisateur n'ont aucun effet | MDM, GPO, gestion de flotte, ou tout processus disposant de privilèges administrateur |

544| `allowAllClaudeAiMcps` | Charge les connecteurs claude.ai que Claude Code récupère lui-même aux côtés de `managed-mcp.json`. [Un `managed-mcp.json` sur l'hôte qui exécute une session cloud supprime toujours les connecteurs de cette session](#allow-claude-ai-connectors-alongside-the-managed-set) | Sources de paramètres gérés uniquement ; le paramètre n'a aucun effet ailleurs | Identique à `allowedMcpServers` |561| `allowAllClaudeAiMcps` | Charge les connecteurs claude.ai que Claude Code récupère lui-même aux côtés de `managed-mcp.json`. [Un `managed-mcp.json` sur l'hôte qui exécute une session cloud supprime toujours les connecteurs de cette session](#allow-claude-ai-connectors-alongside-the-managed-set) | Sources de paramètres gérés uniquement ; le paramètre n'a aucun effet ailleurs | Identique à `allowedMcpServers` |

545 562 

546<h2 id="related-resources">563<h2 id="related-resources">

Details

430<span id="managed-only-settings" />430<span id="managed-only-settings" />

431 431 

432<h2 id="keys-only-a-managed-source-can-set">432<h2 id="keys-only-a-managed-source-can-set">

433 Clés qu'une source gérée seule peut définir433 Clés que seule une source gérée peut définir

434</h2>434</h2>

435 435 

436Claude Code lit les clés suivantes uniquement d'une source gérée ; les placer dans les fichiers de paramètres utilisateur ou projet n'a aucun effet.436Claude Code lit les clés suivantes uniquement à partir d'une source gérée ; les placer dans les fichiers de paramètres utilisateur ou projet n'a aucun effet.

437 437 

438La plupart d'entre elles sont des verrous : la valeur qu'un verrou gouverne, comme les règles de permission ou `sandbox.network.allowedDomains`, est une clé ordinaire que n'importe quel niveau peut définir, et le verrou dit à Claude Code d'honorer uniquement la valeur gérée.438La plupart d'entre elles sont des verrous : la valeur qu'un verrou gouverne, comme les règles de permission ou `sandbox.network.allowedDomains`, est une clé ordinaire que n'importe quel niveau peut définir, et le verrou indique à Claude Code de n'honorer que la valeur gérée.

439 439 

440Le tableau couvre les contrôles de permission, plugin et livraison. Pour toute clé non énumérée ici, la colonne Scope de l'[index de référence des paramètres](/docs/fr/settings-reference#all-settings) dit si elle est gérée uniquement ; les clés gérées uniquement restantes là incluent l'URL de connexion à la passerelle, la version, le navigateur, le simulateur mobile, l'hôte SSH, la session locale Desktop, le chemin binaire sandbox, la tarification du modèle, la restriction du modèle, et les contrôles CLAUDE.md.440Le tableau couvre les contrôles de permission, de plugin et de livraison. Pour toute clé non listée ici, la colonne Scope de l'index de [référence des paramètres](/docs/fr/settings-reference#all-settings) indique si elle est réservée aux sources gérées ; les clés restantes réservées aux sources gérées incluent l'URL de connexion de la passerelle, la version, le navigateur, le simulateur mobile, l'hôte SSH, la session locale Desktop, le chemin binaire du sandbox, la tarification du modèle, la restriction du modèle et les contrôles CLAUDE.md.

441 441 

442| Paramètre | Description |442| Paramètre | Description |

443| :- | :- |443| :- | :- |

444| [`allowAllClaudeAiMcps`](/docs/fr/settings-reference#allowallclaudeaimcps) | Charger les connecteurs claude.ai que Claude Code récupère lui-même aux côtés d'un `managed-mcp.json` déployé au lieu de les supprimer |444| [`allowAllClaudeAiMcps`](/docs/fr/settings-reference#allowallclaudeaimcps) | Charger les connecteurs claude.ai que Claude Code récupère lui-même aux côtés d'un `managed-mcp.json` déployé au lieu de les supprimer |

445| [`allowedChannelPlugins`](/docs/fr/settings-reference#allowedchannelplugins) | Liste d'autorisation des plugins de canal qui peuvent pousser des messages. Remplace la liste d'autorisation Anthropic par défaut quand défini. Nécessite `channelsEnabled: true`. Consultez [Restreindre quels plugins de canal peuvent s'exécuter](/docs/fr/channels#restrict-which-channel-plugins-can-run) |445| [`allowedChannelPlugins`](/docs/fr/settings-reference#allowedchannelplugins) | Liste blanche des plugins de canal qui peuvent envoyer des messages. Remplace la liste blanche Anthropic par défaut lorsqu'elle est définie. Nécessite `channelsEnabled: true`. Voir [Restreindre les plugins de canal qui peuvent s'exécuter](/docs/fr/channels#restrict-which-channel-plugins-can-run) |

446| [`allowManagedHooksOnly`](/docs/fr/settings-reference#allowmanagedhooksonly) | Quand `true`, restreint quels hooks s'exécutent ; consultez [ce qui s'exécute sous `allowManagedHooksOnly`](/docs/fr/settings-reference#what-runs-under-allowmanagedhooksonly) pour la liste complète des effets |446| [`allowManagedHooksOnly`](/docs/fr/settings-reference#allowmanagedhooksonly) | Lorsque `true`, restreint les hooks qui s'exécutent ; voir [ce qui s'exécute sous `allowManagedHooksOnly`](/docs/fr/settings-reference#what-runs-under-allowmanagedhooksonly) pour la liste complète des effets |

447| [`allowManagedMcpServersOnly`](/docs/fr/settings-reference#allowmanagedmcpserversonly) | Quand `true`, seul `allowedMcpServers` des paramètres gérés est respecté. `deniedMcpServers` fusionne toujours de toutes les sources. Consultez [Clés lues de chaque source d'administrateur](#keys-read-from-every-admin-source) pour savoir quelles sources gérées peuvent le définir, et [Configuration MCP gérée](/docs/fr/managed-mcp) |447| [`allowManagedMcpServersOnly`](/docs/fr/settings-reference#allowmanagedmcpserversonly) | Lorsque `true`, seuls les `allowedMcpServers` des paramètres gérés sont respectés. `deniedMcpServers` fusionne toujours à partir de toutes les sources. Voir [Clés lues à partir de chaque source d'administration](#keys-read-from-every-admin-source) pour savoir quelles sources gérées peuvent la définir, et [Configuration MCP gérée](/docs/fr/managed-mcp) |

448| [`allowManagedPermissionRulesOnly`](/docs/fr/settings-reference#allowmanagedpermissionrulesonly) | Rend les paramètres gérés la seule source de paramètres des règles de permission. L'entrée énumère chaque source qu'elle ignore |448| [`allowManagedPermissionRulesOnly`](/docs/fr/settings-reference#allowmanagedpermissionrulesonly) | Rend les paramètres gérés la seule source de paramètres des règles de permission. L'entrée liste chaque source qu'elle ignore |

449| [`blockedMarketplaces`](/docs/fr/settings-reference#blockedmarketplaces) | Liste de blocage des sources de place de marché. Les sources bloquées sont vérifiées avant le téléchargement, donc elles ne touchent jamais le système de fichiers. Consultez [restrictions de place de marché gérée](/docs/fr/plugins/org#restrict-what-users-can-install) |449| [`blockedMarketplaces`](/docs/fr/settings-reference#blockedmarketplaces) | Liste noire des sources de marketplace. Les sources bloquées sont vérifiées avant le téléchargement, elles ne touchent donc jamais le système de fichiers. Voir [restrictions de marketplace gérées](/docs/fr/plugins/org#restrict-what-users-can-install) |

450| [`channelsEnabled`](/docs/fr/settings-reference#channelsenabled) | Autoriser les [canaux](/docs/fr/channels) pour l'organisation. Consultez [contrôles d'entreprise](/docs/fr/channels#enterprise-controls) pour la valeur par défaut sur chaque plan |450| [`channelsEnabled`](/docs/fr/settings-reference#channelsenabled) | Autoriser les [canaux](/docs/fr/channels) pour l'organisation. Voir [contrôles d'entreprise](/docs/fr/channels#enterprise-controls) pour la valeur par défaut sur chaque plan |

451| [`disableCommandPluginSources`](/docs/fr/settings-reference#disablecommandpluginsources) | Quand `true`, bloque entièrement les [sources de plugin `command`](/docs/fr/plugins/marketplace-reference#command-plugin-source), donc la commande déclarée par la place de marché ne s'exécute jamais. Bloque également les commandes [`headersHelper`](/docs/fr/plugins/host-marketplace#authenticate-archive-downloads) de la place de marché, sauf pour une place de marché que les paramètres gérés eux-mêmes déclarent. Quand non défini, suit `allowManagedHooksOnly`. Nécessite Claude Code v2.1.229 ou ultérieur, et le bloc `headersHelper` nécessite v2.1.238 ou ultérieur |451| [`disableCommandPluginSources`](/docs/fr/settings-reference#disablecommandpluginsources) | Lorsque `true`, bloque entièrement les [sources de plugin `command`](/docs/fr/plugins/marketplace-reference#command-plugin-source), de sorte que la commande déclarée par le marketplace ne s'exécute jamais. Bloque également les commandes [`headersHelper`](/docs/fr/plugins/host-marketplace#authenticate-archive-downloads) du marketplace, sauf pour un marketplace que les paramètres gérés eux-mêmes déclarent. Lorsque non défini, suit `allowManagedHooksOnly`. Nécessite Claude Code v2.1.229 ou ultérieur, et le bloc `headersHelper` nécessite v2.1.238 ou ultérieur |

452| [`disableSideloadFlags`](/docs/fr/settings-reference#disablesideloadflags) | Rejeter les drapeaux `--plugin-dir`, `--plugin-url`, `--agents`, et `--mcp-config` au démarrage. Dans les sessions cloud, Claude Code supprime les serveurs MCP que le serveur a livrés via `--mcp-config`, autres que les entrées `type: "sdk"` en processus, et démarre la session. Nécessite Claude Code v2.1.193 ou ultérieur |452| [`disableSideloadFlags`](/docs/fr/settings-reference#disablesideloadflags) | Rejeter les drapeaux `--plugin-dir`, `--plugin-url`, `--agents` et `--mcp-config` au démarrage. Dans les sessions cloud, Claude Code démarre plutôt la session et supprime les serveurs `--mcp-config` livrés par le serveur, à l'exception des exceptions que son [entrée de référence](/docs/fr/settings-reference#disablesideloadflags) liste. Nécessite Claude Code v2.1.193 ou ultérieur |

453| [`forceRemoteSettingsRefresh`](/docs/fr/settings-reference#forceremotesettingsrefresh) | Quand `true`, bloque le démarrage CLI jusqu'à ce que les paramètres gérés distants soient fraîchement récupérés et se termine si la récupération échoue. Consultez [application fail-closed](/docs/fr/server-managed-settings#enforce-fail-closed-startup) |453| [`forceRemoteSettingsRefresh`](/docs/fr/settings-reference#forceremotesettingsrefresh) | Lorsque `true`, bloque le démarrage de la CLI jusqu'à ce que les paramètres gérés distants soient fraîchement récupérés et se termine si la récupération échoue. Voir [application de fermeture en cas d'échec](/docs/fr/server-managed-settings#enforce-fail-closed-startup) |

454| [`managedMcpServers`](/docs/fr/settings-reference#managedmcpservers) | Serveurs MCP distants fournis à chaque utilisateur aux côtés des leurs. Il fournit des serveurs plutôt que de verrouiller quoi que ce soit. Consultez [Fournir des serveurs via les paramètres gérés](/docs/fr/managed-mcp#provide-servers-through-managed-settings). Nécessite Claude Code v2.1.259 ou ultérieur |454| [`managedMcpServers`](/docs/fr/settings-reference#managedmcpservers) | Serveurs MCP distants fournis à chaque utilisateur aux côtés des leurs. Il fournit des serveurs plutôt que de verrouiller quoi que ce soit. Voir [Fournir des serveurs via les paramètres gérés](/docs/fr/managed-mcp#provide-servers-through-managed-settings). Nécessite Claude Code v2.1.259 ou ultérieur |

455| [`managedSourcesBehavior`](/docs/fr/settings-reference#managedsourcesbehavior) | Si Claude Code applique uniquement la source gérée de priorité la plus élevée ou [compose chacune d'elles](#compose-every-managed-source) |455| [`managedSourcesBehavior`](/docs/fr/settings-reference#managedsourcesbehavior) | Si Claude Code applique uniquement la source gérée de plus haute priorité ou [compose chacune d'elles](#compose-every-managed-source) |

456| [`parentSettingsBehavior`](/docs/fr/settings-reference#parentsettingsbehavior) | Si les paramètres parent fournis par l'hôte fusionnent sous la politique gérée |456| [`parentSettingsBehavior`](/docs/fr/settings-reference#parentsettingsbehavior) | Si les paramètres parents fournis par l'hôte fusionnent selon la politique gérée |

457| [`pluginSuggestionMarketplaces`](/docs/fr/settings-reference#pluginsuggestionmarketplaces) | Places de marché dont les plugins Claude Code peut suggérer aux utilisateurs |457| [`pluginSuggestionMarketplaces`](/docs/fr/settings-reference#pluginsuggestionmarketplaces) | Marketplaces dont les plugins Claude Code peut suggérer aux utilisateurs |

458| [`pluginTrustMessage`](/docs/fr/settings-reference#plugintrustmessage) | Message personnalisé ajouté à l'avertissement de confiance du plugin affiché avant l'installation |458| [`pluginTrustMessage`](/docs/fr/settings-reference#plugintrustmessage) | Message personnalisé ajouté à l'avertissement de confiance du plugin affiché avant l'installation |

459| [`policyHelper`](/docs/fr/settings-reference#policyhelper) | Exécutable qui calcule les paramètres gérés au démarrage ; consultez [Calculer les paramètres gérés avec un aide de politique](/docs/fr/settings-reference#policyhelper) |459| [`policyHelper`](/docs/fr/settings-reference#policyhelper) | Exécutable qui calcule les paramètres gérés au démarrage ; voir [Calculer les paramètres gérés avec un assistant de politique](/docs/fr/settings-reference#policyhelper) |

460| [`sandbox.filesystem.allowManagedReadPathsOnly`](/docs/fr/settings-reference#sandbox-filesystem-allowmanagedreadpathsonly) | Quand `true`, seuls les chemins `filesystem.allowRead` des paramètres gérés sont respectés. `denyRead` fusionne toujours de toutes les sources |460| [`sandbox.filesystem.allowManagedReadPathsOnly`](/docs/fr/settings-reference#sandbox-filesystem-allowmanagedreadpathsonly) | Lorsque `true`, seuls les chemins `filesystem.allowRead` des paramètres gérés sont respectés. `denyRead` fusionne toujours à partir de toutes les sources |

461| [`sandbox.network.allowManagedDomainsOnly`](/docs/fr/settings-reference#sandbox-network-allowmanageddomainsonly) | Honorer uniquement les `allowedDomains` gérés et les règles d'autorisation `WebFetch(domain:...)` ; bloquer les autres domaines sans demander |461| [`sandbox.network.allowManagedDomainsOnly`](/docs/fr/settings-reference#sandbox-network-allowmanageddomainsonly) | Honorer uniquement les règles d'autorisation `allowedDomains` et `WebFetch(domain:...)` gérées ; bloquer les autres domaines sans demander |

462| [`strictKnownMarketplaces`](/docs/fr/settings-reference#strictknownmarketplaces) | Contrôle quelles sources de place de marché de plugin les utilisateurs peuvent ajouter et installer des plugins. Consultez [restrictions de place de marché gérée](/docs/fr/plugins/org#restrict-what-users-can-install) |462| [`strictKnownMarketplaces`](/docs/fr/settings-reference#strictknownmarketplaces) | Contrôle les sources de marketplace de plugins à partir desquelles les utilisateurs peuvent ajouter et installer des plugins. Voir [restrictions de marketplace gérées](/docs/fr/plugins/org#restrict-what-users-can-install) |

463| [`strictPluginOnlyCustomization`](/docs/fr/settings-reference#strictpluginonlycustomization) | Bloquer les skills, agents, hooks, et serveurs MCP des sources utilisateur et projet ; `true` verrouille les quatre, un tableau nomme lesquels |463| [`strictPluginOnlyCustomization`](/docs/fr/settings-reference#strictpluginonlycustomization) | Bloquer les skills, agents, hooks et serveurs MCP à partir des sources utilisateur et projet ; `true` verrouille les quatre, un tableau nomme lesquels |

464| [`wslInheritsWindowsSettings`](/docs/fr/settings-reference#wslinheritswindowssettings) | Quand défini dans le registre HKLM ou un fichier sous `C:\Program Files\ClaudeCode`, faire que WSL lise la chaîne de politique Windows, et lire `/etc/claude-code` uniquement quand [aucun document d'administrateur Windows n'est présent](#present-admin-documents) ; l'entrée donne l'ordre |464| [`wslInheritsWindowsSettings`](/docs/fr/settings-reference#wslinheritswindowssettings) | Lorsqu'elle est définie dans le registre HKLM ou un fichier sous `C:\Program Files\ClaudeCode`, faire en sorte que WSL lise la chaîne de politique Windows, et lise `/etc/claude-code` uniquement lorsque [aucun document d'administration Windows n'est présent](#present-admin-documents) ; l'entrée donne l'ordre |

465 465 

466<Note>466<Note>

467 Sur les plans Team et Enterprise, un Owner active ou désactive [Remote Control](/docs/fr/remote-control) et [sessions web](/docs/fr/claude-code-on-the-web) à l'échelle de l'organisation dans [les paramètres d'administration Claude Code](https://claude.ai/admin-settings/claude-code). Remote Control peut en outre être désactivé par appareil avec le paramètre [`disableRemoteControl`](/docs/fr/settings-reference#disableremotecontrol). Les sessions web n'ont pas de clé de paramètres gérés par appareil.467 Sur les plans Team et Enterprise, un propriétaire active ou désactive [Remote Control](/docs/fr/remote-control) et les [sessions cloud](/docs/fr/claude-code-on-the-web) à l'échelle de l'organisation dans les [paramètres d'administration Claude Code](https://claude.ai/admin-settings/claude-code). Remote Control peut également être désactivé par appareil avec le paramètre [`disableRemoteControl`](/docs/fr/settings-reference#disableremotecontrol). Les sessions cloud n'ont pas de clé de paramètres gérés par appareil.

468 468 

469 Pour vérifier si ces paramètres d'organisation ont atteint une machine donnée, exécutez `claude doctor` là et lisez la ligne `Organization policy`, qui dit où Claude Code a chargé la politique ou pourquoi il ne l'a pas chargée. Nécessite Claude Code v2.1.261 ou ultérieur. Dans une session en cours d'exécution, `/status` affiche la même ligne quand la politique n'a pas été chargée.469 Pour vérifier si ces paramètres d'organisation ont atteint une machine donnée, exécutez `claude doctor` là-bas et lisez la ligne `Organization policy`, qui indique où Claude Code a chargé la politique ou pourquoi elle n'a pas été chargée. Nécessite Claude Code v2.1.261 ou ultérieur. Dans une session en cours, `/status` affiche la même ligne lorsque la politique n'a pas été chargée.

470</Note>470</Note>

471 471 

472<h2 id="turn-telemetry-off-for-your-organization">472<h2 id="turn-telemetry-off-for-your-organization">

mcp.md +12 −7

Details

237 237 

238[Ajouter des serveurs MCP à partir de la configuration JSON](#add-mcp-servers-from-json-configuration) couvre l'échappement du shell et le drapeau `--scope` pour `add-json`. Pour partager le serveur avec votre équipe à la place, ajoutez `--scope project`, ou ajoutez l'entrée sous `mcpServers` dans `.mcp.json` à la racine de votre projet et validez-la. [Portée du projet](#project-scope) couvre comment Claude Code charge et approuve ce fichier.238[Ajouter des serveurs MCP à partir de la configuration JSON](#add-mcp-servers-from-json-configuration) couvre l'échappement du shell et le drapeau `--scope` pour `add-json`. Pour partager le serveur avec votre équipe à la place, ajoutez `--scope project`, ou ajoutez l'entrée sous `mcpServers` dans `.mcp.json` à la racine de votre projet et validez-la. [Portée du projet](#project-scope) couvre comment Claude Code charge et approuve ce fichier.

239 239 

240Chaque commande `claude mcp add` et `claude mcp add-json` imprime une ligne `Added ...`. Pour vérifier que Claude Code s'est connecté, exécutez `claude mcp get <name>` ; [État du serveur](#server-status) couvre les statuts qu'il affiche et l'étape d'approbation pour les serveurs `.mcp.json`.240Chaque commande `claude mcp add` et `claude mcp add-json` imprime une ligne `Added ...` en cas de succès. Pour vérifier que Claude Code s'est connecté, exécutez `claude mcp get <name>` ; [État du serveur](#server-status) couvre les statuts qu'il affiche et l'étape d'approbation pour les serveurs `.mcp.json`.

241 241 

242<h3 id="managing-your-servers">242<h3 id="managing-your-servers">

243 Gestion de vos serveurs243 Gestion de vos serveurs


265 État du serveur265 État du serveur

266</h4>266</h4>

267 267 

268`claude mcp add` confirme un ajout réussi en imprimant une ligne `Added ...`, ce qui signifie que la configuration a été écrite. `claude mcp list` affiche ensuite un statut de santé à côté de chaque serveur qu'il liste, tel que `✔ Connected`, `! Needs authentication`, ou `✘ Failed to connect`. Un statut d'échec signifie que Claude Code n'a pas pu se connecter à ce serveur, pas que la commande list a échoué.268`claude mcp add` confirme un ajout réussi en imprimant une ligne `Added ...`, ce qui signifie que la configuration a été écrite. Si la commande imprime plutôt un message `was not saved`, voir [MCP server was not saved or removed](/docs/fr/errors#mcp-server-was-not-saved-or-removed) ; pour un message `may not have been saved`, voir [MCP server may not have been saved or removed](/docs/fr/errors#mcp-server-may-not-have-been-saved-or-removed).

269 

270`claude mcp list` affiche un statut de santé à côté de chaque serveur qu'il liste, tel que `✔ Connected`, `! Needs authentication`, ou `✘ Failed to connect`. Un statut d'échec signifie que Claude Code n'a pas pu se connecter à ce serveur, pas que la commande list a échoué.

269 271 

270Les statuts dans cette liste signalent une décision de configuration plutôt qu'une tentative de connexion, donc Claude Code les imprime sans se connecter au serveur :272Les statuts dans cette liste signalent une décision de configuration plutôt qu'une tentative de connexion, donc Claude Code les imprime sans se connecter au serveur :

271 273 


371* Reçoit les notifications `list_changed` des serveurs sur la révision plus récente sur un [flux qu'il maintient ouvert](#notification-streams-on-the-v2-runtime).373* Reçoit les notifications `list_changed` des serveurs sur la révision plus récente sur un [flux qu'il maintient ouvert](#notification-streams-on-the-v2-runtime).

372* N'enregistre pas un serveur [channel](#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.374* N'enregistre pas un serveur [channel](#push-messages-with-channels) qui se connecte sur la révision plus récente, car cette révision ne peut pas transporter les messages de canal.

373* Échoue une [connexion OAuth MCP](#authenticate-with-remote-mcp-servers) dont la réponse d'autorisation nomme un émetteur inattendu.375* Échoue une [connexion OAuth MCP](#authenticate-with-remote-mcp-servers) dont la réponse d'autorisation nomme un émetteur inattendu.

376* Envoie les [identifiants OAuth MCP](#authenticate-with-remote-mcp-servers) uniquement à un point de terminaison de jeton servi via HTTPS ou à `localhost`, `127.0.0.1`, ou `::1`. La connexion échoue pour un serveur dont le point de terminaison de jeton est `http://` simple n'importe où ailleurs, tel qu'un appareil sur votre réseau local. Voir [Refusing to send credentials to non-https token endpoint](/docs/fr/errors#refusing-to-send-credentials-to-non-https-token-endpoint).

374 377 

375Anthropic peut garder un serveur spécifique sur le protocole antérieur, ou hors de ce flux, avec un drapeau de fonctionnalité que Claude Code récupère.378Anthropic peut garder un serveur spécifique sur le protocole antérieur, ou hors de ce flux, avec un drapeau de fonctionnalité que Claude Code récupère.

376 379 


475 478 

476Un appel d'outil MCP dans la conversation principale qui s'exécute toujours après deux minutes se déplace vers une tâche en arrière-plan au lieu de bloquer la session. Claude reçoit l'ID de la tâche immédiatement et continue de travailler, et le résultat arrive comme une notification de tâche lorsque l'appel se règle. La mise en arrière-plan automatique nécessite Claude Code v2.1.212 ou ultérieur.479Un appel d'outil MCP dans la conversation principale qui s'exécute toujours après deux minutes se déplace vers une tâche en arrière-plan au lieu de bloquer la session. Claude reçoit l'ID de la tâche immédiatement et continue de travailler, et le résultat arrive comme une notification de tâche lorsque l'appel se règle. La mise en arrière-plan automatique nécessite Claude Code v2.1.212 ou ultérieur.

477 480 

478La tâche apparaît dans [`/tasks`](/docs/fr/commands#all-commands), où vous pouvez également l'arrêter, et elle ne survit pas à la sortie de la session. Les limites par appel s'appliquent toujours pendant que l'appel s'exécute en arrière-plan : la limite de temps mur définie par le `timeout` par serveur ou [`MCP_TOOL_TIMEOUT`](/docs/fr/env-vars), et le délai d'inactivité défini par [`CLAUDE_CODE_MCP_TOOL_IDLE_TIMEOUT`](/docs/fr/env-vars).481La tâche apparaît dans [`/tasks`](/docs/fr/commands#all-commands), où vous pouvez également l'arrêter, et elle ne survit pas à la sortie de la session. L'entrée de la tâche affiche la dernière progression que le serveur a signalée.

482 

483Les limites par appel s'appliquent toujours pendant que l'appel s'exécute en arrière-plan : la limite de temps mur définie par le `timeout` par serveur ou [`MCP_TOOL_TIMEOUT`](/docs/fr/env-vars), et le délai d'inactivité défini par [`CLAUDE_CODE_MCP_TOOL_IDLE_TIMEOUT`](/docs/fr/env-vars).

479 484 

480Définissez la variable d'environnement [`CLAUDE_CODE_MCP_AUTO_BACKGROUND_MS`](/docs/fr/env-vars) en millisecondes pour changer le seuil, ou définissez-la à `0` pour désactiver la mise en arrière-plan automatique. Définir `CLAUDE_CODE_DISABLE_BACKGROUND_TASKS` à `1` la désactive également, ainsi que toutes les autres fonctionnalités de tâche en arrière-plan.485Définissez la variable d'environnement [`CLAUDE_CODE_MCP_AUTO_BACKGROUND_MS`](/docs/fr/env-vars) en millisecondes pour changer le seuil, ou définissez-la à `0` pour désactiver la mise en arrière-plan automatique. Définir `CLAUDE_CODE_DISABLE_BACKGROUND_TASKS` à `1` la désactive également, ainsi que toutes les autres fonctionnalités de tâche en arrière-plan.

481 486 


542 * Dans les [sessions cloud](/docs/fr/claude-code-on-the-web), un appel MCP à un serveur de plugin qui n'est pas encore connecté, tel que juste après le réveil d'une session inactive, démarre le serveur à la demande et attend qu'il se connecte547 * Dans les [sessions cloud](/docs/fr/claude-code-on-the-web), un appel MCP à un serveur de plugin qui n'est pas encore connecté, tel que juste après le réveil d'une session inactive, démarre le serveur à la demande et attend qu'il se connecte

543* **Espaces réservés de chemin** : `${CLAUDE_PLUGIN_ROOT}` se résout au répertoire d'installation du plugin, `${CLAUDE_PLUGIN_DATA}` à son répertoire d'[état persistant](/docs/fr/plugins/components#path-variables-and-persistent-data), et `${CLAUDE_PROJECT_DIR}` à la racine de projet stable. La substitution s'applique à :548* **Espaces réservés de chemin** : `${CLAUDE_PLUGIN_ROOT}` se résout au répertoire d'installation du plugin, `${CLAUDE_PLUGIN_DATA}` à son répertoire d'[état persistant](/docs/fr/plugins/components#path-variables-and-persistent-data), et `${CLAUDE_PROJECT_DIR}` à la racine de projet stable. La substitution s'applique à :

544 * serveurs `stdio` : `command`, `args`, `env`549 * serveurs `stdio` : `command`, `args`, `env`

545 * serveurs `http`, `sse`, et `ws` : `url`, `headers`, et `headersHelper`. Avant la v2.1.195, `headersHelper` transmettait l'espace réservé comme une chaîne littérale550 * serveurs `http`, `sse`, et `ws` : `url`, `headers`, et `headersHelper`

546* **Accès à l'environnement utilisateur** : accès aux mêmes variables d'environnement que les serveurs configurés manuellement551* **Accès à l'environnement utilisateur** : accès aux mêmes variables d'environnement que les serveurs configurés manuellement

547* **Types de transport multiples** : support pour les transports stdio, SSE, HTTP, et WebSocket, bien que le support de transport puisse varier selon le serveur552* **Types de transport multiples** : support pour les transports stdio, SSE, HTTP, et WebSocket, bien que le support de transport puisse varier selon le serveur

548 553 


1101 1106 

1102| Où vous avez configuré le serveur | Répertoire de travail |1107| Où vous avez configuré le serveur | Répertoire de travail |

1103| :- | :- |1108| :- | :- |

1104| Un [plugin](/docs/fr/plugins/components#mcp-servers) | Le répertoire racine du plugin. Nécessite Claude Code v2.1.195 ou ultérieur |1109| Un [plugin](/docs/fr/plugins/components#mcp-servers) | Le répertoire racine du plugin |

1105| Un `.mcp.json` de projet ou un serveur de [portée locale](#local-scope) | Le répertoire du projet dans lequel le serveur est déclaré |1110| Un `.mcp.json` de projet ou un serveur de [portée locale](#local-scope) | Le répertoire du projet dans lequel le serveur est déclaré |

1106| Un fichier agent dans votre projet, un serveur de l'option `mcpServers` du SDK ou de la méthode `setMcpServers()`, ou [`--mcp-config`](/docs/fr/cli-reference) | Le [répertoire de travail principal](/docs/fr/permissions#working-directories) de la session |1111| Un fichier agent dans votre projet, un serveur de l'option `mcpServers` du SDK ou de la méthode `setMcpServers()`, ou [`--mcp-config`](/docs/fr/cli-reference) | Le [répertoire de travail principal](/docs/fr/permissions#working-directories) de la session |

1107| [Portée utilisateur](#user-scope), [MCP géré](/docs/fr/managed-mcp), un [connecteur claude.ai](#use-mcp-servers-from-claude-ai), ou un fichier agent en dehors de votre projet, y compris un d'un répertoire `--add-dir` | Votre répertoire de configuration, `~/.claude` sauf si vous avez défini [`CLAUDE_CONFIG_DIR`](/docs/fr/env-vars) |1112| [Portée utilisateur](#user-scope), [MCP géré](/docs/fr/managed-mcp), un [connecteur claude.ai](#use-mcp-servers-from-claude-ai), ou un fichier agent en dehors de votre projet, y compris un d'un répertoire `--add-dir` | Votre répertoire de configuration, `~/.claude` sauf si vous avez défini [`CLAUDE_CONFIG_DIR`](/docs/fr/env-vars) |


1288Votre organisation peut définir des contrôles par outil sur les [connecteurs claude.ai](https://claude.com/docs/connectors). Claude Code lit ces paramètres au démarrage et les applique localement, sauf dans les [sessions locales et SSH](#how-connectors-reach-claude-code) de l'application de bureau. Là, l'application de bureau retient les outils `blocked` avant de livrer un connecteur, et le paramètre `ask` n'atteint pas Claude Code, donc il applique les [règles de permission](/docs/fr/permissions) ordinaires de la session à ces outils au lieu de demander à chaque appel. Dans les sessions où Claude Code récupère les connecteurs lui-même, exécutez `/mcp` pour voir quel paramètre s'applique à chaque outil sur un connecteur.1293Votre organisation peut définir des contrôles par outil sur les [connecteurs claude.ai](https://claude.com/docs/connectors). Claude Code lit ces paramètres au démarrage et les applique localement, sauf dans les [sessions locales et SSH](#how-connectors-reach-claude-code) de l'application de bureau. Là, l'application de bureau retient les outils `blocked` avant de livrer un connecteur, et le paramètre `ask` n'atteint pas Claude Code, donc il applique les [règles de permission](/docs/fr/permissions) ordinaires de la session à ces outils au lieu de demander à chaque appel. Dans les sessions où Claude Code récupère les connecteurs lui-même, exécutez `/mcp` pour voir quel paramètre s'applique à chaque outil sur un connecteur.

1289 1294 

1290* **Outil défini sur `ask`** : Claude Code demande à chaque appel avec la raison `Your organization requires approval for this tool`. L'invite apparaît même dans les modes de permission `acceptEdits`, `auto`, et `bypassPermissions` [modes de permission](/docs/fr/permissions#permission-modes), et n'offre jamais une option pour mémoriser votre choix. Les [règles Allow](/docs/fr/permissions) qui correspondent à l'outil ne sautent pas non plus l'invite. En mode `dontAsk`, qui ne demande jamais, Claude Code refuse l'appel à la place.1295* **Outil défini sur `ask`** : Claude Code demande à chaque appel avec la raison `Your organization requires approval for this tool`. L'invite apparaît même dans les modes de permission `acceptEdits`, `auto`, et `bypassPermissions` [modes de permission](/docs/fr/permissions#permission-modes), et n'offre jamais une option pour mémoriser votre choix. Les [règles Allow](/docs/fr/permissions) qui correspondent à l'outil ne sautent pas non plus l'invite. En mode `dontAsk`, qui ne demande jamais, Claude Code refuse l'appel à la place.

1291* **Outil défini sur `blocked`** : Claude Code filtre l'outil avant que Claude ne le voie, donc il n'apparaît jamais dans la liste des outils. L'application de bureau et le chat claude.ai appliquent le même paramètre `blocked`, donc Claude ne peut pas utiliser l'outil là non plus, et vous ne pouvez pas retenir un outil des sessions de l'application de bureau tout en le gardant disponible dans le chat. L'application de bureau saute un connecteur dont tous les outils sont bloqués.1296* **Outil défini sur `blocked`** : Claude Code filtre l'outil avant que Claude ne le voie, donc il n'apparaît jamais dans la liste des outils. Dans les sessions où Claude Code récupère les connecteurs lui-même, la liste d'outils `/mcp` affiche toujours l'outil, marqué `disabled by your organization`. L'application de bureau et le chat claude.ai appliquent le même paramètre `blocked`, donc Claude ne peut pas utiliser l'outil là non plus, et vous ne pouvez pas retenir un outil des sessions de l'application de bureau tout en le gardant disponible dans le chat. L'application de bureau saute un connecteur dont tous les outils sont bloqués.

1292 1297 

1293<h3 id="disable-claude-ai-connectors">1298<h3 id="disable-claude-ai-connectors">

1294 Désactiver les connecteurs claude.ai1299 Désactiver les connecteurs claude.ai


1440 1445 

1441Votre serveur reçoit les arguments que Claude a choisis, alors continuez à valider la combinaison côté serveur.1446Votre serveur reçoit les arguments que Claude a choisis, alors continuez à valider la combinaison côté serveur.

1442 1447 

1443Quand Claude Code ne peut pas produire un schéma que l'API accepte, ou sur un déploiement qui ne reçoit pas la configuration distante qui active la réécriture, il ignore cet outil, enregistre la raison dans le journal du serveur, et laisse les autres outils du serveur disponibles. Les versions antérieures à v2.1.195 ignorent chaque outil dont le schéma d'entrée a un `anyOf`, `oneOf`, ou `allOf` au niveau racine.1448Quand Claude Code ne peut pas produire un schéma que l'API accepte, ou sur un déploiement qui ne reçoit pas la configuration distante qui active la réécriture, il ignore cet outil, enregistre la raison dans le journal du serveur, et laisse les autres outils du serveur disponibles.

1444 1449 

1445<h2 id="tools-with-invalid-input-schemas">1450<h2 id="tools-with-invalid-input-schemas">

1446 Outils avec des schémas d'entrée invalides1451 Outils avec des schémas d'entrée invalides

memory.md +20 −10

Details

89 Écrire des instructions efficaces89 Écrire des instructions efficaces

90</h3>90</h3>

91 91 

92Les fichiers CLAUDE.md sont chargés dans la fenêtre de contexte au début de chaque session, consommant des jetons aux côtés de votre conversation. La [visualisation de la fenêtre de contexte](/docs/fr/context-window) montre où CLAUDE.md se charge par rapport au reste du contexte de démarrage. Parce qu'ils sont du contexte plutôt qu'une configuration appliquée, la façon dont vous écrivez les instructions affecte la fiabilité avec laquelle Claude les suit. Les instructions spécifiques, concises et bien structurées fonctionnent mieux.92Claude traite les fichiers CLAUDE.md comme du contexte, pas comme une configuration appliquée, donc la façon dont vous écrivez les instructions affecte la fiabilité avec laquelle Claude les suit. Écrivez des instructions suffisamment concrètes pour être vérifiables :

93 

94**Taille** : visez moins de 200 lignes par fichier CLAUDE.md. Les fichiers plus longs consomment plus de contexte et réduisent l'adhérence. Si vos instructions deviennent trop volumineuses, utilisez [les règles scoped par chemin](#path-specific-rules) pour que les instructions ne se chargent que quand Claude travaille avec des fichiers correspondants. Vous pouvez également diviser le contenu en [imports](#import-additional-files) pour l'organisation, bien que les fichiers importés se chargent toujours et entrent dans la fenêtre de contexte au lancement.

95 

96**Structure** : utilisez les en-têtes markdown et les puces pour regrouper les instructions connexes. Claude scanne la structure de la même manière que les lecteurs : les sections organisées sont plus faciles à suivre que les paragraphes denses.

97 

98**Spécificité** : écrivez des instructions suffisamment concrètes pour être vérifiables. Par exemple :

99 93 

100* « Utiliser l'indentation à 2 espaces » au lieu de « Formater le code correctement »94* « Utiliser l'indentation à 2 espaces » au lieu de « Formater le code correctement »

101* « Exécuter `npm test` avant de valider » au lieu de « Testez vos modifications »95* « Exécuter `npm test` avant de valider » au lieu de « Testez vos modifications »

102* « Les gestionnaires d'API se trouvent dans `src/api/handlers/` » au lieu de « Gardez les fichiers organisés »96* « Les gestionnaires d'API se trouvent dans `src/api/handlers/` » au lieu de « Gardez les fichiers organisés »

103 97 

104**Cohérence** : si deux règles se contredisent, Claude peut en choisir une arbitrairement. Examinez régulièrement vos fichiers CLAUDE.md, les fichiers CLAUDE.md imbriqués dans les sous-répertoires et [`.claude/rules/`](#organize-rules-with-claude/rules/) pour supprimer les instructions obsolètes ou conflictuelles. Dans les monorepos, utilisez [`claudeMdExcludes`](#exclude-specific-claude-md-files) pour ignorer les fichiers CLAUDE.md d'autres équipes qui ne sont pas pertinents pour votre travail.98Gardez vos fichiers courts, organisés et cohérents :

99 

100* **Taille** : visez moins de 200 lignes par fichier CLAUDE.md. Les fichiers plus longs consomment plus de contexte et réduisent l'adhérence. Déplacez les instructions qui ne concernent qu'une partie de la base de code vers [les règles scoped par chemin](#path-specific-rules), qui ne se chargent que quand Claude travaille avec des fichiers correspondants. Les [imports](#import-additional-files) vous aident à organiser un fichier long mais ne réduisent pas son coût de contexte, car les fichiers importés se chargent également au lancement.

101* **Structure** : regroupez les instructions connexes sous des en-têtes markdown et des puces. Les sections organisées sont plus faciles à suivre pour Claude que les paragraphes denses.

102* **Cohérence** : si deux instructions se contredisent, Claude peut en choisir une arbitrairement. Examinez régulièrement vos fichiers CLAUDE.md, les fichiers CLAUDE.md imbriqués dans les sous-répertoires et [`.claude/rules/`](#organize-rules-with-claude/rules/) pour supprimer les instructions obsolètes ou conflictuelles. Pour que Claude les trouve pour vous, [exécutez un audit d'invite](#audit-your-instruction-files).

103 

104<h4 id="audit-your-instruction-files">

105 Auditer vos fichiers d'instructions

106</h4>

105 107 

106Pour que Claude vérifie ces fichiers pour les instructions obsolètes ou conflictuelles, exécutez `/doctor prompt-audit` dans une session. Claude lit vos fichiers CLAUDE.md, CLAUDE.local.md et AGENTS.md, plus les règles, compétences, commandes, sous-agents et styles de sortie sous `.claude/` et `~/.claude/`. Il recherche des problèmes tels que les instructions écrites pour les anciens modèles, les références à des fichiers ou des commandes qui n'existent pas, et les fichiers qui se contredisent. Vous obtenez un rapport des résultats et un ensemble de modifications proposées, et rien dans vos fichiers ne change jusqu'à ce que vous demandiez à Claude de les appliquer.108Pour que Claude vérifie vos fichiers d'instructions pour les contenus obsolètes ou conflictuels, exécutez `/doctor prompt-audit` dans une session. Claude recherche des problèmes tels que les instructions écrites pour les anciens modèles, les références à des fichiers ou des commandes qui n'existent pas, et les fichiers qui se contredisent. Vous obtenez un rapport des résultats avec les modifications proposées, et rien dans vos fichiers ne change jusqu'à ce que vous demandiez à Claude de les appliquer.

107 109 

108Pour auditer un fichier ou un répertoire à la place, passez son chemin, par exemple `/doctor prompt-audit .claude/skills/deploy`. L'audit s'exécute via la compétence `/claude-api` groupée, de sorte qu'elle n'est pas disponible quand cette compétence est désactivée dans [`skillOverrides`](/docs/fr/skills#override-skill-visibility-from-settings) ou avec [`disableBundledSkills`](/docs/fr/settings-reference#disablebundledskills). `/doctor prompt-audit` nécessite Claude Code v2.1.283 ou ultérieur.110Par défaut, l'audit couvre vos fichiers CLAUDE.md, CLAUDE.local.md et AGENTS.md, plus les règles, compétences, commandes, sous-agents et styles de sortie sous `.claude/` et `~/.claude/`. Pour auditer un fichier ou un répertoire à la place, passez son chemin, par exemple `/doctor prompt-audit .claude/skills/deploy`.

111 

112L'audit s'exécute via la compétence `/claude-api` groupée. Elle n'est pas disponible quand cette compétence est désactivée dans [`skillOverrides`](/docs/fr/skills#override-skill-visibility-from-settings) ou avec [`disableBundledSkills`](/docs/fr/settings-reference#disablebundledskills). `/doctor prompt-audit` nécessite Claude Code v2.1.283 ou ultérieur.

109 113 

110<h3 id="import-additional-files">114<h3 id="import-additional-files">

111 Importer des fichiers supplémentaires115 Importer des fichiers supplémentaires


115 119 

116Les chemins relatifs et absolus sont autorisés. Les chemins relatifs se résolvent par rapport au fichier contenant l'import, pas au répertoire de travail. Les fichiers importés peuvent importer récursivement d'autres fichiers, avec une profondeur maximale de quatre sauts.120Les chemins relatifs et absolus sont autorisés. Les chemins relatifs se résolvent par rapport au fichier contenant l'import, pas au répertoire de travail. Les fichiers importés peuvent importer récursivement d'autres fichiers, avec une profondeur maximale de quatre sauts.

117 121 

122Pour importer un fichier dont le chemin contient des espaces, mettez une barre oblique inverse avant chaque espace. Sans les barres obliques inverses, le chemin se termine au premier espace, même quand l'import est sur une ligne à lui seul. Un chemin enveloppé entre guillemets n'est pas importé du tout, avec ou sans les barres obliques inverses. Cet import charge un fichier à partir d'un dossier nommé `Design Docs` :

123 

124```text theme={null}

125- Conventions d'API @Design\ Docs/api-conventions.md

126```

127 

118L'analyse d'import ignore les étendues de code Markdown et les blocs de code clôturés. Pour mentionner un chemin dans votre CLAUDE.md sans l'importer, enveloppez-le dans des backticks : écrire `` `@README` `` garde le texte littéral, tandis que `@README` en dehors des backticks importe le fichier.128L'analyse d'import ignore les étendues de code Markdown et les blocs de code clôturés. Pour mentionner un chemin dans votre CLAUDE.md sans l'importer, enveloppez-le dans des backticks : écrire `` `@README` `` garde le texte littéral, tandis que `@README` en dehors des backticks importe le fichier.

119 129 

120Pour intégrer un README, package.json et un guide de flux de travail, référencez-les avec la syntaxe `@` n'importe où dans votre CLAUDE.md :130Pour intégrer un README, package.json et un guide de flux de travail, référencez-les avec la syntaxe `@` n'importe où dans votre CLAUDE.md :

model-config.md +19 −17

Details

65Les alias pointent vers la version recommandée pour votre fournisseur et se mettent à jour au fil du temps. Pour épingler une version spécifique, utilisez le nom de modèle complet, par exemple `claude-opus-5-5`, ou définissez la variable d'environnement correspondante comme `ANTHROPIC_DEFAULT_OPUS_MODEL`.65Les alias pointent vers la version recommandée pour votre fournisseur et se mettent à jour au fil du temps. Pour épingler une version spécifique, utilisez le nom de modèle complet, par exemple `claude-opus-5-5`, ou définissez la variable d'environnement correspondante comme `ANTHROPIC_DEFAULT_OPUS_MODEL`.

66 66 

67<Note>67<Note>

68 Sonnet 5.5 nécessite Claude Code v2.1.284 ou ultérieur, et Opus 5.5 nécessite v2.1.280 ou ultérieur. Exécutez `claude update` pour mettre à jour.68 Sonnet 5.5 nécessite Claude Code v2.1.284 ou ultérieur, et Opus 5.5 nécessite v2.1.280 ou ultérieur. Si une demande pour l'un d'eux à 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.

69</Note>69</Note>

70 70 

71<h3 id="work-with-fable">71<h3 id="work-with-fable">


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

106 106 

107* Dans le sélecteur `/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.


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 

120En [mode non interactif](/docs/fr/headless) avec l'indicateur `-p` et via le SDK Agent, Claude Code n'affiche jamais l'invite de consentement. Lorsqu'une demande Fable là-bas serait facturée aux crédits d'utilisation, Claude Code la facture sans demander.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.

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.

121 123 

122<h3 id="setting-your-model">124<h3 id="setting-your-model">

123 Définir votre modèle125 Définir votre modèle


164 166 

165Lorsque 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.167Lorsque 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.

166 168 

167Lorsque vous basculez les modèles via la méthode [`setModel()`](/docs/fr/agent-sdk/overview) du SDK Agent ou à partir d'un appareil connecté via [Contrôle à distance](/docs/fr/remote-control), ou une application telle que l'[application de bureau](/docs/fr/desktop) qui exécute le CLI Claude Code bascule pour vous, Claude Code vérifie que la chaîne est une qu'il reconnaît avant de l'enregistrer. Cette vérification nécessite Claude Code v2.1.200 ou ultérieur. La vérification d'un choix Contrôle à distance nécessite Claude Code v2.1.260 ou ultérieur sur votre machine. Sur l'API Anthropic, Claude Code reconnaît :169Lorsque 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 :

168 170 

169* un alias de modèle171* **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.

170* une entrée du sélecteur `/model`172* **Contrôle à distance** : sur l'API Anthropic, Claude Code vérifie la valeur localement et n'envoie aucune demande.

171* tout nom qui commence par `claude-`

172* une valeur que vous avez configurée vous-même comme [option de modèle personnalisé](#add-a-custom-model-option) ou dans [`modelOverrides`](#override-model-ids-per-version)

173 173 

174Claude Code rejette une chaîne non reconnue avec `Model "<name>" is not a recognized model id.` et la session conserve son modèle actuel, au lieu d'enregistrer la chaîne et d'échouer à la prochaine demande. Consultez [la référence d'erreur](/docs/fr/errors#model-is-not-a-recognized-model-id) pour les étapes de récupération.174Consultez [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.

175 175 

176La vérification s'exécute uniquement sur l'API Anthropic. Sur Amazon Bedrock, Agent Platform de Google Cloud, Microsoft Foundry, [Claude Platform on AWS](/docs/fr/claude-platform-on-aws), et derrière une [passerelle LLM](/docs/fr/llm-gateway) ou une `ANTHROPIC_BASE_URL` personnalisée, votre fournisseur ou passerelle définit les noms de modèle, donc Claude Code transmet n'importe quelle chaîne sans la vérifier. La vérification ne couvre pas non plus l'indicateur `--model`, la variable d'environnement `ANTHROPIC_MODEL`, ou le paramètre `model` ; une valeur mal orthographiée là-bas produit [Il y a un problème avec le modèle sélectionné](/docs/fr/errors#theres-an-issue-with-the-selected-model) à la première demande à la place. Claude Code peut toujours écrire la [ligne de diagnostic de modèle non reconnu](/docs/fr/errors#unrecognized-model-id-on-a-request) au moment de la demande, sur chaque fournisseur.176Si 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.

177 177 

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

179 179 


241 Restreindre la sélection de modèle241 Restreindre la sélection de modèle

242</h2>242</h2>

243 243 

244Les administrateurs d'entreprise peuvent utiliser `availableModels` dans les [paramètres gérés ou de politique](/docs/fr/managed-settings) pour restreindre les modèles que les utilisateurs peuvent sélectionner. Les entrées correspondent à une famille de modèles telle que `sonnet`, un préfixe de version tel que `claude-sonnet-4-5`, ou un ID de modèle complet tel que `claude-sonnet-4-5-20250929`. Un préfixe de version correspond également aux ID de modèles ultérieurs qui l'étendent avec un autre segment, donc `claude-fable-5` permet à la fois Fable 5 et Fable 5.1, tandis que `claude-fable-5-1` permet uniquement Fable 5.1. Pour bloquer un modèle que la liste permet, ou pour faire en sorte que chaque entrée d'ID de modèle ne permette que la version qu'elle nomme, voir [Bloquer des modèles ou des versions spécifiques](#block-specific-models-or-versions).244Les administrateurs peuvent utiliser `availableModels` dans les [paramètres gérés ou de politique](/docs/fr/managed-settings) pour restreindre les modèles que les utilisateurs peuvent sélectionner. Les entrées correspondent à une famille de modèles telle que `sonnet`, un préfixe de version tel que `claude-sonnet-4-5`, ou un ID de modèle complet tel que `claude-sonnet-4-5-20250929`. Un préfixe de version correspond également aux ID de modèles ultérieurs qui l'étendent avec un autre segment, donc `claude-fable-5` permet à la fois Fable 5 et Fable 5.1, tandis que `claude-fable-5-1` permet uniquement Fable 5.1. Pour bloquer un modèle que la liste permet, ou pour faire en sorte que chaque entrée d'ID de modèle ne permette que la version qu'elle nomme, voir [Bloquer des modèles ou des versions spécifiques](#block-specific-models-or-versions).

245 245 

246Sur les plateformes qui intègrent Claude Code et définissent [`CLAUDE_CODE_PROVIDER_MANAGED_BY_HOST`](/docs/fr/env-vars), la configuration de modèle de l'hôte a priorité sur les paramètres de modèle gérés, tandis qu'une liste d'autorisation `availableModels` gérée reste en vigueur sauf si l'hôte fournit la sienne ; [Exceptions à la priorité des paramètres gérés](/docs/fr/settings#exceptions-to-managed-settings-precedence) indique quelles clés et variables l'hôte remplace.246Sur les plateformes qui intègrent Claude Code et définissent [`CLAUDE_CODE_PROVIDER_MANAGED_BY_HOST`](/docs/fr/env-vars), la configuration de modèle de l'hôte a priorité sur les paramètres de modèle gérés, tandis qu'une liste d'autorisation `availableModels` gérée reste en vigueur sauf si l'hôte fournit la sienne ; [Exceptions à la priorité des paramètres gérés](/docs/fr/settings#exceptions-to-managed-settings-precedence) indique quelles clés et variables l'hôte remplace.

247 247 


297 297 

298| Mécanisme de livraison | CLI et IDE | Sessions locales de bureau | Sessions web, mobile et cloud | Agent SDK et non-interactif | Cowork |298| Mécanisme de livraison | CLI et IDE | Sessions locales de bureau | Sessions web, mobile et cloud | Agent SDK et non-interactif | Cowork |

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

300| [Paramètres gérés par le serveur](/docs/fr/server-managed-settings) depuis la console d'administration | Appliqué | Appliqué | Appliqué, sauf dans les sessions [Claude Tag](https://claude.com/docs/claude-tag/overview) | Appliqué | Non livré |300| [Paramètres gérés par le serveur](/docs/fr/server-managed-settings) depuis la console d'administration | Appliqué | Appliqué | Appliqué, sauf dans les sessions [Claude Tag](https://claude.com/docs/claude-tag/overview) | Appliqué | Sessions Cowork distantes : le serveur vérifie le modèle. Sur la machine de l'utilisateur : non livré. |

301| [Fichiers MDM ou paramètres gérés](/docs/fr/managed-settings#delivery-mechanisms) | Appliqué | Appliqué | Non livré dans les environnements hébergés par Anthropic ; dans les [environnements auto-hébergés](/docs/fr/self-hosted-environments), appliqué à partir de l'image du runner selon [comment Claude Code combine les sources gérées](/docs/fr/managed-settings#how-claude-code-combines-managed-sources) | Appliqué | Appliqué où déployé |301| [Fichiers MDM ou paramètres gérés](/docs/fr/managed-settings#delivery-mechanisms) | Appliqué | Appliqué | Non livré dans les environnements hébergés par Anthropic ; dans les [environnements auto-hébergés](/docs/fr/self-hosted-environments), appliqué à partir de l'image du runner selon [comment Claude Code combine les sources gérées](/docs/fr/managed-settings#how-claude-code-combines-managed-sources) | Appliqué | Appliqué où déployé |

302 302 

303* Les sessions cloud, sur [Claude Code sur le web](/docs/fr/claude-code-on-the-web) ou dans l'application de bureau, s'exécutent sur des machines virtuelles gérées par Anthropic par défaut : les paramètres déployés sur votre appareil ne les atteignent pas, donc livrez la liste d'autorisation via les paramètres gérés par le serveur. Les sessions que votre organisation achemine vers un [environnement auto-hébergé](/docs/fr/self-hosted-environments) s'exécutent sur votre propre calcul et 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. Un changement de modèle en milieu de session dans une session cloud est rejeté lorsque le modèle demandé est exclu par la liste d'autorisation. Lorsque la liste `availableModels` dans vos paramètres gérés par le serveur est non vide, le serveur rejette une demande de démarrage d'une session cloud sur un modèle que la liste exclut.303* Les sessions cloud, sur [Claude Code sur le web](/docs/fr/claude-code-on-the-web) ou dans l'application de bureau, s'exécutent sur des machines virtuelles gérées par Anthropic par défaut : les paramètres déployés sur votre appareil ne les atteignent pas, donc livrez la liste d'autorisation via les paramètres gérés par le serveur. Les sessions que votre organisation achemine vers un [environnement auto-hébergé](/docs/fr/self-hosted-environments) s'exécutent sur votre propre calcul et 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. Un changement de modèle en milieu de session dans une session cloud est rejeté lorsque le modèle demandé est exclu par la liste d'autorisation. Lorsque la liste `availableModels` dans vos paramètres gérés par le serveur est non vide, le serveur rejette une demande de démarrage d'une session cloud sur un modèle que la liste exclut.

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

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

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

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

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


751| Définir le défaut global | Exécutez `/config` et basculez le mode de réflexion. Enregistré comme `alwaysThinkingEnabled` dans `~/.claude/settings.json` |751| Définir le défaut global | Exécutez `/config` et basculez le mode de réflexion. Enregistré comme `alwaysThinkingEnabled` dans `~/.claude/settings.json` |

752| 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 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 de raisonnement adaptatif peuvent toujours penser. D'autres valeurs s'appliquent uniquement avec un [budget de réflexion fixe](#adaptive-reasoning-and-fixed-thinking-budgets) |752| 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 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 de raisonnement adaptatif peuvent toujours penser. D'autres valeurs s'appliquent uniquement avec un [budget de réflexion fixe](#adaptive-reasoning-and-fixed-thinking-budgets) |

753 753 

754Vous ne pouvez pas désactiver la réflexion sur Opus 5.5, Sonnet 5.5 ou les modèles Fable. Le basculement de session, `alwaysThinkingEnabled` et `MAX_THINKING_TOKENS=0` n'ont aucun effet là, et le modèle décide à chaque étape combien penser en fonction du niveau d'effort.754Vous ne pouvez pas désactiver la réflexion sur Opus 5.5, Sonnet 5.5 ou les modèles Fable. Le basculement de session et le `/config` affichent `Thinking can't be turned off` pour ces modèles à la place d'offrir le basculement, et une `alwaysThinkingEnabled: false` enregistrée ou `MAX_THINKING_TOKENS=0` n'a aucun effet là. Sur ces modèles, le modèle décide à chaque étape combien penser en fonction du niveau d'effort. Le paramètre enregistré s'applique à nouveau quand vous basculez vers un modèle qui l'accepte.

755 755 

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

757 757 


784 784 

785La fenêtre de contexte de 1M utilise la tarification standard du modèle sans prime pour les jetons au-delà de 200K. 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 jetons sont facturés aux crédits d'utilisation.785La fenêtre de contexte de 1M utilise la tarification standard du modèle sans prime pour les jetons au-delà de 200K. 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 jetons sont facturés aux crédits d'utilisation.

786 786 

787Si 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, essayez de redémarrer votre session.787Si 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`.

788 788 

789Vous pouvez également utiliser le suffixe `[1m]` avec les alias de modèle ou les noms de modèle complets :789Vous pouvez également utiliser le suffixe `[1m]` avec les alias de modèle ou les noms de modèle complets :

790 790 


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

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

958 958 

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

960 

959<Note>961<Note>

960 Une liste d'autorisation `availableModels` livrée via [MDM ou un fichier de paramètres gérés](/docs/fr/managed-settings#delivery-mechanisms) s'applique toujours lors de l'utilisation de fournisseurs tiers ; les [paramètres gérés par le serveur ne sont pas livrés là](/docs/fr/server-managed-settings#platform-availability).962 Une liste d'autorisation `availableModels` livrée via [MDM ou un fichier de paramètres gérés](/docs/fr/managed-settings#delivery-mechanisms) s'applique toujours lors de l'utilisation de fournisseurs tiers ; les [paramètres gérés par le serveur ne sont pas livrés là](/docs/fr/server-managed-settings#platform-availability).

961 963 


1053| - | - |1055| - | - |

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

1055| `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) |1057| `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) |

1056| `DISABLE_PROMPT_CACHING_SONNET` | Définissez sur `1` pour désactiver la mise en cache des invites pour les modèles Sonnet uniquement |1058| `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) |

1057| `DISABLE_PROMPT_CACHING_OPUS` | Définissez sur `1` pour désactiver la mise en cache des invites pour les modèles Opus uniquement |1059| `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) |

1058| `DISABLE_PROMPT_CACHING_FABLE` | Définissez sur `1` pour désactiver la mise en cache des invites pour les modèles Fable uniquement |1060| `DISABLE_PROMPT_CACHING_FABLE` | Définissez sur `1` pour désactiver la mise en cache des invites pour les modèles Fable uniquement |

1059 1061 

1060Pour 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).1062Pour 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).

Details

64}64}

65```65```

66 66 

67Dans l'application Claude Desktop, les sessions de l'onglet Code lisent ces paramètres gérés à partir des sources qui [atteignent chaque type de session Desktop](/docs/fr/desktop#managed-settings). Le formulaire OpenTelemetry pour Cowork sous **Monitoring** dans les [paramètres de confidentialité et de données](https://claude.ai/admin-settings/data-privacy-controls) de la console d'administration s'applique uniquement aux sessions Cowork, donc ni l'interface de ligne de commande du terminal ni l'onglet Code n'exporte vers un collecteur que vous définissez là.

68 

67Claude Code ignore les [variables d'exportateur OpenTelemetry](/docs/fr/settings-reference#variables-claude-code-ignores-in-env) dans le `.claude/settings.json` et `.claude/settings.local.json` d'un référentiel, donc un référentiel ne peut pas les utiliser pour activer la télémétrie, choisir où elle va ou capturer du contenu. Définissez-les dans les paramètres gérés, ou laissez chaque développeur les définir dans son shell ou `~/.claude/settings.json`. Un référentiel peut toujours désactiver un signal en définissant son sélecteur d'exportateur, tel que `OTEL_LOGS_EXPORTER`, sur `none`, sauf si les paramètres gérés, un fichier `--settings` ou l'environnement à partir duquel vous lancez Claude Code définit cette variable.69Claude Code ignore les [variables d'exportateur OpenTelemetry](/docs/fr/settings-reference#variables-claude-code-ignores-in-env) dans le `.claude/settings.json` et `.claude/settings.local.json` d'un référentiel, donc un référentiel ne peut pas les utiliser pour activer la télémétrie, choisir où elle va ou capturer du contenu. Définissez-les dans les paramètres gérés, ou laissez chaque développeur les définir dans son shell ou `~/.claude/settings.json`. Un référentiel peut toujours désactiver un signal en définissant son sélecteur d'exportateur, tel que `OTEL_LOGS_EXPORTER`, sur `none`, sauf si les paramètres gérés, un fichier `--settings` ou l'environnement à partir duquel vous lancez Claude Code définit cette variable.

68 70 

69Claude Code ne transmet pas les variables d'environnement `OTEL_*` aux sous-processus qu'il génère, y compris l'outil Bash, les hooks, les serveurs MCP et les serveurs de langage. Une application instrumentée par OpenTelemetry que vous exécutez via l'outil Bash n'hérite pas du point de terminaison de l'exportateur ou des en-têtes de Claude Code, donc définissez ces variables directement dans la commande si cette application doit exporter sa propre télémétrie.71Claude Code ne transmet pas les variables d'environnement `OTEL_*` aux sous-processus qu'il génère, y compris l'outil Bash, les hooks, les serveurs MCP et les serveurs de langage. Une application instrumentée par OpenTelemetry que vous exécutez via l'outil Bash n'hérite pas du point de terminaison de l'exportateur ou des en-têtes de Claude Code, donc définissez ces variables directement dans la commande si cette application doit exporter sa propre télémétrie.


582| Clés de `OTEL_RESOURCE_ATTRIBUTES` | Attributs personnalisés que vous définissez, par exemple `department` ou `team.id`. Voir [Support des organisations multi-équipes](#multi-team-organization-support) | `OTEL_METRICS_INCLUDE_RESOURCE_ATTRIBUTES` (par défaut : true) |584| Clés de `OTEL_RESOURCE_ATTRIBUTES` | Attributs personnalisés que vous définissez, par exemple `department` ou `team.id`. Voir [Support des organisations multi-équipes](#multi-team-organization-support) | `OTEL_METRICS_INCLUDE_RESOURCE_ATTRIBUTES` (par défaut : true) |

583| `vcs.repository.url.full`, `vcs.owner.name`, `vcs.repository.name`, `vcs.provider.name` | L'identité du référentiel de la session, dérivée de sa télécommande `origin`. Voir [Attributs du référentiel](#repository-attributes) | `OTEL_METRICS_INCLUDE_REPOSITORY` (par défaut : false). Nécessite Claude Code v2.1.269 ou ultérieur |585| `vcs.repository.url.full`, `vcs.owner.name`, `vcs.repository.name`, `vcs.provider.name` | L'identité du référentiel de la session, dérivée de sa télécommande `origin`. Voir [Attributs du référentiel](#repository-attributes) | `OTEL_METRICS_INCLUDE_REPOSITORY` (par défaut : false). Nécessite Claude Code v2.1.269 ou ultérieur |

584 586 

585Lorsque Claude Code est connecté à une [passerelle d'applications Claude](/docs/fr/claude-apps-gateway), la CLI marque les exportations avec l'identité authentifiée de la session de la passerelle : `user.id` est le sujet IdP plutôt qu'un identifiant d'installation anonyme, `user.email` est l'e-mail connecté, et `user.groups` porte l'appartenance au groupe IdP sous forme de chaîne séparée par des virgules. Chaque exportation porte également `identity.source: gateway-oidc`. L'identité de la passerelle est appliquée en dernier, donc les clés `user.*` et `identity.*` définies via `OTEL_RESOURCE_ATTRIBUTES` sont ignorées sur les sessions de passerelle.587Dans les sessions connectées à une [passerelle d'applications Claude](/docs/fr/claude-apps-gateway) via `/login`, la CLI marque les exportations avec l'identité authentifiée : `user.id` est le sujet IdP, `user.email` est l'e-mail connecté, et `user.groups` porte l'appartenance au groupe IdP sous forme de chaîne séparée par des virgules. Chaque exportation porte également `identity.source: gateway-oidc`. L'identité de la passerelle est appliquée en dernier, donc les clés `user.*` et `identity.*` définies via `OTEL_RESOURCE_ATTRIBUTES` sont ignorées sur ces sessions.

588 

589Pour les attributs d'identité sur les sessions Claude Desktop et Cowork qui se connectent via une passerelle, voir la [référence de télémétrie de la passerelle](/docs/fr/claude-apps-gateway-config#telemetry).

586 590 

587Les événements incluent en outre les attributs suivants. Ceux-ci ne sont jamais attachés aux métriques car ils causeraient une cardinalité illimitée :591Les événements incluent en outre les attributs suivants. Ceux-ci ne sont jamais attachés aux métriques car ils causeraient une cardinalité illimitée :

588 592 


1540 Attribuer les actions aux utilisateurs1544 Attribuer les actions aux utilisateurs

1541</h3>1545</h3>

1542 1546 

1543Les [attributs standard](#standard-attributes) sur chaque événement incluent l'identité de l'utilisateur authentifié : `user.email`, `user.account_uuid`, `user.account_id`, et `organization.id` lorsqu'il est connecté avec un compte Claude ou, dans une [session cloud](/docs/fr/claude-code-on-the-web), lorsque les propres identifiants de la session les portent, plus `user.id` et le per-session `session.id`. `user.id` est un identifiant limité à l'installation, sauf sur les sessions de [passerelle d'applications Claude](/docs/fr/claude-apps-gateway), où il s'agit du sujet IdP du jeton émis par la passerelle.1547Les [attributs standard](#standard-attributes) sur chaque événement incluent l'identité de l'utilisateur authentifié : `user.email`, `user.account_uuid`, `user.account_id`, et `organization.id` lorsqu'il est connecté avec un compte Claude ou, dans une [session cloud](/docs/fr/claude-code-on-the-web), lorsque les propres identifiants de la session les portent, plus `user.id` et le per-session `session.id`. `user.id` est un identifiant limité à l'installation, sauf sur les sessions de [passerelle d'applications Claude](/docs/fr/claude-apps-gateway) via `/login`, où il s'agit du sujet IdP du jeton émis par la passerelle.

1544 1548 

1545Dans une session qu'un développeur démarre, les appels d'outils MCP, les commandes Bash et les éditions de fichiers sont donc attribués à ce développeur. Claude Code n'agit pas sous un compte de service distinct ; l'identité enregistrée sur chaque événement est le propre compte Claude du développeur, ou l'identité IdP du développeur sur une session de [passerelle d'applications Claude](/docs/fr/claude-apps-gateway). Dans les sessions de canal Claude Tag, Claude fonctionne plutôt comme l'[identité partagée](/docs/fr/cloud-environments#set-the-environment-a-claude-tag-channel-uses) de votre organisation.1549Dans une session qu'un développeur démarre, les appels d'outils MCP, les commandes Bash et les éditions de fichiers sont donc attribués à ce développeur. Claude Code n'agit pas sous un compte de service distinct ; l'identité enregistrée sur chaque événement est le propre compte Claude du développeur, ou l'identité IdP du développeur sur une session de [passerelle d'applications Claude](/docs/fr/claude-apps-gateway). Dans les sessions de canal Claude Tag, Claude fonctionne plutôt comme l'[identité partagée](/docs/fr/cloud-environments#set-the-environment-a-claude-tag-channel-uses) de votre organisation.

1546 1550 

1547Lorsque Claude Code s'authentifie avec une clé API directe, ou contre Amazon Bedrock, Google Cloud's Agent Platform ou Microsoft Foundry, il n'y a pas de compte Claude dans la session et seuls `user.id` et `session.id` sont remplis. Dans ces déploiements, attachez l'identité utilisateur vous-même avec `OTEL_RESOURCE_ATTRIBUTES`, défini par utilisateur via le fichier [paramètres gérés](#administrator-configuration) ou un wrapper de lancement. Les sessions de passerelle d'applications Claude n'ont besoin d'aucune de ces opérations : le CLI horodate l'identité IdP automatiquement, comme décrit dans [Attributs standard](#standard-attributes).1551Lorsque Claude Code s'authentifie avec une clé API directe, ou contre Amazon Bedrock, Google Cloud's Agent Platform ou Microsoft Foundry, il n'y a pas de compte Claude dans la session et seuls `user.id` et `session.id` sont remplis. Dans ces déploiements, attachez l'identité utilisateur vous-même avec `OTEL_RESOURCE_ATTRIBUTES`, défini par utilisateur via le fichier [paramètres gérés](#administrator-configuration) ou un wrapper de lancement. Les sessions de passerelle d'applications Claude n'ont besoin d'aucune de ces opérations : voir [Attributs standard](#standard-attributes) pour l'identité que leurs exportations portent.

1548 1552 

1549```bash theme={null}1553```bash theme={null}

1550export OTEL_RESOURCE_ATTRIBUTES="enduser.id=jdoe@example.com,enduser.directory_id=S-1-5-21-..."1554export OTEL_RESOURCE_ATTRIBUTES="enduser.id=jdoe@example.com,enduser.directory_id=S-1-5-21-..."

Details

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, 300 secondes ailleurs |

213| Délai d'inactivité du corps | Aucun octet n'arrive pendant 5 minutes | Fournisseurs autres que l'API Anthropic directe et Claude Platform on AWS, 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 

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

214 216 

215Configurez les minuteurs avec ces variables, chacune détaillée dans la [référence des variables d'environnement](/docs/fr/env-vars) :217Configurez les minuteurs avec ces variables, chacune détaillée dans la [référence des variables d'environnement](/docs/fr/env-vars) :

216 218 


277 279 

278Si votre organisation GitHub Enterprise Cloud restreint l'accès par adresse IP, activez [l'héritage de la liste blanche IP pour les applications GitHub installées](https://docs.github.com/en/enterprise-cloud@latest/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/managing-allowed-ip-addresses-for-your-organization#allowing-access-by-github-apps) et [ajoutez également une entrée de liste blanche](https://docs.github.com/en/enterprise-cloud@latest/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/managing-allowed-ip-addresses-for-your-organization#adding-an-allowed-ip-address) pour les [adresses IP sortantes](https://platform.claude.com/docs/en/api/ip-addresses#outbound-ip-addresses) d'Anthropic. L'héritage couvre uniquement les requêtes que l'application GitHub Claude effectue en tant qu'installation, pas les requêtes qu'elle effectue au nom de vos utilisateurs. Pour les autres pare-feu, consultez les [adresses IP de l'API Anthropic](https://platform.claude.com/docs/en/api/ip-addresses).280Si votre organisation GitHub Enterprise Cloud restreint l'accès par adresse IP, activez [l'héritage de la liste blanche IP pour les applications GitHub installées](https://docs.github.com/en/enterprise-cloud@latest/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/managing-allowed-ip-addresses-for-your-organization#allowing-access-by-github-apps) et [ajoutez également une entrée de liste blanche](https://docs.github.com/en/enterprise-cloud@latest/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/managing-allowed-ip-addresses-for-your-organization#adding-an-allowed-ip-address) pour les [adresses IP sortantes](https://platform.claude.com/docs/en/api/ip-addresses#outbound-ip-addresses) d'Anthropic. L'héritage couvre uniquement les requêtes que l'application GitHub Claude effectue en tant qu'installation, pas les requêtes qu'elle effectue au nom de vos utilisateurs. Pour les autres pare-feu, consultez les [adresses IP de l'API Anthropic](https://platform.claude.com/docs/en/api/ip-addresses).

279 281 

280Pour les instances [GitHub Enterprise Server](/docs/fr/github-enterprise-server) auto-hébergées derrière un pare-feu, mettez en liste blanche les [adresses IP sortantes](https://platform.claude.com/docs/en/api/ip-addresses#outbound-ip-addresses) d'Anthropic afin que l'infrastructure Anthropic puisse atteindre votre hôte GHES pour cloner les référentiels et publier les commentaires d'examen. Les sessions dans un [environnement auto-hébergé](/docs/fr/self-hosted-environments-deploy#configure-git) atteignent votre hôte GHES depuis l'intérieur de votre réseau à la place, donc cette exposition s'applique uniquement aux sessions hébergées par Anthropic, aux flux de pré-session hébergés tels que le sélecteur de référentiel, et aux runners auto-hébergés qui optent pour la [passerelle git Anthropic](/docs/fr/self-hosted-environments-deploy#use-the-anthropic-git-proxy), qui récupère depuis le côté Anthropic. Pour un hôte GHES qui n'est routable que dans votre réseau, le [connecteur SCM](/docs/fr/self-hosted-environments-reference#scm-connector-flags) porte les flux de pré-session hébergés sur une connexion sortante à la place, donc la liste blanche n'est pas nécessaire pour eux.282Pour les instances [GitHub Enterprise Server](/docs/fr/github-enterprise-server) auto-hébergées derrière un pare-feu, mettez en liste blanche les [adresses IP sortantes](https://platform.claude.com/docs/en/api/ip-addresses#outbound-ip-addresses) d'Anthropic afin que l'infrastructure Anthropic puisse atteindre votre hôte GHES pour cloner les référentiels et publier les commentaires d'examen. Les sessions dans un [environnement auto-hébergé](/docs/fr/self-hosted-environments-deploy#configure-git) atteignent votre hôte GHES depuis l'intérieur de votre réseau à la place, donc cette exposition s'applique uniquement aux sessions hébergées par Anthropic, aux flux de pré-session hébergés tels que le sélecteur de référentiel, et aux runners auto-hébergés qui optent pour la [passerelle git Anthropic](/docs/fr/self-hosted-environments-deploy#use-the-anthropic-git-proxy), qui récupère depuis le côté Anthropic. Le [connecteur SCM](/docs/fr/self-hosted-environments-reference#scm-connector-flags) n'est pas disponible, donc les flux de pré-session hébergés ne peuvent pas atteindre un hôte GHES qui n'est routable que dans votre réseau.

281 283 

282<h3 id="desktop-and-claude-ai">284<h3 id="desktop-and-claude-ai">

283 Bureau et claude.ai285 Bureau et claude.ai

Details

295 295 

296Avec Claude Code v2.1.283 ou ultérieur, le mode auto est le [mode de permission intégré de démarrage](#which-mode-a-session-starts-in) pour les sessions de terminal interactif et VS Code sur tous les plans et fournisseurs. Sur les versions antérieures, c'est le mode de permission intégré de démarrage uniquement sur les plans Pro, Max et Team.296Avec Claude Code v2.1.283 ou ultérieur, le mode auto est le [mode de permission intégré de démarrage](#which-mode-a-session-starts-in) pour les sessions de terminal interactif et VS Code sur tous les plans et fournisseurs. Sur les versions antérieures, c'est le mode de permission intégré de démarrage uniquement sur les plans Pro, Max et Team.

297 297 

298Le classificateur examine également chaque message que Claude envoie à un autre agent avec [`SendMessage`](/docs/fr/tools-reference), qu'il s'agisse de texte brut ou d'un message structuré [d'équipe d'agents](/docs/fr/agent-teams), avant que Claude Code le livre, à la fois en mode auto et en [mode plan tandis que le classificateur examine les commandes](#analyze-before-you-edit-with-plan-mode) ; l'examen d'envoi nécessite Claude Code v2.1.222 ou ultérieur.298Le classificateur examine également chaque message que Claude envoie à un autre agent avec [`SendMessage`](/docs/fr/tools-reference), qu'il s'agisse de texte brut ou d'un message [d'équipe d'agents](/docs/fr/agent-teams) structuré, avant que Claude Code le livre, à la fois en mode auto et en [mode plan pendant que le classificateur examine les commandes](#analyze-before-you-edit-with-plan-mode) ; l'examen d'envoi nécessite Claude Code v2.1.222 ou ultérieur.

299 299 

300Par défaut, le classificateur n'examine pas les suppressions `rm` et `rmdir` ciblant un chemin critique, comme `rm -rf /` ou `rm -rf ~`. [Chemins critiques](#critical-paths) couvre ce qui leur arrive dans chaque mode de permission.300Par défaut, le classificateur n'examine pas les suppressions `rm` et `rmdir` ciblant un chemin critique, comme `rm -rf /` ou `rm -rf ~`. [Chemins critiques](#critical-paths) couvre ce qui leur arrive dans chaque mode de permission.

301 301 

302Le mode auto encourage également Claude à continuer à travailler sans s'arrêter pour des questions de clarification, bien que Claude demande toujours quand votre invite ou une compétence s'y fient explicitement. Pour un comportement plus autonome dans un mode qui vous invite toujours, définissez plutôt le [style de sortie proactif](/docs/fr/output-styles).302Le mode auto encourage également Claude à continuer à travailler sans s'arrêter pour des questions de clarification, bien que Claude demande toujours quand votre invite ou une compétence s'y fient explicitement. Pour un comportement plus autonome dans un mode qui vous invite toujours, définissez plutôt le [style de sortie proactif](/docs/fr/output-styles).

303 303 

304<Warning>304<Warning>

305 Le mode auto réduit les invites de permission mais ne garantit pas la sécurité. Utilisez-le pour les tâches où vous faites confiance à la direction générale, pas comme remplacement de l'examen sur les opérations sensibles.305 Le mode auto réduit les invites de permission mais ne garantit pas la sécurité. Utilisez-le pour les tâches où vous faites confiance à la direction générale, pas comme remplacement pour l'examen des opérations sensibles.

306</Warning>306</Warning>

307 307 

308Le mode auto est disponible uniquement quand votre compte répond à tous ces critères :308Le mode auto n'est disponible que lorsque votre compte répond à tous ces critères :

309 309 

310* **Plan** : Tous les plans.310* **Plan** : Tous les plans.

311* **Organisation** : sur Team et Enterprise, le mode auto est disponible par défaut. Les administrateurs peuvent le désactiver pour l'organisation en définissant `permissions.disableAutoMode` sur `"disable"` dans les [paramètres gérés](/docs/fr/managed-settings).311* **Organisation** : sur Team et Enterprise, le mode auto est disponible par défaut. Les administrateurs peuvent le désactiver pour l'organisation en définissant `permissions.disableAutoMode` sur `"disable"` dans les [paramètres gérés](/docs/fr/managed-settings).

312* **Modèle** : sur l'API Anthropic et [Claude Platform sur AWS](/docs/fr/claude-platform-on-aws), Claude Opus 4.6 ou ultérieur, Sonnet 4.6 ou ultérieur, ou un [modèle Fable](/docs/fr/model-config#work-with-fable). Sur Amazon Bedrock, la plateforme d'agents de Google Cloud, Microsoft Foundry et les sessions de [passerelle d'applications Claude](/docs/fr/claude-apps-gateway) connectées, uniquement Claude Sonnet 5 ou ultérieur, Opus 4.7 ou ultérieur, et les modèles Fable. Les modèles plus anciens, y compris Sonnet 4.5, Opus 4.5, Haiku et les modèles claude-3, ne sont pas pris en charge sur aucun fournisseur.312* **Modèle** : sur l'API Anthropic et [Claude Platform sur AWS](/docs/fr/claude-platform-on-aws), Claude Opus 4.6 ou ultérieur, Sonnet 4.6 ou ultérieur, ou un [modèle Fable](/docs/fr/model-config#work-with-fable). Sur Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry et les sessions [passerelle d'applications Claude](/docs/fr/claude-apps-gateway) connectées, uniquement Claude Sonnet 5 ou ultérieur, Opus 4.7 ou ultérieur, et les modèles Fable. Les modèles plus anciens, y compris Sonnet 4.5, Opus 4.5, Haiku et les modèles claude-3, ne sont pas pris en charge sur aucun fournisseur.

313* **Fournisseur** : disponible par défaut sur l'API Anthropic, Claude Platform sur AWS, Amazon Bedrock, la plateforme d'agents de Google Cloud, Microsoft Foundry et les sessions de passerelle d'applications Claude connectées.313* **Fournisseur** : disponible par défaut sur l'API Anthropic, Claude Platform sur AWS, Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry et les sessions passerelle d'applications Claude connectées.

314 314 

315Si Claude Code signale que le mode auto n'est pas disponible, vérifiez d'abord ces critères et si un fichier de paramètres définit [`disableAutoMode`](/docs/fr/settings-reference#disableautomode). Anthropic peut également avoir désactivé le mode auto côté serveur, ou le serveur peut avoir rejeté le mode auto pour votre compte. Une session qui a reçu l'une ou l'autre réponse garde le mode auto désactivé jusqu'à la fin de la session, donc démarrez une nouvelle session plus tard.315Si Claude Code signale que le mode auto n'est pas disponible, vérifiez d'abord ces exigences et si un fichier de paramètres définit [`disableAutoMode`](/docs/fr/settings-reference#disableautomode). Anthropic peut également avoir désactivé le mode auto côté serveur, ou le serveur peut avoir rejeté le mode auto pour votre compte. Une session qui a reçu l'une ou l'autre réponse garde le mode auto désactivé jusqu'à la fin de la session, alors démarrez une nouvelle session plus tard.

316 316 

317Un message distinct qui nomme un modèle et dit que le mode auto « ne peut pas déterminer la sécurité » d'une action signifie qu'une demande de classificateur a échoué. Cet échec est généralement transitoire, mais sur Amazon Bedrock, il peut se répéter jusqu'à ce que votre compte puisse invoquer le modèle nommé. Consultez la [référence d'erreur](/docs/fr/errors#auto-mode-cannot-determine-the-safety-of-an-action) pour les causes et ce qu'il faut faire.317Un message distinct qui nomme un modèle et dit que le mode auto « ne peut pas déterminer la sécurité » d'une action signifie qu'une demande de classificateur a échoué. Cet échec est généralement transitoire, mais sur Amazon Bedrock, il peut se répéter jusqu'à ce que votre compte puisse invoquer le modèle nommé. Consultez la [référence d'erreur](/docs/fr/errors#auto-mode-cannot-determine-the-safety-of-an-action) pour les causes et ce qu'il faut faire.

318 318 

319Si vous définissez `defaultMode: "auto"` dans les [paramètres](/docs/fr/settings-reference#all-settings) et qu'une session de terminal démarre en mode Manual sans erreur, le paramètre est probablement dans `.claude/settings.json` ou `.claude/settings.local.json`. `auto` ne prend pas effet à partir de ces fichiers. Déplacez-le vers `~/.claude/settings.json`. Pour une conversation que l'extension VS Code a démarrée, vérifiez plutôt la liste propre de l'extension dans [Changer les modes de permission](#switch-permission-modes).319Si vous définissez `defaultMode: "auto"` dans les [paramètres](/docs/fr/settings-reference#all-settings) et qu'une session de terminal démarre en mode Manual sans erreur, le paramètre se trouve probablement dans `.claude/settings.json` ou `.claude/settings.local.json`. `auto` ne prend pas effet à partir de ces fichiers. Déplacez-le vers `~/.claude/settings.json`. Pour une conversation que l'extension VS Code a démarrée, vérifiez plutôt la liste propre de l'extension dans [Basculer les modes de permission](#switch-permission-modes).

320 320 

321<h3 id="enable-auto-mode-on-bedrock-agent-platform-or-foundry">321<h3 id="enable-auto-mode-on-bedrock-agent-platform-or-foundry">

322 Mode auto sur Bedrock, Agent Platform ou Foundry322 Mode auto sur Bedrock, Agent Platform ou Foundry

323</h3>323</h3>

324 324 

325Sur [Amazon Bedrock](/docs/fr/amazon-bedrock), [la plateforme d'agents de Google Cloud](/docs/fr/google-vertex-ai), [Microsoft Foundry](/docs/fr/microsoft-foundry) et les sessions de [passerelle d'applications Claude](/docs/fr/claude-apps-gateway) connectées, le mode auto est disponible par défaut. Avec Claude Code v2.1.283 ou ultérieur, c'est aussi le [mode de permission intégré de démarrage](#which-mode-a-session-starts-in) pour les sessions de terminal interactif et [VS Code](/docs/fr/vs-code). Pour choisir vous-même le mode de permission de démarrage, définissez `permissions.defaultMode` comme le décrit [Démarrer dans un mode de permission différent](#start-in-a-different-mode), ou choisissez un mode de permission dans l'indicateur de mode de l'extension VS Code.325Sur [Amazon Bedrock](/docs/fr/amazon-bedrock), [Google Cloud's Agent Platform](/docs/fr/google-vertex-ai), [Microsoft Foundry](/docs/fr/microsoft-foundry) et les sessions [passerelle d'applications Claude](/docs/fr/claude-apps-gateway) connectées, le mode auto est disponible par défaut. Avec Claude Code v2.1.283 ou ultérieur, c'est aussi le [mode de permission intégré de démarrage](#which-mode-a-session-starts-in) pour les sessions de terminal interactif et [VS Code](/docs/fr/vs-code). Pour choisir vous-même le mode de permission de démarrage, définissez `permissions.defaultMode` comme le décrit [Démarrer dans un mode de permission différent](#start-in-a-different-mode), ou choisissez un mode de permission dans l'indicateur de mode de l'extension VS Code.

326 326 

327Seuls Claude Sonnet 5 ou ultérieur, Opus 4.7 ou ultérieur, et les modèles Fable sont pris en charge sur ces fournisseurs. Sur tout autre modèle, la session démarre en Manual à la place.327Seuls Claude Sonnet 5 ou ultérieur, Opus 4.7 ou ultérieur, et les modèles Fable sont pris en charge sur ces fournisseurs. Sur tout autre modèle, la session démarre en Manual à la place.

328 328 

329Pour empêcher les développeurs d'utiliser le mode auto, définissez `disableAutoMode` sur `"disable"` dans les [paramètres gérés](/docs/fr/managed-settings). Cela supprime `auto` du cycle `Shift+Tab`, et une session démarrée avec `--permission-mode auto` démarre en Manual à la place. Une session déjà en cours d'exécution en mode auto le quitte quand le paramètre l'atteint à partir d'une [source déployée par l'administrateur](/docs/fr/managed-settings#which-managed-source-claude-code-uses), et affiche `auto mode disabled by settings`. Avant v2.1.251, une session en cours d'exécution gardait le mode auto jusqu'à sa fin.329Pour empêcher les développeurs d'utiliser le mode auto, définissez `disableAutoMode` sur `"disable"` dans les [paramètres gérés](/docs/fr/managed-settings). Cela supprime `auto` du cycle `Shift+Tab`, et une session démarrée avec `--permission-mode auto` démarre en Manual à la place. Une session déjà en cours d'exécution en mode auto le quitte quand le paramètre l'atteint à partir d'une [source déployée par l'administrateur](/docs/fr/managed-settings#which-managed-source-claude-code-uses), et affiche `auto mode disabled by settings`. Avant v2.1.251, une session en cours d'exécution gardait le mode auto jusqu'à la fin.

330 330 

331Dans v2.1.158 à v2.1.206, le mode auto était désactivé sur ces fournisseurs jusqu'à ce que vous définissiez `CLAUDE_CODE_ENABLE_AUTO_MODE=1`, et Claude Code ignorait `defaultMode: "auto"` sur ces fournisseurs à moins que la variable ne soit également définie. La variable est toujours acceptée pour la compatibilité et n'a aucun effet à partir de v2.1.207.331Dans v2.1.158 à v2.1.206, le mode auto était désactivé sur ces fournisseurs jusqu'à ce que vous définissiez `CLAUDE_CODE_ENABLE_AUTO_MODE=1`, et Claude Code ignorait `defaultMode: "auto"` sur ces fournisseurs à moins que la variable ne soit également définie. La variable est toujours acceptée pour la compatibilité et n'a aucun effet à partir de v2.1.207.

332 332 


337En mode auto, Claude Code peut demander au serveur de vérifier les actions que [l'ordre de décision](#how-the-classifier-evaluates-actions) envoie pour examen, dans le cadre des demandes de modèle de la session, à la place d'envoyer ses propres demandes de classificateur. Ces sessions demandent :337En mode auto, Claude Code peut demander au serveur de vérifier les actions que [l'ordre de décision](#how-the-classifier-evaluates-actions) envoie pour examen, dans le cadre des demandes de modèle de la session, à la place d'envoyer ses propres demandes de classificateur. Ces sessions demandent :

338 338 

339* **Une connexion directe à l'API Anthropic** : dans une session de terminal interactif, sur tous les plans claude.ai et sur les comptes qui utilisent l'API Claude, au fur et à mesure qu'Anthropic le déploie. Nécessite Claude Code v2.1.271 ou ultérieur sur les plans Pro, Max et Team, et v2.1.278 ou ultérieur sur les plans Enterprise et les comptes Claude API. À partir de v2.1.282, une session qui [ne récupère pas les drapeaux de fonctionnalité](/docs/fr/env-vars#features-that-need-feature-flag-fetching), par exemple parce que vous avez désactivé la télémétrie, demande au serveur par défaut dans n'importe quel type de session.339* **Une connexion directe à l'API Anthropic** : dans une session de terminal interactif, sur tous les plans claude.ai et sur les comptes qui utilisent l'API Claude, au fur et à mesure qu'Anthropic le déploie. Nécessite Claude Code v2.1.271 ou ultérieur sur les plans Pro, Max et Team, et v2.1.278 ou ultérieur sur les plans Enterprise et les comptes Claude API. À partir de v2.1.282, une session qui [ne récupère pas les drapeaux de fonctionnalité](/docs/fr/env-vars#features-that-need-feature-flag-fetching), par exemple parce que vous avez désactivé la télémétrie, demande au serveur par défaut dans n'importe quel type de session.

340* **Un fournisseur cloud, ou une passerelle LLM ou un proxy** : sur [Claude Platform sur AWS](/docs/fr/claude-platform-on-aws), Amazon Bedrock, la plateforme d'agents de Google Cloud et Microsoft Foundry, et chaque fois que vous pointez `ANTHROPIC_BASE_URL` vers une [passerelle LLM ou un proxy](/docs/fr/llm-gateway), quel que soit votre plan. Demander par défaut nécessite Claude Code v2.1.278 ou ultérieur.340* **Un fournisseur cloud, ou une passerelle LLM ou un proxy** : sur [Claude Platform sur AWS](/docs/fr/claude-platform-on-aws), Amazon Bedrock, Google Cloud's Agent Platform et Microsoft Foundry, et chaque fois que vous pointez `ANTHROPIC_BASE_URL` vers une [passerelle LLM ou un proxy](/docs/fr/llm-gateway), quel que soit votre plan. Demander par défaut nécessite Claude Code v2.1.278 ou ultérieur.

341* **Une session de [passerelle d'applications Claude](/docs/fr/claude-apps-gateway) connectée** : nécessite Claude Code v2.1.280 ou ultérieur341* **Une session [passerelle d'applications Claude](/docs/fr/claude-apps-gateway) connectée** : nécessite Claude Code v2.1.280 ou ultérieur

342 342 

343Où le serveur examine les actions, ses verdicts les décident. Deux autres résultats sont possibles :343Où le serveur examine les actions, ses verdicts les décident. Deux autres résultats sont possibles :

344 344 


351 Ce que le classificateur bloque par défaut351 Ce que le classificateur bloque par défaut

352</h3>352</h3>

353 353 

354Le classificateur fait confiance à votre répertoire de travail et aux télécommandes qui ont été configurées pour lui quand la session a démarré. Une télécommande ajoutée ou réorientée pendant la session avec `git remote add` ou `git remote set-url` n'est pas approuvée, et tout le reste est traité comme externe jusqu'à ce que vous [configuriez l'infrastructure approuvée](/docs/fr/auto-mode-config). Avant v2.1.200, les télécommandes ajoutées en milieu de session étaient également approuvées.354Le classificateur fait confiance à votre répertoire de travail et aux télécommandes qui ont été configurées pour lui quand la session a démarré. Une télécommande ajoutée ou réorientée pendant la session avec `git remote add` ou `git remote set-url` n'est pas approuvée, et tout le reste est traité comme externe jusqu'à ce que vous [configuriez l'infrastructure approuvée](/docs/fr/auto-mode-config#define-trusted-infrastructure). Avant v2.1.200, les télécommandes ajoutées en milieu de session étaient également approuvées.

355 355 

356**Bloqué par défaut** :356**Bloqué par défaut** :

357 357 


363* Modification d'infrastructure partagée363* Modification d'infrastructure partagée

364* Destruction irréversible de fichiers qui existaient avant la session364* Destruction irréversible de fichiers qui existaient avant la session

365* Forcer la poussée365* Forcer la poussée

366* Valider ou pousser une modification qui enverrait des secrets ou des données sensibles en dehors du dépôt quand elle s'exécute, ou élargir ce qu'un déploiement expose. Cela couvre un flux de travail CI ou une configuration de déploiement qui transmet un secret à une destination qui ne le reçoit pas déjà, un script ou une étape de configuration qui lit un magasin de secrets et envoie les données, et une modification de configuration qui élargit ce qu'un déploiement publie, comme un registre, une visibilité, un artefact ou un paramètre de sourcemap. La vérification s'applique sur n'importe quelle branche, s'applique même quand le dépôt est public, et se déclenche quand la modification est validée ou poussée, que ce commit ou cette poussée déclenche le pipeline ou non ; la clarifier nécessite de nommer l'effet d'exécution, pas seulement le commit ou la poussée. Avant v2.1.211, cette vérification était limitée à la branche par défaut à la place : une poussée là était bloquée quand elle portait du contenu sensible, des modifications dissimulées ou mal décrites par rapport à ce que vous avez demandé, du contenu porté de l'extérieur du dépôt, ou contourné une révision que vous avez demandée366* Valider ou pousser une modification qui enverrait des secrets ou des données sensibles en dehors du dépôt quand il s'exécute, ou élargir ce qu'un déploiement expose. Cela couvre un flux de travail CI ou une configuration de déploiement qui transmet un secret à une destination qui ne le reçoit pas déjà, un script ou une étape de configuration qui lit un magasin de secrets et envoie les données, et une modification de configuration qui élargit ce qu'un déploiement publie, comme un registre, une visibilité, un artefact ou un paramètre de sourcemap. La vérification s'applique sur n'importe quelle branche, s'applique même quand le dépôt est public, et se déclenche quand la modification est validée ou poussée, que ce commit ou cette poussée déclenche le pipeline ou non ; la clarifier nécessite de nommer l'effet d'exécution, pas seulement le commit ou la poussée. Avant v2.1.211, cette vérification était limitée à la branche par défaut à la place : une poussée là était bloquée quand elle portait du contenu sensible, des modifications dissimulées ou mal décrites par rapport à ce que vous avez demandé, du contenu porté de l'extérieur du dépôt, ou contourné une révision que vous avez demandée

367* `git reset --hard`, `git checkout -- .`, `git restore .`, `git clean -fd`, `git stash drop` ou `git stash clear`, que le classificateur présume éliminerait les modifications non validées367* `git reset --hard`, `git checkout -- .`, `git restore .`, `git clean -fd`, `git stash drop` ou `git stash clear`, que le classificateur présume élimineraient les modifications non validées

368* `git commit --amend` quand le commit à HEAD n'a pas été créé dans cette session368* `git commit --amend` quand le commit à HEAD n'a pas été créé dans cette session

369* À partir de v2.1.198, `git commit --amend` quand le commit à HEAD a déjà été poussé. Une réécriture de message uniquement n'est pas bloquée : `--amend -m` sans rien de nouvellement préparé, sur un commit que Claude a créé pendant cette session369* À partir de v2.1.198, `git commit --amend` quand le commit à HEAD a déjà été poussé. Une réécriture de message uniquement n'est pas bloquée : `--amend -m` sans rien de nouvellement préparé, sur un commit que Claude a créé pendant cette session

370* `terraform destroy`, `pulumi destroy`, `cdk destroy` ou `terragrunt destroy`, et appliquer un plan qui détruit des ressources370* `terraform destroy`, `pulumi destroy`, `cdk destroy` ou `terragrunt destroy`, et appliquer un plan qui détruit des ressources

371 

372Claude Code v2.1.195 et ultérieur bloquent plus de catégories par défaut. Plusieurs dépendent d'entrées [d'environnement](/docs/fr/auto-mode-config#define-trusted-infrastructure), comme les cibles de télécommande sensibles et les portées IaC protégées, que vous pouvez affiner à des noms concrets.

373 

374* Écriture dans un gestionnaire de secrets, ou modification des enregistrements DNS ou des certificats TLS371* Écriture dans un gestionnaire de secrets, ou modification des enregistrements DNS ou des certificats TLS

375* Fusion d'une demande de tirage qu'aucun humain n'a approuvée, approbation de la propre demande de tirage de Claude, ou désactivation des vérifications CI372* Fusion d'une demande de tirage qu'aucun humain n'a approuvée, approbation de la propre demande de tirage de Claude, ou désactivation des vérifications CI

376* Publication d'un commentaire qui est lui-même une commande à l'automatisation, comme `atlantis apply` ou le `/deploy` ou `/merge` d'un bot373* Publication d'un commentaire qui est lui-même une commande à l'automatisation, comme `atlantis apply` ou `/deploy` ou `/merge` d'un bot

377* Basculement, augmentation ou suppression d'un drapeau de fonctionnalité de production374* Basculement, augmentation ou suppression d'un drapeau de fonctionnalité de production

378* Application de modifications d'infrastructure à une portée IaC protégée, ou drainage et suppression de nœuds de cluster375* Application de modifications d'infrastructure à une portée IaC protégée, ou vidage et suppression de nœuds de cluster

379* Écritures dans un cluster de calcul partagé qui vont au-delà de la ressource que vous avez nommée, comme un sélecteur d'étiquette ou `--all` qui capture les tâches d'autres utilisateurs376* Écritures dans un cluster de calcul partagé qui vont au-delà de la ressource que vous avez nommée, comme un sélecteur d'étiquette ou `--all` qui capture les tâches d'autres utilisateurs

380* Création de ressources Kubernetes qui s'exécutent sur chaque nœud ou interceptent le trafic du cluster, comme les DaemonSets et les webhooks d'admission377* Création de ressources Kubernetes qui s'exécutent sur chaque nœud ou interceptent le trafic du cluster, comme les DaemonSets et les webhooks d'admission

381* Shells interactifs ou transferts de port vers une cible de télécommande sensible378* Shells interactifs ou transferts de port vers une cible distante sensible

382* Ouverture d'un tunnel ou d'un shell inverse qui rend un service local accessible depuis l'internet public379* Ouverture d'un tunnel ou d'un shell inverse qui rend un service local accessible depuis l'internet public

383* Impression d'un identifiant ou d'un jeton en direct dans la transcription ou un fichier380* Impression d'une identifiant ou d'un jeton en direct dans la transcription ou un fichier

384* Accès à un emplacement répertorié comme emplacement de données sensibles dans votre [environnement](/docs/fr/auto-mode-config#define-trusted-infrastructure), ou copie de données hors de celui-ci. À partir de v2.1.198, cela bloque également l'envoi de données d'un vers un public que l'entrée exclut381* Accès à un emplacement répertorié comme emplacement de données sensibles dans votre [environnement](/docs/fr/auto-mode-config#define-trusted-infrastructure), ou copie de données hors de celui-ci. À partir de v2.1.198, cela bloque également l'envoi de données d'un à un public que l'entrée exclut

385* Routage d'une installation de paquet autour de votre registre de paquet interne vers un registre public. À partir de v2.1.198, cela s'applique également quand vous avez dit à Claude qu'un registre interne ou un miroir existe dans la conversation, pas seulement quand un est répertorié dans votre environnement382* Routage d'une installation de paquet autour de votre registre de paquet interne vers un registre public. À partir de v2.1.198, cela s'applique également quand vous avez dit à Claude qu'un registre interne ou un miroir existe dans la conversation, pas seulement quand un est répertorié dans votre environnement

386* Exécution d'une commande avec un drapeau qui désarme une garde de sécurité, comme `--insecure`383* Exécution d'une commande avec un drapeau qui désarme une garde de sécurité, comme `--insecure`

387* Lancement d'une boucle d'agent autonome qui s'exécute sans approbation humaine ou bac à sable, comme une lancée avec `--dangerously-skip-permissions` ou `--no-sandbox`. À partir de v2.1.198, cela couvre également l'exécution d'un agent tiers ou d'un harnais d'évaluation avec isolation et approbation par action désactivées, comme un coureur lancé avec `--yes-always`384* Lancement d'une boucle d'agent autonome qui s'exécute sans approbation humaine ou bac à sable, comme une lancée avec `--dangerously-skip-permissions` ou `--no-sandbox`. À partir de v2.1.198, cela couvre également l'exécution d'un agent tiers ou d'un harnais d'évaluation avec isolation et approbation par action désactivées, comme un coureur lancé avec `--yes-always`

388* Actions du navigateur [Claude dans Chrome](/docs/fr/chrome) qui pourraient envoyer le contenu de la page, les cookies ou les identifiants hors origine385* Les actions du navigateur [Claude dans Chrome](/docs/fr/chrome) qui pourraient envoyer le contenu de la page, les cookies ou les identifiants hors origine

386 

387Plusieurs de ces catégories dépendent des entrées [d'environnement](/docs/fr/auto-mode-config#define-trusted-infrastructure), comme les cibles distantes sensibles et les portées IaC protégées, que vous pouvez affiner à des noms concrets.

389 388 

390Claude Code v2.1.198 et ultérieur bloquent également ceux-ci par défaut :389Claude Code v2.1.198 et ultérieur bloquent également par défaut :

391 390 

392* Suppression de fichiers dans `/tmp`, `$TMPDIR` ou un autre répertoire de travail partagé ou de cache par caractère générique, glob ou filtre d'âge plutôt que par un chemin nommé spécifique391* Suppression de fichiers dans `/tmp`, `$TMPDIR` ou un autre répertoire de travail partagé ou de cache par caractère générique, glob ou filtre d'âge plutôt que par un chemin nommé spécifique

393* Inclusion de détails sensibles dans le contenu envoyé, téléchargé, publié ou écrit à d'autres personnes ou systèmes partagés, quand votre propre message n'a pas autorisé ces détails pour ce destinataire. Les corps de PR et de problème, les messages de commit et les commentaires comptent comme ce type de contenu sortant quand le dépôt est en dehors de la limite de confiance ou public, y compris les dépôts publics de votre propre organisation ; les chemins de fichiers internes, les noms de code, les données de réponse API en direct comme les e-mails ou les identifiants de compte, et les identifiants d'infrastructure comptent comme des détails sensibles. La portée de PR, de problème et de message de commit nécessite Claude Code v2.1.200 ou ultérieur. Les données personnelles en direct d'une réponse API dans un corps de PR ou de problème, comme une adresse e-mail, un identifiant de compte ou d'organisation, ou une métrique d'utilisation, vous obligent à nommer ces détails et le destinataire indépendamment de la visibilité du dépôt ou de la limite de confiance. Cette vérification nécessite Claude Code v2.1.203 ou ultérieur392* Inclusion de détails sensibles dans le contenu envoyé, téléchargé, publié ou écrit à d'autres personnes ou systèmes partagés, quand votre propre message n'a pas autorisé ces détails pour ce destinataire. Les corps de PR et de problème, les messages de commit et les commentaires comptent comme ce type de contenu sortant quand le dépôt est en dehors de la limite de confiance ou public, y compris les dépôts publics de votre propre organisation ; les chemins de fichiers internes, les noms de code, les données de réponse API en direct comme les e-mails ou les identifiants de compte, et les identifiants d'infrastructure comptent comme des détails sensibles. La portée PR, problème et message de commit nécessite Claude Code v2.1.200 ou ultérieur. Les données personnelles en direct d'une réponse API dans un corps de PR ou de problème, comme une adresse e-mail, un identifiant de compte ou d'organisation, ou une métrique d'utilisation, vous obligent à nommer ces détails et le destinataire indépendamment de la visibilité ou de la limite de confiance du dépôt. Cette vérification nécessite Claude Code v2.1.203 ou ultérieur

394* Envoi de frappes au clavier au propre volet tmux de Claude Code pour piloter sa propre interface, que le classificateur traite comme Claude changeant ses propres permissions ou surveillance393* Envoi de frappes à son propre volet tmux de Claude Code pour piloter sa propre interface, que le classificateur traite comme Claude changeant ses propres permissions ou surveillance

395 394 

396Claude Code v2.1.200 et ultérieur bloquent également ceux-ci par défaut :395Claude Code v2.1.200 et ultérieur bloquent également par défaut :

397 396 

398* Commentaire, suppression ou passage en force d'un test ou d'une assertion qui protège le comportement de sécurité, comme l'authentification, le contrôle d'accès, la validation d'entrée ou le bac à sable397* Commentaire, suppression ou passage forcé d'un test ou d'une assertion qui protège le comportement de sécurité, comme l'authentification, le contrôle d'accès, la validation des entrées ou le bac à sable

399* Suppression ou démantèlement d'une ressource avec état que Claude n'a pas créée dans la session, quand aucune règle de suppression plus spécifique ne s'applique et que vous n'avez pas nommé cette ressource398* Suppression ou démantèlement d'une ressource avec état que Claude n'a pas créée dans la session, quand aucune règle de suppression plus spécifique ne s'applique et que vous n'avez pas nommé cette ressource

400* Réorientation d'une URL de base API, d'un point de terminaison proxy, d'un récepteur webhook ou d'un miroir de registre vers un hôte tiers qui ne correspond pas à la tâche, y compris dans les fichiers d'exemple comme `.env.example`399* Réorientation d'une URL de base API, d'un point de terminaison proxy, d'un récepteur webhook ou d'un miroir de registre vers un hôte tiers qui ne convient pas à la tâche, y compris dans les fichiers d'exemple comme `.env.example`

401* Modification de la destination des poussées avec `git remote set-url` ou `git remote add`, à moins que vous n'ayez nommé la nouvelle télécommande400* Modification de la destination des poussées avec `git remote set-url` ou `git remote add`, à moins que vous n'ayez nommé la nouvelle télécommande

402* Poussée de secrets ou de données personnelles ou confiées vers un dépôt connu pour être public, ou poussée de matériel confidentiel là qui ne fait pas partie du travail propre de ce dépôt. Le sujet propre d'un dépôt de dotfiles est la seule exception pour les données personnelles ou confiées, et le contenu d'un dépôt privé atteignant n'importe quelle surface publique est bloqué de la même manière ; les deux raffinements nécessitent Claude Code v2.1.203 ou ultérieur. Avant v2.1.203, les données personnelles étaient groupées avec le matériel confidentiel et bloquées uniquement quand elles ne faisaient pas partie du travail propre de ce dépôt. Quand la visibilité d'un dépôt n'est pas établie, le classificateur ne bloque pas sur cela seul ; il juge le contenu par rapport aux autres règles à la place401* Poussée de secrets ou de données personnelles ou confiées vers un dépôt connu pour être public, ou poussée de matériel confidentiel là qui ne fait pas partie du travail propre de ce dépôt. Le sujet propre d'un dépôt de dotfiles est la seule exception pour les données personnelles ou confiées, et le contenu d'un dépôt privé atteignant n'importe quelle surface publique est bloqué de la même manière ; les deux raffinements nécessitent Claude Code v2.1.203 ou ultérieur. Avant v2.1.203, les données personnelles étaient groupées avec le matériel confidentiel et bloquées uniquement quand elles ne faisaient pas partie du travail propre de ce dépôt. Quand la visibilité d'un dépôt n'est pas établie, le classificateur ne bloque pas sur cela seul ; il juge le contenu par rapport aux autres règles à la place

403* Ouverture d'une demande de tirage contre un dépôt ou une organisation différente, bifurcation avec `gh repo fork`, ou poussée vers un dépôt tiers, à moins que vous n'ayez nommé cette cible externe402* Ouverture d'une demande de tirage contre un dépôt ou une organisation différente, bifurcation avec `gh repo fork` ou poussée vers un dépôt tiers, à moins que vous n'ayez nommé cette cible externe

404 403 

405Claude Code v2.1.203 et ultérieur bloquent également ceux-ci par défaut :404Claude Code v2.1.203 et ultérieur bloquent également par défaut :

406 405 

407* Contenu d'un magasin local sensible, ou d'un fichier dont le nom, le chemin ou le type le marque comme sensible, entrant dans un commit, une poussée, un texte de PR ou de problème, une giste ou un collage, ou une publication de paquet, à moins que vous n'ayez nommé à la fois la source et la destination. Les transcriptions de session et les journaux de conversation, les dossiers de points de configuration d'identifiant et de configuration comme les clés SSH, les identifiants cloud, les profils de navigateur et l'historique du shell, et les exportations de données utilisateur comptent tous, et le dépôt étant privé ne le clarifie pas406* Le contenu d'un magasin local sensible, ou d'un fichier dont le nom, le chemin ou le type le marque comme sensible, entrant dans un commit, une poussée, un texte de PR ou de problème, une giste ou un collage, ou une publication de paquet, à moins que vous n'ayez nommé à la fois la source et la destination. Les transcriptions de session et les journaux de conversation, les dossiers de points de configuration d'identifiant et de configuration comme les clés SSH, les identifiants cloud, les profils de navigateur et l'historique du shell, et les exportations de données utilisateur comptent tous, et le dépôt étant privé ne le clarifie pas

408 407 

409Claude Code v2.1.205 et ultérieur bloquent également ceux-ci par défaut :408Claude Code v2.1.205 et ultérieur bloquent également par défaut :

410 409 

411* Écriture dans les transcriptions de session Claude Code, les fichiers d'historique `.jsonl` sous `~/.claude/projects/` ou votre répertoire de configuration configuré, directement ou via une commande shell. La règle couvre également les lignes de métadonnées que Claude Code ajoute à chaque entrée de transcription pour ses propres vérifications. La lecture d'une transcription n'est pas bloquée410* Écriture dans les transcriptions de session Claude Code, les fichiers d'historique `.jsonl` sous `~/.claude/projects/` ou votre répertoire de configuration configuré, directement ou via une commande shell. La règle couvre également les lignes de métadonnées que Claude Code ajoute à chaque entrée de transcription pour ses propres vérifications. La lecture d'une transcription n'est pas bloquée

412* Une suppression forcée récursive comme `rm -rf "$VAR"` ou `Remove-Item -Recurse -Force $dir` dont la cible est une variable shell qui n'est assignée nulle part dans la conversation que le classificateur voit, ou un glob enraciné à une telle variable. La valeur provenait uniquement de la sortie de commande antérieure, que le classificateur ne reçoit jamais, donc le classificateur ne peut pas vérifier la cible de suppression par rapport aux autres règles de suppression. Le bloc se clarifie quand vous nommez le chemin exact en cours de suppression, ou quand Claude réexécute la suppression avec le chemin littéral résolu écrit dans la commande. Les suppressions dont la cible le classificateur peut résoudre ne sont pas affectées.411* Une suppression forcée récursive comme `rm -rf "$VAR"` ou `Remove-Item -Recurse -Force $dir` dont la cible est une variable shell qui n'est assignée nulle part dans la conversation que le classificateur voit, ou un glob enraciné à une telle variable. La valeur provenait uniquement de la sortie de commande antérieure, que le classificateur ne reçoit jamais, donc le classificateur ne peut pas vérifier la cible de suppression par rapport aux autres règles de suppression. Le bloc se clarifie quand vous nommez le chemin exact en cours de suppression, ou quand Claude réexécute la suppression avec le chemin littéral résolu écrit dans la commande. Les suppressions dont la cible le classificateur peut résoudre ne sont pas affectées.

413 412 

414 Un glob directement sous la variable, comme dans `rm -rf "$VAR"/*`, est un [chemin critique](#critical-paths) à la place. Les cibles `Remove-Item` qui sont un `*` nu ou se terminent par `/*` ou `\*` n'atteignent jamais le classificateur : Claude Code les [refuse directement](#remove-item-in-powershell).413 Un glob directement sous la variable, comme dans `rm -rf "$VAR"/*`, est un [chemin critique](#critical-paths) à la place. Les cibles `Remove-Item` qui sont un `*` nu ou se terminent par `/*` ou `\*` n'atteignent jamais le classificateur : Claude Code les [refuse directement](#remove-item-in-powershell).

415 414 

416Claude Code v2.1.257 et ultérieur bloquent également ceux-ci par défaut :415Claude Code v2.1.257 et ultérieur bloquent également par défaut :

417 416 

418* Demande d'identifiants à partir du point de terminaison de métadonnées d'instance cloud, comme `169.254.169.254`, ou authentification explicite d'un appel cloud, cluster ou registre avec l'identité de compte de service ou de nœud de la machine417* Demande d'identifiants à partir du point de terminaison des métadonnées d'instance cloud, comme `169.254.169.254`, ou authentification explicite d'un appel cloud, cluster ou registre avec l'identité de compte de service ou de nœud de la machine

419* Atteinte d'un hôte public par une route autre qu'une demande directe, comme un tunnel, un shell inverse ou une configuration de résolveur ou de proxy réécrite pour pointer vers l'extérieur418* Atteinte d'un hôte public par une route autre qu'une demande directe, comme un tunnel, un shell inverse, ou une configuration de résolveur ou de proxy réécrite pour pointer vers l'extérieur

420* Lecture d'identifiants qui appartiennent à l'hôte plutôt qu'à votre tâche, comme les certificats de nœud ou l'authentification du registre de conteneurs du nœud419* Lecture d'identifiants qui appartiennent à l'hôte plutôt qu'à votre tâche, comme les certificats de nœud ou l'authentification du registre de conteneurs du nœud

421* Connexion à ou analyse de conteneurs, pods ou VMs frères que Claude n'a pas démarrés, ou le nœud sous le conteneur420* Connexion à ou analyse des conteneurs, pods ou VMs frères que Claude n'a pas démarrés, ou le nœud sous le conteneur

422 421 

423Si Claude Code s'exécute quelque part qui est censé permettre l'un de ceux-ci, décrivez cette configuration dans une entrée [Host containment](/docs/fr/auto-mode-config#define-trusted-infrastructure) dans `autoMode.environment`.422Si Claude Code s'exécute quelque part qui est censé permettre l'un de ceux-ci, décrivez cette configuration dans une entrée [Host containment](/docs/fr/auto-mode-config#define-trusted-infrastructure) dans `autoMode.environment`.

424 423 

425Claude Code v2.1.261 et ultérieur bloquent également ceux-ci par défaut :424Claude Code v2.1.261 et ultérieur bloquent également par défaut :

426 425 

427* Publication ou écriture d'un lien vers un service public de collage, de diagramme ou de partage de données dans un message, un texte de PR ou de problème, un document ou n'importe où ailleurs le lien sera ouvert ou récupéré, quand l'URL elle-même porte le contenu partagé, à moins que vous n'ayez nommé ce service426* Publication ou écriture d'un lien vers un service public de collage, de diagramme ou de partage de données dans un message, un texte de PR ou de problème, un document, ou n'importe où ailleurs où le lien sera ouvert ou récupéré, quand l'URL elle-même porte le contenu partagé, à moins que vous n'ayez nommé ce service

428 427 

429**Autorisé par défaut** :428**Autorisé par défaut** :

430 429 

431* Opérations de fichier local dans votre répertoire de travail430* Opérations de fichiers locaux dans votre répertoire de travail

432* Installation de dépendances déclarées dans vos fichiers de verrouillage ou manifestes431* Installation de dépendances déclarées dans vos fichiers de verrouillage ou manifestes

433* Lecture de `.env` et envoi d'identifiants à leur API correspondante432* Lecture de `.env` et envoi d'identifiants à leur API correspondante

434* Demandes HTTP en lecture seule433* Demandes HTTP en lecture seule

435* Poussée vers n'importe quelle branche du dépôt sur lequel vous travaillez, y compris la branche par défaut. Une branche non par défaut dont le nom la marque comme cible de déploiement ou de publication, comme `production` ou `gh-pages`, n'est pas couverte : le classificateur juge une poussée là sur ses propres termes. Le contenu de la poussée est toujours vérifié par rapport aux autres règles, les règles [`permissions.deny`](/docs/fr/permissions#manage-permissions) peuvent toujours bloquer les commandes de poussée [telles qu'écrites](/docs/fr/permissions#bash-rule-limits) dans chaque mode, et la protection de branche propre de la télécommande s'applique toujours. Avant v2.1.211, seules les poussées vers la branche sur laquelle vous avez démarré, les branches que Claude a créées, et les poussées routinières vers la branche par défaut étaient autorisées par défaut, et avant v2.1.203 toute poussée directe vers la branche par défaut était bloquée434* Poussée vers n'importe quelle branche du dépôt sur lequel vous travaillez, y compris la branche par défaut. Une branche non par défaut dont le nom la marque comme cible de déploiement ou de publication, comme `production` ou `gh-pages`, n'est pas couverte : le classificateur juge une poussée là sur ses propres termes. Le contenu de la poussée est toujours vérifié par rapport aux autres règles, les règles [`permissions.deny`](/docs/fr/permissions#manage-permissions) peuvent toujours bloquer les commandes de poussée [telles qu'écrites](/docs/fr/permissions#bash-rule-limits) dans chaque mode, et la protection de branche propre de la télécommande s'applique toujours. Avant v2.1.211, seules les poussées vers la branche sur laquelle vous avez démarré, les branches que Claude a créées, et les poussées routinières vers la branche par défaut étaient autorisées par défaut, et avant v2.1.203 toute poussée directe vers la branche par défaut était bloquée

436 

437Claude Code v2.1.195 et ultérieur autorisent également ceux-ci par défaut :

438 

439* Suppression des tâches exactes que Claude a créées plus tôt dans la même session435* Suppression des tâches exactes que Claude a créées plus tôt dans la même session

440* Lecture, révision ou écriture de code, de configurations et de modèles de menace liés à la sécurité dans le cadre de votre tâche436* Lecture, révision ou écriture de code, de configurations et de modèles de menace liés à la sécurité dans le cadre de votre tâche

441* Messages entre agents travaillant ensemble dans la même session multi-agents437* Messages entre agents travaillant ensemble dans la même session multi-agents

442* Envoi de données vers les domaines approuvés, les buckets et les services que vous répertoriez dans [`environment`](/docs/fr/auto-mode-config#define-trusted-infrastructure). Cela couvre le flux de données uniquement, pas les opérations destructrices ou d'identifiant sur la même infrastructure438* Envoi de données aux domaines, buckets et services approuvés que vous répertoriez dans [`environment`](/docs/fr/auto-mode-config#define-trusted-infrastructure). Cela couvre le flux de données uniquement, pas les opérations destructrices ou d'identifiant sur la même infrastructure

443* [Claude dans Chrome](/docs/fr/chrome) navigation vers un domaine interne approuvé, localhost ou une URL que vous avez nommée439* [Claude dans Chrome](/docs/fr/chrome) navigation vers un domaine interne approuvé, localhost ou une URL que vous avez nommée

444 440 

445Les commandes en bac à sable n'obtiennent pas d'accès réseau par défaut. Claude nomme les hôtes qu'une commande a besoin sur la commande elle-même, le classificateur les examine avec la commande, et une liste approuvée ouvre ces hôtes pour cette seule commande. [Domaines autorisés par commande](/docs/fr/sandboxing#per-command-allowed-domains-in-auto-mode) couvre ce qu'une liste peut et ne peut pas ouvrir et ce qui se passe quand une commande atteint un hôte non répertorié.441Les commandes en bac à sable n'obtiennent pas d'accès réseau par défaut. Claude nomme les hôtes qu'une commande a besoin sur la commande elle-même, le classificateur les examine avec la commande, et une liste approuvée ouvre ces hôtes pour cette seule commande. [Domaines autorisés par commande](/docs/fr/sandboxing#per-command-allowed-domains-in-auto-mode) couvre ce qu'une liste peut et ne peut pas ouvrir et ce qui se passe quand une commande atteint un hôte non répertorié.

446 442 

447Exécutez `claude auto-mode defaults` pour imprimer les listes de règles complètes en JSON. Si les actions routinières sont bloquées, un administrateur peut ajouter des dépôts, des buckets et des services approuvés via le paramètre `autoMode.environment` : voir [Configurer le mode auto](/docs/fr/auto-mode-config).443Exécutez `claude auto-mode defaults` pour imprimer les listes de règles complètes en JSON. Si les actions routinières sont bloquées, un administrateur peut ajouter des dépôts, des buckets et des services approuvés via le paramètre `autoMode.environment` : voir [Configurer le mode auto](/docs/fr/auto-mode-config).

448 444 

449Pousser vers n'importe quelle branche du dépôt sur lequel vous travaillez et créer une demande de tirage qui correspond à votre demande s'exécutent sans invite, à moins que la poussée ou la demande de tirage ne tombe sous la [liste bloquée](#what-the-classifier-blocks-by-default), comme des secrets ou des données sensibles quittant le dépôt, ou une demande de tirage qui cible un dépôt ou une organisation différente. Pour exiger un point de contrôle humain avant ces commandes tout en restant en mode auto, ajoutez des règles `permissions.ask`, qui correspondent à la commande [telle qu'écrite](/docs/fr/permissions#bash-rule-limits) : voir [Limites courantes](/docs/fr/auto-mode-config#common-boundaries).445Pousser vers n'importe quelle branche du dépôt sur lequel vous travaillez et créer une demande de tirage qui correspond à votre demande s'exécutent sans invite, à moins que la poussée ou la demande de tirage ne tombe sous la [liste bloquée](#what-the-classifier-blocks-by-default), comme des secrets ou des données sensibles quittant le dépôt, ou une demande de tirage qui cible un dépôt ou une organisation différente. Pour exiger un point de contrôle humain avant ces commandes tout en restant en mode auto, ajoutez des règles `permissions.ask`, qui correspondent à la commande [telle qu'écrite](/docs/fr/permissions#bash-rule-limits) : voir [Limites communes](/docs/fr/auto-mode-config#common-boundaries).

450 446 

451<h3 id="first-read-outside-the-working-directories">447<h3 id="first-read-outside-the-working-directories">

452 La première lecture en dehors des répertoires de travail448 La première lecture en dehors des répertoires de travail

453</h3>449</h3>

454 450 

455Tandis que [`permissions.blockReadsOutsideWorkingDirectories`](/docs/fr/settings-reference#permissions-blockreadsoutsideworkingdirectories) est désactivé, les lectures de fichier s'exécutent sans invite en mode auto, y compris les lectures en dehors des [répertoires de travail](/docs/fr/permissions#working-directories). La première fois que Claude utilise l'outil Read, Grep ou Glob sur un chemin en dehors d'eux, Claude Code demande s'il faut autoriser cette lecture.451Tandis que [`permissions.blockReadsOutsideWorkingDirectories`](/docs/fr/settings-reference#permissions-blockreadsoutsideworkingdirectories) est désactivé, les lectures de fichiers s'exécutent sans invite en mode auto, y compris les lectures en dehors des [répertoires de travail](/docs/fr/permissions#working-directories). La première fois que Claude utilise l'outil Read, Grep ou Glob sur un chemin en dehors d'eux, Claude Code demande s'il faut autoriser cette lecture.

456 452 

457L'invite n'apparaît pas dans les exécutions `-p` non interactives ou les sessions en arrière-plan ; les lectures là s'exécutent comme avant.453L'invite n'apparaît pas dans les exécutions `-p` non interactives ou les sessions d'arrière-plan ; les lectures là s'exécutent comme avant.

458 454 

459Quelle que soit votre réponse, Claude continue à travailler :455Quelle que soit votre réponse, Claude continue à travailler :

460 456 

461* **Oui, et continuez à autoriser toute lecture en dehors des répertoires de travail** : la lecture s'exécute, les lectures ultérieures en dehors des répertoires de travail s'exécutent comme avant, et Claude Code enregistre votre réponse pour que l'invite n'apparaisse plus457* **Oui, et continuez à autoriser n'importe quelles lectures en dehors des répertoires de travail** : la lecture s'exécute, les lectures ultérieures en dehors des répertoires de travail s'exécutent comme avant, et Claude Code enregistre votre réponse pour que l'invite n'apparaisse plus

462* **Non, et bloquez les lectures en dehors des répertoires de travail à partir de maintenant** : la lecture est refusée, et Claude Code définit [`permissions.blockReadsOutsideWorkingDirectories`](/docs/fr/settings-reference#permissions-blockreadsoutsideworkingdirectories) sur `true` dans vos paramètres utilisateur, ce qui fait que les outils de fichier refusent ces lectures dans chaque session ultérieure et chaque mode de permission. Pour laisser Claude lire un tel chemin plus tard, ajoutez son répertoire avec `/add-dir` ou supprimez le paramètre.458* **Non, et bloquez les lectures en dehors des répertoires de travail à partir de maintenant** : la lecture est refusée, et Claude Code définit [`permissions.blockReadsOutsideWorkingDirectories`](/docs/fr/settings-reference#permissions-blockreadsoutsideworkingdirectories) sur `true` dans vos paramètres utilisateur, ce qui fait que les outils de fichier refusent ces lectures dans chaque session ultérieure et chaque mode de permission. Pour laisser Claude lire un tel chemin plus tard, ajoutez son répertoire avec `/add-dir` ou supprimez le paramètre.

463* **Non, et demandez à nouveau la prochaine fois** : la lecture est refusée, et la prochaine lecture en dehors des répertoires de travail invite à nouveau459* **Non, et demandez à nouveau la prochaine fois** : la lecture est refusée, et la prochaine lecture en dehors des répertoires de travail invite à nouveau

464* **Oui, mais demandez à nouveau la prochaine fois** : la lecture s'exécute, rien n'est enregistré, et la prochaine lecture en dehors des répertoires de travail invite à nouveau460* **Oui, mais demandez à nouveau la prochaine fois** : la lecture s'exécute, rien n'est enregistré, et la prochaine lecture en dehors des répertoires de travail invite à nouveau


467 Limites que vous énoncez dans la conversation463 Limites que vous énoncez dans la conversation

468</h3>464</h3>

469 465 

470Le classificateur traite les limites que vous énoncez dans la conversation comme un signal de bloc. Si vous dites à Claude « ne poussez pas » ou « attendez que j'examine avant de déployer », le classificateur bloque les actions correspondantes même quand les règles par défaut les autoriseraient. Une limite reste en vigueur jusqu'à ce que vous la leviez dans un message ultérieur. Le propre jugement de Claude qu'une condition a été remplie ne la lève pas.466Le classificateur traite les limites que vous énoncez dans la conversation comme un signal de blocage. Si vous dites à Claude « ne pousse pas » ou « attends que j'examine avant de déployer », le classificateur bloque les actions correspondantes même quand les règles par défaut les autoriseraient. Une limite reste en vigueur jusqu'à ce que vous la leviez dans un message ultérieur. Le propre jugement de Claude qu'une condition a été remplie ne la lève pas.

471 467 

472Les limites ne sont pas stockées en tant que règles. Le classificateur les relit à partir de la transcription à chaque vérification, donc une limite peut être perdue si la [compaction de contexte](/docs/fr/costs#reduce-token-usage) supprime le message qui l'a énoncée. Pour une garantie ferme, ajoutez une [règle deny](/docs/fr/permissions#permission-rule-syntax) à la place.468Les limites ne sont pas stockées en tant que règles. Le classificateur les relit à partir de la transcription à chaque vérification, donc une limite peut être perdue si la [compaction de contexte](/docs/fr/costs#reduce-token-usage) supprime le message qui l'a énoncée. Pour une garantie ferme, ajoutez une [règle deny](/docs/fr/permissions#permission-rule-syntax) à la place.

473 469 


478Si vous dites à Claude qu'une action bloquée est autorisée, le classificateur lit cela comme votre approbation et peut clarifier le bloc. La façon dont vous l'avez formulé décide si l'action s'exécute et jusqu'où l'approbation s'étend :474Si vous dites à Claude qu'une action bloquée est autorisée, le classificateur lit cela comme votre approbation et peut clarifier le bloc. La façon dont vous l'avez formulé décide si l'action s'exécute et jusqu'où l'approbation s'étend :

479 475 

480* **Nommez l'action et ses spécificités** : votre message doit nommer l'action et la chose spécifique qui la rend dangereuse, comme la branche d'une poussée forcée. Nommer le verbe seul ne clarifie rien, donc « vous pouvez forcer la poussée » laisse le bloc en place.476* **Nommez l'action et ses spécificités** : votre message doit nommer l'action et la chose spécifique qui la rend dangereuse, comme la branche d'une poussée forcée. Nommer le verbe seul ne clarifie rien, donc « vous pouvez forcer la poussée » laisse le bloc en place.

481* **Attendez-vous à ce qu'elle couvre une action** : une approbation couvre l'action destructrice que vous avez nommée, donc une action ultérieure est bloquée à nouveau à moins que vous n'ayez accordé l'approbation en tant que permanente. Pour arrêter d'approuver un modèle routinier une action à la fois, ajoutez-le à [`autoMode.allow`](/docs/fr/auto-mode-config#override-the-block-and-allow-rules).477* **Attendez-vous à ce qu'il couvre une action** : une approbation couvre l'action destructrice que vous avez nommée, donc une action ultérieure est bloquée à nouveau à moins que vous n'ayez accordé l'approbation en tant que permanente. Pour arrêter d'approuver un modèle routinier une action à la fois, ajoutez-le à [`autoMode.allow`](/docs/fr/auto-mode-config#override-the-block-and-allow-rules).

482* **Certains blocs restent en place** : [l'ordre de précédence du classificateur](/docs/fr/auto-mode-config#override-the-block-and-allow-rules) énonce les blocs que votre approbation peut atteindre. Pour exécuter une étape qu'elle ne clarifiera pas, [quittez le mode auto](#switch-permission-modes) et répondez à l'invite de permission.478* **Certains blocs restent en place** : [l'ordre de précédence du classificateur](/docs/fr/auto-mode-config#override-the-block-and-allow-rules) énonce les blocs que votre approbation peut atteindre. Pour exécuter une étape qu'il ne clarifiera pas, [quittez le mode auto](#switch-permission-modes) et répondez à l'invite de permission.

483 479 

484<h3 id="when-auto-mode-falls-back">480<h3 id="when-auto-mode-falls-back">

485 Quand le mode auto revient en arrière481 Quand le mode auto revient en arrière


488Quand le mode auto ne peut pas approuver les actions de votre session, ce qui se passe dépend du cas :484Quand le mode auto ne peut pas approuver les actions de votre session, ce qui se passe dépend du cas :

489 485 

490* **Une action bloquée** : Claude Code affiche une notification et répertorie l'action dans `/permissions` sous l'onglet **Recently denied**, où vous pouvez appuyer sur `r` pour la réessayer avec une approbation manuelle.486* **Une action bloquée** : Claude Code affiche une notification et répertorie l'action dans `/permissions` sous l'onglet **Recently denied**, où vous pouvez appuyer sur `r` pour la réessayer avec une approbation manuelle.

491* **Blocs répétés** : si le classificateur bloque une action 3 fois de suite ou 20 fois au total, le mode auto s'interrompt et Claude Code reprend l'invite. Approuver l'action invitée reprend le mode auto. Voir [Seuils de blocs répétés](#repeated-block-thresholds) pour la façon dont les blocs sont comptés.487* **Blocs répétés** : si le classificateur bloque une action 3 fois de suite ou 20 fois au total, le mode auto s'interrompt et Claude Code reprend l'invite. L'approbation de l'action invitée reprend le mode auto. Voir [Seuils de bloc répété](#repeated-block-thresholds) pour savoir comment les blocs sont comptés.

492* **Aucun verdict du classificateur** : quand une vérification de sécurité distincte du mode auto refuse la propre demande du classificateur, ou que la réponse du classificateur ne s'analyse pas, Claude Code refuse l'action sans la notification ou l'entrée **Recently denied**. Voir [Auto mode cannot determine the safety of an action](/docs/fr/errors#auto-mode-cannot-determine-the-safety-of-an-action) pour le message que chaque cas affiche et ce qu'il faut faire.488* **Aucun verdict du classificateur** : quand une vérification de sécurité distincte du mode auto refuse la propre demande du classificateur, ou que la réponse du classificateur ne s'analyse pas, Claude Code refuse l'action sans la notification ou l'entrée **Recently denied**. Voir [Le mode auto ne peut pas déterminer la sécurité d'une action](/docs/fr/errors#auto-mode-cannot-determine-the-safety-of-an-action) pour le message que chaque cas affiche et ce qu'il faut faire.

493* **Aucun verdict du serveur** : sous [examen du classificateur côté serveur](#server-side-classifier-review), Claude Code refuse une action pour laquelle le serveur ne donne pas de verdict, et arrête le tour après dix réponses de suite sans verdict. Voir [Le serveur n'a pas retourné de verdict de sécurité](/docs/fr/errors#the-server-returned-no-safety-verdict).489* **Aucun verdict du serveur** : sous [examen du classificateur côté serveur](#server-side-classifier-review), Claude Code refuse une action pour laquelle le serveur ne donne pas de verdict, et arrête le tour après dix réponses de suite sans verdict. Voir [Le serveur n'a pas retourné de verdict de sécurité](/docs/fr/errors#the-server-returned-no-safety-verdict).

494* **Un changement de mode pendant une vérification** : si vous changez les modes de permission tandis qu'une vérification de classificateur est en attente, Claude Code rejette un verdict que le nouveau mode n'aurait pas demandé plutôt que de l'appliquer : vous êtes invité pour approbation à la place, ou l'action est auto-refusée en [mode `dontAsk`](#allow-only-pre-approved-tools-with-dontask-mode).490* **Un changement de mode pendant une vérification** : si vous changez les modes de permission pendant qu'une vérification de classificateur est en attente, Claude Code rejette un verdict que le nouveau mode n'aurait pas demandé. Vous êtes invité à l'approbation à la place, ou l'action est auto-refusée en [mode `dontAsk`](#allow-only-pre-approved-tools-with-dontask-mode).

495 491 

496<h4 id="repeated-block-thresholds">492<h4 id="repeated-block-thresholds">

497 Seuils de blocs répétés493 Seuils de bloc répété

498</h4>494</h4>

499 495 

500Les seuils de 3 blocs de suite et 20 blocs au total ne sont pas configurables. Le compteur total persiste pour la session et se réinitialise uniquement quand sa propre limite déclenche un retour en arrière. Claude Code ne compte pas un refus vers l'un ou l'autre seuil quand une vérification de sécurité distincte du mode auto refuse la propre demande du classificateur.496Les seuils de 3 blocs de suite et 20 blocs au total ne sont pas configurables. Le compteur total persiste pour la session et se réinitialise uniquement quand sa propre limite déclenche un retour en arrière. Claude Code ne compte pas un refus vers l'un ou l'autre seuil quand une vérification de sécurité distincte du mode auto refuse la propre demande du classificateur.


516 Chaque action passe par un ordre de décision fixe. La première étape correspondante gagne :512 Chaque action passe par un ordre de décision fixe. La première étape correspondante gagne :

517 513 

518 1. Les actions correspondant à vos [règles allow, ask ou deny](/docs/fr/permissions#manage-permissions) se résolvent immédiatement, avec ces exceptions :514 1. Les actions correspondant à vos [règles allow, ask ou deny](/docs/fr/permissions#manage-permissions) se résolvent immédiatement, avec ces exceptions :

519 * Les écritures vers [chemins protégés](#protected-paths) sont acheminées vers le classificateur même quand une règle allow correspond515 * Les écritures vers les [chemins protégés](#protected-paths) sont acheminées vers le classificateur même quand une règle allow correspond

520 * Aucune règle allow n'approuve les suppressions `rm` et `rmdir` ciblant un [chemin critique](#critical-paths)516 * Aucune règle allow n'approuve les suppressions `rm` et `rmdir` ciblant un [chemin critique](#critical-paths)

521 * Les outils MCP marqués [`requiresUserInteraction`](/docs/fr/mcp#require-approval-for-a-specific-tool) vous invitent directement même quand une règle allow correspond, et il en va de même pour les outils de connecteur [que votre organisation a définis sur `ask`](/docs/fr/mcp#organization-controls-on-connector-tools) dans les sessions où ce paramètre atteint Claude Code517 * Les outils MCP marqués [`requiresUserInteraction`](/docs/fr/mcp#require-approval-for-a-specific-tool) vous invitent directement même quand une règle allow correspond, et il en va de même pour les outils de connecteur [que votre organisation a définis sur `ask`](/docs/fr/mcp#organization-controls-on-connector-tools) dans les sessions où ce paramètre atteint Claude Code

522 * Une commande shell qui porte [domaines autorisés par commande](/docs/fr/sandboxing#per-command-allowed-domains-in-auto-mode) est également acheminée vers le classificateur même quand une règle allow correspond, parce qu'une règle approuve la commande, pas ses hôtes518 * Une commande shell qui porte des [domaines autorisés par commande](/docs/fr/sandboxing#per-command-allowed-domains-in-auto-mode) est également acheminée vers le classificateur même quand une règle allow correspond, car une règle approuve la commande, pas ses hôtes

523 * Les règles ask qui correspondent sur le contenu d'une commande, comme `Bash(git push *)`, reviennent à une invite de permission519 * Les règles ask qui correspondent sur le contenu d'une commande, comme `Bash(git push *)`, reviennent à une invite de permission

524 * Une écriture que la [vérification de lien symbolique](/docs/fr/permissions#symlinks) résout à un chemin protégé vous invite quand le chemin que Claude a demandé n'est pas lui-même protégé520 * Une écriture que la [vérification de lien symbolique](/docs/fr/permissions#symlinks) résout à un chemin protégé vous invite quand le chemin que Claude a demandé n'est pas lui-même protégé

525 2. Les actions en lecture seule et les éditions de fichier dans votre répertoire de travail sont auto-approuvées, sauf les écritures vers [chemins protégés](#protected-paths) et [la première lecture en dehors des répertoires de travail](#first-read-outside-the-working-directories), qui vous invite521 2. Les actions en lecture seule et les éditions de fichiers dans votre répertoire de travail sont auto-approuvées, sauf les écritures vers les [chemins protégés](#protected-paths) et [la première lecture en dehors des répertoires de travail](#first-read-outside-the-working-directories), qui vous invitent

526 * Dans une session avec [examen du classificateur côté serveur](#server-side-classifier-review), les actions en lecture seule et les commandes shell [en bac à sable](/docs/fr/sandboxing#sandbox-modes) attendent cet examen et sont bloquées s'il les signale522 * Dans une session avec [examen du classificateur côté serveur](#server-side-classifier-review), les lectures seules et les commandes shell [en bac à sable](/docs/fr/sandboxing#sandbox-modes) attendent cet examen et sont bloquées s'il les signale

527 * Une écriture dans votre répertoire de travail que la [vérification de lien symbolique](/docs/fr/permissions#symlinks) résout à un emplacement en dehors de celui-ci vous invite523 * Une écriture à l'intérieur de votre répertoire de travail que la [vérification de lien symbolique](/docs/fr/permissions#symlinks) résout à un emplacement en dehors d'elle vous invite

528 3. Tout le reste va au classificateur, à part les [suppressions de chemin critique](#critical-paths) sous leur gestion par défaut. Les outils de connecteur et les outils MCP `requiresUserInteraction` qui vous invitent directement à l'étape 1 n'atteignent jamais le classificateur non plus, donc ni une approbation requise par l'organisation ni une étape de consentement n'est auto-approuvée524 3. Tout le reste va au classificateur, à part les [suppressions de chemin critique](#critical-paths) sous leur gestion par défaut. Les outils de connecteur et les outils MCP `requiresUserInteraction` qui vous invitent directement à l'étape 1 n'atteignent jamais le classificateur non plus, donc ni une approbation requise par l'organisation ni une étape de consentement n'est auto-approuvée

529 4. Si le classificateur bloque, Claude reçoit la raison et essaie une alternative. Dans la plupart des sessions, la raison nomme la règle que le classificateur a correspondue, comme `[Data Exfiltration]`, plutôt que de donner une explication écrite ; voir [Examiner les refus](/docs/fr/auto-mode-config#review-denials)525 4. Si le classificateur bloque, Claude reçoit la raison. Dans la plupart des sessions, la raison nomme la règle que le classificateur a correspondante, comme `[Data Exfiltration]`, plutôt que de donner une explication écrite ; voir [Examiner les refus](/docs/fr/auto-mode-config#review-denials)

530 526 

531 En entrant en mode auto, les larges règles allow qui accordent l'exécution de code arbitraire sont supprimées :527 En entrant en mode auto, les règles allow larges qui accordent l'exécution de code arbitraire sont supprimées :

532 528 

533 * Blanket `Bash(*)` ou `PowerShell(*)`529 * Blanket `Bash(*)` ou `PowerShell(*)`

534 * Interpréteurs avec caractères génériques comme `Bash(python*)`530 * Interpréteurs avec caractères génériques comme `Bash(python*)`

535 * Commandes d'exécution du gestionnaire de paquet531 * Commandes d'exécution du gestionnaire de paquet

536 * Règles `Agent` allow532 * Règles `Agent` allow

537 * Règles [`Monitor`](/docs/fr/tools-reference#monitor-tool) allow, parce que Claude Code exécute les commandes Monitor via le shell533 * Règles [`Monitor`](/docs/fr/tools-reference#monitor-tool) allow, car Claude Code exécute les commandes Monitor via le shell

538 534 

539 Les règles étroites comme `Bash(npm test)` restent en vigueur. Claude Code restaure les règles supprimées quand vous quittez le mode auto. Avant v2.1.236, Claude Code laissait les règles `Monitor` allow en vigueur en mode auto, donc une règle qui correspondait à l'outil entier approuvait les commandes Monitor sans examen du classificateur.535 Les règles étroites comme `Bash(npm test)` restent en vigueur. Claude Code restaure les règles supprimées quand vous quittez le mode auto. Avant v2.1.236, Claude Code laissait les règles `Monitor` allow en vigueur en mode auto, donc une règle qui correspondait à l'outil entier approuvait les commandes Monitor sans examen du classificateur.

540 536 

541 Claude Code exécute également `git status` lui-même avant une commande qui éliminerait le travail non validé, comme `git reset --hard` ou `rm -rf`, et montre au classificateur si du travail préparé, modifié ou non suivi est présent. Claude Code signale les fichiers non suivis dans cette vérification même quand la configuration git du dépôt définit `status.showUntrackedFiles=no`.537 Claude Code exécute également `git status` lui-même avant une commande qui éliminerait le travail non validé, comme `git reset --hard` ou `rm -rf`, et montre au classificateur si le travail préparé, modifié ou non suivi est présent. Claude Code signale les fichiers non suivis dans cette vérification même quand la configuration git du dépôt définit `status.showUntrackedFiles=no`.

542 538 

543 Dans les demandes de classificateur envoyées par Claude Code lui-même, le classificateur voit les messages utilisateur, les appels d'outil autres que les recherches en lecture seule comme les lectures de fichier et les recherches, et votre contenu CLAUDE.md. Les résultats d'outil sont supprimés de ces demandes, donc le contenu hostile dans un fichier ou une page web ne peut pas manipuler le classificateur directement.539 Dans les demandes de classificateur envoyées par Claude Code lui-même, le classificateur voit les messages utilisateur, les appels d'outil autres que les recherches en lecture seule comme les lectures de fichiers et les recherches, et votre contenu CLAUDE.md. Les résultats d'outil sont supprimés de ces demandes, donc le contenu hostile dans un fichier ou une page web ne peut pas manipuler le classificateur directement.

544 540 

545 Vous pouvez annoter le résultat d'un appel avec le champ `classifierContext` d'un [hook PostToolUse](/docs/fr/hooks#annotate-a-result-for-the-auto-mode-classifier), que le classificateur lit comme contexte fourni par l'application. Le champ nécessite Claude Code v2.1.236 ou ultérieur.541 Vous pouvez annoter le résultat d'un appel avec le champ `classifierContext` d'un [hook PostToolUse](/docs/fr/hooks#annotate-a-result-for-the-auto-mode-classifier), que le classificateur lit comme contexte fourni par l'application. Le champ nécessite Claude Code v2.1.236 ou ultérieur.

546 542 

547 Une sonde côté serveur distincte analyse les résultats d'outil entrants et signale le contenu suspect avant que Claude ne le lise. Pour plus d'informations sur la façon dont ces couches fonctionnent ensemble, consultez l'[annonce du mode auto](https://claude.com/blog/auto-mode) et l'[approfondissement technique](https://www.anthropic.com/engineering/claude-code-auto-mode).543 Une sonde côté serveur distincte analyse les résultats d'outil entrants et signale le contenu suspect avant que Claude ne le lise. Pour plus d'informations sur la façon dont ces couches fonctionnent ensemble, voir l'[annonce du mode auto](https://claude.com/blog/auto-mode) et la [plongée technique](/docs/fr/engineering/claude-code-auto-mode).

548 </Accordion>544 </Accordion>

549 545 

550 <Accordion title="Comment le mode auto gère les sous-agents">546 <Accordion title="Comment le mode auto gère les sous-agents">

551 Le classificateur vérifie le travail des [sous-agents](/docs/fr/sub-agents) à trois points :547 Le classificateur vérifie le travail des [sous-agents](/docs/fr/sub-agents) à trois points :

552 548 

553 1. Avant qu'un sous-agent ne démarre, la description de la tâche déléguée est évaluée, donc une tâche qui semble dangereuse est bloquée au moment du lancement.549 1. Avant qu'un sous-agent ne démarre, la description de la tâche déléguée est évaluée, donc une tâche qui semble dangereuse est bloquée au moment du démarrage.

554 2. Tandis que le sous-agent s'exécute, chacune de ses actions passe par le classificateur avec les mêmes règles que la session parent, et tout `permissionMode` dans le frontmatter du sous-agent est ignoré.550 2. Pendant que le sous-agent s'exécute, chacune de ses actions passe par le même [ordre de décision](#how-the-classifier-evaluates-actions) que dans la session parent, avec les mêmes règles de blocage et d'autorisation. Tout `permissionMode` dans le frontmatter du sous-agent est ignoré.

555 3. Quand le sous-agent se termine, le classificateur examine son travail et son rapport final avant que le parent ne lise le rapport. Quand le classificateur signale le travail ou le rapport du sous-agent, ou qu'une vérification de sécurité API distincte refuse l'examen, le rapport est toujours livré, précédé d'un avertissement de sécurité. Quand le classificateur n'est pas disponible pour l'examen, le rapport arrive avec une note pour vérifier le travail du sous-agent avant d'agir en fonction de celui-ci.551 3. Quand le sous-agent se termine, le classificateur examine son travail et son rapport final avant que le parent ne lise le rapport. Quand le classificateur signale le travail ou le rapport du sous-agent, ou qu'une vérification de sécurité API distincte refuse l'examen, le rapport est toujours livré, précédé d'un avertissement de sécurité. Quand le classificateur n'est pas disponible pour l'examen, le rapport arrive avec une note pour vérifier le travail du sous-agent avant d'agir en fonction de celui-ci.

556 </Accordion>552 </Accordion>

557 553 

558 <Accordion title="Coût et latence">554 <Accordion title="Coût et latence">

559 Le classificateur s'exécute sur Claude Sonnet 5 par défaut plutôt que sur votre sélection `/model`. Un modèle de classificateur qu'Anthropic configure côté serveur prend précédence sur ce défaut. Quand le modèle de votre session est Claude Sonnet 4.6, ou quand [`availableModels`](/docs/fr/model-config#restrict-model-selection) exclut Sonnet 5, le classificateur s'exécute sur le modèle de votre session à la place, ou sur un modèle Opus quand la session s'exécute sur un [modèle Fable](/docs/fr/model-config#work-with-fable) ; sur les fournisseurs autres que l'API Anthropic, ce retour en arrière Opus est le modèle Opus par défaut du fournisseur.555 Le classificateur s'exécute sur Claude Sonnet 5 par défaut plutôt que sur votre sélection `/model`. Un modèle de classificateur que Anthropic configure côté serveur prend précédence sur ce défaut. Quand le modèle de votre session est Claude Sonnet 4.6, ou quand [`availableModels`](/docs/fr/model-config#restrict-model-selection) exclut Sonnet 5, le classificateur s'exécute sur le modèle de votre session à la place, ou sur un modèle Opus quand la session s'exécute sur un [modèle Fable](/docs/fr/model-config#work-with-fable) ; sur les fournisseurs autres que l'API Anthropic, ce retour en arrière Opus est le modèle Opus par défaut du fournisseur.

560 556 

561 La première demande en mode auto de la session valide le défaut Sonnet 5 : si la demande réussit, Sonnet 5 reste le modèle de classificateur de la session, et si elle échoue parce que le modèle n'est pas disponible, la session utilise le retour en arrière à la place. Après que cette validation se règle, le modèle du classificateur ne change pas pour la session.557 La première demande en mode auto de la session valide le défaut Sonnet 5 : si la demande réussit, Sonnet 5 reste le modèle de classificateur de la session, et si elle échoue parce que le modèle n'est pas disponible, la session utilise le retour en arrière à la place. Après que cette validation se règle, le modèle du classificateur ne change pas pour la session.

562 558 

563 Sur les plans Enterprise et sur les comptes qui utilisent l'API Claude, [Claude Platform sur AWS](/docs/fr/claude-platform-on-aws), Amazon Bedrock, la plateforme d'agents de Google Cloud ou Microsoft Foundry, les appels de classificateur comptent vers votre utilisation de jetons. Chaque vérification envoie une partie de la transcription plus l'action en attente, ajoutant un aller-retour avant l'exécution. Les lectures et les éditions de répertoire de travail en dehors des chemins protégés ignorent le classificateur, donc la surcharge provient principalement des commandes shell et des opérations réseau. Où le serveur examine les actions dans le cadre des demandes de modèle de la session, il n'y a pas d'appels de classificateur distincts à compter ; voir [Examen du classificateur côté serveur](#server-side-classifier-review).559 Sur les plans Enterprise et sur les comptes qui utilisent l'API Claude, [Claude Platform sur AWS](/docs/fr/claude-platform-on-aws), Amazon Bedrock, Google Cloud's Agent Platform ou Microsoft Foundry, les appels de classificateur comptent vers votre utilisation de jetons. Chaque vérification envoie une portion de la transcription plus l'action en attente, ajoutant un aller-retour avant l'exécution. Les lectures et les éditions de répertoire de travail en dehors des chemins protégés ignorent le classificateur, donc la surcharge provient principalement des commandes shell et des opérations réseau. Où le serveur examine les actions dans le cadre des demandes de modèle de la session, il n'y a pas d'appels de classificateur distincts à compter ; voir [Examen du classificateur côté serveur](#server-side-classifier-review).

564 560 

565 L'accès réseau en bac à sable n'ajoute pas de demandes de classificateur par connexion. Le classificateur juge [les hôtes qu'une commande nomme](/docs/fr/sandboxing#per-command-allowed-domains-in-auto-mode) ensemble avec la commande dans un examen, et Claude Code vérifie chaque connexion par rapport à la liste approuvée sans appeler le classificateur à nouveau.561 L'accès réseau en bac à sable n'ajoute pas de demandes de classificateur par connexion. Le classificateur juge [les hôtes qu'une commande nomme](/docs/fr/sandboxing#per-command-allowed-domains-in-auto-mode) ensemble avec la commande dans un examen, et Claude Code vérifie chaque connexion par rapport à la liste approuvée sans appeler le classificateur à nouveau.

566 </Accordion>562 </Accordion>

permissions.md +5 −2

Details

80| `default` | Demande une autorisation à la première utilisation de chaque outil. Étiqueté Manuel dans l'interface de ligne de commande, les extensions VS Code et JetBrains, et l'application de bureau, et Claude Code accepte `manual` comme alias. L'étiquette et l'alias nécessitent Claude Code v2.1.200 ou version ultérieure. L'étiquette de l'application de bureau ne dépend pas de votre version CLI |80| `default` | Demande une autorisation à la première utilisation de chaque outil. Étiqueté Manuel dans l'interface de ligne de commande, les extensions VS Code et JetBrains, et l'application de bureau, et Claude Code accepte `manual` comme alias. L'étiquette et l'alias nécessitent Claude Code v2.1.200 ou version ultérieure. L'étiquette de l'application de bureau ne dépend pas de votre version CLI |

81| `acceptEdits` | Accepte automatiquement les éditions de fichiers et les commandes courantes du système de fichiers telles que `mkdir`, `touch`, `mv` et `cp` pour les chemins du répertoire de travail ou `additionalDirectories` |81| `acceptEdits` | Accepte automatiquement les éditions de fichiers et les commandes courantes du système de fichiers telles que `mkdir`, `touch`, `mv` et `cp` pour les chemins du répertoire de travail ou `additionalDirectories` |

82| `plan` | Claude lit les fichiers et exécute les commandes shell en lecture seule pour explorer mais n'édite pas vos fichiers source ; avec le [mode auto](/docs/fr/permission-modes#eliminate-prompts-with-auto-mode) disponible, les commandes approuvées par le classificateur s'exécutent également. Étiqueté Plan dans l'interface de ligne de commande et l'extension VS Code |82| `plan` | Claude lit les fichiers et exécute les commandes shell en lecture seule pour explorer mais n'édite pas vos fichiers source ; avec le [mode auto](/docs/fr/permission-modes#eliminate-prompts-with-auto-mode) disponible, les commandes approuvées par le classificateur s'exécutent également. Étiqueté Plan dans l'interface de ligne de commande et l'extension VS Code |

83| `auto` | Approuve automatiquement les appels d'outils avec des vérifications de sécurité en arrière-plan qui vérifient que les actions s'alignent avec votre demande |83| `auto` | 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](/docs/fr/permission-modes#eliminate-prompts-with-auto-mode) en arrière-plan vérifie qu'elles s'alignent avec votre demande |

84| `dontAsk` | Refuse automatiquement chaque appel qui demanderait autrement une autorisation ; les lectures de fichiers dans vos répertoires de travail et autres actions qui ne nécessitent aucune approbation s'exécutent toujours, tout comme les outils pré-approuvés via `/permissions` ou les règles `permissions.allow`. `AskUserQuestion`, les outils MCP marqués [`requiresUserInteraction`](/docs/fr/mcp#require-approval-for-a-specific-tool), et les outils connecteur [que votre organisation a définis sur `ask`](/docs/fr/mcp#organization-controls-on-connector-tools) dans les sessions où ce paramètre atteint Claude Code sont refusés même si vous les avez autorisés |84| `dontAsk` | Refuse automatiquement chaque appel qui demanderait autrement une autorisation ; les lectures de fichiers dans vos répertoires de travail et autres actions qui ne nécessitent aucune approbation s'exécutent toujours, tout comme les outils pré-approuvés via `/permissions` ou les règles `permissions.allow`. `AskUserQuestion`, les outils MCP marqués [`requiresUserInteraction`](/docs/fr/mcp#require-approval-for-a-specific-tool), et les outils connecteur [que votre organisation a définis sur `ask`](/docs/fr/mcp#organization-controls-on-connector-tools) dans les sessions où ce paramètre atteint Claude Code sont refusés même si vous les avez autorisés |

85| `bypassPermissions` | Ignore les invites d'autorisation, sauf pour les [actions qu'aucun mode n'approuve automatiquement](/docs/fr/permission-modes#actions-no-mode-auto-approves) |85| `bypassPermissions` | Ignore les invites d'autorisation, sauf pour les [actions qu'aucun mode n'approuve automatiquement](/docs/fr/permission-modes#actions-no-mode-auto-approves) |

86 86 


144* Chaque règle nomme un paramètre. Pour contrôler à la fois `model` et `isolation`, écrivez deux règles, `Agent(model:opus)` et `Agent(isolation:worktree)`, plutôt que de les combiner dans une seule règle144* Chaque règle nomme un paramètre. Pour contrôler à la fois `model` et `isolation`, écrivez deux règles, `Agent(model:opus)` et `Agent(isolation:worktree)`, plutôt que de les combiner dans une seule règle

145* La valeur prend en charge `*` comme caractère générique qui correspond à n'importe quelle séquence de caractères, donc `Agent(isolation:*)` correspond à n'importe quelle valeur d'isolation explicite. Sans `*`, la correspondance est exacte145* La valeur prend en charge `*` comme caractère générique qui correspond à n'importe quelle séquence de caractères, donc `Agent(isolation:*)` correspond à n'importe quelle valeur d'isolation explicite. Sans `*`, la correspondance est exacte

146* Un paramètre que le modèle omet n'est jamais mis en correspondance, donc `Agent(model:*)` ne correspond pas à un appel qui laisse `model` non défini146* Un paramètre que le modèle omet n'est jamais mis en correspondance, donc `Agent(model:*)` ne correspond pas à un appel qui laisse `model` non défini

147* La valeur est comparée à l'entrée littérale que Claude envoie, avant toute normalisation. `Agent(model:opus)` correspond à l'alias `opus` mais pas à un ID de modèle complet. Exécutez avec [`--verbose`](/docs/fr/cli-reference) pour voir les noms et valeurs de paramètres exacts dans chaque appel d'outil147* La valeur est comparée à l'entrée littérale que Claude envoie, avant toute normalisation. `Agent(model:opus)` correspond à l'alias `opus` mais pas à un ID de modèle complet

148* Une règle de refus `Skill(skill:<name>)` [correspond plutôt à la compétence sous n'importe lequel de ses noms](/docs/fr/skills#restrict-claude%E2%80%99s-skill-access), comme son alias ou son nom d'affichage

149* Exécutez avec [`--verbose`](/docs/fr/cli-reference) pour voir les noms et valeurs de paramètres exacts dans chaque appel d'outil

148* L'espace blanc autour du deux-points est ignoré150* L'espace blanc autour du deux-points est ignoré

149 151 

150Vous ne pouvez pas correspondre au champ de contenu principal d'un outil de cette façon : `command` pour Bash et PowerShell, `file_path` pour Read, Edit et Write, `path` pour Grep et Glob, `notebook_path` pour NotebookEdit, et `url` pour WebFetch. Une règle comme `Bash(command:rm *)` serait contournable par une commande composée, donc Claude Code l'ignore et émet un avertissement au démarrage. Utilisez plutôt `Bash(rm *)`, `Read(./path)`, ou `WebFetch(domain:host)`.152Vous ne pouvez pas correspondre au champ de contenu principal d'un outil de cette façon : `command` pour Bash et PowerShell, `file_path` pour Read, Edit et Write, `path` pour Grep et Glob, `notebook_path` pour NotebookEdit, et `url` pour WebFetch. Une règle comme `Bash(command:rm *)` serait contournable par une commande composée, donc Claude Code l'ignore et émet un avertissement au démarrage. Utilisez plutôt `Bash(rm *)`, `Read(./path)`, ou `WebFetch(domain:host)`.


290* **`docker` pointant vers un autre daemon** : les formes en lecture seule de `docker` demandent lorsque la commande porte un drapeau qui sélectionne un daemon différent, tel que `-H`, `--context` ou `--url` et `--connection` de Podman.292* **`docker` pointant vers un autre daemon** : les formes en lecture seule de `docker` demandent lorsque la commande porte un drapeau qui sélectionne un daemon différent, tel que `-H`, `--context` ou `--url` et `--connection` de Podman.

291* **`file` avec des drapeaux d'ouverture de chemin** : `file` demande lorsqu'il passe `-m`/`--magic-file` ou `-f`/`--files-from`, car ces drapeaux font que `file` ouvre les chemins nommés dans la valeur du drapeau.293* **`file` avec des drapeaux d'ouverture de chemin** : `file` demande lorsqu'il passe `-m`/`--magic-file` ou `-f`/`--files-from`, car ces drapeaux font que `file` ouvre les chemins nommés dans la valeur du drapeau.

292* **Chemins réseau sur Windows** : une commande dont les arguments incluent un chemin réseau (UNC), tel que `\\server\share\file`, demande car l'accès à un chemin réseau peut envoyer vos identifiants Windows à l'hôte qu'il nomme. La même vérification s'applique aux commandes de l'[outil PowerShell](/docs/fr/tools-reference#powershell-tool).294* **Chemins réseau sur Windows** : une commande dont les arguments incluent un chemin réseau (UNC), tel que `\\server\share\file`, demande car l'accès à un chemin réseau peut envoyer vos identifiants Windows à l'hôte qu'il nomme. La même vérification s'applique aux commandes de l'[outil PowerShell](/docs/fr/tools-reference#powershell-tool).

295* **Écritures vers des variables shell spéciales** : une commande qui définit, annule ou boucle sur certaines variables shell spéciales, telles que `PATH` ou `IFS`, demande même lorsque le reste de la commande est en lecture seule.

293* **Commandes que l'analyse ne peut pas analyser** : lorsque Claude Code ne peut pas analyser complètement une commande, il demande une approbation au lieu de traiter la commande comme en lecture seule. Les commandes plus longues que 10 000 caractères demandent toujours car elles dépassent ce que l'analyse analyse.296* **Commandes que l'analyse ne peut pas analyser** : lorsque Claude Code ne peut pas analyser complètement une commande, il demande une approbation au lieu de traiter la commande comme en lecture seule. Les commandes plus longues que 10 000 caractères demandent toujours car elles dépassent ce que l'analyse analyse.

294 297 

295Un `cd` dans un chemin à l'intérieur de votre répertoire de travail ou d'un [répertoire supplémentaire](#working-directories) est également en lecture seule, et une commande composée comme `cd packages/api && ls` s'exécute sans invite lorsque chaque partie se qualifie seule. Ces combinaisons demandent même lorsque chaque partie est en lecture seule :298Un `cd` dans un chemin à l'intérieur de votre répertoire de travail ou d'un [répertoire supplémentaire](#working-directories) est également en lecture seule, et une commande composée comme `cd packages/api && ls` s'exécute sans invite lorsque chaque partie se qualifie seule. Ces combinaisons demandent même lorsque chaque partie est en lecture seule :

plugin-evals.md +20 −14

Details

57 La base de référence sans plugin57 La base de référence sans plugin

58</h3>58</h3>

59 59 

60Un score élevé en soi ne vous dit pas si le plugin a aidé, car Claude pourrait faire aussi bien sans lui. Pour séparer les deux, les exécutions de chaque cas sont répétées sans plugin chargé par défaut, et vous obtenez deux scores, `WITH` et `W/OUT`. Leur différence, `Δ`, est ce que le plugin a contribué. Si un cas marque 1.0 à la fois avec et sans le plugin, le plugin n'est pas ce qui l'a fait réussir.60Un score élevé en soi ne vous dit pas si le plugin a aidé, car Claude pourrait faire aussi bien sans lui. Pour séparer les deux, les exécutions de chaque cas sont répétées sans plugin chargé, et vous obtenez deux scores, `WITH` et `W/OUT`. Leur différence, `Δ`, est ce que le plugin a contribué. Si un cas marque 1.0 à la fois avec et sans le plugin, le plugin n'est pas ce qui l'a fait réussir.

61 61 

62Les deux ensembles d'exécutions sont appelés le bras with et le bras without ; [Comparer avec une base de référence sans plugin](#compare-against-a-no-plugin-baseline) couvre comment les évaluateurs sont notés sur les deux bras et comment désactiver la base de référence.62Les deux ensembles d'exécutions sont appelés le bras with et le bras without ; [Comparer avec une base de référence sans plugin](#compare-against-a-no-plugin-baseline) couvre quels cas exécutent le bras with uniquement et comment les évaluateurs sont notés sur les deux bras.

63 63 

64<h2 id="create-your-first-eval-suite">64<h2 id="create-your-first-eval-suite">

65 Créez votre première suite d'eval65 Créez votre première suite d'eval


136 Écrire et affiner les cas136 Écrire et affiner les cas

137</h2>137</h2>

138 138 

139Les cas que `claude plugin eval init` écrit sont des fichiers simples que vous pouvez ouvrir, modifier et ajouter. Un cas est un répertoire sous le répertoire eval du plugin qui contient un `prompt.md`, un `case.yaml`, ou les deux. Pour regrouper les cas, imbriquez-les sous un répertoire qui n'est pas lui-même un cas ; tout ce qui se trouve à l'intérieur d'un répertoire de cas, comme `graders/` et les fichiers de fixture, appartient à ce cas.139Les cas que `claude plugin eval init` écrit sont des fichiers simples que vous pouvez ouvrir, modifier et ajouter. Un cas est un répertoire sous le répertoire eval du plugin qui contient un `prompt.md`, un `case.yaml`, ou les deux. Donnez à chaque cas au moins un évaluateur, sous la forme d'un fichier `graders/<name>.md` ou d'une entrée `graders:` dans `case.yaml`, car un cas sans un échoue au chargement. Pour regrouper les cas, imbriquez-les sous un répertoire qui n'est pas lui-même un cas ; tout ce qui se trouve à l'intérieur d'un répertoire de cas, comme `graders/` et les fichiers de fixture, appartient à ce cas.

140 140 

141Ceci est la disposition que `claude plugin eval init` écrit et celle à utiliser pour les nouvelles suites. La [référence de la suite d'eval](#eval-suite-reference) a l'arborescence complète, y compris les mocks et les résultats :141Ceci est la disposition que `claude plugin eval init` écrit et celle à utiliser pour les nouvelles suites. La [référence de la suite d'eval](#eval-suite-reference) a l'arborescence complète, y compris les mocks et les résultats :

142 142 


186 186 

187Chaque exécution commence dans un répertoire de travail vide, donc mettez tout ce dont la tâche a besoin dans l'invite elle-même, ou [configurez l'espace de travail](#add-setup-or-history-with-case-yaml) d'abord.187Chaque exécution commence dans un répertoire de travail vide, donc mettez tout ce dont la tâche a besoin dans l'invite elle-même, ou [configurez l'espace de travail](#add-setup-or-history-with-case-yaml) d'abord.

188 188 

189Le [liste complète des champs frontmatter](#prompt-md-fields) couvre le modèle, le délai d'expiration, les balises et les variables d'environnement.189La [liste complète des champs frontmatter](#prompt-md-fields) couvre le modèle, le délai d'expiration, les balises et les variables d'environnement.

190 190 

191Chaque fichier sous `graders/` est une vérification appliquée après l'exécution. Ouvrez `evals/first-case/graders/criteria.md` et remplacez l'espace réservé par une rubrique pour le modèle juge, écrite comme des conditions PASS et FAIL concrètes :191Chaque fichier sous `graders/` est une vérification appliquée après l'exécution. Ouvrez `evals/first-case/graders/criteria.md` et remplacez l'espace réservé par une rubrique pour le modèle juge, écrite comme des conditions PASS et FAIL concrètes :

192 192 


250 Noter par rapport à la base de référence sans plugin250 Noter par rapport à la base de référence sans plugin

251</h3>251</h3>

252 252 

253Lorsqu'un plugin est en test, chaque cas s'exécute dans deux bras par défaut. Le bras with est ses exécutions avec le plugin chargé, et le bras without est le même nombre d'exécutions sans aucun plugin. Le résumé et le rapport affichent les deux scores et `Δ`, le score du bras with moins le score du bras without.253Lorsqu'un plugin est en test, un cas s'exécute normalement dans deux bras. Le bras with est ses exécutions avec le plugin chargé, et le bras without est le même nombre d'exécutions sans aucun plugin. Le résumé et le rapport affichent les deux scores et `Δ`, le score du bras with moins le score du bras without.

254 254 

255Passez `--ablation none` pour exécuter seulement le bras with, ce qui réduit de moitié le coût lorsque vous n'avez pas besoin de la comparaison, comme lors de l'itération sur les évaluateurs.255Dans ces situations, un cas exécute seulement le bras with, donc il n'obtient pas de score `W/OUT` ou `Δ` :

256 

257* **Vous passez `--ablation none`** : chaque cas exécute un bras, ce qui réduit de moitié le coût lorsque vous n'avez pas besoin de la comparaison, comme lors de l'itération sur les évaluateurs.

258* **Le cas reprend une transcription et la cible est un chemin** : avec une [cible](#choose-what-to-evaluate) comme `.` plutôt que le nom d'un plugin installé, un cas [`context.history_file`](#add-setup-or-history-with-case-yaml) exécute un bras par défaut, en supposant que la conversation enregistrée reflète déjà le plugin. L'exécution imprime un avis `single-arm (no Δ)` sur stderr nommant ces cas. Pour comparer le tour repris avec et sans le plugin, passez `--ablation with-without`.

259* **Aucun plugin n'a été trouvé pour le cas** : lorsque la cible est un chemin, un cas dont le plugin Claude Code n'a pas pu localiser exécute également un bras par défaut. Voir [le bras de base de référence n'affiche aucun plugin](#the-baseline-arm-shows-no-plugin-or-delta-is-zero) pour le corriger.

256 260 

257Dans une exécution à deux bras, certains évaluateurs sont rapportés avec `scored: false`. Une vérification comme « la skill a été invoquée » ne peut jamais réussir sans le plugin, donc la compter pousserait le bras without vers zéro et gonflerait `Δ`. Pour garder les deux bras comparables, Claude Code exclut ces évaluateurs du score dans les deux bras et les rapporte dans le bras with comme des indicateurs réussi/échoué uniquement. Cela inclut :261Dans une exécution à deux bras, certains évaluateurs sont rapportés avec `scored: false`. Une vérification comme « la skill a été invoquée » ne peut jamais réussir sans le plugin, donc la compter pousserait le bras without vers zéro et gonflerait `Δ`. Pour garder les deux bras comparables, Claude Code exclut ces évaluateurs du score dans les deux bras et les rapporte dans le bras with comme des indicateurs réussi/échoué uniquement. Cela inclut :

258 262 


290Chaque exécution commence dans un espace de travail vide. Lorsqu'un cas a besoin de plus que l'invite, ajoutez un `case.yaml` à côté de `prompt.md` avec un bloc `context` :294Chaque exécution commence dans un espace de travail vide. Lorsqu'un cas a besoin de plus que l'invite, ajoutez un `case.yaml` à côté de `prompt.md` avec un bloc `context` :

291 295 

292* **Fichiers de fixture ou un référentiel git** : écrivez un script Bash dans le répertoire de cas et nommez-le dans `context.scaffold_script`. Le script s'exécute en tant que vous, en dehors du sandbox de l'agent, et seulement lorsque vous passez `--scaffold`, donc passez ce drapeau seulement pour les suites que vous ou votre organisation avez écrites.296* **Fichiers de fixture ou un référentiel git** : écrivez un script Bash dans le répertoire de cas et nommez-le dans `context.scaffold_script`. Le script s'exécute en tant que vous, en dehors du sandbox de l'agent, et seulement lorsque vous passez `--scaffold`, donc passez ce drapeau seulement pour les suites que vous ou votre organisation avez écrites.

293* **Une conversation antérieure à continuer** : enregistrez la transcription en tant que fichier `.jsonl` et nommez-la dans `context.history_file`, et l'invite du cas devient le prochain tour utilisateur.297* **Une conversation antérieure à continuer** : enregistrez la transcription en tant que fichier `.jsonl` et nommez-la dans `context.history_file`, et l'invite du cas devient le prochain tour utilisateur. Lorsque la cible est un chemin, un tel cas s'exécute [sans un bras de référence](#compare-against-a-no-plugin-baseline) par défaut.

294* **Répertoires de fixture que Claude peut lire pendant l'exécution** : énumérez-les dans `context.add_dirs`.298* **Répertoires de fixture que Claude peut lire pendant l'exécution** : énumérez-les dans `context.add_dirs`.

295 299 

296Un `case.yaml` a également besoin de `schema_version: "1.1"` et `name` ; la référence [champs case.yaml](#case-yaml-fields) a la liste complète.300Un `case.yaml` a également besoin de `schema_version: "1.1"` et `name` ; la référence [champs case.yaml](#case-yaml-fields) a la liste complète.


306 add_dirs: [resources]310 add_dirs: [resources]

307```311```

308 312 

313Un script de scaffold commence dans l'espace de travail vide avec un petit environnement fixe : le `PATH` de votre shell, `HOME` défini au répertoire home temporaire de l'exécution, `TMPDIR`, et quelques constantes telles que `TERM=dumb`. Rien d'autre de votre shell ne l'atteint, et les variables `EVAL_*` du cas non plus. Si le script se termine avec un code non-zéro ou s'exécute plus longtemps que 120 secondes, cette exécution obtient un score de 0 avec une erreur `scaffold failed`. Utilisez le script pour les fichiers et l'état git uniquement, car la configuration de projet qu'il écrit [n'est pas chargée](#how-runs-are-isolated).

314 

309<h3 id="mock-mcp-servers">315<h3 id="mock-mcp-servers">

310 Serveurs MCP fictifs316 Serveurs MCP fictifs

311</h3>317</h3>


402| `-j`, `--concurrency <n>` | `1` | Exécutez jusqu'à ce nombre d'exécutions d'agent à la fois, de 1 à 8. Elles partagent la limite de débit de votre compte, donc cela raccourcit le temps mural plutôt que d'augmenter le débit au-delà de cette limite. Les résultats gardent l'ordre des cas |408| `-j`, `--concurrency <n>` | `1` | Exécutez jusqu'à ce nombre d'exécutions d'agent à la fois, de 1 à 8. Elles partagent la limite de débit de votre compte, donc cela raccourcit le temps mural plutôt que d'augmenter le débit au-delà de cette limite. Les résultats gardent l'ordre des cas |

403| `--model <model>` | `model` de chaque cas, sinon `ANTHROPIC_MODEL` s'il est défini, sinon la valeur par défaut de Claude Code | Modèle pour l'agent en test. Épinglez-le dans CI pour qu'un déploiement de modèle ne soit pas confondu avec une régression de plugin |409| `--model <model>` | `model` de chaque cas, sinon `ANTHROPIC_MODEL` s'il est défini, sinon la valeur par défaut de Claude Code | Modèle pour l'agent en test. Épinglez-le dans CI pour qu'un déploiement de modèle ne soit pas confondu avec une régression de plugin |

404| `--judge-model <model>` | Un petit modèle rapide | Modèle pour les évaluateurs `llm` et `baseline` |410| `--judge-model <model>` | Un petit modèle rapide | Modèle pour les évaluateurs `llm` et `baseline` |

405| `--ablation <mode>` | `with-without` lorsqu'un plugin se résout, sinon `none` | Qu'il faut aussi exécuter chaque cas sans le plugin pour mesurer ce qu'il ajoute. `none` exécute un bras ; `with-without` ajoute la base de référence sans plugin |411| `--ablation <mode>` | Décidé par cas ; voir [Comparer avec la base de référence sans plugin](#compare-against-a-no-plugin-baseline) | Qu'il faut aussi exécuter chaque cas sans le plugin pour mesurer ce qu'il ajoute. `none` exécute un bras ; `with-without` ajoute la base de référence sans plugin |

406| `--threshold <0..1>` | `1.0` | Un cas réussit lorsque son score du bras with est au moins cela. Tout cas en dessous le fait quitter la commande 1 |412| `--threshold <0..1>` | `1.0` | Un cas réussit lorsque son score du bras with est au moins cela. Tout cas en dessous le fait quitter la commande 1 |

407| `--max-cost-usd <usd>` | Pas de plafond | Un plafond sur l'estimation du coût du prix catalogue de l'exécution, pas sur l'utilisation du plan. Vérifié avant chaque exécution. Une fois dépensé, rien d'autre ne démarre ; les exécutions déjà en vol se terminent, donc la dépense peut dépasser le plafond par ces exécutions. Si une exécution est laissée non démarrée, la commande quitte 2 avec des résultats partiels |413| `--max-cost-usd <usd>` | Pas de plafond | Un plafond sur l'estimation du coût du prix catalogue de l'exécution, pas sur l'utilisation du plan. Vérifié avant chaque exécution. Une fois dépensé, rien d'autre ne démarre ; les exécutions déjà en vol se terminent, donc la dépense peut dépasser le plafond par ces exécutions. Si une exécution est laissée non démarrée, la commande quitte 2 avec des résultats partiels |

408| `--allow-tools <tools...>` | Aucun | Accordez les outils au-delà de l'ensemble en lecture seule. Voir [Accorder les outils](#grant-tools) |414| `--allow-tools <tools...>` | Aucun | Accordez les outils au-delà de l'ensemble en lecture seule. Voir [Accorder les outils](#grant-tools) |


514 Faire confiance au répertoire du plugin520 Faire confiance au répertoire du plugin

515</h3>521</h3>

516 522 

517La première fois que vous exécutez `claude plugin eval` contre un répertoire, Claude Code demande « Trust this plugin directory? » avant de charger quoi que ce soit à partir de celui-ci, à moins que vous ayez déjà accepté l'invite de confiance là dans une session `claude` interactive. À l'intérieur d'un référentiel git, répondre oui fait confiance au référentiel entier, pour les sessions interactives aussi. Lorsque stdin ou stdout n'est pas un terminal, sous `--json`, ou lorsque la variable d'environnement `CI` est définie à une valeur vraie comme `true`, l'exécution ne peut pas demander et est refusée avec la sortie 1 ; passez `--trust-plugin` pour affirmer la confiance vous-même, seulement pour un plugin que vous exécuteriez sur votre propre machine. Une cible que vous nommez plutôt que de donner en tant que chemin, signifiant un plugin installé ou un plugin de répertoire de skills, ignore l'invite.523La première fois que vous exécutez `claude plugin eval` contre un répertoire, Claude Code demande « Trust this plugin directory? » avant de charger quoi que ce soit à partir de celui-ci, à moins que vous ayez déjà accepté l'invite de confiance là dans une session `claude` interactive. À l'intérieur d'un référentiel git, répondre oui fait confiance au référentiel entier, pour les sessions interactives aussi. Lorsque stdin ou stdout n'est pas un terminal, ou sous `--json`, l'exécution ne peut pas demander et est refusée avec la sortie 1 ; passez `--trust-plugin` pour affirmer la confiance vous-même, seulement pour un plugin que vous exécuteriez sur votre propre machine. Une cible que vous nommez plutôt que de donner en tant que chemin, signifiant un plugin installé ou un plugin de répertoire de skills, ignore l'invite.

518 524 

519Certaines parties du plugin et de la suite s'exécutent seulement lorsque vous passez leur drapeau pour cette exécution :525Certaines parties du plugin et de la suite s'exécutent seulement lorsque vous passez leur drapeau pour cette exécution :

520 526 


532 538 

533Chaque exécution obtient un répertoire personnel jetable, un répertoire de travail, et une configuration Claude Code, et l'agent en test s'exécute là en tant que processus enfant `claude -p` avec seulement votre plugin chargé. Gardez ces conséquences à l'esprit lorsque vous écrivez des cas :539Chaque exécution obtient un répertoire personnel jetable, un répertoire de travail, et une configuration Claude Code, et l'agent en test s'exécute là en tant que processus enfant `claude -p` avec seulement votre plugin chargé. Gardez ces conséquences à l'esprit lorsque vous écrivez des cas :

534 540 

535* **Rien de personnel ou au niveau du projet ne charge.** Vos paramètres utilisateur, hooks, fichiers `CLAUDE.md`, serveurs MCP, autres plugins installés, mémoire, et skills sont absents, et aucun `.claude/` ou `.mcp.json` au niveau du projet au-dessus du sandbox n'est lu. La plupart de votre environnement shell est également retenu ; seulement une [liste d'autorisation](#prompt-md-fields) et les variables `EVAL_*` atteignent l'exécution. Si le plugin a besoin de configuration, livrez-la dans le plugin, créez-la dans un `scaffold_script`, ou passez les variables `EVAL_*`.541* **Rien de personnel ou au niveau du projet ne charge.** Vos paramètres utilisateur, hooks, fichiers `CLAUDE.md`, serveurs MCP, autres plugins installés, mémoire, et skills sont absents. La configuration au niveau du projet n'est lue nulle part non plus : aucun répertoire `.claude/`, `CLAUDE.md`, ou `.mcp.json` ne charge au-dessus de l'espace de travail ou à l'intérieur de celui-ci, même un qu'un `scaffold_script` a écrit, et les répertoires `add_dirs` accordent un accès en lecture uniquement. La plupart de votre environnement shell est également retenu ; seulement une [liste d'autorisation](#prompt-md-fields) et les variables `EVAL_*` atteignent l'exécution. Livrez tous les skills, agents, hooks, ou serveurs MCP qu'un cas dépend dans le plugin en test, puisqu'un [`scaffold_script`](#add-setup-or-history-with-case-yaml) ne peut fournir que des fichiers et l'état git.

536* **La politique gérée peut toujours restreindre une exécution.** Les restrictions dans les [paramètres gérés](/docs/fr/managed-settings) qu'un administrateur a déployés sur la machine s'appliquent à l'intérieur d'une exécution, donc les résultats sur une machine gérée peuvent différer d'une machine non gérée par cette politique.542* **La politique gérée peut toujours restreindre une exécution.** Les restrictions dans les [paramètres gérés](/docs/fr/managed-settings) qu'un administrateur a déployés sur la machine s'appliquent à l'intérieur d'une exécution, donc les résultats sur une machine gérée peuvent différer d'une machine non gérée par cette politique.

537* **L'outil Artifact est désactivé.** Une skill qui publie un [artifact](/docs/fr/artifacts) ne peut être notée que sur ce qu'elle produit avant cette étape.543* **L'outil Artifact est désactivé.** Une skill qui publie un [artifact](/docs/fr/artifacts) ne peut être notée que sur ce qu'elle produit avant cette étape.

538* **Les définitions de cas sont cachées à l'agent.** Une exécution ne peut pas lire le répertoire d'eval, donc Claude ne peut pas voir l'invite du cas, ses évaluateurs, ou les cas frères.544* **Les définitions de cas sont cachées à l'agent.** Une exécution ne peut pas lire le répertoire d'eval, donc Claude ne peut pas voir l'invite du cas, ses évaluateurs, ou les cas frères.


542 Référence de la suite d'eval548 Référence de la suite d'eval

543</h2>549</h2>

544 550 

545Tout ce qu'une suite d'eval peut contenir vit sous le répertoire d'eval du plugin, `evals/` à moins que vous [ayez configuré un autre](#use-a-different-eval-directory). Cet arborescence montre chaque fichier que `claude plugin eval` lit ou écrit là ; seulement `prompt.md` ou `case.yaml` est requis pour qu'un cas existe :551Tout ce qu'une suite d'eval peut contenir vit sous le répertoire d'eval du plugin, `evals/` à moins que vous [ayez configuré un autre](#use-a-different-eval-directory). Un répertoire compte comme un cas lorsqu'il contient un `prompt.md` ou un `case.yaml`, et un cas sans au moins un évaluateur échoue à charger avec une erreur `invalid case.yaml` qui nomme `graders`. Cet arborescence montre chaque fichier que `claude plugin eval` lit ou écrit dans le répertoire d'eval :

546 552 

547```text theme={null}553```text theme={null}

548evals/554evals/


598 604 

599| Champ | Objectif |605| Champ | Objectif |

600| :- | :- |606| :- | :- |

601| `context.scaffold_script` | Un script Bash dans le répertoire de cas qui s'exécute dans l'espace de travail vide avant que Claude ne démarre, pour créer des fichiers de fixture ou un référentiel git. Il s'exécute seulement lorsque vous passez [`--scaffold`](#add-setup-or-history-with-case-yaml) |607| `context.scaffold_script` | Un script Bash dans le répertoire de cas qui s'exécute dans l'espace de travail vide avant que Claude ne démarre, pour créer des fichiers de fixture ou un référentiel git. Il s'exécute seulement lorsque vous passez [`--scaffold`](#add-setup-or-history-with-case-yaml), avec un environnement minimal et une limite de 120 secondes, et une sortie non nulle échoue l'exécution |

602| `context.history_file` | Une transcription `.jsonl` dans le répertoire de cas à reprendre. L'invite du cas devient le prochain tour utilisateur |608| `context.history_file` | Une transcription `.jsonl` dans le répertoire de cas à reprendre. L'invite du cas devient le prochain tour utilisateur |

603| `context.add_dirs` | Répertoires à l'intérieur du répertoire de cas que Claude peut lire pendant l'exécution, accordés en lecture seule |609| `context.add_dirs` | Répertoires à l'intérieur du répertoire de cas que Claude peut lire pendant l'exécution, accordés en lecture seule |

604| `execution.prompt` | L'invite, lorsque vous gardez le cas entier dans `case.yaml` et omettez `prompt.md` |610| `execution.prompt` | L'invite, lorsque vous gardez le cas entier dans `case.yaml` et omettez `prompt.md` |


687 « is not a trusted plugin directory, and this run cannot stop to ask you about it »693 « is not a trusted plugin directory, and this run cannot stop to ask you about it »

688</h3>694</h3>

689 695 

690C'est la première exécution contre un répertoire que Claude Code ne fait pas confiance encore, et il ne peut pas demander parce que stdin ou stdout n'est pas un terminal, vous avez passé `--json`, ou la variable d'environnement `CI` est définie sur une valeur vraie comme `true`. Exécutez `claude plugin eval <dir>` une fois dans un terminal et répondez à l'invite, ou passez `--trust-plugin` si vous faites confiance au code et à la suite du plugin. Voir [Ce qu'une exécution peut accéder](#security).696C'est la première exécution contre un répertoire que Claude Code ne fait pas confiance encore, et il ne peut pas demander parce que stdin ou stdout n'est pas un terminal ou vous avez passé `--json`. Exécutez `claude plugin eval <dir>` une fois dans un terminal et répondez à l'invite, ou passez `--trust-plugin` si vous faites confiance au code et à la suite du plugin. Voir [Ce qu'une exécution peut accéder](#security).

691 697 

692<h3 id="git-is-too-old-for-claude-plugin-eval">698<h3 id="git-is-too-old-for-claude-plugin-eval">

693 « is too old for claude plugin eval »699 « is too old for claude plugin eval »


713 Le bras de base de référence n'affiche aucun plugin, ou delta est zéro719 Le bras de base de référence n'affiche aucun plugin, ou delta est zéro

714</h3>720</h3>

715 721 

716Si le résumé n'a pas de colonne `W/OUT`, ou le cas échoue avec « ablation requested but no plugin resolved », aucun plugin n'a été trouvé pour le cas. Ajoutez `plugins: ["../.."]` au cas, donnant le chemin du répertoire de cas au répertoire du plugin.722Si le résumé n'a pas de colonne `W/OUT`, ou un cas échoue avec « ablation requested but no plugin resolved », la cause habituelle est qu'aucun plugin n'a été trouvé pour le cas. Si chaque cas reprend une transcription via `context.history_file`, la colonne manquante est attendue à la place, parce que ces cas s'exécutent [un bras par défaut](#compare-against-a-no-plugin-baseline). Sinon, ajoutez `plugins: ["../.."]` au cas, donnant le chemin du répertoire de cas au répertoire du plugin.

717 723 

718Si le plugin a chargé et `Δ` est toujours proche de zéro avec votre évaluateur `tool_used: Skill` échouant, c'est généralement une vraie découverte, signifiant que la `description` de la skill ne déclenche pas sur la formulation de l'invite. Ajustez la description et réexécutez la même suite.724Si le plugin a chargé et `Δ` est toujours proche de zéro avec votre évaluateur `tool_used: Skill` échouant, c'est généralement une vraie découverte, signifiant que la `description` de la skill ne déclenche pas sur la formulation de l'invite. Ajustez la description et réexécutez la même suite.

719 725 

Details

92| `--accept-command <sha256>` | Acceptez la commande d'installation affichée dont le `sha256` une exécution [`--json` précédente](#plugin-json-result) a rapporté dans `shownCommand`, à la place de `-y`. Ne peut pas être combiné avec `-y`. Voir [Accepter une commande d'installation affichée](#accept-a-displayed-install-command). Nécessite Claude Code v2.1.271 ou ultérieur |92| `--accept-command <sha256>` | Acceptez la commande d'installation affichée dont le `sha256` une exécution [`--json` précédente](#plugin-json-result) a rapporté dans `shownCommand`, à la place de `-y`. Ne peut pas être combiné avec `-y`. Voir [Accepter une commande d'installation affichée](#accept-a-displayed-install-command). Nécessite Claude Code v2.1.271 ou ultérieur |

93| `--json` | Affiche le résultat en tant qu'un objet JSON sur la dernière ligne de stdout au lieu du message lisible par l'homme, pour utilisation dans les scripts. Voir [Format de résultat JSON](#plugin-json-result). Nécessite Claude Code v2.1.268 ou ultérieur |93| `--json` | Affiche le résultat en tant qu'un objet JSON sur la dernière ligne de stdout au lieu du message lisible par l'homme, pour utilisation dans les scripts. Voir [Format de résultat JSON](#plugin-json-result). Nécessite Claude Code v2.1.268 ou ultérieur |

94 94 

95Exécutez `claude plugin install --help` dans votre shell pour voir chaque option que votre version supporte.

96 

95Passez `-y` depuis votre propre terminal pour accepter la commande affichée sans l'invite. Voici ce qui se passe sans TTY et quand Claude exécute la commande :97Passez `-y` depuis votre propre terminal pour accepter la commande affichée sans l'invite. Voici ce qui se passe sans TTY et quand Claude exécute la commande :

96 98 

97* **stdin ou stdout n'est pas un TTY, et vous ne passez ni `-y` ni `--accept-command`** : l'installation est refusée. La sortie dit que la commande a été seulement affichée, et le code de sortie est `1`99* **stdin ou stdout n'est pas un TTY, et vous ne passez ni `-y` ni `--accept-command`** : l'installation est refusée. La sortie dit que la commande a été seulement affichée, et le code de sortie est `1`


165 167 

166Claude Code affiche `Successfully uninstalled plugin: formatter (scope: project)`. Quand le plugin n'est pas installé à cette portée, la commande affiche une ligne qui commence par `Failed to uninstall plugin "formatter@my-marketplace":` et quitte `1`.168Claude Code affiche `Successfully uninstalled plugin: formatter (scope: project)`. Quand le plugin n'est pas installé à cette portée, la commande affiche une ligne qui commence par `Failed to uninstall plugin "formatter@my-marketplace":` et quitte `1`.

167 169 

168Si la ligne d'échec continue avec `"formatter" was not uninstalled:`, Claude Code n'a pas pu confirmer que les paramètres de la portée n'activent plus le plugin, donc le plugin reste installé avec tout ce qu'il a sauvegardé. Avec `--json`, le résultat porte `failureCode: "settings_still_on"`. Cette vérification des paramètres nécessite Claude Code v2.1.282 ou ultérieur.170Si la ligne d'échec continue avec `"formatter" was not uninstalled:` et nomme un fichier de paramètres, Claude Code n'a pas pu confirmer que les paramètres de la portée n'activent plus le plugin, donc le plugin reste installé avec tout ce qu'il a sauvegardé. Avec `--json`, le résultat porte `failureCode: "settings_still_on"`. Cette vérification des paramètres nécessite Claude Code v2.1.282 ou ultérieur.

169 171 

170<h4 id="what-an-uninstall-deletes-and-keeps">172<h4 id="what-an-uninstall-deletes-and-keeps">

171 Ce qu'une désinstallation supprime et conserve173 Ce qu'une désinstallation supprime et conserve


438| `-j, --concurrency <n>` | Sessions d'agent à exécuter à la fois, 1 à 8. Elles partagent votre limite de débit | `1` |440| `-j, --concurrency <n>` | Sessions d'agent à exécuter à la fois, 1 à 8. Elles partagent votre limite de débit | `1` |

439| `--model <model>` | Modèle pour l'agent testé | La `model` de chaque cas, sinon `ANTHROPIC_MODEL` s'il est défini, sinon le défaut de Claude Code |441| `--model <model>` | Modèle pour l'agent testé | La `model` de chaque cas, sinon `ANTHROPIC_MODEL` s'il est défini, sinon le défaut de Claude Code |

440| `--judge-model <model>` | Modèle pour les évaluateurs `llm` et `baseline` | Un petit modèle rapide |442| `--judge-model <model>` | Modèle pour les évaluateurs `llm` et `baseline` | Un petit modèle rapide |

441| `--ablation <mode>` | `none` ou `with-without`. Voir [Comparer à une ligne de base sans plugin](/docs/fr/plugin-evals#compare-against-a-no-plugin-baseline) | `with-without` quand un plugin se résout, sinon `none` |443| `--ablation <mode>` | `none` ou `with-without`. Voir [Comparer à une ligne de base sans plugin](/docs/fr/plugin-evals#compare-against-a-no-plugin-baseline) | Décidé par cas, comme cette section le décrit |

442| `--threshold <0..1>` | Quittez 1 si un cas note en dessous de ceci | `1.0` |444| `--threshold <0..1>` | Quittez 1 si un cas note en dessous de ceci | `1.0` |

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

444| `--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) | |446| `--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) | |


469claude plugin eval init [name] [options]471claude plugin eval init [name] [options]

470```472```

471 473 

474Exécutez la commande depuis le dossier racine du plugin, le répertoire qui contient `.claude-plugin/plugin.json` ou le `SKILL.md` du skill. Pour créer le scaffold de la suite dans un autre répertoire à dessein, passez `--eval-dir`.

475 

472Dans un terminal, la commande ouvre une session Claude Code interactive pour une interview de création. Dans l'interview, Claude fait ce qui suit :476Dans un terminal, la commande ouvre une session Claude Code interactive pour une interview de création. Dans l'interview, Claude fait ce qui suit :

473 477 

4741. Lit le plugin4781. Lit le plugin


479 483 

480Avec `--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.484Avec `--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.

481 485 

482Le `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. L'interview n'en a pas besoin.486Le `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 `.`.

483 487 

484La commande accepte ces options :488La commande accepte ces options :

485 489 


636| :- | :- | :- |640| :- | :- | :- |

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

638| `user@host:path[.git][#ref]` | `git` | Clone sur SSH |642| `user@host:path[.git][#ref]` | `git` | Clone sur SSH |

639| `https://example.com/repo.git[#ref]`, ou une URL contenant `/_git/` | `git` | Clone sur HTTPS, incluant les URLs Azure DevOps |643| 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 |

640| `https://github.com/owner/repo` ou `https://gitlab.com/namespace/project` | `git` | Clone sur HTTPS après avoir ajouté `.git` |644| `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` |

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

642| `./path`, `../path`, `/path`, ou `~/path` vers un répertoire | `directory` | Lit le répertoire en place. Sur Windows, les formes `.\`, `..\`, et `C:\` fonctionnent aussi |646| `./path`, `../path`, `/path`, ou `~/path` vers un répertoire | `directory` | Lit le répertoire en place. Sur Windows, les formes `.\`, `..\`, et `C:\` fonctionnent aussi |

643| Les mêmes formes de chemin, vers un fichier `.json` | `file` | Lit le fichier en place |647| Les mêmes formes de chemin, vers un fichier `.json` | `file` | Lit le fichier en place |


709Supprimez la déclaration d'une marketplace de vos paramètres. `rm` est un alias pour `remove`.713Supprimez la déclaration d'une marketplace de vos paramètres. `rm` est un alias pour `remove`.

710 714 

711<Warning>715<Warning>

712 Quand vous supprimez une marketplace de la dernière portée qui la déclare, Claude Code supprime aussi son cache et désinstalle chaque plugin que vous avez installé depuis elle. Sans `--scope`, la commande supprime la déclaration de chaque portée. Pour actualiser une marketplace sans perdre ses plugins, exécutez `plugin marketplace update` à la place.716 Quand vous supprimez une marketplace de la dernière portée qui la déclare, Claude Code supprime aussi son cache et désinstalle chaque plugin que vous avez installé depuis elle. Il supprime aussi leurs [options et secrets](/docs/fr/plugins/manifest-reference#user-configuration) sauvegardés et [données](/docs/fr/plugins/components#path-variables-and-persistent-data) où il peut.

717 

718 Pour actualiser une marketplace sans perdre ses plugins, exécutez `plugin marketplace update` à la place.

713</Warning>719</Warning>

714 720 

715```bash theme={null}721```bash theme={null}


728claude plugin marketplace remove your-marketplace734claude plugin marketplace remove your-marketplace

729```735```

730 736 

731Claude Code affiche `Successfully removed marketplace: your-marketplace`, ajoutant `(from project settings)` quand vous l'avez scoped. Si 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.`737Claude 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.

738 

739Si 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.`

732 740 

733<h3 id="plugin-marketplace-update">741<h3 id="plugin-marketplace-update">

734 plugin marketplace update742 plugin marketplace update


771| `/plugin list [--enabled\|--disabled]` | `ls` | Affiche vos plugins installés de marketplace en ligne, avec version, portée et statut. Un drapeau de filtre affiche seulement cet état. Un plugin dont l'état d'activation n'a pas encore été appliqué est marqué `— run /reload-plugins to apply`. Nécessite Claude Code v2.1.163 ou ultérieur |779| `/plugin list [--enabled\|--disabled]` | `ls` | Affiche vos plugins installés de marketplace en ligne, avec version, portée et statut. Un drapeau de filtre affiche seulement cet état. Un plugin dont l'état d'activation n'a pas encore été appliqué est marqué `— run /reload-plugins to apply`. Nécessite Claude Code v2.1.163 ou ultérieur |

772| `/plugin install` | `i` | Ouvre l'onglet **Discover** |780| `/plugin install` | `i` | Ouvre l'onglet **Discover** |

773| `/plugin install <plugin>` | `i` | Ouvre les détails du plugin dans l'onglet **Discover**. Avec `name@marketplace`, les ouvre dans la liste de cette marketplace |781| `/plugin install <plugin>` | `i` | Ouvre les détails du plugin dans l'onglet **Discover**. Avec `name@marketplace`, les ouvre dans la liste de cette marketplace |

782| `/plugin install <source>` | `i` | Signale une erreur [marketplace not found](/docs/fr/plugins/troubleshooting#marketplace-not-found) et n'installe rien quand la cible est un chemin, une URL, ou `owner/repo`, même une source que vous avez déjà ajoutée. Pour installer à partir d'une source, voir [Ajouter une marketplace et installer en une commande](/docs/fr/plugins/install#add-a-marketplace-and-install-in-one-command) |

774| `/plugin install <plugin> --marketplace <source>` | `i` | Ajoute la marketplace à `<source>` quand vous ne l'avez pas encore ajoutée, vous demandant de confirmer d'abord, puis ouvre les détails du plugin. Voir [Ajouter une marketplace et installer en une commande](/docs/fr/plugins/install#add-a-marketplace-and-install-in-one-command). Nécessite Claude Code v2.1.275 ou ultérieur |783| `/plugin install <plugin> --marketplace <source>` | `i` | Ajoute la marketplace à `<source>` quand vous ne l'avez pas encore ajoutée, vous demandant de confirmer d'abord, puis ouvre les détails du plugin. Voir [Ajouter une marketplace et installer en une commande](/docs/fr/plugins/install#add-a-marketplace-and-install-in-one-command). Nécessite Claude Code v2.1.275 ou ultérieur |

775| `/plugin manage` | | Ouvre l'onglet **Installed** |784| `/plugin manage` | | Ouvre l'onglet **Installed** |

776| `/plugin stats` | | Ouvre l'onglet **Stats**, dans les sessions où [`/skill-doctor`](/docs/fr/skills#find-unused-skills) est disponible. N'importe où ailleurs il ouvre le panneau sur l'onglet **Discover** |785| `/plugin stats` | | Ouvre l'onglet **Stats**, dans les sessions où [`/skill-doctor`](/docs/fr/skills#find-unused-skills) est disponible. N'importe où ailleurs il ouvre le panneau sur l'onglet **Discover** |


843| `--plugin-dir <path>` | Chargez un plugin depuis un répertoire ou une archive `.zip` de celui-ci. Un dossier de plugins charge chaque dossier enfant qui contient un `.claude-plugin/plugin.json`. Chaque drapeau prend un chemin | `claude --plugin-dir ./my-plugin --plugin-dir ./other.zip` |852| `--plugin-dir <path>` | Chargez un plugin depuis un répertoire ou une archive `.zip` de celui-ci. Un dossier de plugins charge chaque dossier enfant qui contient un `.claude-plugin/plugin.json`. Chaque drapeau prend un chemin | `claude --plugin-dir ./my-plugin --plugin-dir ./other.zip` |

844| `--plugin-url <url>` | Récupérez une archive `.zip` de plugin depuis une URL. Répétez le drapeau, ou passez plusieurs URLs séparées par des espaces dans une valeur entre guillemets | `claude --plugin-url "https://example.com/a.zip https://example.com/b.zip"` |853| `--plugin-url <url>` | Récupérez une archive `.zip` de plugin depuis une URL. Répétez le drapeau, ou passez plusieurs URLs séparées par des espaces dans une valeur entre guillemets | `claude --plugin-url "https://example.com/a.zip https://example.com/b.zip"` |

845 854 

846Un plugin que l'un ou l'autre drapeau charge est un plugin de session seulement. `claude plugin list` l'affiche en tant que `<name>@inline` avec portée `session`, mais seulement quand le même drapeau précède la sous-commande. Par exemple, exécutez `claude --plugin-dir ./my-plugin plugin list`.855Un plugin que l'un ou l'autre drapeau charge est un plugin de session seulement. [`claude plugin list`](#plugin-list) l'affiche seulement quand le même drapeau précède la sous-commande, comme dans `claude --plugin-dir ./my-plugin plugin list`. Le plugin apparaît comme `<name>@inline` sous un en-tête qui commence par `Session-only plugins`, et `--json` rapporte sa `scope` comme `session`.

847 856 

848Quand un plugin de session seulement partage un nom avec un plugin installé, Claude Code charge la copie de session seulement pour cette session et saute celle installée. La copie installée se charge à la place si vous avez désactivé la copie de session seulement avec `claude plugin disable <name>@inline`, ou si les paramètres gérés verrouillent ce nom de plugin. Pour la priorité, voir [Référence du chargement des plugins](/docs/fr/plugins/loading).857Quand un plugin de session seulement partage un nom avec un plugin installé, Claude Code charge la copie de session seulement pour cette session et saute celle installée. La copie installée se charge à la place si vous avez désactivé la copie de session seulement avec `claude plugin disable <name>@inline`, ou si les paramètres gérés verrouillent ce nom de plugin. Pour la priorité, voir [Référence du chargement des plugins](/docs/fr/plugins/loading).

849 858 

Details

676 676 

677Pour inclure des instructions dans un plugin, écrivez-les comme une skill. Claude Code ne charge pas un `CLAUDE.md` à la racine du plugin, et `claude plugin validate` avertit `CLAUDE.md at the plugin root is not loaded as project context`.677Pour inclure des instructions dans un plugin, écrivez-les comme une skill. Claude Code ne charge pas un `CLAUDE.md` à la racine du plugin, et `claude plugin validate` avertit `CLAUDE.md at the plugin root is not loaded as project context`.

678 678 

679Si une règle doit tenir à chaque fois, comme [bloquer les modifications des fichiers protégés](/docs/fr/hooks-guide#block-edits-to-protected-files), ajoutez-la au plugin comme un [hook](#hooks) plutôt qu'une skill. Pour choisir entre les deux, consultez l'onglet Hook vs Skill sous [Comparer les fonctionnalités similaires](/docs/fr/features-overview#compare-similar-features).

680 

679Pour les champs de frontmatter et les fichiers de support, consultez [Skills](/docs/fr/skills).681Pour les champs de frontmatter et les fichiers de support, consultez [Skills](/docs/fr/skills).

680 682 

681<h3 id="commands">683<h3 id="commands">

Details

126 126 

127Chaque plugin que vous distribuez est un objet dans le tableau `plugins` de `marketplace.json`. Pour ajouter un deuxième plugin, ajoutez un deuxième objet. Ces champs couvrent la plupart des entrées :127Chaque plugin que vous distribuez est un objet dans le tableau `plugins` de `marketplace.json`. Pour ajouter un deuxième plugin, ajoutez un deuxième objet. Ces champs couvrent la plupart des entrées :

128 128 

129* `name` : l'identifiant que les gens tapent avant `@` lorsqu'ils installent. Il ne peut pas contenir d'espaces.129* `name` : l'identifiant que les gens tapent avant `@` lorsqu'ils installent. [Entrées de plugins](/docs/fr/plugins/marketplace-reference#plugin-entries) indique les caractères qu'un nom peut utiliser.

130* `source` : où Claude Code récupère le plugin. Écrivez une chaîne de chemin relatif pour un plugin à l'intérieur du répertoire de la marketplace, comme dans [la procédure pas à pas](#create-a-marketplace), ou un objet source pour un plugin en dehors de celui-ci. Voir [Choisir une source de plugin](#choose-a-plugin-source).130* `source` : où Claude Code récupère le plugin. Écrivez une chaîne de chemin relatif pour un plugin à l'intérieur du répertoire de la marketplace, comme dans [la procédure pas à pas](#create-a-marketplace), ou un objet source pour un plugin en dehors de celui-ci. Voir [Choisir une source de plugin](#choose-a-plugin-source).

131* `description` : la ligne que les gens voient à côté du plugin lorsqu'ils parcourent votre marketplace dans `/plugin`.131* `description` : la ligne que les gens voient à côté du plugin lorsqu'ils parcourent votre marketplace dans `/plugin`.

132 132 


199 199 

200* Les erreurs de syntaxe JSON, comme `json: Invalid JSON syntax: <reason>`200* Les erreurs de syntaxe JSON, comme `json: Invalid JSON syntax: <reason>`

201* Les champs obligatoires manquants, tels que `owner: Invalid input`201* Les champs obligatoires manquants, tels que `owner: Invalid input`

202* Un nom de marketplace avec des espaces, des caractères non-ASCII, ou une forme qui imite une marketplace officielle d'Anthropic, comme `claude-official`202* Un nom de marketplace ou de plugin qui enfreint les règles de nommage dans la [référence de marketplace](/docs/fr/plugins/marketplace-reference#top-level-fields)

203* Une `source` relative qui contient `..`203* Une `source` relative qui contient `..`

204* Les champs inconnus au niveau supérieur ou dans une entrée de plugin, comme des avertissements204* Les champs inconnus au niveau supérieur ou dans une entrée de plugin, comme des avertissements

205* Les problèmes dans le `plugin.json` de chaque plugin à chemin relatif, comme `plugins[N] plugin.json → <field>: <message>`205* Les problèmes dans le `plugin.json` de chaque plugin à chemin relatif, comme `plugins[N] plugin.json → <field>: <message>`

Details

50 50 

51Quand les utilisateurs ajoutent votre marketplace en tant qu'URL `marketplace.json` simple, Claude Code télécharge uniquement ce fichier. Une entrée dans votre tableau `plugins` dont la `source` est un chemin relatif tel que `./plugins/formatter` échoue ensuite à l'installation avec [`its marketplace entry path does not stay inside the marketplace directory`](/docs/fr/plugins/troubleshooting#plugins-with-relative-paths-fail-in-url-based-marketplaces). Donnez à chaque entrée une source qui peut être récupérée seule, comme un référentiel `github` ou une URL `archive`, ou hébergez la marketplace dans un référentiel git pour que Claude Code clone l'arborescence entière.51Quand les utilisateurs ajoutent votre marketplace en tant qu'URL `marketplace.json` simple, Claude Code télécharge uniquement ce fichier. Une entrée dans votre tableau `plugins` dont la `source` est un chemin relatif tel que `./plugins/formatter` échoue ensuite à l'installation avec [`its marketplace entry path does not stay inside the marketplace directory`](/docs/fr/plugins/troubleshooting#plugins-with-relative-paths-fail-in-url-based-marketplaces). Donnez à chaque entrée une source qui peut être récupérée seule, comme un référentiel `github` ou une URL `archive`, ou hébergez la marketplace dans un référentiel git pour que Claude Code clone l'arborescence entière.

52 52 

53<h3 id="stay-within-the-download-limits-for-hosted-files">

54 Rester dans les limites de téléchargement pour les fichiers hébergés

55</h3>

56 

57Quand les utilisateurs ajoutent votre marketplace en tant qu'URL `marketplace.json`, ou installent une entrée avec une source [`archive`](/docs/fr/plugins/marketplace-reference#archive-plugin-source), Claude Code télécharge le fichier depuis votre serveur. Le téléchargement échoue au-delà des limites dans ce tableau, donc dimensionnez vos fichiers et configurez votre serveur pour rester à l'intérieur.

58 

59| Fichier | Plus grand téléchargement | Temps pour que votre serveur réponde | Redirections |

60| :- | :- | :- | :- |

61| `marketplace.json` d'une source de marketplace `url` | 5 MiB | 10 secondes | Une redirection vers une origine différente doit utiliser `https://` et ne peut pas pointer vers un hôte loopback, link-local, ou cloud-metadata, donc une redirection de `https://` vers `http://` échoue |

62| Zip d'une source de plugin `archive` | 256 MiB | 120 secondes | Au maximum cinq. Chaque cible de redirection doit utiliser `https://` et ne peut pas pointer vers un hôte loopback, link-local, ou cloud-metadata |

63 

64Une demande qu'une redirection envoie vers une origine différente ne porte aucun des en-têtes que vous avez configurés sur la source de marketplace ou l'entrée de plugin.

65 

66Après le téléchargement d'une archive, l'installation échoue quand le zip dépasse l'une de ces limites d'extraction :

67 

68* **Entrées** : 100 000 fichiers et répertoires

69* **Taille du fichier** : 512 MiB pour n'importe quel fichier, décompressé

70* **Taille totale** : 1 GiB décompressé

71* **Ratio de compression** : contenu décompressé 50 fois la taille du zip

72 

53<h3 id="edit-plugins-in-place-on-a-shared-directory">73<h3 id="edit-plugins-in-place-on-a-shared-directory">

54 Éditer les plugins sur place dans un répertoire partagé74 Éditer les plugins sur place dans un répertoire partagé

55</h3>75</h3>

Details

121 121 

122Dans votre terminal, les plugins se synchronisent uniquement dans les sessions où vous vous connectez avec votre compte claude.ai.122Dans votre terminal, les plugins se synchronisent uniquement dans les sessions où vous vous connectez avec votre compte claude.ai.

123 123 

124Claude Code ne télécharge ni ne charge les plugins synchronisés dans ces sessions de terminal, même après vous être connecté avec `/login` :

125 

126* Une session où `ANTHROPIC_AUTH_TOKEN`, `CLAUDE_CODE_OAUTH_TOKEN`, ou un script `apiKeyHelper` fournit les identifiants à la place de cette connexion

127* Une session qui ne [récupère pas les drapeaux de fonctionnalités auprès d'Anthropic](/docs/fr/env-vars#features-that-need-feature-flag-fetching), comme une session où vous avez défini `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`

128* Une session en [mode bare](/docs/fr/headless#start-faster-with-bare-mode) ou une session que vous démarrez avec `--safe-mode`

129* Une session que vous démarrez avec une liste [`--setting-sources`](/docs/fr/cli-reference#cli-flags) qui omet `user`

130 

124Si vous vous êtes connecté sur une version antérieure de Claude Code, cette connexion ne couvre pas les plugins jusqu'à ce que Claude Code la renouvelle en arrière-plan. Pour accéder plus tôt, exécutez `/login` à nouveau. La synchronisation des plugins commence alors la prochaine fois que vous démarrez Claude Code.131Si vous vous êtes connecté sur une version antérieure de Claude Code, cette connexion ne couvre pas les plugins jusqu'à ce que Claude Code la renouvelle en arrière-plan. Pour accéder plus tôt, exécutez `/login` à nouveau. La synchronisation des plugins commence alors la prochaine fois que vous démarrez Claude Code.

125 132 

126<h4 id="control-which-synced-plugins-load">133<h4 id="control-which-synced-plugins-load">


190| `.trash/` | Les plugins que la synchronisation claude.ai a supprimés, comme après que vous en ayez désactivé un sur claude.ai ou arrêté la synchronisation |197| `.trash/` | Les plugins que la synchronisation claude.ai a supprimés, comme après que vous en ayez désactivé un sur claude.ai ou arrêté la synchronisation |

191| `installed_plugins.json` et `known_marketplaces.json` | Les enregistrements de ce que Claude Code a installé et quels marchés il a récupérés, décrits sous [Vérifier à quel stade un plugin est arrivé](#check-which-stage-a-plugin-reached). Un [marché hébergé sur claude.ai](/docs/fr/plugins/install#add-from-claude-ai) est enregistré dans `known_marketplaces_claudeai.json` à la place |198| `installed_plugins.json` et `known_marketplaces.json` | Les enregistrements de ce que Claude Code a installé et quels marchés il a récupérés, décrits sous [Vérifier à quel stade un plugin est arrivé](#check-which-stage-a-plugin-reached). Un [marché hébergé sur claude.ai](/docs/fr/plugins/install#add-from-claude-ai) est enregistré dans `known_marketplaces_claudeai.json` à la place |

192| `flagged-plugins.json` | Les plugins que Claude Code a désinstallés parce que leur marché les a retirés de la liste. Ils apparaissent dans la section **Flagged** de `/plugin` ; voir [Héberger un marché](/docs/fr/plugins/host-marketplace) |199| `flagged-plugins.json` | Les plugins que Claude Code a désinstallés parce que leur marché les a retirés de la liste. Ils apparaissent dans la section **Flagged** de `/plugin` ; voir [Héberger un marché](/docs/fr/plugins/host-marketplace) |

200| `installed_plugins.set-aside.<date>.<hash>.json` et `installed_plugins.unreadable.<date>.<hash>.kept` | Des copies datées que Claude Code conserve avant de supprimer les enregistrements d'installation qu'aucune version de Claude Code ne peut utiliser ou de reconstruire un `installed_plugins.json` illisible. Voir [les notes de récupération](/docs/fr/plugins/troubleshooting#installed-plugins-json-could-not-be-read-and-was-rebuilt). Elles arrivent à expiration selon le calendrier [`cleanupPeriodDays`](/docs/fr/settings-reference#cleanupperioddays) |

193 201 

194Parce que `${CLAUDE_PLUGIN_ROOT}` pointe vers un répertoire de version, le chemin racine d'un plugin change avec chaque version. Gardez les fichiers durables d'un plugin dans `${CLAUDE_PLUGIN_DATA}` à la place.202Parce que `${CLAUDE_PLUGIN_ROOT}` pointe vers un répertoire de version, le chemin racine d'un plugin change avec chaque version. Gardez les fichiers durables d'un plugin dans `${CLAUDE_PLUGIN_DATA}` à la place.

195 203 

Details

48* **Noms de marketplace communautaire** : `claude-community`, `claude-plugins-community` et `healthcare`. Réservés selon la même règle que les noms officiels.48* **Noms de marketplace communautaire** : `claude-community`, `claude-plugins-community` et `healthcare`. Réservés selon la même règle que les noms officiels.

49* **Noms de répertoire de plugin** : `anthropic-plugin-directory` et `claude-plugin-directory`. Réservés selon la même règle que les noms officiels.49* **Noms de répertoire de plugin** : `anthropic-plugin-directory` et `claude-plugin-directory`. Réservés selon la même règle que les noms officiels.

50* **Noms qui usurpent l'identité d'une marketplace officielle** : des noms tels que `official-claude-plugins` ou `claude-plugins-v2`, et tout nom contenant un caractère non-ASCII. L'erreur est `Marketplace name impersonates an official Anthropic/Claude marketplace`. Un caractère de contrôle ou de formatage bidirectionnel dans un nom signale également `Marketplace name cannot contain control or bidirectional-formatting characters`. Une marketplace déjà enregistrée sous un tel nom cesse de se charger, ainsi que ses plugins.50* **Noms qui usurpent l'identité d'une marketplace officielle** : des noms tels que `official-claude-plugins` ou `claude-plugins-v2`, et tout nom contenant un caractère non-ASCII. L'erreur est `Marketplace name impersonates an official Anthropic/Claude marketplace`. Un caractère de contrôle ou de formatage bidirectionnel dans un nom signale également `Marketplace name cannot contain control or bidirectional-formatting characters`. Une marketplace déjà enregistrée sous un tel nom cesse de se charger, ainsi que ses plugins.

51* <span id="reserved-name-spellings" />**Une autre orthographe d'un nom réservé** : un nom qui diffère d'un nom réservé uniquement par un point final, ou par un symbole autre qu'un trait d'union à la place d'un trait d'union, donc `claude.code.plugins` compte comme `claude-code-plugins`. `claude plugin validate` accepte un tel nom ; l'ajout de la marketplace échoue avec [`is another spelling of "<reserved>", a reserved marketplace name`](/docs/fr/errors#marketplace-name-is-another-spelling-of-a-reserved-name), et une marketplace déjà enregistrée sous l'une d'elles cesse de se charger. Cette vérification nécessite Claude Code v2.1.280 ou ultérieure.51* <span id="reserved-name-spellings" />**Une autre orthographe d'un nom réservé** : un nom qui diffère d'un nom réservé uniquement par un point final, ou par un symbole autre qu'un trait d'union à la place d'un trait d'union, donc `claude.code.plugins` compte comme `claude-code-plugins`. L'ajout de la marketplace échoue avec [`is another spelling of "<reserved>", a reserved marketplace name`](/docs/fr/errors#marketplace-name-is-another-spelling-of-a-reserved-name), et une marketplace déjà enregistrée sous l'une d'elles cesse de se charger. Cette vérification nécessite Claude Code v2.1.280 ou ultérieure.

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


63 63 

64| Champ | Type | Description |64| Champ | Type | Description |

65| :- | :- | :- |65| :- | :- | :- |

66| `name` | string | Identifiant de marketplace. Pas d'espaces, de caractères de contrôle ou de caractères de formatage bidirectionnel, pas de `/` ou `\`, pas de `..` et pas `.`. Voir [Noms réservés](#reserved-names). Les utilisateurs le tapent après `@` lorsqu'ils installent un plugin |66| `name` | string | Identifiant de marketplace : lettres, chiffres, `.`, `_` et `-`, commençant par une lettre ou un chiffre, et pas de `..`. Il forme la moitié après `@` de chaque [ID de plugin](/docs/fr/plugins/loading#find-where-a-plugin-came-from) installé à partir de la marketplace, donc `claude plugin validate` échoue pour les autres noms. Voir [Noms réservés](#reserved-names) |

67| `owner` | object | Informations du responsable. `name` est obligatoire ; `email` et `url` sont optionnels |67| `owner` | object | Informations du responsable. `name` est obligatoire ; `email` et `url` sont optionnels |

68| `plugins` | array | [Entrées de plugin](#plugin-entries). Chaque entrée est validée indépendamment, donc une entrée invalide ne fait pas échouer la marketplace |68| `plugins` | array | [Entrées de plugin](#plugin-entries). Chaque entrée est validée indépendamment, donc une entrée invalide ne fait pas échouer la marketplace |

69| `$schema` | string | URL JSON Schema pour l'autocomplétion de l'éditeur. Ignorée au moment du chargement |69| `$schema` | string | URL JSON Schema pour l'autocomplétion de l'éditeur. Ignorée au moment du chargement |


87 87 

88| Champ | Type | Description |88| Champ | Type | Description |

89| :- | :- | :- |89| :- | :- | :- |

90| `name` | string | Identifiant du plugin, sans espaces, caractères de contrôle ou caractères de formatage bidirectionnel. Les utilisateurs le tapent avant `@` lors de l'installation, même si le propre `plugin.json` du plugin définit un `name` différent |90| `name` | string | Identifiant du plugin : lettres, chiffres, `.`, `_` et `-`, commençant par une lettre ou un chiffre. `claude plugin validate` échoue pour les autres noms, que Claude Code ne peut pas installer. Les utilisateurs le tapent avant `@` lors de l'installation, même si le propre `plugin.json` du plugin définit un `name` différent |

91| `source` | string ou object | Où récupérer le plugin. Consultez [Sources de plugin](#plugin-sources) |91| `source` | string ou object | Où récupérer le plugin. Consultez [Sources de plugin](#plugin-sources) |

92| `description` | string | Affiché dans les listes et détails [`/plugin`](/docs/fr/plugins/install) |92| `description` | string | Affiché dans les listes et détails [`/plugin`](/docs/fr/plugins/install) |

93| `version` | string | Chaîne de version pour le plugin. Quand `plugin.json` définit également `version`, `plugin.json` a la priorité et `claude plugin validate` avertit. Consultez [Référence de chargement de plugin](/docs/fr/plugins/loading) |93| `version` | string | Chaîne de version pour le plugin. Quand `plugin.json` définit également `version`, `plugin.json` a la priorité et `claude plugin validate` avertit. Consultez [Référence de chargement de plugin](/docs/fr/plugins/loading) |


280 Source de plugin archive280 Source de plugin archive

281</h3>281</h3>

282 282 

283`url` doit utiliser `https://` et ne peut pas pointer vers un hôte loopback, link-local ou cloud-metadata.283`url` doit utiliser `https://` et ne peut pas pointer vers un hôte loopback, link-local ou cloud-metadata. Pour les limites de taille, de délai d'attente, de redirection et d'extraction sur le téléchargement, voir [Rester dans les limites de téléchargement pour les fichiers hébergés](/docs/fr/plugins/host-marketplace#stay-within-the-download-limits-for-hosted-files).

284 284 

285La racine du plugin peut être au sommet du zip ou un répertoire plus bas.285La racine du plugin peut être au sommet du zip ou un répertoire plus bas.

286 286 


385| :- | :- | :- | :- | :- | :- |385| :- | :- | :- | :- | :- | :- |

386| `url` | `url`, `headers`, `headersHelper` | Une URL `http://` ou `https://` qui ne correspond pas à une forme git | Charge | Permet la même URL | Bloque la même URL |386| `url` | `url`, `headers`, `headersHelper` | Une URL `http://` ou `https://` qui ne correspond pas à une forme git | Charge | Permet la même URL | Bloque la même URL |

387| `github` | `repo`, `ref`, `path`, `sparsePaths` | `owner/repo`, `owner/repo@ref` ou `owner/repo#ref` | Charge | Permet le même `repo`, `ref` et `path`. `repo` peut être `owner/*` | Bloque le même, et une URL `git` vers le même référentiel |387| `github` | `repo`, `ref`, `path`, `sparsePaths` | `owner/repo`, `owner/repo@ref` ou `owner/repo#ref` | Charge | Permet le même `repo`, `ref` et `path`. `repo` peut être `owner/*` | Bloque le même, et une URL `git` vers le même référentiel |

388| `git` | `url`, `ref`, `path`, `sparsePaths` | Une URL `user@host:path`, ou une URL `https://` qui se termine par `.git`, contient `/_git/`, ou nomme un référentiel github.com ou gitlab.com. `#ref` épingle un ref | Charge | Permet la même URL, `ref` et `path` | Bloque le même, et d'autres orthographes du même référentiel github.com |388| `git` | `url`, `ref`, `path`, `sparsePaths` | Une URL `user@host:path`, ou une URL `http://` ou `https://` qui se termine par `.git`, contient `/_git/`, ou nomme un référentiel github.com ou gitlab.com. `#ref` épingle un ref | Charge | Permet la même URL, `ref` et `path` | Bloque le même, et d'autres orthographes du même référentiel github.com |

389| `npm` | `package` | Non produit | Échoue à charger : `NPM marketplace sources not yet implemented` | Analyse mais ne correspond à rien, car rien n'enregistre une marketplace `npm` | Analyse mais ne correspond à rien |389| `npm` | `package` | Non produit | Échoue à charger : `NPM marketplace sources not yet implemented` | Analyse mais ne correspond à rien, car rien n'enregistre une marketplace `npm` | Analyse mais ne correspond à rien |

390| `file` | `path` | Un chemin vers un fichier `.json` | Charge | Permet le même chemin | Bloque le même chemin |390| `file` | `path` | Un chemin vers un fichier `.json` | Charge | Permet le même chemin | Bloque le même chemin |

391| `directory` | `path` | Un chemin vers un répertoire | Charge | Permet le même chemin | Bloque le même chemin |391| `directory` | `path` | Un chemin vers un répertoire | Charge | Permet le même chemin | Bloque le même chemin |


402 402 

403| Champ | Types | Description |403| Champ | Types | Description |

404| :- | :- | :- |404| :- | :- | :- |

405| `url` | `url` | Lien vers le fichier `marketplace.json`. Claude Code télécharge uniquement ce fichier, donc les plugins de la marketplace ne peuvent pas utiliser les [sources avec chemin relatif](#relative-path-plugin-source) |405| `url` | `url` | Lien vers le fichier `marketplace.json`. Claude Code télécharge uniquement ce fichier, donc les plugins de la marketplace ne peuvent pas utiliser les [sources avec chemin relatif](#relative-path-plugin-source). Voir [Rester dans les limites de téléchargement pour les fichiers hébergés](/docs/fr/plugins/host-marketplace#stay-within-the-download-limits-for-hosted-files) pour les limites de taille, de délai d'attente et de redirection |

406| `url` | `git` | Le référentiel git à cloner |406| `url` | `git` | Le référentiel git à cloner |

407| `headers` | `url` | Mappage des en-têtes HTTP que Claude Code envoie avec la récupération, pour les hôtes authentifiés |407| `headers` | `url` | Mappage des en-têtes HTTP que Claude Code envoie avec la récupération, pour les hôtes authentifiés |

408| `headersHelper` | `url` | Commande qui imprime les en-têtes dont les valeurs sont trop éphémères pour être listées dans `headers`. Nécessite Claude Code v2.1.238 ou ultérieure. Voir [Authentifier les téléchargements d'archive](/docs/fr/plugins/host-marketplace#authenticate-archive-downloads) |408| `headersHelper` | `url` | Commande qui imprime les en-têtes dont les valeurs sont trop éphémères pour être listées dans `headers`. Nécessite Claude Code v2.1.238 ou ultérieure. Voir [Authentifier les téléchargements d'archive](/docs/fr/plugins/host-marketplace#authenticate-archive-downloads) |


469 469 

470Un message préfixé par un index d'entrée et `plugin.json →`, tel que `plugins[2] plugin.json →`, concerne les propres fichiers de ce plugin. [`claude plugin validate` signale les erreurs](/docs/fr/plugins/troubleshooting#claude-plugin-validate-reports-errors) liste ces messages avec leurs corrections.470Un message préfixé par un index d'entrée et `plugin.json →`, tel que `plugins[2] plugin.json →`, concerne les propres fichiers de ce plugin. [`claude plugin validate` signale les erreurs](/docs/fr/plugins/troubleshooting#claude-plugin-validate-reports-errors) liste ces messages avec leurs corrections.

471 471 

472Les avertissements qui mentionnent les noms de drapeaux Claude Desktop signalent les noms que Claude Code accepte mais que Claude Desktop rejette, car les règles de nom de Claude Desktop sont plus strictes.472Les avertissements qui mentionnent les noms de drapeaux Claude Desktop signalent les noms que Claude Desktop rejette.

473 473 

474Le tableau mappe les messages au niveau marketplace au champ dont chacun parle.474Le tableau mappe les messages au niveau marketplace au champ dont chacun parle.

475 475 


484| `Author name cannot be empty` | Erreur | `owner.name` |484| `Author name cannot be empty` | Erreur | `owner.name` |

485| `Plugin name cannot contain spaces. Use kebab-case (e.g., "my-plugin")` | Erreur | `plugins[i].name` |485| `Plugin name cannot contain spaces. Use kebab-case (e.g., "my-plugin")` | Erreur | `plugins[i].name` |

486| `Plugin name cannot contain control or bidirectional-formatting characters` | Erreur | `plugins[i].name` |486| `Plugin name cannot contain control or bidirectional-formatting characters` | Erreur | `plugins[i].name` |

487| `Claude Code cannot install plugins from marketplace "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 the marketplace's "name".` | Erreur | `name` |

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

487| `Duplicate plugin name "x" found in marketplace` | Erreur | Deux entrées partagent un `name` |489| `Duplicate plugin name "x" found in marketplace` | Erreur | Deux entrées partagent un `name` |

488| `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) |490| `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) |

489| `plugins[i].source: Path contains "..": <path>` | Erreur | Une `source` relative qui échappe à la racine marketplace |491| `plugins[i].source: Path contains "..": <path>` | Erreur | Une `source` relative qui échappe à la racine marketplace |

Details

145 `Marketplace "<name>" not found`145 `Marketplace "<name>" not found`

146</h3>146</h3>

147 147 

148Vous avez exécuté `/plugin install <plugin>@<name>` dans une session, souvent à partir d'une ligne d'installation que quelqu'un vous a envoyée, et Claude Code a signalé qu'il n'a pas de marketplace portant ce nom.148Vous avez exécuté `/plugin install` dans une session et Claude Code a signalé qu'il n'a pas de marketplace portant ce nom. Deux formes de la commande mènent à ce message :

149 

150* **`/plugin install <plugin>@<name>`** : la ligne d'installation, souvent celle que quelqu'un vous a envoyée, nomme une marketplace que vous n'avez pas ajoutée. Le reste de cette entrée couvre la recherche et l'ajout.

151* **`/plugin install <source>` avec un chemin, une URL ou `owner/repo`** : cette forme signale le message au lieu d'installer, même pour une source que vous avez déjà ajoutée. Pour installer à partir d'une source en une seule commande, consultez [Ajouter une marketplace et installer en une seule commande](/docs/fr/plugins/install#add-a-marketplace-and-install-in-one-command).

149 152 

150Si le nom commence par `claudeai-`, la marketplace est hébergée sur claude.ai, et vous l'ajoutez par nom à partir de votre shell avec `claude plugin marketplace add --claudeai <name>`. Consultez [Ajouter une marketplace à partir de claude.ai](/docs/fr/plugins/install#add-from-claude-ai).153Si le nom commence par `claudeai-`, la marketplace est hébergée sur claude.ai, et vous l'ajoutez par nom à partir de votre shell avec `claude plugin marketplace add --claudeai <name>`. Consultez [Ajouter une marketplace à partir de claude.ai](/docs/fr/plugins/install#add-from-claude-ai).

151 154 


646 649 

647Ensuite, exécutez `/reload-plugins` dans votre session. L'entrée de l'onglet **Erreurs** disparaît et le plugin est de retour sous **Installed**.650Ensuite, exécutez `/reload-plugins` dans votre session. L'entrée de l'onglet **Erreurs** disparaît et le plugin est de retour sous **Installed**.

648 651 

652<h3 id="installed-plugins-json-holds-a-record-this-version-cannot-read">

653 `installed_plugins.json holds a record under "<id>" that this version of Claude Code cannot read`

654</h3>

655 

656Le message s'affiche sous ces formes :

657 

658* **`claude plugin list`** : l'imprime comme une `Note:`

659* **`claude plugin install`, `uninstall`, et `update`** : refusent avec `Plugin "<name>" was not installed:`, `Plugin "<name>" was not uninstalled:`, ou `Plugin "<name>" was not updated:`, suivi du même texte

660* **`--json` sur l'une de ces trois commandes** : la ligne de résultat porte le même `message` et `failureCode: "install_records_unreadable"`

661* **Plusieurs de ces enregistrements** : le message lit `holds records under`

662* **Le fichier entier déclare un format que cette version ne connaît pas** : le message lit `installed_plugins.json is in a format (version <N>) that this version of Claude Code does not know` à la place

663 

664L'enregistrement nommé dans `installed_plugins.json` est un JSON valide sous un id de plugin valide, mais ses champs ne s'analysent pas pour cette version. Très probablement une autre version de Claude Code l'a écrit, peut-être une plus récente.

665 

666Tant que l'enregistrement est là, cette version ne réécrit pas le fichier, donc l'enregistrement n'est pas perdu.

667 

668Prenez les options du message dans l'ordre :

669 

6701. Mettez à jour Claude Code avec `claude update`.

6712. Si vous ne pouvez pas mettre à jour, désinstallez le plugin nommé avec la version de Claude Code qui a écrit l'enregistrement.

6723. Si aucun des deux n'aide, supprimez l'enregistrement de `installed_plugins.json` à la main, puis redémarrez Claude Code ou exécutez `/reload-plugins`.

673 

674<h3 id="installed-plugins-json-could-not-be-read-and-was-rebuilt">

675 `installed_plugins.json could not be read and was rebuilt`

676</h3>

677 

678`claude plugin list` imprime cette note, avec le chemin d'un fichier conservé nommé `installed_plugins.unreadable.<date>.<hash>.kept`, tant que ce fichier se trouve à côté de `installed_plugins.json`.

679 

680Un `installed_plugins.json` qui n'est pas un JSON valide, ou n'est pas une liste de plugins, ne peut pas dire ce que vous avez installé.

681 

682Ouvrez le fichier `.kept` pour voir ce que l'ancien fichier a enregistré, et réinstallez les plugins qui vous manquent. Claude Code ne relit jamais le fichier, et le fichier vieillit selon le calendrier [`cleanupPeriodDays`](/docs/fr/settings-reference#cleanupperioddays).

683 

684<h3 id="install-records-under-names-that-no-version-can-use">

685 `install records under names that no version of Claude Code can use were removed from installed_plugins.json`

686</h3>

687 

688`claude plugin list` imprime cette note, avec le chemin d'une copie nommée `installed_plugins.set-aside.<date>.<hash>.json`, tant que cette copie se trouve à côté de `installed_plugins.json`. La note se termine par `Nothing needs doing about these copies.`

689 

690Un enregistrement dans `installed_plugins.json` se trouvait sous une clé qui n'est pas un id de plugin valide, donc aucune version de Claude Code ne peut l'utiliser. Le reste du fichier charge normalement.

691 

692Claude Code copie les enregistrements inutilisables dans le fichier `.set-aside` et les supprime de la liste. Claude Code ne relit jamais les copies, et les copies vieillissent selon le calendrier [`cleanupPeriodDays`](/docs/fr/settings-reference#cleanupperioddays).

693 

649<h3 id="a-plugin-you-disabled-still-loads">694<h3 id="a-plugin-you-disabled-still-loads">

650 `Disabled in ~/.claude/settings.json but still loads`695 `Disabled in ~/.claude/settings.json but still loads`

651</h3>696</h3>


981| `Path contains "..": <path>` sous `plugins[N].source` | Erreur | Utilisez les chemins relatifs à la racine de la marketplace sans segments `..`. |1026| `Path contains "..": <path>` sous `plugins[N].source` | Erreur | Utilisez les chemins relatifs à la racine de la marketplace sans segments `..`. |

982| `Marketplace name cannot contain control or bidirectional-formatting characters` | Erreur | Supprimez le caractère du nom, comme une échappement ou une nouvelle ligne. |1027| `Marketplace name cannot contain control or bidirectional-formatting characters` | Erreur | Supprimez le caractère du nom, comme une échappement ou une nouvelle ligne. |

983| `Plugin name cannot contain control or bidirectional-formatting characters` | Erreur | Supprimez le caractère du `name` du plugin. |1028| `Plugin name cannot contain control or bidirectional-formatting characters` | Erreur | Supprimez le caractère du `name` du plugin. |

1029| `Claude Code cannot install plugins from marketplace "<name>". Each part of a plugin id (plugin@marketplace) may use only the letters a-z and A-Z, digits, ".", "_" and "-", and must start with a letter or digit. Change the marketplace's "name".` | Erreur | Renommez la marketplace pour respecter la règle que le message indique. |

1030| `Claude Code cannot install plugin "<name>". Each part of a plugin id (plugin@marketplace) may use only the letters a-z and A-Z, digits, ".", "_" and "-", and must start with a letter or digit. Change this entry's "name".` | Erreur | Renommez l'entrée pour respecter la règle que le message indique. |

984| `Marketplace has no plugins defined` | Avertissement | Ajoutez au moins une entrée à `plugins`. |1031| `Marketplace has no plugins defined` | Avertissement | Ajoutez au moins une entrée à `plugins`. |

985| `No marketplace description provided` | Avertissement | Ajoutez une `description` au niveau supérieur. |1032| `No marketplace description provided` | Avertissement | Ajoutez une `description` au niveau supérieur. |

986| `Plugin name "<name>" is not kebab-case` sous `plugins[N] plugin.json → name` | Avertissement | Renommez en lettres minuscules, chiffres et tirets. Claude Code accepte d'autres formes, mais la synchronisation de la marketplace claude.ai les rejette. |1033| `Plugin name "<name>" is not kebab-case` sous `plugins[N] plugin.json → name` | Avertissement | Renommez en lettres minuscules, chiffres et tirets ; la synchronisation de la marketplace claude.ai nécessite cette forme. |

987| `Entry declares version "<a>" but <path>/plugin.json says "<b>"` | Avertissement | Mettez à jour l'entrée pour correspondre à `plugin.json`, qui est autoritaire au moment de l'installation. |1034| `Entry declares version "<a>" but <path>/plugin.json says "<b>"` | Avertissement | Mettez à jour l'entrée pour correspondre à `plugin.json`, qui est autoritaire au moment de l'installation. |

988| `Marketplace name "<name>" is reserved in Claude Desktop` | Avertissement | Renommez la marketplace. La synchronisation de la marketplace gérée de Claude Desktop rejette `org`, `org-provisioned` et `unknown` dans n'importe quelle casse. |1035| `Marketplace name "<name>" is reserved in Claude Desktop` | Avertissement | Renommez la marketplace. La synchronisation de la marketplace gérée de Claude Desktop rejette `org`, `org-provisioned` et `unknown` dans n'importe quelle casse. |

989| `Marketplace name "<name>" is not accepted by Claude Desktop` ou `Plugin name "<name>" is not accepted by Claude Desktop` | Avertissement | Renommez en au maximum 128 caractères de lettres, chiffres, `.`, `_` et `-`, commençant par une lettre ou un chiffre. |1036| `Marketplace name "<name>" is not accepted by Claude Desktop` ou `Plugin name "<name>" is not accepted by Claude Desktop` | Avertissement | Renommez en au maximum 128 caractères de lettres, chiffres, `.`, `_` et `-`, commençant par une lettre ou un chiffre. |

Details

412| - | - |412| - | - |

413| `DISABLE_PROMPT_CACHING` | Désactiver pour tous les modèles |413| `DISABLE_PROMPT_CACHING` | Désactiver pour tous les modèles |

414| `DISABLE_PROMPT_CACHING_HAIKU` | Désactiver pour le modèle Haiku par défaut |414| `DISABLE_PROMPT_CACHING_HAIKU` | Désactiver pour le modèle Haiku par défaut |

415| `DISABLE_PROMPT_CACHING_SONNET` | Désactiver pour Sonnet uniquement |415| `DISABLE_PROMPT_CACHING_SONNET` | Désactiver pour le modèle Sonnet par défaut |

416| `DISABLE_PROMPT_CACHING_OPUS` | Désactiver pour Opus uniquement |416| `DISABLE_PROMPT_CACHING_OPUS` | Désactiver pour le modèle Opus par défaut |

417| `DISABLE_PROMPT_CACHING_FABLE` | Désactiver pour Fable uniquement |417| `DISABLE_PROMPT_CACHING_FABLE` | Désactiver pour Fable uniquement |

418 418 

419`DISABLE_PROMPT_CACHING_HAIKU` s'applique au modèle Haiku par défaut, le modèle auquel l'alias `haiku` se résout. Il désactive le caching partout où ce modèle s'exécute, y compris la conversation principale quand il est votre modèle principal. Couvrir la conversation principale nécessite Claude Code v2.1.283 ou une version ultérieure.419`DISABLE_PROMPT_CACHING_HAIKU` s'applique au modèle Haiku par défaut, le modèle auquel l'alias `haiku` se résout. Il désactive le caching partout où ce modèle s'exécute, y compris la conversation principale quand il est votre modèle principal. Couvrir la conversation principale nécessite Claude Code v2.1.283 ou une version ultérieure.


422 422 

423Une version différente de Haiku que vous épinglez comme votre modèle principal conserve le caching ; définissez `DISABLE_PROMPT_CACHING` pour désactiver le caching pour celui-ci.423Une version différente de Haiku que vous épinglez comme votre modèle principal conserve le caching ; définissez `DISABLE_PROMPT_CACHING` pour désactiver le caching pour celui-ci.

424 424 

425`DISABLE_PROMPT_CACHING_SONNET` et `DISABLE_PROMPT_CACHING_OPUS` s'appliquent chacun au modèle auquel l'alias `sonnet` ou `opus` se résout. Si vous définissez un autre ID de modèle Sonnet ou Opus comme votre modèle principal, ce modèle conserve le caching. Par exemple, une session sur `claude-sonnet-5` conserve le caching tandis que `sonnet` se résout à `claude-sonnet-5-5`. Pour désactiver le caching pour ce modèle, définissez `DISABLE_PROMPT_CACHING`.

426 

425Pour définir la politique de caching dans une organisation, mettez l'une de ces variables ou les [variables TTL](#cache-lifetime) dans le bloc `env` des [paramètres gérés](/docs/fr/managed-settings). Pour un usage normal, laissez le caching activé.427Pour définir la politique de caching dans une organisation, mettez l'une de ces variables ou les [variables TTL](#cache-lifetime) dans le bloc `env` des [paramètres gérés](/docs/fr/managed-settings). Pour un usage normal, laissez le caching activé.

426 428 

427<h2 id="related-resources">429<h2 id="related-resources">

Details

52 52 

53 Le processus reste en cours d'exécution dans votre terminal en mode serveur, en attente de connexions distantes. Il affiche une URL de session que vous pouvez utiliser pour [vous connecter depuis un autre appareil](#connect-from-another-device), et vous pouvez appuyer sur la barre d'espace pour afficher un code QR pour un accès rapide depuis votre téléphone. Pendant qu'une session distante est active, le terminal affiche l'état de la connexion et l'activité des outils.53 Le processus reste en cours d'exécution dans votre terminal en mode serveur, en attente de connexions distantes. Il affiche une URL de session que vous pouvez utiliser pour [vous connecter depuis un autre appareil](#connect-from-another-device), et vous pouvez appuyer sur la barre d'espace pour afficher un code QR pour un accès rapide depuis votre téléphone. Pendant qu'une session distante est active, le terminal affiche l'état de la connexion et l'activité des outils.

54 54 

55 Drapeaux disponibles :55 Passez l'un de ces drapeaux après `remote-control` :

56 56 

57 | Drapeau | Description |57 | Drapeau | Description |

58 | - | - |58 | - | - |


68 | `-d`, `--debug[=<filter>]` | Activez la journalisation de débogage pour le serveur, éventuellement filtrée par catégorie. Passez un filtre uniquement sous la forme `=`, comme `--debug=api,hooks`. Nécessite Claude Code v2.1.282 ou version ultérieure. |68 | `-d`, `--debug[=<filter>]` | Activez la journalisation de débogage pour le serveur, éventuellement filtrée par catégorie. Passez un filtre uniquement sous la forme `=`, comme `--debug=api,hooks`. Nécessite Claude Code v2.1.282 ou version ultérieure. |

69 | `--debug-file <path>` | Écrire les journaux de débogage dans le fichier donné. |69 | `--debug-file <path>` | Écrire les journaux de débogage dans le fichier donné. |

70 | `--verbose` | Afficher les journaux de connexion et de session détaillés. |70 | `--verbose` | Afficher les journaux de connexion et de session détaillés. |

71 | `--sandbox` / `--no-sandbox` | Activer ou désactiver le [sandboxing](/docs/fr/sandboxing) pour l'isolation du système de fichiers et du réseau. Désactivé par défaut. |

72 

73 Donnez ces drapeaux après `remote-control`.

74 71 

75 Si vous passez un drapeau global `claude` avant `remote-control`, ou si un script wrapper en ajoute un, Claude Code ne porte pas le drapeau aux sessions que le serveur crée. Claude Code laisse passer le drapeau uniquement lorsque le supprimer ne change pas ce que ces sessions peuvent faire, comme `--verbose` ou `--model`. Pour tout autre drapeau, comme `--settings`, Claude Code [refuse de démarrer](/docs/fr/errors#not-carried-over-to-the-sessions-remote-control-starts) et nomme le drapeau à supprimer.72 Si vous passez un drapeau global `claude` avant `remote-control`, ou si un script wrapper en ajoute un, Claude Code ne porte pas le drapeau aux sessions que le serveur crée. Claude Code laisse passer le drapeau uniquement lorsque le supprimer ne change pas ce que ces sessions peuvent faire, comme `--verbose` ou `--model`. Pour tout autre drapeau, comme `--settings`, Claude Code [refuse de démarrer](/docs/fr/errors#not-carried-over-to-the-sessions-remote-control-starts) et nomme le drapeau à supprimer.

76 73 

74 Pour mettre en sandbox les sessions que le serveur démarre, activez le [sandboxing](/docs/fr/sandboxing) dans un fichier de paramètres.

75 

77 Claude Code vérifie l'admissibilité de Remote Control avant d'imprimer l'aide, donc `claude remote-control --help` retourne une erreur au lieu de cette liste de drapeaux lorsque vous n'êtes pas connecté avec un compte admissible.76 Claude Code vérifie l'admissibilité de Remote Control avant d'imprimer l'aide, donc `claude remote-control --help` retourne une erreur au lieu de cette liste de drapeaux lorsque vous n'êtes pas connecté avec un compte admissible.

78 </Tab>77 </Tab>

79 78 


110 109 

111 Jusqu'à ce que vous acceptiez la confirmation unique de Remote Control, une boîte de dialogue apparaît avant que `/remote-control` se connecte. Sélectionnez **Enable Remote Control** pour accepter et vous connecter. Si vous sélectionnez **Never mind** ou appuyez sur Échap, Claude Code ne se connecte pas et demande à nouveau la prochaine fois que vous exécutez `/remote-control`.110 Jusqu'à ce que vous acceptiez la confirmation unique de Remote Control, une boîte de dialogue apparaît avant que `/remote-control` se connecte. Sélectionnez **Enable Remote Control** pour accepter et vous connecter. Si vous sélectionnez **Never mind** ou appuyez sur Échap, Claude Code ne se connecte pas et demande à nouveau la prochaine fois que vous exécutez `/remote-control`.

112 111 

113 Les drapeaux `--verbose`, `--sandbox` et `--no-sandbox` ne sont pas disponibles avec cette commande.112 Le drapeau `--verbose` n'est pas disponible avec cette commande.

114 </Tab>113 </Tab>

115 114 

116 <Tab title="VS Code">115 <Tab title="VS Code">


200 199 

201Le même bouton bascule apparaît en dehors de la CLI :200Le même bouton bascule apparaît en dehors de la CLI :

202 201 

203* **Application Desktop** : **Settings > Claude Code > Enable remote control by default**.202* **Application Desktop** : **Settings > Claude Code > Connect new sessions to Remote Control**.

204* **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).203* **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).

205 204 

206Pour 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.205Pour 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.

routines.md +16 −6

Details

66 66 

67Dans tous les autres cas, y compris la publication d'un nouvel artifact, Claude demande d'abord. Quand le travail d'une routine est de maintenir une page à jour, donnez-lui un artifact que vous avez déjà publié.67Dans tous les autres cas, y compris la publication d'un nouvel artifact, Claude demande d'abord. Quand le travail d'une routine est de maintenir une page à jour, donnez-lui un artifact que vous avez déjà publié.

68 68 

69Les routines appartiennent à votre compte claude.ai individuel. Elles ne sont pas partagées avec les coéquipiers, et elles comptent dans votre allocation quotidienne d'exécutions. Tout ce qu'une routine fait via votre identité GitHub connectée ou les connecteurs apparaît comme vous : les commits et les demandes de tirage portent votre utilisateur GitHub, et les messages Slack, les tickets Linear ou d'autres actions de connecteur utilisent vos comptes liés pour ces services.69Les routines appartiennent à votre compte claude.ai individuel. Elles ne sont pas partagées avec les coéquipiers, et leurs exécutions comptent dans l'[utilisation et les limites](#usage-and-limits) de votre compte. Tout ce qu'une routine fait via votre identité GitHub connectée ou les connecteurs apparaît comme vous : les commits et les demandes de tirage portent votre utilisateur GitHub, et les messages Slack, les tickets Linear ou d'autres actions de connecteur utilisent vos comptes liés pour ces services.

70 70 

71<h3 id="create-from-the-web">71<h3 id="create-from-the-web">

72 Créer à partir du web72 Créer à partir du web


174 174 

175La même conversion locale-UTC que pour les calendriers récurrents s'applique aux horodatages uniques.175La même conversion locale-UTC que pour les calendriers récurrents s'applique aux horodatages uniques.

176 176 

177Les exécutions uniques ne comptent pas par rapport au plafond quotidien d'exécution de routine. Consultez [Usage and limits](#usage-and-limits) pour plus de détails.177Les exécutions uniques comptent par rapport à la même limite horaire que les autres exécutions planifiées. Consultez [Usage and limits](#usage-and-limits) pour plus de détails.

178 178 

179<h3 id="add-an-api-trigger">179<h3 id="add-an-api-trigger">

180 Ajouter un déclencheur API180 Ajouter un déclencheur API


256Un déclencheur GitHub démarre une nouvelle session automatiquement lorsqu'un événement correspondant se produit sur un référentiel connecté. Claude Code ne réutilise pas les sessions entre les événements, de sorte que deux mises à jour de PR produisent deux sessions indépendantes.256Un déclencheur GitHub démarre une nouvelle session automatiquement lorsqu'un événement correspondant se produit sur un référentiel connecté. Claude Code ne réutilise pas les sessions entre les événements, de sorte que deux mises à jour de PR produisent deux sessions indépendantes.

257 257 

258<Note>258<Note>

259 Pendant l'aperçu de recherche, les événements webhook GitHub sont soumis à des limites horaires par routine et par compte. Les événements au-delà de la limite sont supprimés jusqu'à la réinitialisation de la fenêtre. Consultez vos limites actuelles sur [claude.ai/code/routines](https://claude.ai/code/routines).259 Les événements webhook GitHub sont soumis à des limites horaires par routine et par compte. Les événements au-delà de la limite sont supprimés jusqu'à la réinitialisation de la fenêtre.

260</Note>260</Note>

261 261 

262L'application Claude GitHub doit être installée sur le référentiel auquel vous souhaitez vous abonner, quelle que soit la surface à partir de laquelle vous configurez le déclencheur.262L'application Claude GitHub doit être installée sur le référentiel auquel vous souhaitez vous abonner, quelle que soit la surface à partir de laquelle vous configurez le déclencheur.


421 Utilisation et limites421 Utilisation et limites

422</h2>422</h2>

423 423 

424Les routines réduisent l'utilisation de l'abonnement de la même manière que les sessions interactives. En plus des limites d'abonnement standard, les routines ont un plafond quotidien sur le nombre d'exécutions qui peuvent démarrer par compte. Consultez votre consommation actuelle et vos exécutions de routine quotidiennes restantes sur [claude.ai/code/routines](https://claude.ai/code/routines) ou [claude.ai/settings/usage](https://claude.ai/settings/usage).424Les routines réduisent l'utilisation de l'abonnement de la même manière que les sessions interactives. Consultez votre consommation actuelle sur [claude.ai/settings/usage](https://claude.ai/settings/usage).

425 425 

426Lorsqu'une routine atteint le plafond quotidien ou votre limite d'utilisation d'abonnement, les organisations avec crédits d'utilisation activés peuvent continuer à exécuter les routines sur dépassement mesuré. Sans crédits d'utilisation, les exécutions supplémentaires sont rejetées jusqu'à la réinitialisation de la fenêtre. Activez les crédits d'utilisation sur [claude.ai/settings/usage](https://claude.ai/settings/usage). Sur les plans Team et Enterprise, un administrateur les active pour l'organisation sur [claude.ai/admin-settings/usage](https://claude.ai/admin-settings/usage).426Indépendamment de l'utilisation de l'abonnement, chaque façon de démarrer une exécution a une limite horaire :

427 427 

428Les exécutions ponctuelles ne comptent pas par rapport au plafond quotidien des routines. Elles réduisent votre utilisation d'abonnement régulière comme toute autre session.428| Action | Limite | Comptée pour | Au-delà de la limite |

429| :- | :- | :- | :- |

430| Exécutions planifiées, y compris les exécutions ponctuelles | 100 par heure | Votre compte | L'exécution attend jusqu'à la réinitialisation de la limite |

431| **Exécuter maintenant**, appels API et définition d'une routine ponctuelle pour s'exécuter à nouveau | 30 par heure | Chaque routine, un décompte partagé par les trois | L'action échoue jusqu'à la réinitialisation de la limite |

432| **Exécuter maintenant** et définition d'une routine ponctuelle pour s'exécuter à nouveau | 100 par heure | Votre compte | Identique |

433| Appels API | 100 par heure | Votre compte, comptés séparément de **Exécuter maintenant** | Identique |

434| Événements GitHub | Voir [Ajouter un déclencheur GitHub](#add-a-github-trigger) | | |

435 

436Aucune de ces limites horaires n'a de dépassement.

437 

438Lorsqu'une routine atteint votre limite d'utilisation d'abonnement, les organisations avec crédits d'utilisation activés peuvent continuer à exécuter les routines sur dépassement mesuré. Sans crédits d'utilisation, les exécutions supplémentaires sont rejetées jusqu'à la réinitialisation de votre fenêtre d'utilisation. Activez les crédits d'utilisation sur [claude.ai/settings/usage](https://claude.ai/settings/usage). Sur les plans Team et Enterprise, un administrateur les active pour l'organisation sur [claude.ai/admin-settings/usage](https://claude.ai/admin-settings/usage).

429 439 

430Pendant que votre abonnement est suspendu, vos routines sont mises en attente et ne s'exécutent pas. Une fois que votre abonnement est à nouveau actif, réactivez-les.440Pendant que votre abonnement est suspendu, vos routines sont mises en attente et ne s'exécutent pas. Une fois que votre abonnement est à nouveau actif, réactivez-les.

431 441 

Details

138* À la racine du projet, le runtime refuse `.git/hooks`, refuse `.git/config` sauf si vous définissez `filesystem.allowGitConfig: true`, et refuse `.mcp.json`, `.claude/commands`, `.claude/agents`, et les fichiers de démarrage du shell.138* À la racine du projet, le runtime refuse `.git/hooks`, refuse `.git/config` sauf si vous définissez `filesystem.allowGitConfig: true`, et refuse `.mcp.json`, `.claude/commands`, `.claude/agents`, et les fichiers de démarrage du shell.

139* Sur macOS, ces refus sont vérifiés quand une écriture se produit, donc ils couvrent également les fichiers imbriqués et les référentiels créés pendant la session.139* Sur macOS, ces refus sont vérifiés quand une écriture se produit, donc ils couvrent également les fichiers imbriqués et les référentiels créés pendant la session.

140* Sur Linux et WSL2, le runtime construit la liste de refus une fois au lancement. Il couvre de manière fiable la racine du projet, effectue une analyse superficielle de meilleur effort pour les copies imbriquées qui existent à ce moment, et ne couvre rien que la session crée plus tard, comme `git init`, `git clone`, ou l'échafaudage. La section `mandatoryDenySearchDepth` du README décrit la sémantique exacte de l'analyse.140* Sur Linux et WSL2, le runtime construit la liste de refus une fois au lancement. Il couvre de manière fiable la racine du projet, effectue une analyse superficielle de meilleur effort pour les copies imbriquées qui existent à ce moment, et ne couvre rien que la session crée plus tard, comme `git init`, `git clone`, ou l'échafaudage. La section `mandatoryDenySearchDepth` du README décrit la sémantique exacte de l'analyse.

141* Sans un `~/.srt-settings.json` valide, le runtime démarre quand même, bloque l'accès réseau, et confine les écritures aux chemins runtime intégrés tels que `/tmp/claude`, `~/.npm/_logs`, et `~/.claude/debug`. Ne prenez pas un démarrage propre comme preuve que vos paramètres ont été chargés.141* Si `~/.srt-settings.json` n'existe pas et que vous ne passez pas `--settings`, le runtime démarre quand même. Il bloque l'accès réseau et confine les écritures aux chemins runtime intégrés tels que `/tmp/claude`, `~/.npm/_logs`, et `~/.claude/debug`. Ne prenez pas un démarrage propre comme preuve que vos paramètres ont été chargés.

142* Quand vous passez `--settings`, le runtime refuse de démarrer si le fichier échoue à charger.142* Si le fichier de paramètres existe mais est vide, illisible ou invalide, le runtime refuse de démarrer, qu'il s'agisse de `~/.srt-settings.json` ou d'un fichier que vous passez avec `--settings`. Il refuse également de démarrer si le fichier `--settings` n'existe pas.

143 143 

144Vos autorisations d'écriture incluent toujours d'autres chemins à partir desquels Claude Code charge la configuration, donc refusez-les avec `denyWrite`. Une session sandboxée qui peut les écrire peut persister des hooks, des règles de permission, ou des serveurs MCP qui s'exécutent sans sandbox la prochaine fois que vous lancez Claude Code.144Vos autorisations d'écriture incluent toujours d'autres chemins à partir desquels Claude Code charge la configuration, donc refusez-les avec `denyWrite`. Une session sandboxée qui peut les écrire peut persister des hooks, des règles de permission, ou des serveurs MCP qui s'exécutent sans sandbox la prochaine fois que vous lancez Claude Code.

145 145 

Details

8 8 

9Les tâches planifiées permettent à Claude de réexécuter automatiquement un prompt à intervalles réguliers. Utilisez-les pour interroger un déploiement, surveiller une PR, vérifier une compilation longue ou vous rappeler de faire quelque chose plus tard dans la session. Pour réagir aux événements au fur et à mesure qu'ils se produisent au lieu d'interroger, consultez [Channels](/docs/fr/channels) : votre CI peut pousser l'échec directement dans la session. Pour maintenir la session en fonctionnement tour après tour jusqu'à ce qu'une condition soit remplie plutôt que sur un intervalle, consultez [`/goal`](/docs/fr/goal).9Les tâches planifiées permettent à Claude de réexécuter automatiquement un prompt à intervalles réguliers. Utilisez-les pour interroger un déploiement, surveiller une PR, vérifier une compilation longue ou vous rappeler de faire quelque chose plus tard dans la session. Pour réagir aux événements au fur et à mesure qu'ils se produisent au lieu d'interroger, consultez [Channels](/docs/fr/channels) : votre CI peut pousser l'échec directement dans la session. Pour maintenir la session en fonctionnement tour après tour jusqu'à ce qu'une condition soit remplie plutôt que sur un intervalle, consultez [`/goal`](/docs/fr/goal).

10 10 

11Les tâches sont limitées à la session : elles vivent dans la conversation actuelle et s'arrêtent quand vous en commencez une nouvelle. Lorsque vous reprenez avec `--resume` ou `--continue`, Claude Code restaure les tâches qui n'ont pas [expiré](#seven-day-expiry), à l'exception de celles énumérées sous [Limitations](#limitations). Pour une planification qui survit indépendamment de toute session, utilisez [Routines](/docs/fr/routines) pour créer une routine sur le cloud, configurez une [Tâche planifiée sur le bureau](/docs/fr/desktop-scheduled-tasks) ou utilisez [GitHub Actions](/docs/fr/github-actions).11Les tâches sont limitées à la session. Lorsque vous reprenez avec `--resume` ou `--continue`, Claude Code restaure les tâches qui n'ont pas [expiré](#seven-day-expiry), à l'exception de celles énumérées sous [Limitations](#limitations). Pour une planification qui survit indépendamment de toute session, utilisez [Routines](/docs/fr/routines) pour créer une routine sur le cloud, configurez une [Tâche planifiée sur le bureau](/docs/fr/desktop-scheduled-tasks) ou utilisez [GitHub Actions](/docs/fr/github-actions).

12 12 

13<h2 id="compare-scheduling-options">13<h2 id="compare-scheduling-options">

14 Comparer les options de planification14 Comparer les options de planification


237 237 

238* Les tâches ne s'exécutent que pendant que Claude Code s'exécute et est inactif. Fermer le terminal ou laisser la session se terminer arrête leur exécution. [Mettre la session en arrière-plan](/docs/fr/agent-view#from-inside-a-session) transfère les tâches `/loop` vers une session en arrière-plan, qui continue de s'exécuter sans terminal.238* Les tâches ne s'exécutent que pendant que Claude Code s'exécute et est inactif. Fermer le terminal ou laisser la session se terminer arrête leur exécution. [Mettre la session en arrière-plan](/docs/fr/agent-view#from-inside-a-session) transfère les tâches `/loop` vers une session en arrière-plan, qui continue de s'exécuter sans terminal.

239* Pas de rattrapage pour les exécutions manquées. Si l'heure planifiée d'une tâche passe pendant que Claude est occupé par une demande longue, elle s'exécute une fois quand Claude devient inactif, pas une fois par intervalle manqué.239* Pas de rattrapage pour les exécutions manquées. Si l'heure planifiée d'une tâche passe pendant que Claude est occupé par une demande longue, elle s'exécute une fois quand Claude devient inactif, pas une fois par intervalle manqué.

240* Démarrer une nouvelle conversation efface toutes les tâches limitées à la session. Quand vous reprenez une session avec `claude --resume` ou `claude --continue`, Claude Code restaure les tâches planifiées avec `CronCreate`, sauf les tâches récurrentes qui ont [expiré](#seven-day-expiry) et les tâches ponctuelles dont l'heure planifiée a passé. Une [boucle `/loop` à rythme personnel](#let-claude-choose-the-interval) n'est pas restaurée, donc exécutez `/loop` à nouveau pour la redémarrer. Les tâches Bash en arrière-plan et les tâches de surveillance ne sont jamais restaurées à la reprise.240* Quand vous reprenez une session avec `claude --resume` ou `claude --continue`, Claude Code restaure les tâches planifiées avec `CronCreate`, sauf les tâches récurrentes qui ont [expiré](#seven-day-expiry) et les tâches ponctuelles dont l'heure planifiée a passé. Une [boucle `/loop` à rythme personnel](#let-claude-choose-the-interval) n'est pas restaurée, donc exécutez `/loop` à nouveau pour la redémarrer. Les tâches Bash en arrière-plan et les tâches de surveillance ne sont jamais restaurées à la reprise.

241* Avec [la récupération des drapeaux de fonctionnalités désactivée](/docs/fr/env-vars#features-that-need-feature-flag-fetching), Claude Code stocke une tâche que vous avez demandé de conserver entre les sessions dans le fichier `.claude/scheduled_tasks.json` du projet. Quand le répertoire `.claude` ou ce fichier est un lien symbolique, Claude Code retourne une erreur au lieu de planifier la tâche. Une tâche enregistrée s'exécute uniquement dans le dossier du projet où vous l'avez créée. Si vous copiez le fichier dans un autre dossier, comme une nouvelle worktree, les sessions là-bas listent les tâches copiées mais ne les exécutent pas, donc créez la tâche à nouveau dans ce dossier.241* Avec [la récupération des drapeaux de fonctionnalités désactivée](/docs/fr/env-vars#features-that-need-feature-flag-fetching), Claude Code stocke une tâche que vous avez demandé de conserver entre les sessions dans le fichier `.claude/scheduled_tasks.json` du projet. Quand le répertoire `.claude` ou ce fichier est un lien symbolique, Claude Code retourne une erreur au lieu de planifier la tâche. Une tâche enregistrée s'exécute uniquement dans le dossier du projet où vous l'avez créée. Si vous copiez le fichier dans un autre dossier, comme une nouvelle worktree, les sessions là-bas listent les tâches copiées mais ne les exécutent pas, donc créez la tâche à nouveau dans ce dossier.

242 242 

243Pour l'automatisation pilotée par cron qui doit s'exécuter sans surveillance :243Pour l'automatisation pilotée par cron qui doit s'exécuter sans surveillance :

Details

48* **Zéro rétention de données** : indisponible pour les organisations avec [Zéro rétention de données](/docs/fr/zero-data-retention) activée.48* **Zéro rétention de données** : indisponible pour les organisations avec [Zéro rétention de données](/docs/fr/zero-data-retention) activée.

49* **Inférence du modèle** : les sessions utilisent l'API Anthropic, et l'inférence ne peut pas être routée via [Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry](/docs/fr/third-party-integrations), ou une [passerelle LLM](/docs/fr/llm-gateway).49* **Inférence du modèle** : les sessions utilisent l'API Anthropic, et l'inférence ne peut pas être routée via [Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry](/docs/fr/third-party-integrations), ou une [passerelle LLM](/docs/fr/llm-gateway).

50* **Surfaces** : les sessions démarrées à partir de [claude.ai/code](https://claude.ai/code), les applications mobiles et de bureau, les [routines planifiées](/docs/fr/routines), et le terminal, avec [`claude --cloud`](/docs/fr/claude-code-on-the-web#from-terminal-to-cloud) ou une [dispatch `--environment`](/docs/fr/self-hosted-environments-testing#run-the-test-loop), peuvent s'exécuter dans des environnements auto-hébergés. Les sessions [Claude Tag](https://claude.com/docs/claude-tag/overview) peuvent aussi s'y exécuter, mais Claude ne peut pas encore utiliser les [Bundles d'accès](https://claude.com/docs/claude-tag/concepts/glossary#access-bundle) dans ces sessions. Les sessions [Claude Security](/docs/fr/claude-security) et [Code Review](/docs/fr/code-review) ne les routent pas encore. Le support de ces deux surfaces suit séparément.50* **Surfaces** : les sessions démarrées à partir de [claude.ai/code](https://claude.ai/code), les applications mobiles et de bureau, les [routines planifiées](/docs/fr/routines), et le terminal, avec [`claude --cloud`](/docs/fr/claude-code-on-the-web#from-terminal-to-cloud) ou une [dispatch `--environment`](/docs/fr/self-hosted-environments-testing#run-the-test-loop), peuvent s'exécuter dans des environnements auto-hébergés. Les sessions [Claude Tag](https://claude.com/docs/claude-tag/overview) peuvent aussi s'y exécuter, mais Claude ne peut pas encore utiliser les [Bundles d'accès](https://claude.com/docs/claude-tag/concepts/glossary#access-bundle) dans ces sessions. Les sessions [Claude Security](/docs/fr/claude-security) et [Code Review](/docs/fr/code-review) ne les routent pas encore. Le support de ces deux surfaces suit séparément.

51* **Référentiels** : les sessions extraient les référentiels de GitHub ; consultez [Options d'authentification GitHub](/docs/fr/claude-code-on-the-web#github-authentication-options).51* **Référentiels** : les sessions extraient les référentiels de GitHub ; consultez [Options d'authentification GitHub](/docs/fr/claude-code-on-the-web#github-authentication-options). Pour un hôte GitHub Enterprise Server, consultez ses [exigences réseau](/docs/fr/github-enterprise-server#network-requirements).

52* **Facturation** : les sessions dans un environnement auto-hébergé consomment l'utilisation Claude Code de votre organisation de la même manière que les sessions dans les environnements hébergés par Anthropic.52* **Facturation** : les sessions dans un environnement auto-hébergé consomment l'utilisation Claude Code de votre organisation de la même manière que les sessions dans les environnements hébergés par Anthropic.

53 53 

54<h2 id="why-self-host">54<h2 id="why-self-host">

Details

170 170 

171Si votre hôte git rejette l'identifiant, ou que vous n'en avez pas configuré un, le runner réessaie quelques fois puis échoue la préparation du référentiel quand le référentiel est celui vers lequel la session pousse les résultats. Pour un référentiel que la session lit uniquement, [Troubleshooting](#troubleshooting) couvre quand le runner le saute à la place. Le runner ne transmet pas ces paramètres dans l'environnement de la session.171Si votre hôte git rejette l'identifiant, ou que vous n'en avez pas configuré un, le runner réessaie quelques fois puis échoue la préparation du référentiel quand le référentiel est celui vers lequel la session pousse les résultats. Pour un référentiel que la session lit uniquement, [Troubleshooting](#troubleshooting) couvre quand le runner le saute à la place. Le runner ne transmet pas ces paramètres dans l'environnement de la session.

172 172 

173Gardez tout programme que vous nommez dans `GIT_SSH_COMMAND` ou `GIT_ASKPASS` où les sessions ne peuvent pas y écrire, de la manière que la [liste de contrôle de durcissement](#harden-your-deployment) demande pour le répertoire de hooks et le script wrapper. Il en va de même pour toute clé ou fichier sur la ligne de commande de ce programme. Le git propre du runner exécute ce programme quand il clone ou récupère.

174 

173Si les répertoires de checkout sont possédés par un uid différent du processus runner, git refuse d'opérer sur eux ; ajoutez `safe.directory` :175Si les répertoires de checkout sont possédés par un uid différent du processus runner, git refuse d'opérer sur eux ; ajoutez `safe.directory` :

174 176 

175```dockerfile theme={null}177```dockerfile theme={null}


184 186 

185Le proxy nécessite `--capacity 1` car l'URL du proxy est par session, et git 2.32 ou plus récent car les anciennes versions de git ignorent le mécanisme de configuration que le proxy utilise pour isoler les sessions les unes des autres. Le runner refuse de démarrer si l'une ou l'autre exigence n'est pas satisfaite. Parce que le proxy récupère du côté d'Anthropic, votre hôte git doit être accessible depuis l'infrastructure Anthropic, la même exigence que les sessions hébergées par Anthropic ont ; pour un hôte git qui n'est routable que dans votre réseau, utilisez un [hook de cycle de vie `checkout`](/docs/fr/self-hosted-environments-configuration#checkout) à la place. Chaque processus runner gère une session à la fois, donc exécutez plus de répliques pour le parallélisme. Quand le proxy est activé, `--git-host-rewrite` et `--git-ssh-rewrite` n'ont aucun effet : l'URL du proxy pointe vers `api.anthropic.com`, pas votre hôte git.187Le proxy nécessite `--capacity 1` car l'URL du proxy est par session, et git 2.32 ou plus récent car les anciennes versions de git ignorent le mécanisme de configuration que le proxy utilise pour isoler les sessions les unes des autres. Le runner refuse de démarrer si l'une ou l'autre exigence n'est pas satisfaite. Parce que le proxy récupère du côté d'Anthropic, votre hôte git doit être accessible depuis l'infrastructure Anthropic, la même exigence que les sessions hébergées par Anthropic ont ; pour un hôte git qui n'est routable que dans votre réseau, utilisez un [hook de cycle de vie `checkout`](/docs/fr/self-hosted-environments-configuration#checkout) à la place. Chaque processus runner gère une session à la fois, donc exécutez plus de répliques pour le parallélisme. Quand le proxy est activé, `--git-host-rewrite` et `--git-ssh-rewrite` n'ont aucun effet : l'URL du proxy pointe vers `api.anthropic.com`, pas votre hôte git.

186 188 

189<Warning>

190 Les recettes [Kubernetes](#kubernetes) et [Docker Compose](#docker-compose) sur cette page utilisent `--capacity 4`. Si vous ajoutez `--use-anthropic-git-proxy` ou `CLAUDE_RUNNER_USE_GIT_PROXY=1` à l'une d'elles sans changer la capacité à `1`, le runner quitte au démarrage chaque fois que votre orchestrateur le redémarre. Définissez `--capacity 1` et exécutez plus de répliques pour le parallélisme. [When the runner exits](#when-the-runner-exits) affiche la ligne que le runner imprime.

191</Warning>

192 

187Le runner signale également l'adhésion à Anthropic quand il s'enregistre, affichant `Registering as opted in to Anthropic-managed git (--use-anthropic-git-proxy)` au démarrage. Signaler l'adhésion nécessite Claude Code v2.1.267 ou plus récent, et les versions antérieures acceptent le drapeau sans le signaler ou afficher cette ligne. Chaque session sur un runner ayant adhéré utilise ensuite soit git géré par Anthropic, soit l'URL du proxy par session. Quand une session utilise l'URL du proxy par session, le runner enregistre une ligne `[runner:warn]` indiquant cela.193Le runner signale également l'adhésion à Anthropic quand il s'enregistre, affichant `Registering as opted in to Anthropic-managed git (--use-anthropic-git-proxy)` au démarrage. Signaler l'adhésion nécessite Claude Code v2.1.267 ou plus récent, et les versions antérieures acceptent le drapeau sans le signaler ou afficher cette ligne. Chaque session sur un runner ayant adhéré utilise ensuite soit git géré par Anthropic, soit l'URL du proxy par session. Quand une session utilise l'URL du proxy par session, le runner enregistre une ligne `[runner:warn]` indiquant cela.

188 194 

195<h4 id="trust-a-private-certificate-authority-with-anthropic-managed-git">

196 Faire confiance à une autorité de certification privée avec git géré par Anthropic

197</h4>

198 

199Cette section s'applique si vous définissez `GIT_SSL_CAINFO` ou `GIT_SSL_NO_VERIFY` dans l'environnement d'un runner dont les sessions utilisent git géré par Anthropic. La gestion qu'elle décrit nécessite que le runner exécute Claude Code v2.1.283 ou plus récent.

200 

201Quand git sur le runner doit faire confiance à une autorité de certification (CA) privée, comme celle qu'un proxy d'inspection TLS signe, les approches habituelles fonctionnent comme suit :

202 

203* **Magasin de certificats système** : installez votre CA dans le magasin de certificats système de l'hôte runner, et git lui fait confiance sans l'une ou l'autre variable.

204* **`GIT_SSL_CAINFO`** : définissez-la sur un fichier PEM de vos CAs, par exemple `GIT_SSL_CAINFO=/etc/ssl/corp-ca.pem`.

205* **`GIT_SSL_NO_VERIFY`** : n'aide pas derrière un proxy de re-signature. Le clone propre du runner via git géré par Anthropic vérifie les certificats même quand la variable est définie, donc ce clone échoue jusqu'à ce que git fasse confiance à votre CA via l'une des deux autres approches.

206 

207Pour les connexions git qui portent le jeton d'une session à git géré par Anthropic, le runner applique les deux variables comme suit. Un [hook `command`](/docs/fr/self-hosted-environments-configuration#command) commence par l'environnement de la session, donc il obtient ce que git à l'intérieur de la session obtient :

208 

209* **`GIT_SSL_CAINFO`** : ce que git vérifie git géré par Anthropic dépend de l'endroit où git s'exécute :

210 * **Clone et récupérations propres du runner** : s'exécutent sans la variable et vérifient git géré par Anthropic par rapport à un fichier de certificat par session que le runner écrit. Ce fichier contient le bundle CA système de l'hôte runner plus les certificats de votre fichier.

211 * **Git à l'intérieur de la session** : obtient la configuration `http.sslCAInfo` nommant votre fichier à la place de la variable, plus les entrées `http.<url>.sslCAInfo` qui vérifient git géré par Anthropic par rapport au fichier par session.

212 * **Hooks `checkout` et `post-session`** : héritent la variable inchangée.

213* **`GIT_SSL_NO_VERIFY`** : quelles vérifications de certificat restent désactivées dépend de l'endroit où git s'exécute :

214 * **Clone et récupérations propres du runner** : s'exécutent sans la variable et vérifient le certificat qui leur est présenté.

215 * **Git à l'intérieur de la session** : obtient la configuration `http.sslVerify=false` à la place de la variable, donc les vérifications restent désactivées pour les autres hôtes. Il obtient également des entrées `http.<url>.sslVerify=true` qui gardent les vérifications activées pour git géré par Anthropic.

216 * **Hooks `checkout` et `post-session`** : quand la session a un référentiel sur git géré par Anthropic, obtiennent la configuration `http.sslVerify=false` à la place de la variable. Ils obtiennent également des entrées `http.<url>.sslVerify=true` qui gardent les vérifications activées pour git géré par Anthropic.

217 

218Le fichier de certificat par session a besoin d'un bundle CA système à `/etc/ssl/certs/ca-certificates.crt` ou `/etc/pki/tls/certs/ca-bundle.crt` sur l'hôte runner. Il a également besoin d'un fichier `GIT_SSL_CAINFO` que l'utilisateur du runner peut lire, qui contient des blocs PEM `CERTIFICATE`, et qui fait au maximum 1 MiB. Quand le runner ne peut pas construire le fichier par session, il enregistre une ligne `[runner:warn]` contenant `did not build the certificate file` et la raison. Git utilise alors votre fichier tel quel pour git géré par Anthropic. Corrigez ce que la ligne nomme.

219 

220Pour chaque session qui utilise git géré par Anthropic, le runner enregistre également une ligne `[runner:warn]` qui commence par `governed git: GIT_SSL_CAINFO is set` ou `governed git: GIT_SSL_NO_VERIFY is set`. La ligne dit ce que le runner a fait avec cette variable pour son propre git, pour git à l'intérieur de la session, et pour vos hooks de cycle de vie. Elle se termine par si vous devez changer quelque chose.

221 

189<h3 id="rewrite-git-urls-for-private-networks">222<h3 id="rewrite-git-urls-for-private-networks">

190 Réécrire les URL git pour les réseaux privés223 Réécrire les URL git pour les réseaux privés

191</h3>224</h3>


203 236 

204Anthropic ne publie pas d'image runner pré-construite. Construisez la vôtre autour du binaire `claude`, en superposant la chaîne d'outils que vos référentiels ont besoin : runtimes de langage, compilateurs, gestionnaires de paquets, et sidecars [MCP](/docs/fr/mcp).237Anthropic ne publie pas d'image runner pré-construite. Construisez la vôtre autour du binaire `claude`, en superposant la chaîne d'outils que vos référentiels ont besoin : runtimes de langage, compilateurs, gestionnaires de paquets, et sidecars [MCP](/docs/fr/mcp).

205 238 

206Les recettes ci-dessous utilisent `--capacity 4`, donc un conteneur sert jusqu'à quatre sessions concurrentes du même propriétaire verrouillé. Cela ne fournit pas l'isolation du conteneur par session dans la [section de durcissement](#harden-your-deployment) : avant de connecter un environnement aux systèmes de production, soit exécutez les recettes à `--capacity 1` avec un conteneur par session, soit utilisez les [runners à la demande](/docs/fr/self-hosted-environments-configuration#on-demand-runners), qui gardent également le secret de l'environnement hors des hôtes exécutant les sessions.239Les recettes ci-dessous utilisent `--capacity 4`, donc un conteneur sert jusqu'à quatre sessions concurrentes du même propriétaire verrouillé. Cela ne fournit pas l'isolation du conteneur par session dans la [section de durcissement](#harden-your-deployment) : avant de connecter un environnement aux systèmes de production, soit exécutez les recettes à `--capacity 1` avec un conteneur par session, soit utilisez les [runners à la demande](/docs/fr/self-hosted-environments-configuration#on-demand-runners), qui gardent également le secret de l'environnement hors des hôtes exécutant les sessions. Si vous ajoutez le [proxy git Anthropic](#use-the-anthropic-git-proxy) à l'une de ces recettes, changez également `--capacity` à `1`.

207 240 

208Ce Dockerfile est un point de départ minimal :241Ce Dockerfile est un point de départ minimal :

209 242 


338 371 

339Le service Compose ci-dessous redémarre le runner chaque fois qu'il se termine, ce qui couvre à la fois les crashes et la sortie normale après le drainage. Une politique de redémarrage Docker redémarre le même conteneur avec sa couche inscriptible intacte, donc le runner revient sur un système de fichiers réutilisé plutôt que le frais que la [posture de durcissement](#harden-your-deployment) recommande ; utilisez cette recette pour l'évaluation, et pour la production soit recréez le conteneur par exécution, soit utilisez un orchestrateur qui le fait.372Le service Compose ci-dessous redémarre le runner chaque fois qu'il se termine, ce qui couvre à la fois les crashes et la sortie normale après le drainage. Une politique de redémarrage Docker redémarre le même conteneur avec sa couche inscriptible intacte, donc le runner revient sur un système de fichiers réutilisé plutôt que le frais que la [posture de durcissement](#harden-your-deployment) recommande ; utilisez cette recette pour l'évaluation, et pour la production soit recréez le conteneur par exécution, soit utilisez un orchestrateur qui le fait.

340 373 

374Docker attend plus longtemps avant chaque redémarrage d'un conteneur qui continue de se terminer, jusqu'à un plafond, donc un runner qui ne peut pas démarrer ne continue pas à redémarrer dans une boucle serrée selon cette recette. [Quand le runner se termine](#when-the-runner-exits) décrit ce qu'il faut vérifier quand cela se produit.

375 

341```yaml theme={null}376```yaml theme={null}

342services:377services:

343 claude-runner:378 claude-runner:


451 486 

452Le processus enfant Claude Code de chaque session exécute le binaire du runner lui-même, et le runner désactive la mise à jour automatique à l'intérieur des sessions qu'il génère, donc chaque session exécute la version que vous avez installée sur l'hôte ou construite dans l'image. Une mise à jour au niveau de l'hôte prend effet la prochaine fois que le runner démarre.487Le processus enfant Claude Code de chaque session exécute le binaire du runner lui-même, et le runner désactive la mise à jour automatique à l'intérieur des sessions qu'il génère, donc chaque session exécute la version que vous avez installée sur l'hôte ou construite dans l'image. Une mise à jour au niveau de l'hôte prend effet la prochaine fois que le runner démarre.

453 488 

489Un modèle que vos sessions utilisent peut nécessiter une version plus récente de Claude Code que celle qu'elles exécutent. Le serveur rejette alors les demandes pour ce modèle avec [Claude Code ne supporte pas ce modèle](/docs/fr/errors#claude-code-does-not-support-this-model). Avant d'épingler une version, vérifiez [les versions de Claude Code que les modèles nécessitent](/docs/fr/model-config#available-models) pour chaque modèle que vos sessions utilisent.

490 

454* **Pour garder une flotte sur une version** : construisez l'image avec une version épinglée, ou sur un hôte nu installez une version spécifique et [désactivez les mises à jour automatiques](/docs/fr/setup#disable-auto-updates)491* **Pour garder une flotte sur une version** : construisez l'image avec une version épinglée, ou sur un hôte nu installez une version spécifique et [désactivez les mises à jour automatiques](/docs/fr/setup#disable-auto-updates)

455* **Pour mettre à niveau** : installez la version plus récente ou reconstruisez l'image, puis redémarrez les runners492* **Pour mettre à niveau** : installez la version plus récente ou reconstruisez l'image, puis redémarrez les runners

456* **Plugins** : les places de marché de plugins ne se mettent pas à jour automatiquement non plus ; définissez `FORCE_AUTOUPDATE_PLUGINS=1` dans l'environnement du runner pour laisser les plugins se mettre à jour automatiquement pendant que le binaire reste épinglé493* **Plugins** : les places de marché de plugins ne se mettent pas à jour automatiquement non plus ; définissez `FORCE_AUTOUPDATE_PLUGINS=1` dans l'environnement du runner pour laisser les plugins se mettre à jour automatiquement pendant que le binaire reste épinglé


554 591 

555Le processus enfant de chaque session écrit un journal de débogage séparé. En cas d'échec, le runner affiche la queue du journal aux côtés de la session dans claude.ai/code. À moins que vous n'ayez démarré le runner avec [`--remove-session-state`](/docs/fr/self-hosted-environments-reference#runner-cli-flags), il conserve également le journal d'une session échouée sur le disque et imprime son chemin dans le journal du runner.592Le processus enfant de chaque session écrit un journal de débogage séparé. En cas d'échec, le runner affiche la queue du journal aux côtés de la session dans claude.ai/code. À moins que vous n'ayez démarré le runner avec [`--remove-session-state`](/docs/fr/self-hosted-environments-reference#runner-cli-flags), il conserve également le journal d'une session échouée sur le disque et imprime son chemin dans le journal du runner.

556 593 

594<h3 id="when-the-runner-exits">

595 Quand le runner quitte

596</h3>

597 

598Ne redémarrez pas un [runner à la demande](/docs/fr/self-hosted-environments-configuration#on-demand-runners), car son ordre de travail est à usage unique. Un runner qui quitte juste après son démarrage nécessite un traitement différent de celui qui quitte pour toute autre raison.

599 

600* **Une sortie normale** : le runner a terminé ses sessions et s'est drainé, a atteint son heure de retraite, ou a reçu l'ordre de s'arrêter. Redémarrez-le pour que l'environnement ait à nouveau de la capacité. [Cycle de vie du runner](/docs/fr/self-hosted-environments#runner-lifecycle) décrit ces sorties.

601* **Un démarrage échoué** : le runner ne peut pas démarrer avec la configuration ou l'hôte qui lui a été donné, donc il quitte quelques secondes après son démarrage, et il quitte de la même manière chaque fois que vous le redémarrez. Le redémarrer plus rapidement n'aide pas. Quelqu'un doit lire sa sortie et corriger la cause.

602 

603Configurez votre superviseur pour redémarrer le runner chaque fois qu'il quitte, pour attendre plus longtemps entre les redémarrages quand le runner continue de quitter juste après son démarrage, et pour avertir quelqu'un quand cela continue de se produire.

604 

605<h4 id="recognize-a-failed-start">

606 Reconnaître un démarrage échoué

607</h4>

608 

609Quand le runner ne peut pas démarrer, il imprime une ligne qui dit pourquoi, puis il quitte. Pour la plupart des causes, la ligne contient `[runner:fatal]`. Pour certaines causes, la ligne commence par `error:` à la place, y compris quand le runner ne peut pas analyser ses drapeaux, ne peut pas lire le secret de l'environnement, ou ne peut pas créer ou écrire au répertoire de base. La ligne suivante pointe alors vers `--help`.

610 

611La plupart des lignes de journal commencent par un horodatage et `[self-hosted-runner]`, que l'exemple ci-dessous omet. Par exemple, un runner démarré avec le proxy git Anthropic et une capacité supérieure à un imprime une ligne comme celle-ci :

612 

613```text theme={null}

614[runner:fatal] --use-anthropic-git-proxy requires --capacity 1 (the proxy URL is per-session and linked worktrees share origin). Omit --use-anthropic-git-proxy or set --capacity 1.

615```

616 

617Cherchez la ligne dans la sortie standard et l'erreur standard du runner, dans les journaux de conteneur de votre plateforme, ou dans le fichier que vous avez défini avec [`--log-file`](/docs/fr/self-hosted-environments-reference#runner-cli-flags). Le runner imprime une ligne `error:` avant d'ouvrir le fichier journal, donc cherchez-la dans le terminal ou vos journaux de conteneur, comme le note [Dépannage](#troubleshooting).

618 

619Ceux-ci aident également quand vous lisez un démarrage échoué :

620 

621* **Aucune ligne du tout** : un runner que l'hôte tue n'en imprime aucune. Si la sortie se termine sans ligne `[runner:fatal]` et sans ligne `error:`, vérifiez si l'hôte ou votre orchestrateur a arrêté le processus, par exemple pour avoir dépassé une limite de mémoire.

622* **Le code de sortie** : le runner ne met pas de côté un code de sortie pour les erreurs qui se répètent à chaque démarrage. Il quitte avec le même code pour une erreur de configuration, comme une combinaison de drapeaux non supportée, et pour une défaillance qui peut se résoudre d'elle-même, comme l'API restant inaccessible via les propres tentatives du runner. Basez la décision d'attendre plus longtemps sur la rapidité avec laquelle le runner a quitté, et lisez la sortie du runner pour apprendre pourquoi.

623* **Un environnement qui semble sain** : certaines étapes de démarrage s'exécutent après que le runner s'enregistre auprès de votre environnement, comme [`--configure-git`](#let-the-runner-configure-git) et la configuration des identifiants du proxy git Anthropic. Si l'une de ces étapes échoue, l'environnement peut continuer à lister ce runner pendant quelques minutes après que le processus ait quitté, et la page **Environnements cloud** peut afficher **Sain** alors qu'aucun runner ne récupère le travail. Si les sessions restent en attente dans un environnement qui semble sain, vérifiez si votre superviseur redémarre le runner.

624 

625<h4 id="restart-with-a-wait-that-grows">

626 Redémarrer avec une attente qui grandit

627</h4>

628 

629La façon dont vous obtenez une attente croissante dépend de votre superviseur.

630 

631* **Kubernetes** : le [Deployment](#kubernetes) sur cette page n'a besoin d'aucune modification. Après qu'un conteneur quitte, le kubelet par défaut attend avant de redémarrer le conteneur, et l'attente grandit à chaque redémarrage jusqu'à un plafond. L'attente recommence une fois que le conteneur a fonctionné pendant un certain temps sans quitter.

632 

633 Le kubelet applique la même attente après une sortie normale quand le conteneur n'a fonctionné que brièvement. Un runner qui se draine souvent peut donc afficher le statut `CrashLoopBackOff` aussi, donc lisez la sortie avant de conclure que le runner ne peut pas démarrer. La commande ci-dessous lit la sortie de la dernière exécution d'un pod du Deployment :

634 

635 ```bash theme={null}

636 kubectl logs --previous -n claude-runners deploy/claude-runner

637 ```

638 

639 Quand la dernière exécution était un démarrage échoué, la ligne `[runner:fatal]` ou `error:` est parmi les dernières lignes de la sortie. Pour lire la dernière exécution d'un autre pod, nommez ce pod à la place de `deploy/claude-runner`.

640* **Docker et Docker Compose** : la [recette Compose](#docker-compose) sur cette page n'a besoin d'aucune modification. Avec `restart: always`, Docker attend plus longtemps avant chaque redémarrage d'un conteneur qui continue de quitter, jusqu'à un plafond. Remplacez `<container>` par le nom du conteneur dans la commande ci-dessous, qui lit combien de fois Docker a redémarré le conteneur :

641 

642 ```bash theme={null}

643 docker inspect --format '{{.RestartCount}}' <container>

644 ```

645 

646 La commande imprime un nombre. Un nombre qui continue de grimper signifie que Docker continue de redémarrer le runner.

647* **Une unité systemd** : par défaut, systemd attend le même `RestartSec` avant chaque redémarrage et ne l'allonge pas, donc une unité avec `Restart=always` redémarre un runner qui ne peut pas démarrer à cet intervalle chaque fois. Quand les démarrages viennent assez vite pour atteindre la limite de taux de démarrage de l'unité, cinq démarrages en 10 secondes par défaut, systemd arrête de redémarrer l'unité. L'unité reste arrêtée jusqu'à ce que quelqu'un la redémarre, ce que systemd permet une fois que l'intervalle de la limite de taux a passé ou après `systemctl reset-failed`. Parce que `RestartSec` s'applique à chaque redémarrage, une valeur plus longue retarde également le redémarrage après une sortie normale. Choisissez une valeur qui équilibre les deux, et alertez sur le nombre de redémarrages de l'unité.

648* **Une boucle shell ou votre propre superviseur** : appliquez la même règle vous-même. Commencez par une attente de cinq secondes. Après chaque exécution qui s'est terminée dans une minute, doublez l'attente pour le prochain redémarrage, jusqu'à cinq minutes. Après une exécution qui a duré une minute ou plus, revenez à cinq secondes.

649 

650<h4 id="check-why-the-runner-keeps-exiting">

651 Vérifier pourquoi le runner continue de quitter

652</h4>

653 

654Quand le runner a quitté juste après le démarrage plusieurs fois de suite, arrêtez et vérifiez ceux-ci avant de le redémarrer à nouveau.

655 

656* **La dernière ligne `[runner:fatal]` ou `error:`** : elle dit pourquoi le runner s'est arrêté. [Dépannage](#troubleshooting) énumère les causes courantes.

657* **La combinaison de drapeaux** : le [proxy git Anthropic](#use-the-anthropic-git-proxy) nécessite `--capacity 1`. Les recettes sur cette page utilisent une capacité plus élevée, donc abaissez-la quand vous ajoutez le proxy à l'une d'elles.

658* **Ce que le service de l'environnement peut atteindre** : si le runner démarre à la main et échoue sous votre superviseur, comparez l'utilisateur, le répertoire personnel, le `PATH`, et la limite de mémoire. `--configure-git` et le proxy git Anthropic ont besoin de git sur le `PATH` et d'un `~/.gitconfig` inscriptible.

659* **Le secret de l'environnement** : si vous avez révoqué le secret ou l'avez mal saisi, le runner imprime une ligne qui contient `RegisterRunner auth failed`.

660* **L'onglet Activité de l'environnement** : ouvrez l'environnement et sélectionnez **Activité**. Si de nouveaux runners continuent d'apparaître là et qu'aucun ne récupère le travail, votre superviseur redémarre le runner.

661 

662Pour un diagnostic guidé sur l'hôte runner, exécutez la [sous-commande doctor](#troubleshooting).

663 

557<h2 id="what’s-next">664<h2 id="what’s-next">

558 Prochaines étapes665 Prochaines étapes

559</h2>666</h2>

Details

105 </Step>105 </Step>

106</Steps>106</Steps>

107 107 

108Le runner se termine par conception une fois que ses sessions actives se terminent ; consultez [Cycle de vie du runner](/docs/fr/self-hosted-environments#runner-lifecycle). Pour la production, déployez-le sous un orchestrateur qui le redémarre à la sortie. Consultez [Déployer en production](/docs/fr/self-hosted-environments-deploy).108Le runner se termine par conception une fois que ses sessions actives se terminent ; consultez [Cycle de vie du runner](/docs/fr/self-hosted-environments#runner-lifecycle). Pour la production, déployez-le sous un orchestrateur qui le redémarre à la sortie et attend plus longtemps entre les redémarrages lorsque le runner continue à se terminer juste après son démarrage. Consultez [Déployer en production](/docs/fr/self-hosted-environments-deploy) et [Quand le runner se termine](/docs/fr/self-hosted-environments-deploy#when-the-runner-exits).

109 109 

110<h2 id="send-a-follow-up-message-to-a-running-session">110<h2 id="send-a-follow-up-message-to-a-running-session">

111 Envoyer un message de suivi à une session en cours d'exécution111 Envoyer un message de suivi à une session en cours d'exécution

Details

80 Drapeaux du connecteur SCM80 Drapeaux du connecteur SCM

81</h3>81</h3>

82 82 

83L'orchestrateur peut maintenir une connexion WebSocket permanente au plan de contrôle d'Anthropic afin que les flux pré-session hébergés, comme le sélecteur de dépôt et le résolveur de branche ou de ref, puissent atteindre un hôte GitHub Enterprise Server qui n'est routable que de l'intérieur de votre réseau. Le connecteur reste désactivé sauf si vous définissez `--scm-connector-host`.83Le connecteur SCM n'est pas disponible, donc laissez les drapeaux de cette section non définis. Si vous définissez `--scm-connector-host`, la connexion ne s'ouvre pas, et l'orchestrateur continue à la réessayer. Les runners commencent toujours en tant que sessions en file d'attente.

84 

85Le connecteur est une connexion WebSocket permanente de l'orchestrateur au plan de contrôle d'Anthropic. Il est conçu pour permettre aux flux pré-session hébergés, tels que le sélecteur de dépôt et le résolveur de branche ou de ref, d'atteindre un hôte GitHub Enterprise Server qui n'est routable que de l'intérieur de votre réseau. Consultez [Exigences réseau](/docs/fr/github-enterprise-server#network-requirements) sur la page GitHub Enterprise Server pour voir ce dont ces flux ont besoin.

84 86 

85| Drapeau | Par défaut | Description |87| Drapeau | Par défaut | Description |

86| :- | :- | :- |88| :- | :- | :- |

87| `--scm-connector-host <host[:port]>` | non défini | Nom d'hôte GitHub Enterprise Server vers lequel transférer les demandes. Le port par défaut est `443`. Définir ce drapeau active le connecteur. |89| `--scm-connector-host <host[:port]>` | non défini | Nom d'hôte GitHub Enterprise Server vers lequel transférer les demandes. Le port par défaut est `443`. |

88| `--scm-connector-id <n>` | requis avec `--scm-connector-host` | L'ID numérique de la connexion GitHub Enterprise Server de votre organisation. Contactez votre équipe de compte Anthropic pour la valeur quand vous activez le connecteur. |90| `--scm-connector-id <n>` | requis avec `--scm-connector-host` | L'ID numérique de la connexion GitHub Enterprise Server de votre organisation. |

89| `--scm-connector-provider <slug>` | `ghe` | Segment de chemin identifiant le fournisseur, correspondant à `^[a-z0-9-]{1,32}$`. |91| `--scm-connector-provider <slug>` | `ghe` | Segment de chemin identifiant le fournisseur, correspondant à `^[a-z0-9-]{1,32}$`. |

90| `--scm-connector-ca-file <path>` | non défini | Bundle CA supplémentaire, au format PEM, pour les connexions TLS à l'hôte GitHub Enterprise Server. |92| `--scm-connector-ca-file <path>` | non défini | Bundle CA supplémentaire, au format PEM, pour les connexions TLS à l'hôte GitHub Enterprise Server. |

91| `--scm-connector-host-rewrite <from>=<to_host:to_port>` | non défini | Pour les tests de bout en bout uniquement : redirige la connexion TCP tout en gardant l'en-tête Host et TLS SNI comme `--scm-connector-host`. |93| `--scm-connector-host-rewrite <from>=<to_host:to_port>` | non défini | Pour les tests de bout en bout uniquement : redirige la connexion TCP tout en gardant l'en-tête Host et TLS SNI comme `--scm-connector-host`. |

92 94 

93Le connecteur s'authentifie avec le secret d'environnement existant de l'orchestrateur et se reconnecte automatiquement : avec backoff exponentiel sur une connexion abandonnée, ou un délai fixe de 30 secondes quand le plan de contrôle ferme la connexion parce qu'un autre réplica d'orchestrateur la détient déjà.95À chaque tentative de connexion, l'orchestrateur envoie son secret d'environnement existant, et il réessaye automatiquement avec un backoff exponentiel, plafonné à 30 secondes plus une gigue.

94 96 

95<h2 id="environment-variable-only-settings">97<h2 id="environment-variable-only-settings">

96 Paramètres réservés aux variables d'environnement98 Paramètres réservés aux variables d'environnement

Details

310* **Une session interactive qui ne peut pas afficher la boîte de dialogue** : Claude Code n'applique pas les paramètres livrés et conserve les derniers paramètres approuvés. La boîte de dialogue apparaît dans la prochaine session qui peut l'afficher. Nécessite Claude Code v2.1.211 ou version ultérieure.310* **Une session interactive qui ne peut pas afficher la boîte de dialogue** : Claude Code n'applique pas les paramètres livrés et conserve les derniers paramètres approuvés. La boîte de dialogue apparaît dans la prochaine session qui peut l'afficher. Nécessite Claude Code v2.1.211 ou version ultérieure.

311* **`claude install` ou `claude update`** : Claude Code n'affiche pas la boîte de dialogue pendant l'une ou l'autre commande. La commande s'exécute avec les derniers paramètres approuvés, et la boîte de dialogue apparaît dans votre prochaine session interactive. Si Claude Code attend la récupération des paramètres au démarrage, par exemple avec [`forceRemoteSettingsRefresh`](#enforce-fail-closed-startup) défini ou sur un déploiement [passerelle d'applications Claude](/docs/fr/claude-apps-gateway), il affiche la boîte de dialogue pendant la commande à la place, et une exécution d'installation à partir d'un tuyau échoue ; voir [`Raw mode is not supported` during install](/docs/fr/troubleshoot-install#raw-mode-is-not-supported-during-install). Avant v2.1.246, Claude Code essayait d'afficher la boîte de dialogue pendant ces commandes aussi.311* **`claude install` ou `claude update`** : Claude Code n'affiche pas la boîte de dialogue pendant l'une ou l'autre commande. La commande s'exécute avec les derniers paramètres approuvés, et la boîte de dialogue apparaît dans votre prochaine session interactive. Si Claude Code attend la récupération des paramètres au démarrage, par exemple avec [`forceRemoteSettingsRefresh`](#enforce-fail-closed-startup) défini ou sur un déploiement [passerelle d'applications Claude](/docs/fr/claude-apps-gateway), il affiche la boîte de dialogue pendant la commande à la place, et une exécution d'installation à partir d'un tuyau échoue ; voir [`Raw mode is not supported` during install](/docs/fr/troubleshoot-install#raw-mode-is-not-supported-during-install). Avant v2.1.246, Claude Code essayait d'afficher la boîte de dialogue pendant ces commandes aussi.

312* **Une erreur ferme la boîte de dialogue avant que vous répondiez** : Claude Code n'applique pas les paramètres livrés et conserve les derniers paramètres approuvés. Il affiche la boîte de dialogue à nouveau dans la prochaine session qui peut l'afficher.312* **Une erreur ferme la boîte de dialogue avant que vous répondiez** : Claude Code n'applique pas les paramètres livrés et conserve les derniers paramètres approuvés. Il affiche la boîte de dialogue à nouveau dans la prochaine session qui peut l'afficher.

313* **Une exécution non interactive**, telle que `claude -p` ou une session Agent SDK : Claude Code ne peut pas afficher la boîte de dialogue, de sorte que lorsque les paramètres livrés nécessiteraient une approbation, il les applique pour cette exécution uniquement. Il ne les enregistre pas comme approuvés ou ne les écrit pas dans le [cache local](#fetch-and-caching-behavior), et la prochaine session interactive affiche la boîte de dialogue. Jusqu'à ce qu'un utilisateur approuve dans une session interactive, chaque exécution non interactive récupère les paramètres à nouveau au démarrage. Avant v2.1.207, une exécution non interactive enregistrait les paramètres comme approuvés, de sorte que les sessions interactives ultérieures n'affichaient jamais la boîte de dialogue pour eux.313* **Une exécution non interactive**, telle que `claude -p`, une session Agent SDK, ou une session dans le panneau de chat de l'extension VS Code ou l'onglet Code de l'application de bureau : Claude Code ne peut pas afficher la boîte de dialogue, de sorte que lorsque les paramètres livrés nécessiteraient une approbation, il les applique pour cette exécution uniquement. Il ne les enregistre pas comme approuvés ou ne les écrit pas dans le [cache local](#fetch-and-caching-behavior), et la prochaine session interactive affiche la boîte de dialogue. Jusqu'à ce qu'un utilisateur approuve dans une session interactive, chaque exécution non interactive récupère les paramètres à nouveau au démarrage. Avant v2.1.207, une exécution non interactive enregistrait les paramètres comme approuvés, de sorte que les sessions interactives ultérieures n'affichaient jamais la boîte de dialogue pour eux.

314 314 

315<h4 id="environment-variables-and-the-approval-dialog">315<h4 id="environment-variables-and-the-approval-dialog">

316 Variables d'environnement et la boîte de dialogue d'approbation316 Variables d'environnement et la boîte de dialogue d'approbation

Details

595| [`agent`](#agent) | Commencez chaque session en tant que [sous-agent](/docs/fr/sub-agents) nommé avec son invite, ses outils et son modèle | Agents, sessions, and worktrees | Any file |595| [`agent`](#agent) | Commencez chaque session en tant que [sous-agent](/docs/fr/sub-agents) nommé avec son invite, ses outils et son modèle | Agents, sessions, and worktrees | Any file |

596| [`agentPushNotifEnabled`](#agentpushnotifenabled) | Laissez Claude envoyer une [notification push à votre téléphone](/docs/fr/remote-control#mobile-push-notifications) quand il le décide | Remote, desktop, and notifications | Any file |596| [`agentPushNotifEnabled`](#agentpushnotifenabled) | Laissez Claude envoyer une [notification push à votre téléphone](/docs/fr/remote-control#mobile-push-notifications) quand il le décide | Remote, desktop, and notifications | Any file |

597| [`allowAllClaudeAiMcps`](#allowallclaudeaimcps) | Chargez les [connecteurs claude.ai](/docs/fr/mcp) que Claude Code récupère lui-même aux côtés d'un [`managed-mcp.json`](/docs/fr/managed-mcp#exclusive-control-with-managed-mcp-json) déployé | MCP | Managed |597| [`allowAllClaudeAiMcps`](#allowallclaudeaimcps) | Chargez les [connecteurs claude.ai](/docs/fr/mcp) que Claude Code récupère lui-même aux côtés d'un [`managed-mcp.json`](/docs/fr/managed-mcp#exclusive-control-with-managed-mcp-json) déployé | MCP | Managed |

598| [`allowClaudeInChromeWithManagedMcp`](#allowclaudeinchromewithmanagedmcp) | Laissez le serveur [Claude in Chrome](/docs/fr/chrome) intégré s'exécuter aux côtés d'un [`managed-mcp.json`](/docs/fr/managed-mcp#exclusive-control-with-managed-mcp-json) déployé | MCP | Managed |

598| [`allowedChannelPlugins`](#allowedchannelplugins) | Remplacez la liste d'autorisation par défaut des [plugins de canal](/docs/fr/channels#restrict-which-channel-plugins-can-run) qui peuvent envoyer des messages | Plugins and skills | Managed |599| [`allowedChannelPlugins`](#allowedchannelplugins) | Remplacez la liste d'autorisation par défaut des [plugins de canal](/docs/fr/channels#restrict-which-channel-plugins-can-run) qui peuvent envoyer des messages | Plugins and skills | Managed |

599| [`allowedHttpHookUrls`](#allowedhttphookurls) | Limitez les URL que les [hooks HTTP](/docs/fr/hooks) peuvent cibler | Hooks and automation | Any file |600| [`allowedHttpHookUrls`](#allowedhttphookurls) | Limitez les URL que les [hooks HTTP](/docs/fr/hooks) peuvent cibler | Hooks and automation | Any file |

600| [`allowedMcpServers`](#allowedmcpservers) | Liste d'autorisation des [serveurs MCP](/docs/fr/mcp) que les utilisateurs peuvent ajouter | MCP | Any file |601| [`allowedMcpServers`](#allowedmcpservers) | Liste d'autorisation des [serveurs MCP](/docs/fr/mcp) que les utilisateurs peuvent ajouter | MCP | Any file |


1744 * `"default"` : Claude Code exécute uniquement les lectures sans demander1745 * `"default"` : Claude Code exécute uniquement les lectures sans demander

1745 * `"acceptEdits"` : Claude Code exécute aussi les éditions de fichiers et les commandes courantes du système de fichiers comme `mkdir` et `mv` sans demander1746 * `"acceptEdits"` : Claude Code exécute aussi les éditions de fichiers et les commandes courantes du système de fichiers comme `mkdir` et `mv` sans demander

1746 * `"plan"` : Claude Code lit et planifie mais bloque les éditions jusqu'à ce que vous approuviez un plan1747 * `"plan"` : Claude Code lit et planifie mais bloque les éditions jusqu'à ce que vous approuviez un plan

1747 * `"auto"` : Claude Code exécute tout, avec des vérifications de sécurité en arrière-plan1748 * `"auto"` : Claude Code exécute sans invites de routine ; avant que les 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

1748 * `"dontAsk"` : Claude Code refuse automatiquement chaque appel qui inviterait autrement ; les lectures, les autres actions qui ne nécessitent pas d'approbation, et les outils pré-approuvés s'exécutent toujours1749 * `"dontAsk"` : Claude Code refuse automatiquement chaque appel qui inviterait autrement ; les lectures, les autres actions qui ne nécessitent pas d'approbation, et les outils pré-approuvés s'exécutent toujours

1749 * `"bypassPermissions"` : Claude Code exécute tout sans demander1750 * `"bypassPermissions"` : Claude Code exécute tout sans demander

1750 * `"manual"` : un alias pour `"default"`, dans Claude Code v2.1.200 ou ultérieur1751 * `"manual"` : un alias pour `"default"`, dans Claude Code v2.1.200 ou ultérieur


3064</h4>3065</h4>

3065 3066 

3066* Une valeur ici écrase la même variable exportée dans votre shell, et lorsque plus d'un fichier de paramètres définit une variable, celle avec la [plus haute priorité](/docs/fr/settings#settings-precedence) s'applique. [Variables que Claude Code ignore dans `env`](#variables-claude-code-ignores-in-env) répertorie les exceptions pour les paramètres de projet et locaux.3067* Une valeur ici écrase la même variable exportée dans votre shell, et lorsque plus d'un fichier de paramètres définit une variable, celle avec la [plus haute priorité](/docs/fr/settings#settings-precedence) s'applique. [Variables que Claude Code ignore dans `env`](#variables-claude-code-ignores-in-env) répertorie les exceptions pour les paramètres de projet et locaux.

3068* Lorsque l'application Claude Desktop ou un [environnement auto-hébergé](/docs/fr/self-hosted-environments) démarre la session, l'environnement de lancement qu'il construit a la priorité à la place : Claude Code ignore une valeur `env` de n'importe quel fichier de paramètres pour une variable que l'environnement de lancement a déjà définie. Le [journal de débogage](/docs/fr/debug-your-config) nomme chaque variable ignorée.

3067* Pour annuler une exportation de shell, définissez la variable sur `""`. Claude Code traite une valeur vide comme non définie pour la sélection du fournisseur, et les sous-processus héritent de la valeur vide.3069* Pour annuler une exportation de shell, définissez la variable sur `""`. Claude Code traite une valeur vide comme non définie pour la sélection du fournisseur, et les sous-processus héritent de la valeur vide.

3068* `NO_COLOR` et `FORCE_COLOR` définis ici ne parviennent qu'aux sous-processus. Pour modifier les couleurs de l'interface de Claude Code lui-même, définissez-les dans votre shell avant de lancer `claude`.3070* `NO_COLOR` et `FORCE_COLOR` définis ici ne parviennent qu'aux sous-processus. Pour modifier les couleurs de l'interface de Claude Code lui-même, définissez-les dans votre shell avant de lancer `claude`.

3069* Les valeurs ici sont du texte brut dans le fichier de paramètres et parviennent à chaque sous-processus que Claude Code démarre. Pour un jeton porteur OTLP qui tourne, utilisez [`otelHeadersHelper`](#otelheadershelper) ; pour les identifiants d'API, utilisez [`apiKeyHelper`](#apikeyhelper).3071* Les valeurs ici sont du texte brut dans le fichier de paramètres et parviennent à chaque sous-processus que Claude Code démarre. Pour un jeton porteur OTLP qui tourne, utilisez [`otelHeadersHelper`](#otelheadershelper) ; pour les identifiants d'API, utilisez [`apiKeyHelper`](#apikeyhelper).


5156 5158 

5157[`allowedMcpServers`](#allowedmcpservers) et [`deniedMcpServers`](#deniedmcpservers) s'appliquent toujours aux connecteurs que cette clé charge. Les connecteurs livrés à une [session cloud](/docs/fr/claude-code-on-the-web) dont l'hôte porte un `managed-mcp.json`, comme un exécuteur auto-hébergé, restent supprimés. Consultez [Autoriser les connecteurs claude.ai aux côtés de l'ensemble géré](/docs/fr/managed-mcp#allow-claude-ai-connectors-alongside-the-managed-set).5159[`allowedMcpServers`](#allowedmcpservers) et [`deniedMcpServers`](#deniedmcpservers) s'appliquent toujours aux connecteurs que cette clé charge. Les connecteurs livrés à une [session cloud](/docs/fr/claude-code-on-the-web) dont l'hôte porte un `managed-mcp.json`, comme un exécuteur auto-hébergé, restent supprimés. Consultez [Autoriser les connecteurs claude.ai aux côtés de l'ensemble géré](/docs/fr/managed-mcp#allow-claude-ai-connectors-alongside-the-managed-set).

5158 5160 

5161<h3 id="allowclaudeinchromewithmanagedmcp">

5162 `allowClaudeInChromeWithManagedMcp`

5163</h3>

5164 

5165Permettez au serveur [Claude dans Chrome](/docs/fr/chrome) intégré de s'exécuter aux côtés d'un `managed-mcp.json` déployé. Sans cette clé, un `managed-mcp.json` déployé bloque Claude dans Chrome dans les sessions de terminal. Nécessite Claude Code v2.1.282 ou ultérieur.

5166 

5167* **Portée** : [`Managed`](#scopes), uniquement à partir des paramètres gérés du périphérique lui-même : une plist déployée par MDM ou une clé de registre HKLM, ou un fichier `managed-settings.json` système. Claude Code l'ignore dans les paramètres gérés par le serveur, dans le registre HKCU accessible en écriture par l'utilisateur, et dans les paramètres utilisateur ou projet.

5168* **Type** : Booléen

5169 * `true` : le serveur Claude dans Chrome intégré peut s'exécuter aux côtés d'un `managed-mcp.json` déployé

5170 * `false` : un `managed-mcp.json` déployé bloque Claude dans Chrome dans les sessions de terminal

5171* **Défaut** : `false`, donc un `managed-mcp.json` déployé bloque Claude dans Chrome dans les sessions de terminal

5172 

5173```json managed-settings.json theme={null}

5174{

5175 "allowClaudeInChromeWithManagedMcp": true

5176}

5177```

5178 

5179Une entrée [`deniedMcpServers`](#deniedmcpservers) pour `claude-in-chrome` bloque toujours le serveur avec cette clé activée. Consultez [Autoriser Claude dans Chrome aux côtés de l'ensemble géré](/docs/fr/managed-mcp#allow-claude-in-chrome-alongside-the-managed-set).

5180 

5159<h3 id="allowedmcpservers">5181<h3 id="allowedmcpservers">

5160 `allowedMcpServers`5182 `allowedMcpServers`

5161</h3>5183</h3>

5162 5184 

5163Créez une liste blanche des serveurs MCP que les utilisateurs peuvent ajouter. Claude Code bloque tout serveur qui ne correspond pas à une entrée, où qu'elle soit définie, y compris les serveurs de plugins, les serveurs passés avec `--mcp-config`, et les serveurs de claude.ai.5185Créez une liste blanche des serveurs MCP que les utilisateurs peuvent ajouter. Claude Code bloque tout serveur qui ne correspond pas à une entrée, où qu'elle soit définie, y compris les serveurs de plugins, les serveurs passés avec `--mcp-config`, et les serveurs de claude.ai.

5164 5186 

5165Les serveurs intégrés tels que Claude dans Chrome, le serveur `ide` auquel Claude Code se connecte dans un IDE [VS Code](/docs/fr/vs-code#the-built-in-ide-mcp-server) ou [JetBrains](/docs/fr/jetbrains#the-built-in-ide-mcp-server) en cours d'exécution, et les serveurs que l'interface de ligne de commande elle-même configure sont exemptés de la liste blanche, et la liste noire s'applique toujours à eux. Les serveurs `type: "sdk"` en processus sont exemptés des deux listes ; [l'application qui a démarré la session](/docs/fr/mcp#how-connectors-reach-claude-code) les enregistre.5187Les serveurs intégrés tels que Claude dans Chrome, le serveur `ide` auquel Claude Code se connecte dans un IDE [VS Code](/docs/fr/vs-code#the-built-in-ide-mcp-server) ou [JetBrains](/docs/fr/jetbrains#the-built-in-ide-mcp-server) en cours d'exécution, et les serveurs que l'interface de ligne de commande elle-même configure sont exemptés de la liste blanche, et la liste noire s'applique toujours à eux. Sur Claude Code v2.1.268 ou ultérieur, les outils Slack d'une session [Claude Tag](/docs/fr/claude-tag) sont également exemptés de la liste blanche, et la liste noire s'applique toujours à eux. Les serveurs `type: "sdk"` en processus sont exemptés des deux listes ; [l'application qui a démarré la session](/docs/fr/mcp#how-connectors-reach-claude-code) les enregistre.

5166 5188 

5167Les serveurs que votre organisation livre sont également exemptés de la liste blanche, et la liste noire s'applique toujours à eux. L'exemption couvre chaque entrée [`managedMcpServers`](#managedmcpservers), et toute entrée [`managed-mcp.json`](/docs/fr/managed-mcp#exclusive-control-with-managed-mcp-json) dont les valeurs n'utilisent pas d'expansion `${VAR}`. Consultez [Comment un serveur est évalué](/docs/fr/managed-mcp#how-a-server-is-evaluated) pour l'ordre de vérification complet. Avant la v2.1.259, les serveurs de `managed-mcp.json` devaient également correspondre.5189Les serveurs que votre organisation livre sont également exemptés de la liste blanche, et la liste noire s'applique toujours à eux. L'exemption couvre chaque entrée [`managedMcpServers`](#managedmcpservers), et toute entrée [`managed-mcp.json`](/docs/fr/managed-mcp#exclusive-control-with-managed-mcp-json) dont les valeurs n'utilisent pas d'expansion `${VAR}`. Consultez [Comment un serveur est évalué](/docs/fr/managed-mcp#how-a-server-is-evaluated) pour l'ordre de vérification complet. Avant la v2.1.259, les serveurs de `managed-mcp.json` devaient également correspondre.

5168 5190 


6303 `disableSideloadFlags`6325 `disableSideloadFlags`

6304</h3>6326</h3>

6305 6327 

6306Rejeter les drapeaux CLI `--plugin-dir`, `--plugin-url`, `--agents` et `--mcp-config` au démarrage, que les utilisateurs pourraient autrement transmettre pour contourner [`strictKnownMarketplaces`](#strictknownmarketplaces) pour une seule exécution. Claude Code se ferme avec une erreur nommant les drapeaux rejetés et applique la même vérification aux surfaces qui démarrent le CLI avec ces drapeaux en interne, actuellement les sessions locales [Cowork](/docs/fr/desktop) dans l'application de bureau. Dans les [sessions cloud](/docs/fr/claude-code-on-the-web), Claude Code supprime les serveurs MCP que le serveur a livrés via `--mcp-config`, sauf les entrées `type: "sdk"` en processus, et démarre la session. Nécessite Claude Code v2.1.193 ou ultérieur.6328Rejeter les drapeaux CLI `--plugin-dir`, `--plugin-url`, `--agents` et `--mcp-config` au démarrage, que les utilisateurs pourraient autrement transmettre pour contourner [`strictKnownMarketplaces`](#strictknownmarketplaces) pour une seule exécution. Claude Code se ferme avec une erreur nommant les drapeaux rejetés. Dans les [sessions cloud](/docs/fr/claude-code-on-the-web), Claude Code démarre plutôt la session et supprime chaque entrée `--mcp-config` livrée par le serveur sauf les entrées `type: "sdk"` en processus et les outils Slack d'une session [Claude Tag](/docs/fr/claude-tag). Nécessite Claude Code v2.1.193 ou ultérieur.

6307 6329 

6308* **Portée** : [`Managed`](#scopes)6330* **Portée** : [`Managed`](#scopes)

6309* **Type** : Booléen6331* **Type** : Booléen

6310 * `true` : Claude Code rejette `--plugin-dir`, `--plugin-url`, `--agents` et `--mcp-config` au démarrage et se ferme avec une erreur les nommant, sauf que dans les sessions cloud il supprime les serveurs MCP que le serveur a livrés via `--mcp-config`, sauf les entrées `type: "sdk"` en processus, et démarre la session6332 * `true` : Claude Code rejette `--plugin-dir`, `--plugin-url`, `--agents` et `--mcp-config` au démarrage et se ferme avec une erreur les nommant. Dans les sessions cloud, il démarre plutôt la session et supprime chaque entrée `--mcp-config` livrée par le serveur sauf les entrées `type: "sdk"` en processus et les outils Slack d'une session Claude Tag

6311 * `false` : Claude Code accepte ces drapeaux6333 * `false` : Claude Code accepte ces drapeaux

6312* **Défaut** : `false`6334* **Défaut** : `false`

6313 6335 


6321 6343 

6322La même vérification couvre les dossiers de plugins nommés dans la variable d'environnement [`CLAUDE_CODE_PLUGIN_DIRS`](/docs/fr/env-vars#variables), ce qui nécessite Claude Code v2.1.280 ou ultérieur. Lorsque la variable nomme un dossier, Claude Code se ferme avec la même erreur, et l'erreur dit de désactiver la variable.6344La même vérification couvre les dossiers de plugins nommés dans la variable d'environnement [`CLAUDE_CODE_PLUGIN_DIRS`](/docs/fr/env-vars#variables), ce qui nécessite Claude Code v2.1.280 ou ultérieur. Lorsque la variable nomme un dossier, Claude Code se ferme avec la même erreur, et l'erreur dit de désactiver la variable.

6323 6345 

6324Dans les sessions cloud, Claude Code ignore également les mises à jour MCP livrées en milieu de session, le chemin derrière la configuration de session cloud et les appels SDK `setMcpServers()` qui atteignent ces sessions. Les entrées `type: "sdk"` en processus restent exemptes là aussi. Avant v2.1.239, un `--mcp-config` livré par le serveur bloquait le démarrage d'une session cloud.6346Dans les sessions cloud, Claude Code ignore également les mises à jour MCP livrées en milieu de session, le chemin derrière la configuration de session cloud et les appels SDK `setMcpServers()` qui atteignent ces sessions. Les entrées `type: "sdk"` en processus et les outils Slack d'une session Claude Tag restent exemptes là aussi. Avant v2.1.268, cette suppression au démarrage et la suppression au démarrage supprimaient également les outils Slack d'une session Claude Tag. Avant v2.1.239, un `--mcp-config` livré par le serveur bloquait le démarrage d'une session cloud.

6347 

6348L'application de bureau gère certains plugins elle-même, y compris les plugins synchronisés à partir de claude.ai et les plugins que votre organisation déploie via l'application. Si vous déployez cette clé sur un appareil via MDM, une politique au niveau du système d'exploitation ou un fichier de paramètres gérés, l'application de bureau ne transmet pas ces plugins aux sessions suivantes sur cet appareil :

6349 

6350* **[Sessions de code sur la machine de l'utilisateur](/docs/fr/desktop#environment-configuration)** : elles démarrent également sans les compétences activées pour le compte claude.ai de l'utilisateur. Les plugins que Claude Code installe à partir des places de marché dans vos paramètres gérés se chargent toujours. Dans [Claude Desktop sur 3P](https://claude.com/docs/third-party/claude-desktop/overview), les serveurs MCP des plugins que vous déployez dans le répertoire `org-plugins` de l'appareil restent disponibles aussi, car l'application de bureau s'y connecte elle-même. Avant Claude Desktop v1.37937.0, ces sessions échouaient au démarrage à la place.

6351* **[Sessions Cowork sur la machine de l'utilisateur](/docs/fr/managed-settings#where-and-when-a-policy-applies)** : les compétences à l'intérieur de ces plugins et les compétences activées pour le compte claude.ai de l'utilisateur restent disponibles. Dans [Claude Desktop sur 3P](https://claude.com/docs/third-party/claude-desktop/overview), les serveurs MCP des plugins que vous déployez dans le répertoire `org-plugins` de l'appareil restent disponibles aussi, car l'application de bureau s'y connecte elle-même. Avant Claude Desktop v1.44121.0, ces sessions échouaient au démarrage à la place.

6325 6352 

6326<h3 id="forceremotesettingsrefresh">6353<h3 id="forceremotesettingsrefresh">

6327 `forceRemoteSettingsRefresh`6354 `forceRemoteSettingsRefresh`

skills.md +52 −6

Details

56 56 

57Claude modifie le fichier enregistré uniquement lorsqu'il a mal dirigé une exécution, comme une commande qui a échoué ou une étape manquante, afin que vous puissiez valider le fichier sans diffs par session. Avant v2.1.205, la compétence groupée a dit à Claude de plier tout ce qu'une exécution a appris, ce qui a causé des conflits de fusion fréquents.57Claude modifie le fichier enregistré uniquement lorsqu'il a mal dirigé une exécution, comme une commande qui a échoué ou une étape manquante, afin que vous puissiez valider le fichier sans diffs par session. Avant v2.1.205, la compétence groupée a dit à Claude de plier tout ce qu'une exécution a appris, ce qui a causé des conflits de fusion fréquents.

58 58 

59<h3 id="work-on-claude-api-projects">

60 Travailler sur les projets Claude API

61</h3>

62 

63La compétence groupée `/claude-api` charge la documentation de référence de [Claude API](https://platform.claude.com/docs/en/api/overview) et des [Agents gérés](https://platform.claude.com/docs/en/managed-agents/overview) pour la langue de votre projet. Claude l'active également automatiquement lorsque votre code importe `anthropic` ou `@anthropic-ai/sdk`.

64 

65Pour démarrer l'un des flux de travail de la compétence, tapez une sous-commande après le nom de la compétence à l'invite Claude Code, par exemple `/claude-api migrate`. Le tableau liste ce que chaque sous-commande fait et la version la plus ancienne de Claude Code qui l'inclut. `migrate` et `managed-agents-onboard` sont antérieurs à v2.1.221, la version la plus ancienne que le tableau suit.

66 

67| Sous-commande | Ce qu'elle fait | Version minimale |

68| :- | :- | :- |

69| `migrate` | Mettez à jour votre code Claude API existant vers un modèle plus récent | Antérieur à v2.1.221 |

70| `upgrade` | Déplacez la dépendance du SDK Anthropic de votre projet sur une version majeure, actuellement le package Python `anthropic` de 0.x à 1.x | v2.1.236 ou version ultérieure |

71| `managed-agents-onboard` | Parcourez la création d'un nouvel Agent géré | Antérieur à v2.1.221 |

72| `prompt-audit` | Signalez les instructions écrites pour les modèles plus anciens dans vos invites, compétences et descriptions d'outils et proposez des corrections sous forme de diff | v2.1.221 ou version ultérieure |

73| `cost-optimize` | Profilez où va la dépense Claude API de votre projet et proposez des économies à partir d'options telles que la mise en cache des invites, la réduction des tokens d'entrée et de sortie inutiles, le traitement par lots, l'effort et le choix du modèle, une modification à la fois | v2.1.247 ou version ultérieure |

74| `build-eval` | Construisez un ensemble d'évaluation pour votre application alimentée par Claude | v2.1.259 ou version ultérieure |

75| `hillclimb` | Améliorez itérativement votre application par rapport à une évaluation existante | v2.1.259 ou version ultérieure |

76| `preserved-thinking-migration` | Trouvez les modifications que votre intégration apporte aux tours antérieurs, à son invite système ou à sa liste d'outils qui invalident les blocs de [preserved thinking](https://platform.claude.com/docs/en/build-with-claude/preserved-thinking), mesurez combien de raisonnement chacun supprime et proposez des corrections une à la fois, en remessurant après chaque modification | v2.1.282 ou version ultérieure |

77 

59<h2 id="getting-started">78<h2 id="getting-started">

60 Démarrage79 Démarrage

61</h2>80</h2>


843Skill(deploy *)862Skill(deploy *)

844```863```

845 864 

846Syntaxe de permission : `Skill(name)` pour correspondance exacte, `Skill(name *)` pour correspondance de préfixe avec n'importe quels arguments. Dans une règle `allow`, un préfixe en dehors de l'[espace de noms réservé pour les compétences synchronisées](#names-reserved-for-synced-skills) ne correspond pas aux noms à l'intérieur : `Skill(anthropic *)` ne couvre pas `anthropic-skills:pdf`.865Syntaxe de permission : `Skill(name)` pour correspondance exacte, `Skill(name *)` pour correspondance de préfixe avec n'importe quels arguments.

847 866 

848Si votre règle `deny` nomme un alias ou un nom non qualifié plutôt que le nom propre de la compétence, Claude Code bloque toujours la compétence : avec `Skill(review)` il bloque la compétence groupée `/code-review` via son alias `/review`, et avec `Skill(deploy)` il bloque une [compétence imbriquée](#where-skills-live) listée comme `apps/web:deploy` via son nom non qualifié. Avant v2.1.260, Claude Code ne bloquait pas une compétence imbriquée listée sous son nom qualifié lorsque la règle deny nommait uniquement le nom non qualifié.867Le tableau montre ce qu'une règle `deny` bloque au-delà du nom que vous écrivez, selon le type de nom dans la règle.

868 

869| Vos noms de règle `deny` | Exemple de règle | Claude Code bloque également |

870| :- | :- | :- |

871| Un alias | `Skill(review)` | La compétence groupée `/code-review`, via son alias `/review` |

872| Un nom non qualifié | `Skill(deploy)` | Une [compétence imbriquée](#where-skills-live) listée comme `apps/web:deploy` |

873| Une [compétence synchronisée depuis claude.ai](#how-synced-skills-behave) | `Skill(anthropic-skills:deploy)` | Cette compétence lorsque Claude Desktop la livre à une session en tant que plugin |

874| La forme plugin d'une compétence synchronisée | `Skill(deploy:deploy)` | La compétence synchronisée |

875| Une compétence dans la [forme paramètre](/docs/fr/permissions#match-by-input-parameter) | `Skill(skill:deploy)` | La compétence quel que soit le nom par lequel Claude l'appelle, y compris son alias et son nom d'affichage |

849 876 

850Claude Code correspond à une règle `allow` uniquement contre le nom propre de la compétence et le nom dans l'invocation de Claude.877Avant v2.1.260, Claude Code ne bloquait pas une compétence imbriquée listée sous son nom qualifié lorsque la règle deny nommait uniquement le nom non qualifié.

851 878 

852Pour approuver une [compétence synchronisée](#how-synced-skills-behave) sans invite, nommez-la à l'intérieur de son [espace de noms réservé](#names-reserved-for-synced-skills) : `Skill(anthropic-skills:pdf)` approuve la compétence synchronisée `pdf`, et `Skill(anthropic-skills *)` approuve chaque compétence synchronisée.879Claude Code correspond à une règle `allow` uniquement contre le nom propre de la compétence et le nom dans l'invocation de Claude. Pour approuver une [compétence synchronisée](#how-synced-skills-behave) sans invite, nommez-la à l'intérieur de son [espace de noms réservé](#names-reserved-for-synced-skills) :

880 

881* `Skill(anthropic-skills:pdf)` approuve la compétence synchronisée `pdf`

882* `Skill(anthropic-skills *)` approuve chaque compétence synchronisée

883* `Skill(anthropic *)` ne couvre pas `anthropic-skills:pdf`, car un préfixe en dehors de l'espace de noms ne correspond pas aux noms à l'intérieur

853 884 

854**Masquer les compétences individuelles** en ajoutant `disable-model-invocation: true` à leur frontmatter. Cela supprime la compétence du contexte de Claude entièrement.885**Masquer les compétences individuelles** en ajoutant `disable-model-invocation: true` à leur frontmatter. Cela supprime la compétence du contexte de Claude entièrement.

855 886 


909 940 

910Voir une compétence se déclencher vous indique que Claude l'a trouvée, pas qu'elle a fait ce que vous aviez l'intention. Pour savoir qu'une compétence fonctionne, mesurez séparément si Claude l'invoque sur les invites qu'elle devrait, et si la sortie correspond à ce que vous attendez quand elle le fait.941Voir une compétence se déclencher vous indique que Claude l'a trouvée, pas qu'elle a fait ce que vous aviez l'intention. Pour savoir qu'une compétence fonctionne, mesurez séparément si Claude l'invoque sur les invites qu'elle devrait, et si la sortie correspond à ce que vous attendez quand elle le fait.

911 942 

912La vérification des deux est une comparaison de base. Collectez quelques invites réalistes, exécutez chacune dans une session nouvelle avec la compétence disponible et à nouveau avec elle [désactivée](#override-skill-visibility-from-settings), et comparez les résultats. Une session nouvelle est importante car le contexte restant de la création de la compétence masquera les lacunes dans les instructions écrites.943La vérification des deux est une comparaison de base. Collectez quelques invites réalistes, exécutez chacune dans une session nouvelle avec la compétence disponible et à nouveau avec elle désactivée, et comparez les résultats. Une session nouvelle est importante car le contexte restant de la création de la compétence masquera les lacunes dans les instructions écrites.

944 

945La façon dont vous désactivez la compétence pour la deuxième exécution dépend de sa provenance :

913 946 

914Deux outils automatisent cette comparaison. Pour une compétence qui est livrée dans un [plugin](/docs/fr/plugins/overview), [`claude plugin eval`](/docs/fr/plugin-evals) exécute chaque invite dans une session isolée avec et sans le plugin, la note avec des évaluateurs que vous définissez ou qu'il écrit pour vous, et quitte avec un code non-zéro en dessous d'un seuil afin que vous puissiez gater CI sur celui-ci. Pour itérer sur une seule compétence à l'intérieur d'une conversation Claude Code, le plugin skill-creator ci-dessous exécute une boucle similaire avec son propre format `evals/evals.json`. Les deux formats ne sont pas interchangeables.947* **Compétence personnelle ou de projet** : définissez-la sur `"off"` dans [`skillOverrides`](#override-skill-visibility-from-settings).

948* **Compétence fournie par un plugin** : `skillOverrides` ne s'applique pas aux compétences de plugin. Utilisez [`claude plugin eval`](/docs/fr/plugin-evals#the-no-plugin-baseline) à la place, qui répète chaque exécution sans plugin chargé.

949 

950Deux outils automatisent la comparaison de base. Pour une compétence qui est livrée dans un [plugin](/docs/fr/plugins/overview), [`claude plugin eval`](/docs/fr/plugin-evals) exécute chaque invite dans une session isolée avec et sans le plugin, la note avec des évaluateurs que vous définissez ou qu'il écrit pour vous, et quitte avec un code non-zéro en dessous d'un seuil afin que vous puissiez gater CI sur celui-ci. Pour itérer sur une seule compétence à l'intérieur d'une conversation Claude Code, le plugin skill-creator ci-dessous exécute une boucle similaire avec son propre format `evals/evals.json`. Les deux formats ne sont pas interchangeables.

915 951 

916<h3 id="run-evals-with-skill-creator">952<h3 id="run-evals-with-skill-creator">

917 Exécuter des évaluations avec skill-creator953 Exécuter des évaluations avec skill-creator


11731. Rendez la description plus spécifique12091. Rendez la description plus spécifique

11742. Ajoutez `disable-model-invocation: true` si vous ne voulez que l'invocation manuelle12102. Ajoutez `disable-model-invocation: true` si vous ne voulez que l'invocation manuelle

1175 1211 

1212<h3 id="claude-stops-following-a-skill">

1213 Claude cesse de suivre une compétence

1214</h3>

1215 

1216Si Claude suit une compétence dans sa première réponse et cesse de la suivre plus tard, commencez par le cas qui correspond :

1217 

1218* **Claude a ignoré une règle qui doit tenir à chaque fois** : déplacez la règle dans un [hook](/docs/fr/hooks-guide). Claude Code exécute un hook à chaque fois que son événement se produit, par exemple avant chaque modification de fichier, que Claude suive la compétence ou non. Pour garder la règle avec la compétence, définissez le hook dans le [frontmatter `hooks`](/docs/fr/hooks#hooks-in-skills-and-agents) de la compétence. Ce hook s'applique à partir du moment où la compétence est invoquée jusqu'à la fin de la session.

1219* **Claude a ignoré des conseils qu'il devrait appliquer avec jugement** : formulez les conseils de manière à ce qu'ils s'appliquent à l'ensemble de la tâche, par exemple « Exécutez les tests après chaque modification » plutôt que « Exécutez les tests ». Claude Code ajoute le contenu de la compétence à la conversation quand la compétence est invoquée et [ne relit pas le fichier](#skill-content-lifecycle) aux tours suivants.

1220* **La conversation a été compactée** : invoquez la compétence à nouveau pour restaurer son contenu complet. Après [compaction](/docs/fr/how-claude-code-works#when-context-fills-up), Claude Code [peut conserver uniquement le début d'une compétence invoquée](#skill-content-lifecycle), donc mettez les instructions les plus importantes près du haut de `SKILL.md`.

1221 

1176<h3 id="skill-descriptions-are-cut-short">1222<h3 id="skill-descriptions-are-cut-short">

1177 Les descriptions de compétences sont tronquées1223 Les descriptions de compétences sont tronquées

1178</h3>1224</h3>

statusline.md +1 −1

Details

1178**Le pourcentage de contexte affiche des valeurs inattendues**1178**Le pourcentage de contexte affiche des valeurs inattendues**

1179 1179 

1180* Utilisez `used_percentage` pour l'état de contexte le plus simple et précis1180* Utilisez `used_percentage` pour l'état de contexte le plus simple et précis

1181* Le pourcentage de contexte peut différer de la sortie `/context` en raison du moment où chacun est calculé1181* 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 suivante

1182 1182 

1183**Les liens OSC 8 ne sont pas cliquables**1183**Les liens OSC 8 ne sont pas cliquables**

1184 1184 

sub-agents.md +3 −5

Details

800 - matcher: "Bash"800 - matcher: "Bash"

801 hooks:801 hooks:

802 - type: command802 - type: command

803 command: "./scripts/validate-command.sh $TOOL_INPUT"803 command: "./scripts/validate-command.sh"

804 PostToolUse:804 PostToolUse:

805 - matcher: "Edit|Write"805 - matcher: "Edit|Write"

806 hooks:806 hooks:


848}848}

849```849```

850 850 

851Un matcher avec tirets comme `db-agent` correspond exactement sur Claude Code v2.1.195 ou ultérieur. Sur les versions antérieures, il est évalué comme une expression régulière non ancrée et se déclenche également pour tout type d'agent qui le contient, comme `prod-db-agent` ; ancrez-le comme `^db-agent$` sur ces versions.

852 

853Consultez [Hooks](/docs/fr/hooks) pour le format de configuration complet des hooks.851Consultez [Hooks](/docs/fr/hooks) pour le format de configuration complet des hooks.

854 852 

855<h2 id="work-with-subagents">853<h2 id="work-with-subagents">


874 872 

875* **Langage naturel** : nommez le sous-agent dans votre invite ; Claude décide s'il faut déléguer873* **Langage naturel** : nommez le sous-agent dans votre invite ; Claude décide s'il faut déléguer

876* **@-mention** : garantit que le sous-agent s'exécute pour une tâche874* **@-mention** : garantit que le sous-agent s'exécute pour une tâche

877* **À l'échelle de la session** : toute la session utilise le système prompt, les restrictions d'outils et le modèle de ce sous-agent via l'indicateur `--agent` ou le paramètre `agent`875* **À l'échelle de la session** : toute la session s'exécute en tant que ce sous-agent via l'indicateur `--agent` ou le paramètre `agent`

878 876 

879Pour le langage naturel, il n'y a pas de syntaxe spéciale. Nommez le sous-agent et Claude délègue généralement :877Pour le langage naturel, il n'y a pas de syntaxe spéciale. Nommez le sous-agent et Claude délègue généralement :

880 878 


895 893 

896Vous pouvez également taper la mention manuellement sans utiliser le sélecteur : `@agent-<name>` pour les sous-agents locaux, ou `@agent-` suivi du nom délimité pour les sous-agents de plugin, par exemple `@agent-my-plugin:code-reviewer`. Pendant que vous tapez ce formulaire, la saisie semi-automatique affiche les correspondances de fichiers plutôt que les agents. La mention d'agent se résout toujours lorsque vous soumettez.894Vous pouvez également taper la mention manuellement sans utiliser le sélecteur : `@agent-<name>` pour les sous-agents locaux, ou `@agent-` suivi du nom délimité pour les sous-agents de plugin, par exemple `@agent-my-plugin:code-reviewer`. Pendant que vous tapez ce formulaire, la saisie semi-automatique affiche les correspondances de fichiers plutôt que les agents. La mention d'agent se résout toujours lorsque vous soumettez.

897 895 

898**Exécutez toute la session en tant que sous-agent.** Passez [`--agent <name>`](/docs/fr/cli-reference) pour démarrer une session où le thread principal lui-même prend le système prompt, les restrictions d'outils et le modèle de ce sous-agent :896**Exécutez toute la session en tant que sous-agent.** Passez [`--agent <name>`](/docs/fr/cli-reference) pour démarrer une session où le thread principal lui-même prend les restrictions d'outils et le modèle de ce sous-agent :

899 897 

900```bash theme={null}898```bash theme={null}

901claude --agent code-reviewer899claude --agent code-reviewer

Details

122 122 

123 <tr>123 <tr>

124 <td>Facturation</td>124 <td>Facturation</td>

125 <td><strong>Teams :</strong> 150 \$/siège (Premium) avec PAYG disponible<br /><strong>Enterprise :</strong> <a href="https://claude.com/contact-sales?utm_source=claude_code&utm_medium=docs&utm_content=third_party_enterprise">Contacter les ventes</a></td>125 <td><strong>Teams :</strong> abonnement par siège avec PAYG disponible, voir <a href="https://claude.com/pricing?utm_source=claude_code&utm_medium=docs&utm_content=third_party_pricing#team-&-enterprise">tarification</a><br /><strong>Enterprise :</strong> <a href="https://claude.com/contact-sales?utm_source=claude_code&utm_medium=docs&utm_content=third_party_enterprise">Contacter les ventes</a></td>

126 <td>PAYG</td>126 <td>PAYG</td>

127 <td>PAYG via AWS</td>127 <td>PAYG via AWS</td>

128 <td>PAYG via AWS Marketplace</td>128 <td>PAYG via AWS Marketplace</td>


152 152 

153 <tr>153 <tr>

154 <td>Authentification</td>154 <td>Authentification</td>

155 <td>Claude.ai SSO ou email</td>155 <td>claude.ai SSO ou email</td>

156 <td>Clé API ou une [connexion Console sans clé](/docs/fr/authentication#sign-in-without-an-api-key)</td>156 <td>Clé API ou une [connexion Console sans clé](/docs/fr/authentication#sign-in-without-an-api-key)</td>

157 <td>Clé API ou identifiants AWS</td>157 <td>Clé API ou identifiants AWS</td>

158 <td>Clé API ou identifiants AWS</td>158 <td>Clé API ou identifiants AWS</td>

tools-reference.md +40 −26

Details

157* Quand Claude exécute `cd` dans la session principale, le nouveau répertoire de travail est conservé pour les commandes Bash ultérieures tant qu'il reste à l'intérieur du répertoire du projet ou d'un [répertoire de travail supplémentaire](/docs/fr/permissions#working-directories) que vous avez ajouté avec `--add-dir`, `/add-dir`, ou `additionalDirectories` dans les paramètres. Cela inclut les commandes que Claude exécute en réponse à vos messages ultérieurs.157* Quand Claude exécute `cd` dans la session principale, le nouveau répertoire de travail est conservé pour les commandes Bash ultérieures tant qu'il reste à l'intérieur du répertoire du projet ou d'un [répertoire de travail supplémentaire](/docs/fr/permissions#working-directories) que vous avez ajouté avec `--add-dir`, `/add-dir`, ou `additionalDirectories` dans les paramètres. Cela inclut les commandes que Claude exécute en réponse à vos messages ultérieurs.

158 * Les sessions de sous-agent ne conservent jamais les changements de répertoire de travail.158 * Les sessions de sous-agent ne conservent jamais les changements de répertoire de travail.

159 * Si `cd` aboutit en dehors de ces répertoires, Claude Code réinitialise le répertoire du projet et ajoute `Shell cwd was reset to <dir>` au résultat de l'outil.159 * Si `cd` aboutit en dehors de ces répertoires, Claude Code réinitialise le répertoire du projet et ajoute `Shell cwd was reset to <dir>` au résultat de l'outil.

160 * Pour désactiver cette conservation afin que chaque commande Bash commence dans le répertoire du projet, définissez `CLAUDE_BASH_MAINTAIN_PROJECT_WORKING_DIR=1`.160 * Pour désactiver cette conservation afin que chaque commande Bash démarre dans le répertoire du projet, définissez `CLAUDE_BASH_MAINTAIN_PROJECT_WORKING_DIR=1`.

161* Les variables d'environnement ne persistent pas. Un `export` dans une commande ne sera pas disponible dans la suivante.161* Les variables d'environnement ne persistent pas. Un `export` dans une commande ne sera pas disponible dans la suivante.

162* Les alias et les fonctions shell définis dans votre fichier de démarrage shell sont disponibles. Au démarrage de la session, Claude Code source `~/.zshrc`, `~/.bashrc`, ou `~/.profile` selon votre shell, capture les alias, fonctions et options shell résultants, et les applique à chaque commande Bash.162* Les alias et les fonctions shell définis dans votre fichier de démarrage shell sont disponibles. Au démarrage de la session, Claude Code source `~/.zshrc`, `~/.bashrc`, ou `~/.profile` selon votre shell, capture les alias, fonctions et options shell résultants, et les applique à chaque commande Bash.

163 163 

164Activez votre virtualenv ou votre environnement conda avant de lancer Claude Code. Pour que les variables d'environnement persistent entre les commandes Bash, définissez [`CLAUDE_ENV_FILE`](/docs/fr/env-vars) sur un script shell avant de lancer Claude Code, ou utilisez un [hook SessionStart](/docs/fr/hooks#persist-environment-variables) pour le remplir dynamiquement.164Activez votre virtualenv ou votre environnement conda avant de lancer Claude Code. Pour que les variables d'environnement persistent entre les commandes Bash, définissez [`CLAUDE_ENV_FILE`](/docs/fr/env-vars) sur un script shell avant de lancer Claude Code, ou utilisez un [hook SessionStart](/docs/fr/hooks#persist-environment-variables) pour le remplir dynamiquement.

165 165 

166<h3 id="timeout-and-output-limits">166<h3 id="timeout-and-output-limits">

167 Limites de délai d'attente et de sortie167 Limites de délai d'expiration et de sortie

168</h3>168</h3>

169 169 

170Chaque commande s'exécute sous un délai d'attente, et Claude le gère : quand il a besoin de plus que la valeur par défaut pour une commande, il transmet le paramètre `timeout` avec cet appel — vous ne définissez jamais un délai d'attente par commande. Deux [variables d'environnement](/docs/fr/env-vars) limitent ce que Claude obtient :170Chaque commande s'exécute sous un délai d'expiration, et Claude le gère : quand il a besoin de plus que le délai par défaut pour une commande, il transmet le paramètre `timeout` avec cet appel. Vous ne définissez jamais un délai d'expiration par commande.

171 171 

172* `BASH_DEFAULT_TIMEOUT_MS` — la valeur par défaut quand Claude ne transmet pas de délai d'attente ; deux minutes par défaut172Deux [variables d'environnement](/docs/fr/env-vars) contrôlent ce que Claude obtient pour une commande qui s'exécute au premier plan :

173* `BASH_MAX_TIMEOUT_MS` — avec la valeur par défaut, définit le plafond qui limite ce que Claude demande : le plafond effectif est le plus grand des deux, dix minutes par défaut173 

174* `BASH_DEFAULT_TIMEOUT_MS` — le délai par défaut quand Claude ne transmet pas de délai d'expiration ; deux minutes par défaut

175* `BASH_MAX_TIMEOUT_MS` — avec le délai par défaut, définit le plafond qui limite ce que Claude demande : le plafond effectif est le plus grand des deux, dix minutes par défaut

176 

177Pour une commande que Claude démarre en arrière-plan, `timeout` définit plutôt la durée pendant laquelle la commande peut s'exécuter là, avec le délai par défaut et le maximum séparés décrits sous [Commandes en arrière-plan](#background-commands). L'[outil PowerShell](#powershell-tool) suit les mêmes règles de délai d'expiration et lit les deux mêmes variables.

174 178 

175<h4 id="output-limits">179<h4 id="output-limits">

176 Limites de sortie180 Limites de sortie


180 184 

181| Résultat | Ce que Claude obtient |185| Résultat | Ce que Claude obtient |

182| :- | :- |186| :- | :- |

183| Valide | En ligne jusqu'à environ 30 000 caractères par défaut ; au-delà, le chemin d'un fichier enregistré dans le répertoire de session et tronqué au-delà de 64 Mio, plus un aperçu des 2 000 premiers caractères au maximum, et Claude lit ou recherche le fichier quand il a besoin du reste |187| Valide | En ligne jusqu'à environ 30 000 caractères par défaut ; au-delà, le chemin d'un fichier enregistré dans le répertoire de session et tronqué au-delà de 64 Mio, plus un aperçu des 2 000 premiers caractères, et Claude lit ou recherche le fichier quand il a besoin du reste |

184| Échec | En ligne jusqu'à environ 10 000 caractères ; au-delà, un extrait début-fin de cette taille coupé de la fenêtre de relecture, sans chemin de fichier |188| Échec | En ligne jusqu'à environ 10 000 caractères ; au-delà, un extrait tête-et-queue de cette taille coupé de la fenêtre de relecture, sans chemin de fichier |

185 189 

186Une commande qui se termine avec le code 1 compte comme un résultat valide pour l'outil Bash uniquement quand Claude Code reconnaît le code de sortie 1 comme un résultat bénin pour cette commande : `grep`, `rg`, `egrep`, `fgrep`, `find`, `diff`, `test`, et `[`, plus `git diff` et `git grep`. Toute autre commande qui se termine avec le code 1 compte comme un échec, même quand le code 1 est un résultat informatif bénin : pas de correspondances pour `pgrep` et `jq -e`, fichiers qui diffèrent pour `cmp`.190Une commande qui se termine avec le code 1 compte comme un résultat valide pour l'outil Bash uniquement quand Claude Code reconnaît le code de sortie 1 comme un résultat bénin pour cette commande : `grep`, `rg`, `egrep`, `fgrep`, `find`, `diff`, `test`, et `[`, plus `git diff` et `git grep`. Toute autre commande qui se termine avec le code 1 compte comme un échec, même quand le code de sortie 1 est un résultat informatif bénin : pas de correspondances pour `pgrep` et `jq -e`, fichiers qui diffèrent pour `cmp`.

187 191 

188[`BASH_MAX_OUTPUT_LENGTH`](/docs/fr/env-vars) définit le nombre de caractères de sortie que Claude Code relit à partir du fichier de travail dans le résultat d'une commande : 30 000 par défaut, jusqu'à un plafond dur de 150 000. Augmentez-le quand vos commandes dépassent régulièrement cette fenêtre, comme une compilation détaillée ou un journal de suite de tests complet. L'augmenter élargit la fenêtre de relecture, qui est aussi la fenêtre à partir de laquelle l'extrait d'une commande défaillante est coupé. Elle n'augmente pas les plafonds en ligne : un résultat valide au-delà du plafond en ligne arrive comme un chemin de fichier plus aperçu indépendamment de cette variable.192[`BASH_MAX_OUTPUT_LENGTH`](/docs/fr/env-vars) définit le nombre de caractères de sortie que Claude Code relit à partir du fichier de travail dans le résultat d'une commande : 30 000 par défaut, jusqu'à un plafond dur de 150 000. Augmentez-le quand vos commandes débordent régulièrement cette fenêtre, comme une compilation détaillée ou un journal de suite de tests complet. L'augmenter élargit la fenêtre de relecture, qui est aussi la fenêtre à partir de laquelle l'extrait d'une commande défaillante est coupé. Il n'augmente pas les plafonds en ligne : un résultat valide au-delà du plafond en ligne arrive comme un chemin de fichier plus aperçu indépendamment de cette variable.

189 193 

190Pour modifier la quantité de résultat valide que Claude reçoit en ligne, définissez plutôt le paramètre [`bashOutputMaxChars`](/docs/fr/settings-reference#bashoutputmaxchars), jusqu'à 128 000 caractères. Il dimensionne le plafond en ligne et la fenêtre de relecture ensemble, et Claude Code ignore alors `BASH_MAX_OUTPUT_LENGTH`. Nécessite Claude Code v2.1.261 ou ultérieur.194Pour modifier la quantité de résultat valide que Claude reçoit en ligne, définissez plutôt le paramètre [`bashOutputMaxChars`](/docs/fr/settings-reference#bashoutputmaxchars), jusqu'à 128 000 caractères. Il dimensionne le plafond en ligne et la fenêtre de relecture ensemble, et Claude Code ignore alors `BASH_MAX_OUTPUT_LENGTH`. Nécessite Claude Code v2.1.261 ou ultérieur.

191 195 


195 199 

196Pour les processus de longue durée tels que les serveurs de développement ou les compilations de surveillance, Claude peut définir `run_in_background: true` pour démarrer la commande en tant que tâche en arrière-plan et continuer à travailler pendant qu'elle s'exécute. Listez et arrêtez les tâches en arrière-plan avec `/tasks`. Après en avoir arrêté une là, ou à partir d'un client connecté tel que l'application de bureau, Claude continue au lieu d'attendre. Si un sous-agent a démarré la commande, c'est ce sous-agent qui continue.200Pour les processus de longue durée tels que les serveurs de développement ou les compilations de surveillance, Claude peut définir `run_in_background: true` pour démarrer la commande en tant que tâche en arrière-plan et continuer à travailler pendant qu'elle s'exécute. Listez et arrêtez les tâches en arrière-plan avec `/tasks`. Après en avoir arrêté une là, ou à partir d'un client connecté tel que l'application de bureau, Claude continue au lieu d'attendre. Si un sous-agent a démarré la commande, c'est ce sous-agent qui continue.

197 201 

198Une 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 ce sous-agent donne sa réponse finale. 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. 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).202Une 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. 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).

203 

204Les commandes Bash et PowerShell en arrière-plan ont une limite de temps, comptée à partir du moment où la commande entre en arrière-plan :

205 

206* 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

207* Une commande qui démarre au premier plan puis passe en arrière-plan, par exemple avec `Ctrl+B` ou à son délai d'expiration, obtient 30 minutes à partir du passage

208 

209Deux [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.

210 

211* 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

212* 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

199 213 

200Quand une commande atteint son délai d'attente sans se terminer, Claude Code la déplace en arrière-plan au lieu de l'arrêter, sauf si la commande commence par `sleep`. Claude continue à travailler pendant que la commande continue. Claude Code applique les mêmes règles de durée de vie à une commande déplacée qu'à toute autre commande en arrière-plan, donc elle arrête toujours la commande d'un sous-agent au premier plan à la réponse finale de ce sous-agent. La définition de [`CLAUDE_CODE_DISABLE_BACKGROUND_TASKS=1`](/docs/fr/env-vars#variables) désactive la mise en arrière-plan automatique ainsi que le reste de la fonctionnalité de tâche en arrière-plan.214Quand 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`.

215 

216Quand une commande au premier plan atteint son délai d'expiration sans se terminer, Claude Code la déplace en arrière-plan au lieu de l'arrêter, sauf si la commande commence par `sleep`. La limite de temps d'une commande déplacée est comptée à partir du déplacement, et la commande déplacée d'un sous-agent au premier plan s'arrête toujours quand l'exécution de ce sous-agent se termine.

217 

218Définir [`CLAUDE_CODE_DISABLE_BACKGROUND_TASKS=1`](/docs/fr/env-vars#variables) désactive la mise en arrière-plan automatique ainsi que le reste de la fonctionnalité de tâche en arrière-plan.

201 219 

202Le résultat d'une commande déplacée en arrière-plan indique ce qui s'est passé :220Le résultat d'une commande déplacée en arrière-plan indique ce qui s'est passé :

203 221 

204* Quand le délai d'attente déclenche le déplacement, le résultat le rapporte explicitement : `Command did not complete within its 120s timeout and was moved to the background`, avec les secondes correspondant au délai d'attente qui s'appliquait, suivi de l'ID de tâche et du chemin du fichier dans lequel la sortie est écrite.222* Quand le délai d'expiration déclenche le déplacement, le résultat le signale explicitement : `Command did not complete within its 120s timeout and was moved to the background`, avec les secondes correspondant au délai d'expiration qui s'appliquait, suivi de l'ID de tâche et du chemin du fichier dans lequel la sortie est écrite.

205* Un `cd`, `pushd`, `popd`, ou `chdir` à l'intérieur d'une commande qui est déplacée en arrière-plan ne se reporte jamais : le résultat indique `Session cwd remains <dir>; directory changes made by the backgrounded command do not apply to subsequent commands.`, donc Claude n'agit pas sur un changement de répertoire qui ne s'est pas produit.223* Un `cd`, `pushd`, `popd`, ou `chdir` à l'intérieur d'une commande qui est déplacée en arrière-plan ne se transporte jamais : le résultat indique `Session cwd remains <dir>; directory changes made by the backgrounded command do not apply to subsequent commands.`, donc Claude n'agit pas sur un changement de répertoire qui ne s'est pas produit.

206 224 

207<h3 id="memory-limit-on-linux-and-wsl">225<h3 id="memory-limit-on-linux-and-wsl">

208 Limite de mémoire sur Linux et WSL226 Limite de mémoire sur Linux et WSL

209</h3>227</h3>

210 228 

211Sur Linux et WSL, définissez [`CLAUDE_CODE_TOOL_MEMORY_LIMIT`](/docs/fr/env-vars#variables) sur une taille telle que `4G` pour limiter la mémoire que les commandes des outils Bash, PowerShell et [Monitor](#monitor-tool) peuvent utiliser, afin qu'une compilation qui s'échappe ne prenne pas la mémoire dont le reste de la session a besoin. Nécessite Claude Code v2.1.233 ou ultérieur. Avant v2.1.246, les commandes de l'outil Monitor s'exécutaient en dehors du plafond.229Sur Linux et WSL, définissez [`CLAUDE_CODE_TOOL_MEMORY_LIMIT`](/docs/fr/env-vars#variables) sur une taille telle que `4G` pour limiter la mémoire que les commandes des outils Bash, PowerShell et [Monitor](#monitor-tool) peuvent utiliser, afin qu'une compilation incontrôlée ne prenne pas la mémoire dont le reste de la session a besoin. Nécessite Claude Code v2.1.233 ou ultérieur. Avant v2.1.246, les commandes de l'outil Monitor s'exécutaient en dehors du plafond.

212 230 

213* Écrivez la taille comme un nombre d'octets ou avec un suffixe `K`, `M`, `G`, ou `T`. Définissez `0`, `off`, `false`, `no`, ou `none` pour désactiver le plafond. Claude Code ignore toute autre valeur qu'il ne peut pas lire comme une taille, telle que `4e9`.231* Écrivez la taille comme un nombre d'octets ou avec un suffixe `K`, `M`, `G`, ou `T`. Définissez `0`, `off`, `false`, `no`, ou `none` pour désactiver le plafond. Claude Code ignore toute autre valeur qu'il ne peut pas lire comme une taille, telle que `4e9`.

214* Claude Code compte toutes les commandes Bash, PowerShell et Monitor d'une session par rapport au plafond unique, pas chaque commande sur sa propre.232* Claude Code compte toutes les commandes Bash, PowerShell et Monitor d'une session par rapport au plafond unique, pas chaque commande par elle-même.

215* Claude Code applique le plafond avec un cgroup de mémoire. Quand il ne peut pas configurer le cgroup, les commandes s'exécutent sans plafond, et le journal de débogage de `claude --debug` explique pourquoi.233* Claude Code applique le plafond avec un cgroup de mémoire. Quand il ne peut pas configurer le cgroup, les commandes s'exécutent sans plafond, et le journal de débogage de `claude --debug` explique pourquoi.

216* Après que le premier processus que Claude Code a démarré a activé le plafond, ou l'a désactivé en raison d'une valeur off ou d'une configuration de cgroup échouée, Claude Code maintient ce résultat jusqu'à ce que vous relancez. Pour appliquer une valeur modifiée ou supprimée, ou une configuration corrigée, lancez `claude` à nouveau.234* Après que le premier processus que Claude Code a démarré ait activé le plafond, ou l'ait désactivé en raison d'une valeur off ou d'une configuration de cgroup échouée, Claude Code maintient ce résultat jusqu'à ce que vous relancez. Pour appliquer une valeur modifiée ou supprimée, ou une configuration corrigée, lancez `claude` à nouveau.

217* Quand les commandes ne peuvent pas rester sous le plafond, le noyau arrête une commande, et rien dans son résultat ne nomme le plafond.235* Quand les commandes ne peuvent pas rester sous le plafond, le noyau arrête une commande, et rien dans son résultat ne nomme le plafond.

218 236 

219Claude Code peut aussi compter d'autres types de processus qu'il démarre par rapport à la même limite. Définissez [`CLAUDE_CODE_TOOL_MEMORY_CGROUP_EXCLUDE`](/docs/fr/env-vars#variables) sur une liste séparée par des virgules des types à exempter du plafond ; Claude Code applique le plafond à chaque type qui n'est pas sur votre liste. Définissez-le sur `none` pour plafonner chaque type, ou sur `all-new` pour plafonner uniquement les commandes des outils Bash, PowerShell et Monitor. Nécessite Claude Code v2.1.246 ou ultérieur. Les types que vous pouvez nommer :237Claude Code peut aussi compter d'autres types de processus qu'il démarre par rapport à la même limite. Définissez [`CLAUDE_CODE_TOOL_MEMORY_CGROUP_EXCLUDE`](/docs/fr/env-vars#variables) sur une liste séparée par des virgules des types à exempter du plafond ; Claude Code applique le plafond à chaque type qui ne figure pas sur votre liste. Définissez-le sur `none` pour plafonner chaque type, ou sur `all-new` pour plafonner uniquement les commandes des outils Bash, PowerShell et Monitor. Nécessite Claude Code v2.1.246 ou ultérieur. Les types que vous pouvez nommer :

220 238 

221* `mcp`: serveurs [MCP](/docs/fr/mcp) locaux239* `mcp` : serveurs [MCP](/docs/fr/mcp) locaux

222* `lsp`: [serveurs de langage](#lsp-tool-behavior)240* `lsp` : [serveurs de langage](#lsp-tool-behavior)

223* `hooks`: commandes [hook](/docs/fr/hooks)241* `hooks` : commandes [hook](/docs/fr/hooks)

224* `plugin` : commandes que les [plugins](/docs/fr/plugins/overview) exécutent242* `plugin` : commandes que les [plugins](/docs/fr/plugins/overview) exécutent

225* `helper`: les propres commandes d'assistance de Claude Code, telles que `git`243* `helper` : les propres commandes d'assistance de Claude Code, telles que `git`

226* `agent`: processus Claude Code enfants, tels que [les coéquipiers agents](/docs/fr/agent-teams)244* `agent` : processus Claude Code enfants, tels que [les coéquipiers agents](/docs/fr/agent-teams)

227 245 

228Quoi que vous listiez, ces règles s'appliquent :246Quoi que vous listiez, ces règles s'appliquent :

229 247 


382 Source WebSocket400 Source WebSocket

383</h3>401</h3>

384 402 

385<Note>

386 La source WebSocket nécessite Claude Code v2.1.195 ou version ultérieure.

387</Note>

388 

389Quand un serveur pousse déjà des événements sur un WebSocket, Claude peut s'y connecter directement au lieu d'écrire un script d'interrogation. Chaque type d'activité de socket devient soit un événement, soit termine la surveillance :403Quand un serveur pousse déjà des événements sur un WebSocket, Claude peut s'y connecter directement au lieu d'écrire un script d'interrogation. Chaque type d'activité de socket devient soit un événement, soit termine la surveillance :

390 404 

391* **Messages texte** : chacun devient un événement, même quand le message s'étend sur plusieurs lignes.405* **Messages texte** : chacun devient un événement, même quand le message s'étend sur plusieurs lignes.

Details

445 Erreurs de connexion TLS ou SSL445 Erreurs de connexion TLS ou SSL

446</h3>446</h3>

447 447 

448Les erreurs comme `curl: (35) TLS connect error`, `schannel: next InitializeSecurityContext failed`, ou le `Could not establish trust relationship for the SSL/TLS secure channel` de PowerShell indiquent des échecs de négociation TLS.448Les erreurs telles que celles-ci signifient que la négociation TLS a échoué :

449 

450* `curl: (35) TLS connect error`

451* `schannel: next InitializeSecurityContext failed`

452* Le `Could not create SSL/TLS secure channel` de PowerShell

453* Le `Could not establish trust relationship for the SSL/TLS secure channel` de PowerShell

449 454 

450**Solutions :**455**Solutions :**

451 456 


1017 403 Forbidden après la connexion1022 403 Forbidden après la connexion

1018</h3>1023</h3>

1019 1024 

1020Si vous voyez `API Error: 403 {"error":{"type":"forbidden","message":"Request not allowed"}}` après la connexion :1025Si vous voyez `API Error: 403 Request not allowed` après la connexion :

1021 1026 

1022* **Utilisateurs Claude Pro/Max** : vérifiez que votre abonnement est actif sur [claude.ai/settings](https://claude.ai/settings)1027* **Utilisateurs Claude Pro/Max** : vérifiez que votre abonnement est actif sur [claude.ai/settings](https://claude.ai/settings)

1023* **Utilisateurs Anthropic Console** : confirmez que votre compte a le rôle « Claude Code » ou « Developer ». Les administrateurs l'attribuent dans la console Anthropic sous Paramètres → Membres.1028* **Utilisateurs Anthropic Console** : confirmez que votre compte a le rôle « Claude Code » ou « Developer ». Les administrateurs l'attribuent dans la console Anthropic sous Paramètres → Membres.

Details

52 Le fichier `.heapsnapshot` contient chaque chaîne du processus, y compris votre conversation complète et vos identifiants. Ne l'attachez pas à un problème public ou ne le partagez pas.52 Le fichier `.heapsnapshot` contient chaque chaîne du processus, y compris votre conversation complète et vos identifiants. Ne l'attachez pas à un problème public ou ne le partagez pas.

53</Warning>53</Warning>

54 54 

55La commande imprime également un résumé dans la conversation, affichant la taille de l'ensemble résidant, le tas JS, les tampons de tableau et la mémoire native non comptabilisée, plus tous les indicateurs de fuite qu'elle a détectés, comme un taux de croissance de la mémoire élevé ou un nombre inhabituellement élevé de handles ouverts. Le résumé indique si la plupart de la mémoire se trouve dans le tas JS, que le snapshot capture, ou dans la mémoire native, qu'il ne capture pas.55La commande imprime également un résumé dans la conversation, affichant la mémoire totale du processus, la quantité de celle-ci dans le tas JS et la quantité qui se trouve en dehors du tas. Le résumé liste également tous les indicateurs de fuite, tels qu'un taux de croissance de la mémoire élevé ou un nombre inhabituellement élevé de handles ouverts. Le résumé indique si la plupart de la mémoire se trouve dans le tas JS, que le snapshot capture, ou dans la mémoire native, qu'il ne capture pas.

56 56 

57Faites l'une de ces deux choses avec la sortie :57Faites l'une de ces deux choses avec la sortie :

58 58 

workflows.md +1 −1

Details

91 Surveiller l'exécution91 Surveiller l'exécution

92</h3>92</h3>

93 93 

94Les workflows s'exécutent en arrière-plan, de sorte que la session reste réactive pendant que les agents travaillent. Exécutez `/workflows` à tout moment pour lister les workflows en cours d'exécution et terminés, puis sélectionnez-en un pour ouvrir sa vue de progression.94Les workflows s'exécutent en arrière-plan, de sorte que la session reste réactive pendant que les agents travaillent. Exécutez `/workflows` à tout moment pour lister les workflows en cours d'exécution et terminés, puis sélectionnez-en un pour ouvrir sa vue de progression. Pour arrêter un workflow en cours d'exécution sans l'ouvrir, sélectionnez-le dans la liste et appuyez sur `x`.

95 95 

96La vue de progression affiche chaque phase avec ses nombres d'agents, ses totaux de tokens et son temps écoulé. Le pied de page liste la clé pour chaque action :96La vue de progression affiche chaque phase avec ses nombres d'agents, ses totaux de tokens et son temps écoulé. Le pied de page liste la clé pour chaque action :

97 97